about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/check-by-name.yml16
-rw-r--r--doc/languages-frameworks/haskell.section.md2
-rw-r--r--doc/languages-frameworks/javascript.section.md16
-rw-r--r--doc/languages-frameworks/rust.section.md2
-rw-r--r--lib/attrsets.nix30
-rw-r--r--lib/default.nix4
-rw-r--r--lib/fileset/README.md2
-rw-r--r--lib/licenses.nix8
-rw-r--r--lib/strings.nix27
-rw-r--r--lib/tests/misc.nix24
-rw-r--r--maintainers/maintainer-list.nix113
-rw-r--r--maintainers/scripts/all-tarballs.nix2
-rw-r--r--nixos/doc/manual/configuration/gpu-accel.chapter.md6
-rw-r--r--nixos/doc/manual/development/option-types.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2311.section.md29
-rw-r--r--nixos/lib/eval-config.nix16
-rw-r--r--nixos/lib/testing/nodes.nix18
-rw-r--r--nixos/modules/config/users-groups.nix42
-rw-r--r--nixos/modules/hardware/device-tree.nix66
-rw-r--r--nixos/modules/misc/locate.nix21
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/programs/gnupg.nix27
-rw-r--r--nixos/modules/programs/wayland/sway.nix13
-rw-r--r--nixos/modules/security/wrappers/default.nix23
-rw-r--r--nixos/modules/security/wrappers/wrapper.c57
-rw-r--r--nixos/modules/security/wrappers/wrapper.nix5
-rw-r--r--nixos/modules/services/backup/borgbackup.nix11
-rw-r--r--nixos/modules/services/backup/borgmatic.nix57
-rw-r--r--nixos/modules/services/databases/pgmanage.nix2
-rw-r--r--nixos/modules/services/databases/postgresql.nix2
-rw-r--r--nixos/modules/services/hardware/keyd.nix32
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix2
-rw-r--r--nixos/modules/services/matrix/synapse.md2
-rw-r--r--nixos/modules/services/matrix/synapse.nix25
-rw-r--r--nixos/modules/services/misc/gitea.nix15
-rw-r--r--nixos/modules/services/misc/gollum.nix2
-rw-r--r--nixos/modules/services/misc/gpsd.nix12
-rw-r--r--nixos/modules/services/misc/paperless.nix28
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix44
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix145
-rw-r--r--nixos/modules/services/network-filesystems/orangefs/server.nix2
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix2
-rw-r--r--nixos/modules/services/networking/connman.nix69
-rw-r--r--nixos/modules/services/networking/coredns.nix9
-rw-r--r--nixos/modules/services/networking/dnsmasq.nix4
-rw-r--r--nixos/modules/services/networking/knot.nix16
-rw-r--r--nixos/modules/services/networking/netclient.nix27
-rw-r--r--nixos/modules/services/networking/syncthing.nix14
-rw-r--r--nixos/modules/services/networking/tinyproxy.nix103
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix9
-rw-r--r--nixos/modules/services/web-apps/grocy.nix4
-rw-r--r--nixos/modules/services/web-apps/mediawiki.nix94
-rw-r--r--nixos/modules/services/web-apps/rimgo.nix107
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix19
-rw-r--r--[-rwxr-xr-x]nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py121
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix6
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix3
-rw-r--r--nixos/modules/virtualisation/azure-image.nix9
-rw-r--r--nixos/modules/virtualisation/oci-containers.nix12
-rw-r--r--nixos/tests/all-tests.nix8
-rw-r--r--nixos/tests/dconf.nix4
-rw-r--r--nixos/tests/gitea.nix8
-rw-r--r--nixos/tests/gnome-flashback.nix16
-rw-r--r--nixos/tests/hardened.nix2
-rw-r--r--nixos/tests/kernel-generic.nix1
-rw-r--r--nixos/tests/keyd.nix23
-rw-r--r--nixos/tests/legit.nix2
-rw-r--r--nixos/tests/litestream.nix24
-rw-r--r--nixos/tests/lxd-image-server.nix4
-rw-r--r--nixos/tests/mediawiki.nix16
-rw-r--r--nixos/tests/mongodb.nix2
-rw-r--r--nixos/tests/nginx-tmpdir.nix60
-rw-r--r--nixos/tests/osquery.nix2
-rw-r--r--nixos/tests/pantheon.nix18
-rw-r--r--nixos/tests/paperless.nix93
-rw-r--r--nixos/tests/prometheus-exporters.nix30
-rw-r--r--nixos/tests/sftpgo.nix18
-rw-r--r--nixos/tests/sgt-puzzles.nix (renamed from nixos/tests/sgtpuzzles.nix)4
-rw-r--r--nixos/tests/sqlite3-to-mysql.nix2
-rw-r--r--nixos/tests/syncthing-init.nix1
-rw-r--r--nixos/tests/systemd-boot.nix2
-rw-r--r--nixos/tests/tinyproxy.nix20
-rw-r--r--nixos/tests/tracee.nix4
-rw-r--r--nixos/tests/yggdrasil.nix1
-rw-r--r--pkgs/README.md12
-rw-r--r--pkgs/applications/audio/butt/default.nix4
-rw-r--r--pkgs/applications/audio/carla/default.nix4
-rw-r--r--pkgs/applications/audio/feishin/darwin.nix4
-rw-r--r--pkgs/applications/audio/feishin/default.nix5
-rw-r--r--pkgs/applications/audio/feishin/linux.nix6
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix21
-rw-r--r--pkgs/applications/audio/furnace/default.nix4
-rw-r--r--pkgs/applications/audio/gpodder/default.nix5
-rw-r--r--pkgs/applications/audio/noson/default.nix4
-rw-r--r--pkgs/applications/audio/renoise/default.nix2
-rw-r--r--pkgs/applications/audio/strawberry/default.nix4
-rw-r--r--pkgs/applications/backup/ludusavi/default.nix8
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/default.nix1
-rw-r--r--pkgs/applications/blockchains/dcrd/default.nix6
-rw-r--r--pkgs/applications/blockchains/framesh/default.nix11
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix6
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix6
-rw-r--r--pkgs/applications/blockchains/lndinit/default.nix28
-rw-r--r--pkgs/applications/blockchains/stellar-core/default.nix4
-rw-r--r--pkgs/applications/editors/bluefish/default.nix7
-rw-r--r--pkgs/applications/editors/bviplus/default.nix2
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json16
-rw-r--r--pkgs/applications/editors/glow/default.nix15
-rw-r--r--pkgs/applications/editors/hexcurse/default.nix2
-rw-r--r--pkgs/applications/editors/ht/default.nix2
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix2
-rw-r--r--pkgs/applications/editors/ldtk/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/orbiton/default.nix4
-rw-r--r--pkgs/applications/editors/pulsar/default.nix6
-rw-r--r--pkgs/applications/editors/vim/macvim.nix2
-rwxr-xr-xpkgs/applications/editors/vim/plugins/update.py7
-rw-r--r--pkgs/applications/editors/vim/plugins/updater.nix3
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix33
-rw-r--r--pkgs/applications/editors/vscode/generic.nix346
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix16
-rw-r--r--pkgs/applications/emulators/dosbox-x/default.nix101
-rw-r--r--pkgs/applications/emulators/vice/default.nix128
-rw-r--r--pkgs/applications/emulators/wine/sources.nix8
-rw-r--r--pkgs/applications/emulators/wine/staging.nix2
-rw-r--r--pkgs/applications/emulators/wineasio/default.nix12
-rw-r--r--pkgs/applications/emulators/yuzu/sources.nix14
-rw-r--r--pkgs/applications/file-managers/doublecmd/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix8
-rw-r--r--pkgs/applications/graphics/f3d/default.nix4
-rw-r--r--pkgs/applications/graphics/feh/default.nix4
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/meme-image-generator/default.nix5
-rw-r--r--pkgs/applications/graphics/oculante/Cargo.lock539
-rw-r--r--pkgs/applications/graphics/oculante/default.nix4
-rw-r--r--pkgs/applications/graphics/photoqt/default.nix4
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix17
-rw-r--r--pkgs/applications/graphics/xfig/default.nix7
-rw-r--r--pkgs/applications/logging/humioctl/default.nix6
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix10
-rw-r--r--pkgs/applications/misc/OSCAR/default.nix4
-rw-r--r--pkgs/applications/misc/activate-linux/default.nix40
-rw-r--r--pkgs/applications/misc/albert/default.nix4
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix6
-rw-r--r--pkgs/applications/misc/comodoro/default.nix6
-rw-r--r--pkgs/applications/misc/flashprint/default.nix4
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gsimplecal/default.nix4
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/lunatask/default.nix4
-rw-r--r--pkgs/applications/misc/mainsail/default.nix4
-rw-r--r--pkgs/applications/misc/passky-desktop/default.nix103
-rw-r--r--pkgs/applications/misc/pdfstudio/common.nix2
-rw-r--r--pkgs/applications/misc/pdfstudio/default.nix4
-rw-r--r--pkgs/applications/misc/perkeep/default.nix2
-rw-r--r--pkgs/applications/misc/phoc/default.nix3
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix2
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix2
-rw-r--r--pkgs/applications/misc/resp-app/default.nix2
-rw-r--r--pkgs/applications/misc/snapmaker-luban/default.nix10
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix23
-rw-r--r--pkgs/applications/misc/terminal-notifier/default.nix2
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix6
-rw-r--r--pkgs/applications/misc/typioca/default.nix6
-rw-r--r--pkgs/applications/misc/workrave/default.nix4
-rw-r--r--pkgs/applications/misc/xchm/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix24
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix818
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix5
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/bin.nix9
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix2
-rw-r--r--pkgs/applications/networking/calls/default.nix4
-rw-r--r--pkgs/applications/networking/clash-verge/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/calico/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/civo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix2
-rw-r--r--pkgs/applications/networking/cluster/gatekeeper/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix31
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix4
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix16
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-gadget/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubevpn/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/opentofu/default.nix180
-rw-r--r--pkgs/applications/networking/cluster/opentofu/provider-path-0_15.patch23
-rw-r--r--pkgs/applications/networking/cluster/rke/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/rke2/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-compliance/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tf-summarize/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tfupdate/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/timoni/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/weave-gitops/default.nix4
-rw-r--r--pkgs/applications/networking/deck/default.nix4
-rw-r--r--pkgs/applications/networking/discordo/default.nix8
-rw-r--r--pkgs/applications/networking/gnmic/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/armcord/default.nix11
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/nchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/tensor/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/webcord/default.nix8
-rw-r--r--pkgs/applications/networking/juju/default.nix6
-rw-r--r--pkgs/applications/networking/ktailctl/default.nix83
-rw-r--r--pkgs/applications/networking/kubo/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/meli/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix2
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix2269
-rw-r--r--pkgs/applications/networking/nload/default.nix19
-rw-r--r--pkgs/applications/networking/p2p/libutp/3.4.nix6
-rw-r--r--pkgs/applications/networking/p2p/pyrosimple/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission/4.nix12
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix11
-rw-r--r--pkgs/applications/networking/remote/wayvnc/default.nix4
-rw-r--r--pkgs/applications/networking/sync/celeste/default.nix22
-rw-r--r--pkgs/applications/networking/sync/celeste/target-dir.patch16
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/roam-research/common.nix22
-rw-r--r--pkgs/applications/office/roam-research/darwin.nix34
-rw-r--r--pkgs/applications/office/roam-research/default.nix87
-rw-r--r--pkgs/applications/office/roam-research/linux.nix73
-rw-r--r--pkgs/applications/office/zotero/default.nix4
-rw-r--r--pkgs/applications/radio/gnuradio/3.8.nix50
-rw-r--r--pkgs/applications/radio/gnuradio/3.9.nix44
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix37
-rw-r--r--pkgs/applications/radio/gnuradio/shared.nix38
-rw-r--r--pkgs/applications/radio/gqrx/default.nix4
-rw-r--r--pkgs/applications/radio/uhd/3.5.nix160
-rw-r--r--pkgs/applications/radio/uhd/default.nix14
-rw-r--r--pkgs/applications/science/biology/delly/default.nix4
-rw-r--r--pkgs/applications/science/biology/truvari/default.nix27
-rw-r--r--pkgs/applications/science/chemistry/cp2k/default.nix100
-rw-r--r--pkgs/applications/science/chemistry/nwchem/default.nix7
-rw-r--r--pkgs/applications/science/chemistry/wxmacmolplt/default.nix2
-rw-r--r--pkgs/applications/science/geometry/gama/default.nix4
-rw-r--r--pkgs/applications/science/logic/abc/default.nix6
-rw-r--r--pkgs/applications/science/logic/cadical/default.nix4
-rw-r--r--pkgs/applications/science/logic/cryptoverif/default.nix27
-rw-r--r--pkgs/applications/science/logic/dafny/default.nix38
-rw-r--r--pkgs/applications/science/logic/kissat/default.nix4
-rw-r--r--pkgs/applications/science/math/cntk/default.nix134
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/kitty/themes.nix8
-rw-r--r--pkgs/applications/terminal-emulators/rio/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/roxterm/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix2
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix4
-rw-r--r--pkgs/applications/version-management/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-codereview/default.nix4
-rw-r--r--pkgs/applications/version-management/git-credential-oauth/default.nix6
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/version-management/glab/default.nix4
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix13
-rw-r--r--pkgs/applications/version-management/lefthook/default.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix4
-rw-r--r--pkgs/applications/version-management/vcprompt/default.nix2
-rw-r--r--pkgs/applications/video/anilibria-winmaclinux/0001-fix-installation-paths.patch (renamed from pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch)0
-rw-r--r--pkgs/applications/video/anilibria-winmaclinux/default.nix2
-rw-r--r--pkgs/applications/video/bilibili/default.nix4
-rw-r--r--pkgs/applications/video/filebot/default.nix6
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/keymap/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/pvr-hts/default.nix4
-rw-r--r--pkgs/applications/video/makemkv/default.nix6
-rw-r--r--pkgs/applications/video/makemkv/r13y.patch13
-rw-r--r--pkgs/applications/video/media-downloader/default.nix6
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/colima/default.nix6
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix28
-rw-r--r--pkgs/applications/virtualization/docker/distribution.nix4
-rw-r--r--pkgs/applications/virtualization/ecs-agent/default.nix4
-rw-r--r--pkgs/applications/window-managers/lesbar/default.nix35
-rw-r--r--pkgs/applications/window-managers/picom/picom-allusive.nix24
-rw-r--r--pkgs/applications/window-managers/sway/default.nix2
-rw-r--r--pkgs/applications/window-managers/sway/drop_ambient_capabilities.patch41
-rw-r--r--pkgs/applications/window-managers/weston/default.nix14
-rw-r--r--pkgs/build-support/build-fhsenv-bubblewrap/default.nix1
-rw-r--r--pkgs/build-support/docker/default.nix2
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh23
-rw-r--r--pkgs/build-support/php/hooks/composer-repository-hook.sh1
-rw-r--r--pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix6
-rw-r--r--pkgs/build-support/php/pkgs/composer-phar.nix6
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix4
-rw-r--r--pkgs/by-name/README.md4
-rw-r--r--pkgs/by-name/_9/_9base/config-substitutions.patch56
-rw-r--r--pkgs/by-name/_9/_9base/dont-strip.patch12
-rw-r--r--pkgs/by-name/_9/_9base/getcallerpc-use-macro-or-stub.patch115
-rw-r--r--pkgs/by-name/_9/_9base/package.nix77
-rw-r--r--pkgs/by-name/a4/a4/package.nix (renamed from pkgs/tools/misc/a4term/default.nix)10
-rw-r--r--pkgs/by-name/ac/action-validator/package.nix27
-rw-r--r--pkgs/by-name/ao/aocl-utils/package.nix23
-rw-r--r--pkgs/by-name/ar/arxiv-latex-cleaner/package.nix36
-rw-r--r--pkgs/by-name/as/ast-grep/package.nix6
-rw-r--r--pkgs/by-name/bi/bitmagnet/package.nix31
-rw-r--r--pkgs/by-name/cd/cdk/package.nix30
-rw-r--r--pkgs/by-name/ci/cimg/package.nix (renamed from pkgs/development/libraries/cimg/default.nix)4
-rw-r--r--pkgs/by-name/co/connman-gtk/package.nix (renamed from pkgs/tools/networking/connman/connman-gtk/default.nix)0
-rw-r--r--pkgs/by-name/co/connman-ncurses/package.nix (renamed from pkgs/tools/networking/connman/connman-ncurses/default.nix)0
-rw-r--r--pkgs/by-name/co/connman-notify/package.nix (renamed from pkgs/tools/networking/connman/connman-notify/default.nix)0
-rw-r--r--pkgs/by-name/co/connman/create-libppp-compat.h.patch (renamed from pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch)0
-rw-r--r--pkgs/by-name/co/connman/package.nix176
-rw-r--r--pkgs/by-name/co/connman_dmenu/package.nix (renamed from pkgs/tools/networking/connman/connman_dmenu/default.nix)0
-rw-r--r--pkgs/by-name/co/costa/package.nix40
-rw-r--r--pkgs/by-name/co/cowsql/package.nix56
-rw-r--r--pkgs/by-name/ct/ctx/0001-fix-detections.diff (renamed from pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch)95
-rw-r--r--pkgs/by-name/ct/ctx/package.nix (renamed from pkgs/applications/terminal-emulators/ctx/default.nix)41
-rw-r--r--pkgs/by-name/di/dialog/package.nix (renamed from pkgs/tools/misc/dialog/default.nix)14
-rw-r--r--pkgs/by-name/do/dorion/package.nix65
-rw-r--r--pkgs/by-name/dx/dxvk/package.nix (renamed from pkgs/misc/dxvk/default.nix)0
-rw-r--r--pkgs/by-name/dx/dxvk/setup_dxvk.sh (renamed from pkgs/misc/dxvk/setup_dxvk.sh)0
-rw-r--r--pkgs/by-name/dx/dxvk_1/darwin-dxvk-compat.patch (renamed from pkgs/misc/dxvk/darwin-dxvk-compat.patch)0
-rw-r--r--pkgs/by-name/dx/dxvk_1/darwin-thread-primitives.patch (renamed from pkgs/misc/dxvk/darwin-thread-primitives.patch)0
-rw-r--r--pkgs/by-name/dx/dxvk_1/package.nix57
-rw-r--r--pkgs/by-name/dx/dxvk_2/package.nix77
-rw-r--r--pkgs/by-name/ec/ecc/package.nix124
-rw-r--r--pkgs/by-name/ek/eksctl/package.nix6
-rw-r--r--pkgs/by-name/eu/eudev/package.nix85
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/by-name/fo/fortune-kind/package.nix70
-rw-r--r--pkgs/by-name/gb/gbar/package.nix58
-rw-r--r--pkgs/by-name/gm/gmic/package.nix (renamed from pkgs/tools/graphics/gmic/default.nix)4
-rw-r--r--pkgs/by-name/ic/icewm/package.nix4
-rw-r--r--pkgs/by-name/im/imhex/package.nix (renamed from pkgs/applications/editors/imhex/default.nix)13
-rw-r--r--pkgs/by-name/im/impression/package.nix69
-rw-r--r--pkgs/by-name/in/incus-unwrapped/package.nix97
-rw-r--r--pkgs/by-name/in/incus/package.nix115
-rw-r--r--pkgs/by-name/le/lexmark-aex/package.nix78
-rw-r--r--pkgs/by-name/lx/lxd-to-incus/package.nix39
-rw-r--r--pkgs/by-name/ne/netclient/package.nix34
-rw-r--r--pkgs/by-name/nf/nfft/package.nix52
-rw-r--r--pkgs/by-name/po/poethepoet/package.nix4
-rw-r--r--pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch23
-rw-r--r--pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch16
-rw-r--r--pkgs/by-name/ra/raft-cowsql/package.nix56
-rw-r--r--pkgs/by-name/re/regols/package.nix22
-rw-r--r--pkgs/by-name/ri/rimgo/package.nix40
-rw-r--r--pkgs/by-name/sc/scdoc/package.nix (renamed from pkgs/tools/typesetting/scdoc/default.nix)12
-rw-r--r--pkgs/by-name/se/searxng/package.nix (renamed from pkgs/servers/web-apps/searxng/default.nix)12
-rw-r--r--pkgs/by-name/sh/shopware-cli/package.nix6
-rw-r--r--pkgs/by-name/si/sirius/package.nix118
-rw-r--r--pkgs/by-name/sp/spfft/package.nix68
-rw-r--r--pkgs/by-name/sp/spla/package.nix67
-rw-r--r--pkgs/by-name/su/supersonic/package.nix73
-rw-r--r--pkgs/by-name/tr/trealla/package.nix4
-rw-r--r--pkgs/by-name/ud/udev-gothic-nf/package.nix25
-rw-r--r--pkgs/by-name/ud/udev-gothic/package.nix25
-rw-r--r--pkgs/by-name/ui/uiua/package.nix40
-rw-r--r--pkgs/by-name/wa/waycheck/package.nix58
-rw-r--r--pkgs/by-name/xm/xmldiff/package.nix (renamed from pkgs/tools/text/xml/xmldiff/default.nix)28
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix3
-rw-r--r--pkgs/data/fonts/iosevka/comfy.nix18
-rw-r--r--pkgs/data/fonts/iosevka/default.nix7
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/last-resort/default.nix4
-rw-r--r--pkgs/data/fonts/sketchybar-app-font/default.nix4
-rw-r--r--pkgs/data/fonts/source-han/default.nix70
-rw-r--r--pkgs/data/icons/vanilla-dmz/default.nix2
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/catppuccin/default.nix112
-rw-r--r--pkgs/data/themes/yaru/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix1
-rw-r--r--pkgs/desktops/cinnamon/mint-artwork/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix7
-rw-r--r--pkgs/desktops/gnome/default.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-flashback/default.nix96
-rw-r--r--pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix66
-rw-r--r--pkgs/desktops/gnome/misc/pomodoro/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix10
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix8
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix10
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix10
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix4
-rw-r--r--pkgs/development/compilers/cmdstan/default.nix4
-rw-r--r--pkgs/development/compilers/cudatoolkit/redist/extension.nix4
-rw-r--r--pkgs/development/compilers/dart/sources.nix12
-rw-r--r--pkgs/development/compilers/elm/default.nix1
-rw-r--r--pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch39
-rw-r--r--pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch74
-rw-r--r--pkgs/development/compilers/elm/packages/elm-srcs.nix44
-rw-r--r--pkgs/development/compilers/elm/packages/elm.nix6
-rw-r--r--pkgs/development/compilers/elm/packages/node-packages.nix3193
-rw-r--r--pkgs/development/compilers/elm/registry.datbin86479 -> 132822 bytes
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/12/default.nix10
-rw-r--r--pkgs/development/compilers/gcc/common/pre-configure.nix6
-rw-r--r--pkgs/development/compilers/ghc/9.2.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.2.5.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.2.6.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.2.7.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.2.8.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.4.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.4.3.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.4.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.4.5.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.4.6.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.6.3.nix4
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix2
-rw-r--r--pkgs/development/compilers/gnostic/default.nix6
-rw-r--r--pkgs/development/compilers/hip-common/0000-fixup-paths.patch129
-rw-r--r--pkgs/development/compilers/hip/0000-fixup-paths.patch62
-rw-r--r--pkgs/development/compilers/hip/default.nix197
-rw-r--r--pkgs/development/compilers/hipcc/0000-fixup-paths.patch130
-rw-r--r--pkgs/development/compilers/llvm/rocm/0000-fix-openmp.patch18
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix603
-rw-r--r--pkgs/development/compilers/lobster/default.nix4
-rw-r--r--pkgs/development/compilers/minimacy/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk/21.nix188
-rw-r--r--pkgs/development/compilers/openjdk/darwin/11.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/16.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/17.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/18.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/19.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/20.nix92
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix96
-rw-r--r--pkgs/development/compilers/openjdk/darwin/meta.nix4
-rw-r--r--pkgs/development/compilers/openjdk/fix-java-home-jdk21.patch14
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/21.nix113
-rw-r--r--pkgs/development/compilers/opensycl/default.nix10
-rw-r--r--pkgs/development/compilers/polyml/default.nix4
-rw-r--r--pkgs/development/compilers/rust/rustc.nix2
-rw-r--r--pkgs/development/compilers/spirv-llvm-translator/default.nix10
-rw-r--r--pkgs/development/compilers/stanc/default.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/compilers/zulu/11.nix42
-rw-r--r--pkgs/development/compilers/zulu/16.nix26
-rw-r--r--pkgs/development/compilers/zulu/17.nix42
-rw-r--r--pkgs/development/compilers/zulu/18.nix26
-rw-r--r--pkgs/development/compilers/zulu/19.nix26
-rw-r--r--pkgs/development/compilers/zulu/20.nix26
-rw-r--r--pkgs/development/compilers/zulu/21.nix42
-rw-r--r--pkgs/development/compilers/zulu/8.nix152
-rw-r--r--pkgs/development/compilers/zulu/common.nix159
-rw-r--r--pkgs/development/compilers/zulu/default.nix125
-rw-r--r--pkgs/development/embedded/wch-isp/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix91
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml27
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml11
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml116
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml58
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix4338
-rw-r--r--pkgs/development/interpreters/hugs/default.nix1
-rw-r--r--pkgs/development/interpreters/lambda-lisp/default.nix82
-rw-r--r--pkgs/development/interpreters/lambda-lisp/sources.nix50
-rw-r--r--pkgs/development/interpreters/luau/default.nix4
-rw-r--r--pkgs/development/interpreters/micropython/default.nix4
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix33
-rw-r--r--pkgs/development/interpreters/wasmer/default.nix6
-rw-r--r--pkgs/development/libraries/SDL_compat/default.nix4
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/backward-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/capnproto/default.nix2
-rw-r--r--pkgs/development/libraries/cdk/default.nix29
-rw-r--r--pkgs/development/libraries/dqlite/default.nix4
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix4
-rw-r--r--pkgs/development/libraries/exiv2/default.nix99
-rw-r--r--pkgs/development/libraries/fbjni/default.nix54
-rw-r--r--pkgs/development/libraries/frugally-deep/default.nix53
-rw-r--r--pkgs/development/libraries/graphene-hardened-malloc/default.nix4
-rw-r--r--pkgs/development/libraries/hax11/default.nix6
-rw-r--r--pkgs/development/libraries/hpp-fcl/default.nix4
-rw-r--r--pkgs/development/libraries/httplib/default.nix4
-rw-r--r--pkgs/development/libraries/inih/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix4
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix2
-rw-r--r--pkgs/development/libraries/libaec/default.nix6
-rw-r--r--pkgs/development/libraries/libayatana-common/default.nix4
-rw-r--r--pkgs/development/libraries/libcef/default.nix10
-rw-r--r--pkgs/development/libraries/libcue/default.nix10
-rw-r--r--pkgs/development/libraries/libetpan/default.nix62
-rw-r--r--pkgs/development/libraries/liblinphone/backport-cpp17.patch98
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix12
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libmx/default.nix2
-rw-r--r--pkgs/development/libraries/libnbd/default.nix4
-rw-r--r--pkgs/development/libraries/libpeas/default.nix1
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix2
-rw-r--r--pkgs/development/libraries/libsmi/default.nix2
-rw-r--r--pkgs/development/libraries/libtsm/default.nix2
-rw-r--r--pkgs/development/libraries/libuchardet/default.nix2
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libva/utils.nix4
-rw-r--r--pkgs/development/libraries/lightgbm/default.nix38
-rw-r--r--pkgs/development/libraries/lightstep-tracer-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/linenoise-ng/default.nix2
-rw-r--r--pkgs/development/libraries/llhttp/default.nix4
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix2
-rw-r--r--pkgs/development/libraries/miopen/default.nix190
-rw-r--r--pkgs/development/libraries/miopen/deps.nix45
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/neatvnc/default.nix4
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/orcania/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix2
-rw-r--r--pkgs/development/libraries/rapidjson/default.nix2
-rw-r--r--pkgs/development/libraries/rocblas/default.nix139
-rw-r--r--pkgs/development/libraries/rocclr/default.nix64
-rw-r--r--pkgs/development/libraries/rocfft/device-install.patch15
-rw-r--r--pkgs/development/libraries/rocfft/split-kernel-compilation.patch124
-rw-r--r--pkgs/development/libraries/rocm-comgr/cmake.patch365
-rw-r--r--pkgs/development/libraries/rocm-core/default.nix58
-rw-r--r--pkgs/development/libraries/rocm-core/src/CMakeLists.txt5
-rw-r--r--pkgs/development/libraries/rocm-core/src/rocm_version.c10
-rw-r--r--pkgs/development/libraries/rocm-core/src/rocm_version.h82
-rw-r--r--pkgs/development/libraries/rocm-opencl-icd/default.nix26
-rw-r--r--pkgs/development/libraries/rocm-opencl-runtime/default.nix69
-rw-r--r--pkgs/development/libraries/rocprofiler/0000-dont-require-hsa_amd_aqlprofile.patch20
-rw-r--r--pkgs/development/libraries/rocprofiler/default.nix66
-rw-r--r--pkgs/development/libraries/science/chemistry/tblite/python.nix9
-rw-r--r--pkgs/development/libraries/science/math/amd-blis/default.nix16
-rw-r--r--pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff34
-rw-r--r--pkgs/development/libraries/science/math/amd-libflame/default.nix66
-rw-r--r--pkgs/development/libraries/science/math/magma/generic.nix19
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--pkgs/development/libraries/sundials/default.nix4
-rw-r--r--pkgs/development/libraries/the-foundation/default.nix4
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix4
-rw-r--r--pkgs/development/libraries/ucx/default.nix9
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix9
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/mariadb-connector-odbc-unistd.patch12
-rw-r--r--pkgs/development/libraries/v8/default.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix11
-rw-r--r--pkgs/development/libraries/webkitgtk/fdo-backend-path.patch2
-rw-r--r--pkgs/development/libraries/xsimd/10.nix47
-rw-r--r--pkgs/development/libraries/xsimd/default.nix8
-rw-r--r--pkgs/development/libraries/xtensor/default.nix52
-rw-r--r--pkgs/development/misc/datafusion/default.nix6
-rw-r--r--pkgs/development/nim-packages/atlas/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/algaeff/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/containers/data.nix5
-rw-r--r--pkgs/development/ocaml-modules/kafka/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/kafka/lwt.nix7
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/pprint/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/zelus-gtk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/zmq/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/zmq/lwt.nix5
-rw-r--r--pkgs/development/php-packages/composer/default.nix26
-rw-r--r--pkgs/development/php-packages/meminfo/default.nix22
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix40
-rw-r--r--pkgs/development/php-packages/psalm/composer.lock4636
-rw-r--r--pkgs/development/php-packages/psalm/default.nix40
-rw-r--r--pkgs/development/python-modules/aio-pika/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix22
-rw-r--r--pkgs/development/python-modules/aiosmb/default.nix6
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix6
-rw-r--r--pkgs/development/python-modules/alexapy/default.nix8
-rw-r--r--pkgs/development/python-modules/altgraph/default.nix4
-rw-r--r--pkgs/development/python-modules/anthemav/default.nix46
-rw-r--r--pkgs/development/python-modules/apischema/default.nix4
-rw-r--r--pkgs/development/python-modules/apple-weatherkit/default.nix47
-rw-r--r--pkgs/development/python-modules/appthreat-vulnerability-db/default.nix4
-rw-r--r--pkgs/development/python-modules/argh/default.nix4
-rw-r--r--pkgs/development/python-modules/argilla/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix19
-rw-r--r--pkgs/development/python-modules/asyncstdlib/default.nix4
-rw-r--r--pkgs/development/python-modules/atom/default.nix4
-rw-r--r--pkgs/development/python-modules/atsim-potentials/default.nix (renamed from pkgs/development/python-modules/atsim_potentials/default.nix)0
-rw-r--r--pkgs/development/python-modules/azure-storage-blob/default.nix11
-rw-r--r--pkgs/development/python-modules/barectf/default.nix44
-rw-r--r--pkgs/development/python-modules/beancount-docverif/default.nix (renamed from pkgs/development/python-modules/beancount_docverif/default.nix)19
-rw-r--r--pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/camel-converter/default.nix4
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/chiabip158/default.nix4
-rw-r--r--pkgs/development/python-modules/clustershell/default.nix4
-rw-r--r--pkgs/development/python-modules/cmdstanpy/default.nix6
-rw-r--r--pkgs/development/python-modules/cntk/default.nix61
-rw-r--r--pkgs/development/python-modules/cramjam/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/deep_merge/default.nix24
-rw-r--r--pkgs/development/python-modules/deform/default.nix4
-rw-r--r--pkgs/development/python-modules/django-auth-ldap/default.nix4
-rw-r--r--pkgs/development/python-modules/django-extensions/default.nix4
-rw-r--r--pkgs/development/python-modules/django-reversion/default.nix5
-rw-r--r--pkgs/development/python-modules/django-silk/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--pkgs/development/python-modules/edk2-pytool-library/default.nix9
-rw-r--r--pkgs/development/python-modules/einops/default.nix10
-rw-r--r--pkgs/development/python-modules/elmax-api/default.nix4
-rw-r--r--pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--pkgs/development/python-modules/ephem/default.nix4
-rw-r--r--pkgs/development/python-modules/esig/default.nix60
-rw-r--r--pkgs/development/python-modules/eth-keys/default.nix4
-rw-r--r--pkgs/development/python-modules/eufylife-ble-client/default.nix4
-rw-r--r--pkgs/development/python-modules/faadelays/default.nix21
-rw-r--r--pkgs/development/python-modules/factory-boy/default.nix (renamed from pkgs/development/python-modules/factory_boy/default.nix)0
-rw-r--r--pkgs/development/python-modules/fake-useragent/default.nix4
-rw-r--r--pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-mysqldb/default.nix49
-rw-r--r--pkgs/development/python-modules/fschat/default.nix6
-rw-r--r--pkgs/development/python-modules/garth/default.nix4
-rw-r--r--pkgs/development/python-modules/gitignore-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datacatalog/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--pkgs/development/python-modules/google-generativeai/default.nix12
-rw-r--r--pkgs/development/python-modules/gpiozero/default.nix13
-rw-r--r--pkgs/development/python-modules/grappelli-safe/default.nix (renamed from pkgs/development/python-modules/grappelli_safe/default.nix)28
-rw-r--r--pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--pkgs/development/python-modules/ha-philipsjs/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hap-python/default.nix4
-rw-r--r--pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--pkgs/development/python-modules/idasen/default.nix4
-rw-r--r--pkgs/development/python-modules/iisignature/default.nix39
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--pkgs/development/python-modules/ircrobots/default.nix6
-rw-r--r--pkgs/development/python-modules/ircstates/default.nix9
-rw-r--r--pkgs/development/python-modules/irctokens/default.nix4
-rw-r--r--pkgs/development/python-modules/jax/default.nix4
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix12
-rw-r--r--pkgs/development/python-modules/jaxlib/default.nix10
-rw-r--r--pkgs/development/python-modules/junos-eznc/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-server/default.nix5
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix2
-rw-r--r--pkgs/development/python-modules/levenshtein/default.nix4
-rw-r--r--pkgs/development/python-modules/liquidctl/default.nix1
-rw-r--r--pkgs/development/python-modules/lit/default.nix4
-rw-r--r--pkgs/development/python-modules/localstack/default.nix4
-rw-r--r--pkgs/development/python-modules/loqedapi/default.nix49
-rw-r--r--pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--pkgs/development/python-modules/lxmf/default.nix4
-rw-r--r--pkgs/development/python-modules/magic-filter/default.nix4
-rw-r--r--pkgs/development/python-modules/mando/default.nix46
-rw-r--r--pkgs/development/python-modules/marisa-trie/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix4
-rw-r--r--pkgs/development/python-modules/memory-profiler/default.nix (renamed from pkgs/development/python-modules/memory_profiler/default.nix)5
-rw-r--r--pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--pkgs/development/python-modules/mezzanine/default.nix4
-rw-r--r--pkgs/development/python-modules/mistune/default.nix14
-rw-r--r--pkgs/development/python-modules/msgspec/default.nix4
-rw-r--r--pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--pkgs/development/python-modules/nasdaq-data-link/default.nix4
-rw-r--r--pkgs/development/python-modules/nibe/default.nix4
-rw-r--r--pkgs/development/python-modules/nomadnet/default.nix4
-rw-r--r--pkgs/development/python-modules/nsz/default.nix4
-rw-r--r--pkgs/development/python-modules/numpyro/default.nix15
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/openai-triton/default.nix224
-rw-r--r--pkgs/development/python-modules/openai-triton/llvm.nix112
-rw-r--r--pkgs/development/python-modules/openai-triton/llvm15.patch4617
-rw-r--r--pkgs/development/python-modules/parver/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix11
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/plexwebsocket/default.nix27
-rw-r--r--pkgs/development/python-modules/pony/default.nix9
-rw-r--r--pkgs/development/python-modules/prayer-times-calculator/default.nix4
-rw-r--r--pkgs/development/python-modules/pycapnp/default.nix2
-rw-r--r--pkgs/development/python-modules/pydiscovergy/default.nix4
-rw-r--r--pkgs/development/python-modules/pydrawise/default.nix4
-rw-r--r--pkgs/development/python-modules/pyduotecno/default.nix4
-rw-r--r--pkgs/development/python-modules/pyecoforest/default.nix56
-rw-r--r--pkgs/development/python-modules/pyenphase/default.nix5
-rw-r--r--pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfibaro/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfronius/default.nix21
-rw-r--r--pkgs/development/python-modules/pygithub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix14
-rw-r--r--pkgs/development/python-modules/pyiqvia/default.nix27
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--pkgs/development/python-modules/pymc/default.nix10
-rw-r--r--pkgs/development/python-modules/pynetdicom/default.nix9
-rw-r--r--pkgs/development/python-modules/pyopenuv/default.nix10
-rw-r--r--pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--pkgs/development/python-modules/pypiserver/default.nix4
-rw-r--r--pkgs/development/python-modules/pypoint/default.nix4
-rw-r--r--pkgs/development/python-modules/pypugjs/default.nix4
-rw-r--r--pkgs/development/python-modules/pypykatz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix4
-rw-r--r--pkgs/development/python-modules/pyqt5-stubs/default.nix61
-rw-r--r--pkgs/development/python-modules/pyramid-beaker/default.nix (renamed from pkgs/development/python-modules/pyramid_beaker/default.nix)5
-rw-r--r--pkgs/development/python-modules/pyramid-chameleon/default.nix (renamed from pkgs/development/python-modules/pyramid_chameleon/default.nix)0
-rw-r--r--pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch (renamed from pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch)0
-rw-r--r--pkgs/development/python-modules/pyramid-exclog/default.nix (renamed from pkgs/development/python-modules/pyramid_exclog/default.nix)5
-rw-r--r--pkgs/development/python-modules/pyramid-jinja2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyramid-mako/default.nix (renamed from pkgs/development/python-modules/pyramid_mako/default.nix)2
-rw-r--r--pkgs/development/python-modules/pyramid-multiauth/default.nix (renamed from pkgs/development/python-modules/pyramid_multiauth/default.nix)5
-rw-r--r--pkgs/development/python-modules/pyramid/default.nix4
-rw-r--r--pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyserial-asyncio-fast/default.nix53
-rw-r--r--pkgs/development/python-modules/pysml/default.nix4
-rw-r--r--pkgs/development/python-modules/pytensor/default.nix53
-rw-r--r--pkgs/development/python-modules/pytest-factoryboy/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-randomly/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gvm/default.nix4
-rw-r--r--pkgs/development/python-modules/python-hl7/default.nix36
-rw-r--r--pkgs/development/python-modules/python-homewizard-energy/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix4
-rw-r--r--pkgs/development/python-modules/python-roborock/default.nix4
-rw-r--r--pkgs/development/python-modules/python_docs_theme/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvista/default.nix4
-rw-r--r--pkgs/development/python-modules/pywayland/default.nix4
-rw-r--r--pkgs/development/python-modules/pywaze/default.nix4
-rw-r--r--pkgs/development/python-modules/pyweatherflowudp/default.nix4
-rw-r--r--pkgs/development/python-modules/pywfa/default.nix53
-rw-r--r--pkgs/development/python-modules/pywlroots/default.nix4
-rw-r--r--pkgs/development/python-modules/pyyardian/default.nix46
-rw-r--r--pkgs/development/python-modules/qcelemental/default.nix10
-rw-r--r--pkgs/development/python-modules/qcengine/default.nix6
-rw-r--r--pkgs/development/python-modules/qt-material/default.nix30
-rw-r--r--pkgs/development/python-modules/quandl/default.nix4
-rw-r--r--pkgs/development/python-modules/radon/default.nix67
-rw-r--r--pkgs/development/python-modules/requests-ratelimiter/default.nix46
-rw-r--r--pkgs/development/python-modules/rjsmin/default.nix21
-rw-r--r--pkgs/development/python-modules/rnginline/default.nix35
-rw-r--r--pkgs/development/python-modules/rns/default.nix4
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix4
-rw-r--r--pkgs/development/python-modules/screenlogicpy/default.nix4
-rw-r--r--pkgs/development/python-modules/simple-websocket/default.nix4
-rw-r--r--pkgs/development/python-modules/slackclient/default.nix4
-rw-r--r--pkgs/development/python-modules/smart-open/default.nix4
-rw-r--r--pkgs/development/python-modules/sqids/default.nix39
-rw-r--r--pkgs/development/python-modules/stanio/default.nix37
-rw-r--r--pkgs/development/python-modules/stanza/default.nix4
-rw-r--r--pkgs/development/python-modules/succulent/default.nix59
-rw-r--r--pkgs/development/python-modules/syrupy/default.nix4
-rw-r--r--pkgs/development/python-modules/tagoio-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/tank-utility/default.nix13
-rw-r--r--pkgs/development/python-modules/tcolorpy/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/textdistance/default.nix18
-rw-r--r--pkgs/development/python-modules/texttable/default.nix27
-rw-r--r--pkgs/development/python-modules/textx/default.nix1
-rw-r--r--pkgs/development/python-modules/textx/tests.nix4
-rw-r--r--pkgs/development/python-modules/tld/default.nix4
-rw-r--r--pkgs/development/python-modules/toggl-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/tokenizers/Cargo.lock1695
-rw-r--r--pkgs/development/python-modules/tokenizers/default.nix12
-rw-r--r--pkgs/development/python-modules/torch/default.nix34
-rw-r--r--pkgs/development/python-modules/torchaudio/default.nix19
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/twitchapi/default.nix26
-rw-r--r--pkgs/development/python-modules/types-aiobotocore-packages/default.nix752
-rw-r--r--pkgs/development/python-modules/types-aiobotocore/default.nix1824
-rw-r--r--pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/wagtail-factories/default.nix4
-rw-r--r--pkgs/development/python-modules/webrtc-noise-gain/default.nix4
-rw-r--r--pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--pkgs/development/python-modules/xdot/default.nix58
-rw-r--r--pkgs/development/python-modules/xlsxwriter/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xtensor-python/default.nix40
-rw-r--r--pkgs/development/python-modules/y-py/default.nix6
-rw-r--r--pkgs/development/python-modules/yfinance/default.nix8
-rw-r--r--pkgs/development/python-modules/ypy-websocket/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix8
-rw-r--r--pkgs/development/python-modules/zipstream-ng/default.nix4
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/zope-component/default.nix4
-rw-r--r--pkgs/development/python-modules/zope-deferredimport/default.nix4
-rw-r--r--pkgs/development/python-modules/zope-deprecation/default.nix46
-rw-r--r--pkgs/development/python-modules/zope-proxy/default.nix42
-rw-r--r--pkgs/development/python-modules/zope_deprecation/default.nix25
-rw-r--r--pkgs/development/python-modules/zope_location/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix28
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/rocm-modules/5/clang-ocl/default.nix (renamed from pkgs/development/libraries/clang-ocl/default.nix)2
-rw-r--r--pkgs/development/rocm-modules/5/clr/default.nix165
-rw-r--r--pkgs/development/rocm-modules/5/clr/test.nix (renamed from pkgs/development/libraries/rocm-opencl-icd/test.nix)16
-rw-r--r--pkgs/development/rocm-modules/5/composable_kernel/default.nix (renamed from pkgs/development/libraries/composable_kernel/default.nix)24
-rw-r--r--pkgs/development/rocm-modules/5/default.nix272
-rw-r--r--pkgs/development/rocm-modules/5/half/default.nix39
-rw-r--r--pkgs/development/rocm-modules/5/hip-common/default.nix (renamed from pkgs/development/compilers/hip-common/default.nix)19
-rw-r--r--pkgs/development/rocm-modules/5/hipblas/default.nix (renamed from pkgs/development/libraries/hipblas/default.nix)11
-rw-r--r--pkgs/development/rocm-modules/5/hipcc/default.nix (renamed from pkgs/development/compilers/hipcc/default.nix)34
-rw-r--r--pkgs/development/rocm-modules/5/hipcub/default.nix (renamed from pkgs/development/libraries/hipcub/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/hipfft/default.nix (renamed from pkgs/development/libraries/hipfft/default.nix)19
-rw-r--r--pkgs/development/rocm-modules/5/hipfort/default.nix (renamed from pkgs/development/libraries/hipfort/default.nix)4
-rw-r--r--pkgs/development/rocm-modules/5/hipify/default.nix (renamed from pkgs/development/compilers/hipify/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/hipsolver/default.nix (renamed from pkgs/development/libraries/hipsolver/default.nix)10
-rw-r--r--pkgs/development/rocm-modules/5/hipsparse/default.nix (renamed from pkgs/development/libraries/hipsparse/default.nix)20
-rw-r--r--pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix45
-rw-r--r--pkgs/development/rocm-modules/5/llvm/base.nix (renamed from pkgs/development/compilers/llvm/rocm/llvm.nix)23
-rw-r--r--pkgs/development/rocm-modules/5/llvm/default.nix57
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix46
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix13
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix10
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix30
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/1000-libcxx-failing-tests.list171
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix28
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix63
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix26
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix42
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix37
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix26
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix35
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/0000-mlir-fix-debugtranslation.patch36
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/1000-openmp-failing-tests.list122
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/1001-mlir-failing-tests.list11
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix42
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix73
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix31
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix36
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix39
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix57
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix54
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix18
-rw-r--r--pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix15
-rw-r--r--pkgs/development/rocm-modules/5/migraphx/default.nix (renamed from pkgs/development/libraries/migraphx/default.nix)34
-rw-r--r--pkgs/development/rocm-modules/5/miopen/default.nix240
-rw-r--r--pkgs/development/rocm-modules/5/miopengemm/default.nix (renamed from pkgs/development/libraries/miopengemm/default.nix)23
-rw-r--r--pkgs/development/rocm-modules/5/rccl/default.nix (renamed from pkgs/development/libraries/rccl/default.nix)26
-rw-r--r--pkgs/development/rocm-modules/5/rdc/default.nix (renamed from pkgs/development/tools/misc/rdc/default.nix)7
-rw-r--r--pkgs/development/rocm-modules/5/rocalution/default.nix (renamed from pkgs/development/libraries/rocalution/default.nix)16
-rw-r--r--pkgs/development/rocm-modules/5/rocblas/default.nix200
-rw-r--r--pkgs/development/rocm-modules/5/rocdbgapi/default.nix (renamed from pkgs/development/libraries/rocdbgapi/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/rocfft/default.nix (renamed from pkgs/development/libraries/rocfft/default.nix)100
-rw-r--r--pkgs/development/rocm-modules/5/rocgdb/default.nix (renamed from pkgs/development/tools/misc/rocgdb/default.nix)4
-rw-r--r--pkgs/development/rocm-modules/5/rocm-cmake/default.nix (renamed from pkgs/development/tools/build-managers/rocm-cmake/default.nix)6
-rw-r--r--pkgs/development/rocm-modules/5/rocm-comgr/default.nix (renamed from pkgs/development/libraries/rocm-comgr/default.nix)5
-rw-r--r--pkgs/development/rocm-modules/5/rocm-core/default.nix36
-rw-r--r--pkgs/development/rocm-modules/5/rocm-device-libs/cmake.patch (renamed from pkgs/development/libraries/rocm-device-libs/cmake.patch)0
-rw-r--r--pkgs/development/rocm-modules/5/rocm-device-libs/default.nix (renamed from pkgs/development/libraries/rocm-device-libs/default.nix)4
-rw-r--r--pkgs/development/rocm-modules/5/rocm-docs-core/default.nix65
-rw-r--r--pkgs/development/rocm-modules/5/rocm-runtime/default.nix (renamed from pkgs/development/libraries/rocm-runtime/default.nix)8
-rw-r--r--pkgs/development/rocm-modules/5/rocm-smi/cmake.patch (renamed from pkgs/tools/system/rocm-smi/cmake.patch)0
-rw-r--r--pkgs/development/rocm-modules/5/rocm-smi/default.nix (renamed from pkgs/tools/system/rocm-smi/default.nix)22
-rw-r--r--pkgs/development/rocm-modules/5/rocm-thunk/default.nix (renamed from pkgs/development/libraries/rocm-thunk/default.nix)10
-rw-r--r--pkgs/development/rocm-modules/5/rocminfo/default.nix (renamed from pkgs/development/tools/rocminfo/default.nix)4
-rw-r--r--pkgs/development/rocm-modules/5/rocmlir/default.nix (renamed from pkgs/development/libraries/rocmlir/default.nix)48
-rw-r--r--pkgs/development/rocm-modules/5/rocprim/default.nix (renamed from pkgs/development/libraries/rocprim/default.nix)14
-rw-r--r--pkgs/development/rocm-modules/5/rocprofiler/default.nix108
-rw-r--r--pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix (renamed from pkgs/development/libraries/rocr-debug-agent/default.nix)18
-rw-r--r--pkgs/development/rocm-modules/5/rocrand/default.nix (renamed from pkgs/development/libraries/rocrand/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/rocsolver/default.nix (renamed from pkgs/development/libraries/rocsolver/default.nix)13
-rw-r--r--pkgs/development/rocm-modules/5/rocsparse/default.nix (renamed from pkgs/development/libraries/rocsparse/default.nix)13
-rw-r--r--pkgs/development/rocm-modules/5/rocsparse/deps.nix (renamed from pkgs/development/libraries/rocsparse/deps.nix)0
-rw-r--r--pkgs/development/rocm-modules/5/rocthrust/default.nix (renamed from pkgs/development/libraries/rocthrust/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/roctracer/default.nix (renamed from pkgs/development/libraries/roctracer/default.nix)15
-rw-r--r--pkgs/development/rocm-modules/5/rocwmma/0000-dont-fetch-googletest.patch (renamed from pkgs/development/libraries/rocwmma/0000-dont-fetch-googletest.patch)12
-rw-r--r--pkgs/development/rocm-modules/5/rocwmma/default.nix (renamed from pkgs/development/libraries/rocwmma/default.nix)61
-rw-r--r--pkgs/development/rocm-modules/5/tensile/default.nix (renamed from pkgs/development/libraries/tensile/default.nix)29
-rw-r--r--pkgs/development/rocm-modules/5/update.nix (renamed from pkgs/development/rocm-modules/update-script/default.nix)4
-rw-r--r--pkgs/development/tools/allure/default.nix4
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix10
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix5
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/api-linter/default.nix8
-rw-r--r--pkgs/development/tools/apktool/default.nix4
-rw-r--r--pkgs/development/tools/azure-static-sites-client/versions.json32
-rw-r--r--pkgs/development/tools/buf/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/mill/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/moon/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/hci/default.nix22
-rw-r--r--pkgs/development/tools/darklua/default.nix13
-rw-r--r--pkgs/development/tools/database/sqlc/default.nix6
-rw-r--r--pkgs/development/tools/database/sqlcmd/default.nix6
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/electron/binary/default.nix56
-rw-r--r--pkgs/development/tools/electron/info.json38
-rw-r--r--pkgs/development/tools/electron/wrapper.nix9
-rw-r--r--pkgs/development/tools/eltclsh/default.nix4
-rw-r--r--pkgs/development/tools/espup/default.nix6
-rw-r--r--pkgs/development/tools/faas-cli/default.nix4
-rw-r--r--pkgs/development/tools/fq/default.nix6
-rw-r--r--pkgs/development/tools/frugal/default.nix6
-rw-r--r--pkgs/development/tools/fsautocomplete/default.nix4
-rw-r--r--pkgs/development/tools/gci/default.nix6
-rw-r--r--pkgs/development/tools/gi-crystal/default.nix4
-rw-r--r--pkgs/development/tools/ginkgo/default.nix4
-rw-r--r--pkgs/development/tools/glamoroustoolkit/default.nix4
-rw-r--r--pkgs/development/tools/go-bindata/default.nix2
-rw-r--r--pkgs/development/tools/go-mockery/default.nix6
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/goa/default.nix6
-rw-r--r--pkgs/development/tools/goimports-reviser/default.nix6
-rw-r--r--pkgs/development/tools/google-java-format/default.nix4
-rw-r--r--pkgs/development/tools/hclfmt/default.nix4
-rw-r--r--pkgs/development/tools/initool/default.nix4
-rw-r--r--pkgs/development/tools/jaq/default.nix6
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--pkgs/development/tools/jbang/default.nix4
-rw-r--r--pkgs/development/tools/k6/default.nix4
-rw-r--r--pkgs/development/tools/kdash/default.nix6
-rw-r--r--pkgs/development/tools/kdoctor/default.nix43
-rw-r--r--pkgs/development/tools/language-servers/helm-ls/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/pylyzer/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/ruff-lsp/default.nix3
-rw-r--r--pkgs/development/tools/memray/default.nix6
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix12
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix2
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/fsatrace/default.nix6
-rw-r--r--pkgs/development/tools/misc/fzf-make/default.nix6
-rw-r--r--pkgs/development/tools/misc/mdl/Gemfile.lock2
-rw-r--r--pkgs/development/tools/misc/mdl/default.nix2
-rw-r--r--pkgs/development/tools/misc/mdl/gemset.nix4
-rw-r--r--pkgs/development/tools/misc/orogene/default.nix6
-rw-r--r--pkgs/development/tools/misc/pest-ide-tools/default.nix6
-rw-r--r--pkgs/development/tools/misc/phpunit/composer.lock1542
-rw-r--r--pkgs/development/tools/misc/phpunit/default.nix44
-rw-r--r--pkgs/development/tools/misc/pkg-config/default.nix1
-rw-r--r--pkgs/development/tools/misc/pkgconf/default.nix4
-rw-r--r--pkgs/development/tools/misc/regex-cli/default.nix6
-rw-r--r--pkgs/development/tools/misc/rsonpath/default.nix6
-rw-r--r--pkgs/development/tools/misc/runme/default.nix6
-rw-r--r--pkgs/development/tools/misc/strace/default.nix1
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix2
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix6
-rw-r--r--pkgs/development/tools/okteto/default.nix4
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix4
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/deps.nix70
-rw-r--r--pkgs/development/tools/packer/default.nix2
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix1
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/default.nix1
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typst.json12
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix4
-rw-r--r--pkgs/development/tools/renderdoc/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-espflash/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-guppy/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-hakari/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-leptos/Cargo.lock1042
-rw-r--r--pkgs/development/tools/rust/cargo-leptos/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-modules/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-mutants/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-run-bin/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-semver-checks/default.nix16
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/Cargo.lock405
-rw-r--r--pkgs/development/tools/rust/cargo-shuttle/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-spellcheck/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-update/default.nix6
-rw-r--r--pkgs/development/tools/rust/leptosfmt/default.nix6
-rw-r--r--pkgs/development/tools/rust/probe-rs/default.nix6
-rw-r--r--pkgs/development/tools/rust/rtthost/default.nix33
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-script/default.nix6
-rw-r--r--pkgs/development/tools/rye/default.nix10
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/supabase-cli/default.nix6
-rw-r--r--pkgs/development/tools/turso-cli/default.nix18
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/watchman/default.nix2
-rw-r--r--pkgs/development/tools/zprint/default.nix4
-rw-r--r--pkgs/development/web/boa/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/insomnia/default.nix4
-rw-r--r--pkgs/games/atlauncher/default.nix4
-rw-r--r--pkgs/games/doom-ports/doomretro/default.nix4
-rw-r--r--pkgs/games/doom-ports/gzdoom/default.nix6
-rw-r--r--pkgs/games/fallout-ce/build.nix77
-rw-r--r--pkgs/games/fallout-ce/fallout-ce.nix20
-rw-r--r--pkgs/games/fallout-ce/fallout2-ce.nix23
-rw-r--r--pkgs/games/lgames/lbreakouthd/default.nix4
-rw-r--r--pkgs/games/lgames/lpairs2/default.nix4
-rw-r--r--pkgs/games/lgames/ltris/default.nix4
-rw-r--r--pkgs/games/minesweep-rs/default.nix6
-rw-r--r--pkgs/games/openmw/default.nix103
-rw-r--r--pkgs/games/openmw/tes3mp.nix12
-rw-r--r--pkgs/games/osu-lazer/bin.nix8
-rw-r--r--pkgs/games/r2modman/default.nix4
-rw-r--r--pkgs/games/sgt-puzzles/default.nix6
-rw-r--r--pkgs/games/theforceengine/default.nix8
-rw-r--r--pkgs/games/unciv/default.nix4
-rw-r--r--pkgs/games/xivlauncher/default.nix4
-rw-r--r--pkgs/games/xivlauncher/deps.nix3
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix2
-rw-r--r--pkgs/misc/dxvk/dxvk.nix114
-rw-r--r--pkgs/misc/mnemonicode/default.nix2
-rw-r--r--pkgs/misc/scrcpy/default.nix2
-rw-r--r--pkgs/misc/vencord/default.nix10
-rw-r--r--pkgs/misc/vencord/package-lock.json252
-rw-r--r--pkgs/os-specific/darwin/ios-deploy/default.nix71
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix13
-rw-r--r--pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/device-tree/default.nix25
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix2
-rw-r--r--pkgs/os-specific/linux/esdm/default.nix78
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix66
-rw-r--r--pkgs/os-specific/linux/eventstat/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch48
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch31
-rw-r--r--pkgs/os-specific/linux/iomelt/default.nix2
-rw-r--r--pkgs/os-specific/linux/iotop-c/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json80
-rwxr-xr-xpkgs/os-specific/linux/kernel/hardened/update.py23
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json32
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix12
-rw-r--r--pkgs/os-specific/linux/libpsm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/mbpfan/default.nix2
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix35
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/bash/mksignames-flush.patch10
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix80
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix29
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix74
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/default.nix133
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix33
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix37
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix25
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/2.nix140
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix140
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix56
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix140
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix136
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/libstdc++-target.patch32
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gcc/no-system-headers.patch11
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/glibc/default.nix121
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix82
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnused/common.nix12
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix71
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix59
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix71
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix (renamed from pkgs/os-specific/linux/minimal-bootstrap/gnutar/default.nix)0
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix70
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix2
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/musl/always-flush.patch12
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix14
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix2
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix5
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix8
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix6
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix11
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-duplicate-symbols.patch13
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-static-inside-array.patch21
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix78
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/tinycc/static-link.patch10
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix36
-rw-r--r--pkgs/os-specific/linux/minimal-bootstrap/xz/stubs.h25
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/pipework/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix2
-rw-r--r--pkgs/os-specific/linux/uhk-agent/default.nix6
-rw-r--r--pkgs/os-specific/linux/xsensors/default.nix2
-rw-r--r--pkgs/os-specific/linux/zfs/unstable.nix4
-rw-r--r--pkgs/servers/bililiverecorder/default.nix4
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/dns/dnsdist/default.nix4
-rw-r--r--pkgs/servers/frr/default.nix4
-rw-r--r--pkgs/servers/geospatial/martin/default.nix10
-rw-r--r--pkgs/servers/geospatial/tegola/default.nix4
-rw-r--r--pkgs/servers/go-cqhttp/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix246
-rw-r--r--pkgs/servers/home-assistant/default.nix26
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix4
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rw-r--r--pkgs/servers/home-assistant/tests.nix2
-rw-r--r--pkgs/servers/homepage-dashboard/default.nix8
-rw-r--r--pkgs/servers/hqplayerd/default.nix8
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix4
-rw-r--r--pkgs/servers/http/spawn-fcgi/default.nix2
-rw-r--r--pkgs/servers/invidious/versions.json6
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jackett/deps.nix2
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/komga/default.nix4
-rw-r--r--pkgs/servers/lidarr/default.nix8
-rw-r--r--pkgs/servers/mail/rspamd/default.nix13
-rw-r--r--pkgs/servers/mattermost/default.nix8
-rw-r--r--pkgs/servers/mediamtx/default.nix6
-rw-r--r--pkgs/servers/meteor/default.nix2
-rw-r--r--pkgs/servers/monitoring/munin/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/exportarr/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix4
-rw-r--r--pkgs/servers/monitoring/vmagent/default.nix4
-rw-r--r--pkgs/servers/mpd/default.nix14
-rw-r--r--pkgs/servers/nosql/mongodb/4.4.nix4
-rw-r--r--pkgs/servers/nosql/mongodb/5.0.nix4
-rw-r--r--pkgs/servers/nosql/mongodb/6.0.nix4
-rw-r--r--pkgs/servers/nosql/mongodb/mongodb.nix2
-rw-r--r--pkgs/servers/nosql/victoriametrics/default.nix4
-rw-r--r--pkgs/servers/prowlarr/default.nix10
-rw-r--r--pkgs/servers/search/quickwit/default.nix4
-rw-r--r--pkgs/servers/shairport-sync/default.nix4
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix44
-rw-r--r--pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix4
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/sql/pgbouncer/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix63
-rw-r--r--pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/periods.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_bigm.nix27
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_cron.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix52
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hll.nix16
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_ivm.nix7
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_net.nix8
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_partman.nix9
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_rational.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_relusage.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_repack.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix3
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_similarity.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_topn.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgaudit.nix39
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgrouting.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgsql-http.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgtap.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/plr.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/repmgr.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/rum.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/tds_fdw.nix14
-rw-r--r--pkgs/servers/sql/postgresql/ext/temporal_tables.nix22
-rw-r--r--pkgs/servers/sql/postgresql/ext/tsearch_extras.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/wal2json.nix2
-rw-r--r--pkgs/servers/syncstorage-rs/Cargo.lock1516
-rw-r--r--pkgs/servers/syncstorage-rs/default.nix6
-rw-r--r--pkgs/servers/teleport/11/default.nix14
-rw-r--r--pkgs/servers/teleport/12/default.nix14
-rw-r--r--pkgs/servers/teleport/13/Cargo.lock1937
-rw-r--r--pkgs/servers/teleport/13/default.nix19
-rw-r--r--pkgs/servers/teleport/14/Cargo.lock1982
-rw-r--r--pkgs/servers/teleport/14/default.nix17
-rw-r--r--pkgs/servers/teleport/generic.nix9
-rw-r--r--pkgs/servers/teleport/tsh_14.patch17
-rw-r--r--pkgs/servers/tracing/tempo/default.nix1
-rw-r--r--pkgs/servers/uxplay/default.nix4
-rw-r--r--pkgs/servers/varnish/default.nix15
-rw-r--r--pkgs/servers/varnish/modules.nix10
-rw-r--r--pkgs/servers/varnish/packages.nix12
-rw-r--r--pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch13
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix21
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock6
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix16
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile11
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock133
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix187
-rw-r--r--pkgs/servers/web-apps/matomo/change-path-geoip2-4.x.patch (renamed from pkgs/servers/web-apps/matomo/change-path-geoip2.patch)1
-rw-r--r--pkgs/servers/web-apps/matomo/change-path-geoip2-5.x.patch10
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix23
-rw-r--r--pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--pkgs/servers/web-apps/snipe-it/default.nix4
-rw-r--r--pkgs/servers/web-apps/sogo/default.nix4
-rw-r--r--pkgs/servers/x11/xquartz/default.nix2
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix6
-rw-r--r--pkgs/servers/zookeeper/default.nix2
-rw-r--r--pkgs/shells/nushell/plugins/formats.nix25
-rw-r--r--pkgs/shells/nushell/plugins/gstat.nix25
-rw-r--r--pkgs/shells/nushell/plugins/query.nix20
-rw-r--r--pkgs/shells/powershell/default.nix10
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix2
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/tools/X11/go-sct/default.nix2
-rw-r--r--pkgs/tools/X11/ncview/default.nix25
-rw-r--r--pkgs/tools/X11/xsecurelock/default.nix1
-rw-r--r--pkgs/tools/admin/auth0-cli/default.nix6
-rw-r--r--pkgs/tools/admin/awscli2/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix20
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix30
-rw-r--r--pkgs/tools/admin/clair/default.nix6
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/lxd/package.json13
-rw-r--r--pkgs/tools/admin/lxd/ui.nix8
-rw-r--r--pkgs/tools/admin/pulumi-bin/data.nix514
-rw-r--r--pkgs/tools/admin/rset/default.nix2
-rw-r--r--pkgs/tools/audio/asap/default.nix4
-rw-r--r--pkgs/tools/audio/audiowaveform/default.nix4
-rw-r--r--pkgs/tools/audio/whisper-ctranslate2/default.nix15
-rw-r--r--pkgs/tools/backup/borgmatic/default.nix4
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/default.nix4
-rw-r--r--pkgs/tools/backup/pgbackrest/default.nix4
-rw-r--r--pkgs/tools/backup/zrepl/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/compression/mozlz4a/default.nix31
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/duperemove/default.nix4
-rw-r--r--pkgs/tools/filesystems/dysk/default.nix6
-rw-r--r--pkgs/tools/filesystems/tar2ext4/default.nix4
-rw-r--r--pkgs/tools/filesystems/zkfuse/default.nix2
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix4
-rw-r--r--pkgs/tools/graphics/svg2pdf/default.nix6
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/llm/open-interpreter/default.nix10
-rw-r--r--pkgs/tools/misc/autorandr/default.nix1
-rw-r--r--pkgs/tools/misc/calamares-nixos-extensions/default.nix4
-rw-r--r--pkgs/tools/misc/clipboard-jh/default.nix4
-rw-r--r--pkgs/tools/misc/crudini/default.nix12
-rw-r--r--pkgs/tools/misc/dbus-map/default.nix2
-rw-r--r--pkgs/tools/misc/diffoci/default.nix6
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix1
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix8
-rw-r--r--pkgs/tools/misc/hdfview/default.nix4
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix6
-rw-r--r--pkgs/tools/misc/logstash/contrib.nix2
-rw-r--r--pkgs/tools/misc/lokalise2-cli/default.nix6
-rw-r--r--pkgs/tools/misc/mapcidr/default.nix6
-rw-r--r--pkgs/tools/misc/moar/default.nix5
-rw-r--r--pkgs/tools/misc/moon-phases/default.nix20
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix21
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/pgmetrics/default.nix4
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/pv/default.nix4
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix4
-rw-r--r--pkgs/tools/misc/qt6ct/default.nix10
-rw-r--r--pkgs/tools/misc/rot8/default.nix8
-rw-r--r--pkgs/tools/misc/rshim-user-space/default.nix4
-rw-r--r--pkgs/tools/misc/rtx/default.nix9
-rw-r--r--pkgs/tools/misc/steampipe/default.nix4
-rw-r--r--pkgs/tools/misc/tgpt/default.nix6
-rw-r--r--pkgs/tools/misc/timidity/configure-compat.patch33
-rw-r--r--pkgs/tools/misc/timidity/default.nix32
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix4
-rw-r--r--pkgs/tools/misc/upterm/default.nix6
-rw-r--r--pkgs/tools/misc/wakapi/default.nix6
-rw-r--r--pkgs/tools/misc/xsel/default.nix30
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--pkgs/tools/networking/assh/default.nix6
-rw-r--r--pkgs/tools/networking/biosdevname/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman/default.nix190
-rw-r--r--pkgs/tools/networking/connman/default.nix49
-rw-r--r--pkgs/tools/networking/containerlab/default.nix6
-rw-r--r--pkgs/tools/networking/ddns-go/default.nix6
-rw-r--r--pkgs/tools/networking/goodhosts/default.nix35
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/grpcui/default.nix6
-rw-r--r--pkgs/tools/networking/grpcurl/default.nix6
-rw-r--r--pkgs/tools/networking/gvproxy/default.nix4
-rw-r--r--pkgs/tools/networking/kapp/default.nix12
-rw-r--r--pkgs/tools/networking/opensnitch/daemon.nix7
-rw-r--r--pkgs/tools/networking/openssh/common.nix8
-rw-r--r--pkgs/tools/networking/openssh/default.nix12
-rw-r--r--pkgs/tools/networking/restish/default.nix4
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--pkgs/tools/networking/termscp/default.nix10
-rw-r--r--pkgs/tools/networking/tinyproxy/default.nix2
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/nix/fh/default.nix6
-rw-r--r--pkgs/tools/nix/nix-output-monitor/generated-package.nix6
-rw-r--r--pkgs/tools/package-management/apt/default.nix2
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-eval-jobs/default.nix5
-rw-r--r--pkgs/tools/security/doas/default.nix2
-rw-r--r--pkgs/tools/security/dontgo403/default.nix4
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/fulcio/default.nix6
-rw-r--r--pkgs/tools/security/gotrue/supabase.nix4
-rw-r--r--pkgs/tools/security/kubeclarity/default.nix6
-rw-r--r--pkgs/tools/security/lastpass-cli/default.nix2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock10
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix10
-rw-r--r--pkgs/tools/security/mkpasswd/default.nix2
-rw-r--r--pkgs/tools/security/nitrokey-app2/default.nix69
-rw-r--r--pkgs/tools/security/nmap-formatter/default.nix6
-rw-r--r--pkgs/tools/security/sslscan/default.nix7
-rw-r--r--pkgs/tools/security/vals/default.nix6
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--pkgs/tools/system/netdata/default.nix6
-rw-r--r--pkgs/tools/system/netdata/go.d.plugin.nix6
-rw-r--r--pkgs/tools/system/nq/default.nix2
-rw-r--r--pkgs/tools/system/nsc/default.nix12
-rw-r--r--pkgs/tools/system/nvitop/default.nix4
-rw-r--r--pkgs/tools/system/psensor/default.nix2
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/stressapptest/default.nix13
-rw-r--r--pkgs/tools/system/tree/default.nix1
-rw-r--r--pkgs/tools/system/xe/default.nix2
-rw-r--r--pkgs/tools/text/difftastic/Cargo.lock9
-rw-r--r--pkgs/tools/text/difftastic/default.nix4
-rw-r--r--pkgs/tools/text/diffutils/default.nix2
-rw-r--r--pkgs/tools/text/goawk/default.nix4
-rw-r--r--pkgs/tools/text/gtree/default.nix6
-rw-r--r--pkgs/tools/text/mdbook-i18n-helpers/default.nix6
-rw-r--r--pkgs/tools/text/mdbook-katex/default.nix6
-rw-r--r--pkgs/tools/text/txt2tags/default.nix4
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/video/recyclarr/default.nix10
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix24
-rw-r--r--pkgs/tools/virtualization/mkosi/default.nix12
-rw-r--r--pkgs/top-level/aliases.nix81
-rw-r--r--pkgs/top-level/all-packages.nix433
-rw-r--r--pkgs/top-level/gnuradio-packages.nix5
-rw-r--r--pkgs/top-level/haskell-packages.nix29
-rw-r--r--pkgs/top-level/java-packages.nix25
-rw-r--r--pkgs/top-level/linux-kernels.nix28
-rw-r--r--pkgs/top-level/perl-packages.nix61
-rw-r--r--pkgs/top-level/php-packages.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix14
-rw-r--r--pkgs/top-level/python-packages.nix783
-rw-r--r--pkgs/top-level/release-haskell.nix5
-rw-r--r--pkgs/top-level/release.nix50
-rw-r--r--pkgs/top-level/ruby-packages.nix314
1357 files changed, 39940 insertions, 22622 deletions
diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml
index faf0eb4751763..90ab843839f62 100644
--- a/.github/workflows/check-by-name.yml
+++ b/.github/workflows/check-by-name.yml
@@ -17,16 +17,24 @@ jobs:
     # as specified in nixos/release-combined.nix
     runs-on: ubuntu-latest
     steps:
+      - name: Resolving the merge commit
+        run: |
+          if result=$(git ls-remote --exit-code ${{ github.event.pull_request.base.repo.clone_url }} refs/pull/${{ github.event.pull_request.number }}/merge); then
+            mergedSha=$(cut -f1 <<< "$result")
+            echo "The PR appears to not have any conflicts, checking the merge commit $mergedSha"
+          else
+            echo "The PR may have a merge conflict"
+            exit 1
+          fi
+          echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
       - uses: actions/checkout@v4
         with:
           # pull_request_target checks out the base branch by default
-          ref: refs/pull/${{ github.event.pull_request.number }}/merge
+          ref: ${{ env.mergedSha }}
           # Fetches the merge commit and its parents
           fetch-depth: 2
       - name: Determining PR git hashes
         run: |
-          echo "mergedSha=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
-
           # For pull_request_target this is the same as $GITHUB_SHA
           echo "baseSha=$(git rev-parse HEAD^1)" >> "$GITHUB_ENV"
 
@@ -133,7 +141,7 @@ jobs:
             echo "  - Nixpkgs commit: [$rev](https://github.com/${GITHUB_REPOSITORY}/commit/$rev)"
             echo "  - Store path: \`$(realpath result)\`"
             echo "- Tested Nixpkgs:"
-            echo "  - Base branch $GITHUB_BASE_REF"
+            echo "  - Base branch: $GITHUB_BASE_REF"
             echo "  - Latest base branch commit: [$baseSha](https://github.com/${GITHUB_REPOSITORY}/commit/$baseSha)"
             echo "  - Latest PR commit: [$headSha](https://github.com/${GITHUB_REPOSITORY}/commit/$headSha)"
             echo "  - Merge commit: [$mergedSha](https://github.com/${GITHUB_REPOSITORY}/commit/$mergedSha)"
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index c97c8a204b419..6b9ce32d17362 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -1029,7 +1029,7 @@ ugly, and we may want to deprecate them at some point. -->
 `disableCabalFlag flag drv`
 : Makes sure that the Cabal flag `flag` is disabled in Cabal's configure step.
 
-`appendBuildflags list drv`
+`appendBuildFlags list drv`
 : Adds the strings in `list` to the `buildFlags` argument for `drv`.
 
 <!-- TODO(@sternenseemann): removeConfigureFlag -->
diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md
index fb1dd898c8a20..f35fd83cc5949 100644
--- a/doc/languages-frameworks/javascript.section.md
+++ b/doc/languages-frameworks/javascript.section.md
@@ -161,6 +161,8 @@ git config --global url."https://github.com/".insteadOf git://github.com/
 
 `buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)). It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
 
+Here's an example:
+
 ```nix
 { lib, buildNpmPackage, fetchFromGitHub }:
 
@@ -191,6 +193,8 @@ buildNpmPackage rec {
 }
 ```
 
+In the default `installPhase` set by `buildNpmPackage`, it uses `npm pack --json --dry-run` to decide what files to install in `$out/lib/node_modules/$name/`, where `$name` is the `name` string defined in the package's `package.json`. Additionally, the `bin` and `man` keys in the source's `package.json` are used to decide what binaries and manpages are supposed to be installed. If these are not defined, `npm pack` may miss some files, and no binaries will be produced.
+
 #### Arguments {#javascript-buildNpmPackage-arguments}
 
 * `npmDepsHash`: The output hash of the dependencies for this project. Can be calculated in advance with [`prefetch-npm-deps`](#javascript-buildNpmPackage-prefetch-npm-deps).
@@ -204,10 +208,11 @@ buildNpmPackage rec {
 * `npmBuildFlags`: Flags to pass to `npm run ${npmBuildScript}`.
 * `npmPackFlags`: Flags to pass to `npm pack`.
 * `npmPruneFlags`: Flags to pass to `npm prune`. Defaults to the value of `npmInstallFlags`.
+* `makeWrapperArgs`: Flags to pass to `makeWrapper`, added to executable calling the generated `.js` with `node` as an interpreter. These scripts are defined in `package.json`.
 
 #### prefetch-npm-deps {#javascript-buildNpmPackage-prefetch-npm-deps}
 
-`prefetch-npm-deps` can calculate the hash of the dependencies of an npm project ahead of time.
+`prefetch-npm-deps` is a Nixpkgs package that calculates the hash of the dependencies of an npm project ahead of time.
 
 ```console
 $ ls
@@ -217,6 +222,15 @@ $ prefetch-npm-deps package-lock.json
 sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
 ```
 
+#### fetchNpmDeps {#javascript-buildNpmPackage-fetchNpmDeps}
+
+`fetchNpmDeps` is a Nix function that requires the following mandatory arguments:
+
+- `src`: A directory / tarball with `package-lock.json` file
+- `hash`: The output hash of the node dependencies defined in `package-lock.json`.
+
+It returns a derivation with all `package-lock.json` dependencies downloaded into `$out/`, usable as an npm cache.
+
 ### corepack {#javascript-corepack}
 
 This package puts the corepack wrappers for pnpm and yarn in your PATH, and they will honor the `packageManager` setting in the `package.json`.
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 67e23cc74d4e4..3bd8e1c765120 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -817,7 +817,7 @@ $ cargo test
 ## Using community maintained Rust toolchains {#using-community-maintained-rust-toolchains}
 
 ::: {.note}
-Note: The following projects cannot be used within nixpkgs since [IFD](#ssec-import-from-derivation) is disallowed.
+The following projects cannot be used within Nixpkgs since [Import From Derivation](https://nixos.org/manual/nix/unstable/language/import-from-derivation) (IFD) is disallowed in Nixpkgs.
 To package things that require Rust nightly, `RUSTC_BOOTSTRAP = true;` can sometimes be used as a hack.
 :::
 
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index b8960cf73f208..b0460ab139e8f 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -542,6 +542,36 @@ rec {
     attrs:
     map (name: f name attrs.${name}) (attrNames attrs);
 
+  /*
+    Deconstruct an attrset to a list of name-value pairs as expected by [`builtins.listToAttrs`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-listToAttrs).
+    Each element of the resulting list is an attribute set with these attributes:
+    - `name` (string): The name of the attribute
+    - `value` (any): The value of the attribute
+
+    The following is always true:
+    ```nix
+    builtins.listToAttrs (attrsToList attrs) == attrs
+    ```
+
+    :::{.warning}
+    The opposite is not always true. In general expect that
+    ```nix
+    attrsToList (builtins.listToAttrs list) != list
+    ```
+
+    This is because the `listToAttrs` removes duplicate names and doesn't preserve the order of the list.
+    :::
+
+    Example:
+      attrsToList { foo = 1; bar = "asdf"; }
+      => [ { name = "bar"; value = "asdf"; } { name = "foo"; value = 1; } ]
+
+    Type:
+      attrsToList :: AttrSet -> [ { name :: String; value :: Any; } ]
+
+  */
+  attrsToList = mapAttrsToList nameValuePair;
+
 
   /* Like `mapAttrs`, except that it recursively applies itself to
      the *leaf* attributes of a potentially-nested attribute set:
diff --git a/lib/default.nix b/lib/default.nix
index 169f013191b82..fe737a125e680 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -81,8 +81,8 @@ let
     inherit (self.attrsets) attrByPath hasAttrByPath setAttrByPath
       getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs
       filterAttrsRecursive foldlAttrs foldAttrs collect nameValuePair mapAttrs
-      mapAttrs' mapAttrsToList concatMapAttrs mapAttrsRecursive mapAttrsRecursiveCond
-      genAttrs isDerivation toDerivation optionalAttrs
+      mapAttrs' mapAttrsToList attrsToList concatMapAttrs mapAttrsRecursive
+      mapAttrsRecursiveCond genAttrs isDerivation toDerivation optionalAttrs
       zipAttrsWithNames zipAttrsWith zipAttrs recursiveUpdateUntil
       recursiveUpdate matchAttrs overrideExisting showAttrPath getOutput getBin
       getLib getDev getMan chooseDevOutputs zipWithNames zip
diff --git a/lib/fileset/README.md b/lib/fileset/README.md
index c439e449544e5..ebe13f08fdef8 100644
--- a/lib/fileset/README.md
+++ b/lib/fileset/README.md
@@ -205,7 +205,7 @@ File sets do not support Nix store paths in strings such as `"/nix/store/...-sou
 
 Arguments:
 - (+) Such paths are usually produced by derivations, which means `toSource` would either:
-  - Require IFD if `builtins.path` is used as the underlying primitive
+  - Require [Import From Derivation](https://nixos.org/manual/nix/unstable/language/import-from-derivation) (IFD) if `builtins.path` is used as the underlying primitive
   - Require importing the entire `root` into the store such that derivations can be used to do the filtering
 - (+) The convenient path coercion like `union ./foo ./bar` wouldn't work for absolute paths, requiring more verbose alternate interfaces:
   - `let root = "/nix/store/...-source"; in union "${root}/foo" "${root}/bar"`
diff --git a/lib/licenses.nix b/lib/licenses.nix
index b9d6dc44e6d00..d9555ca66cb96 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -30,6 +30,14 @@ in mkLicense lset) ({
     fullName = "Abstyles License";
   };
 
+  acsl14 = {
+    fullName = "Anti-Capitalist Software License v1.4";
+    url = "https://anticapitalist.software/";
+    /* restrictions on corporations apply for both use and redistribution */
+    free = false;
+    redistributable = false;
+  };
+
   afl20 = {
     spdxId = "AFL-2.0";
     fullName = "Academic Free License v2.0";
diff --git a/lib/strings.nix b/lib/strings.nix
index d7642ce10fafe..628669d86bbd4 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -854,7 +854,7 @@ rec {
     assert (lib.isBool flag);
     mesonOption feature (if flag then "enabled" else "disabled");
 
-  /* Create an --{enable,disable}-<feat> string that can be passed to
+  /* Create an --{enable,disable}-<feature> string that can be passed to
      standard GNU Autoconf scripts.
 
      Example:
@@ -863,11 +863,12 @@ rec {
        enableFeature false "shared"
        => "--disable-shared"
   */
-  enableFeature = enable: feat:
-    assert isString feat; # e.g. passing openssl instead of "openssl"
-    "--${if enable then "enable" else "disable"}-${feat}";
+  enableFeature = flag: feature:
+    assert lib.isBool flag;
+    assert lib.isString feature; # e.g. passing openssl instead of "openssl"
+    "--${if flag then "enable" else "disable"}-${feature}";
 
-  /* Create an --{enable-<feat>=<value>,disable-<feat>} string that can be passed to
+  /* Create an --{enable-<feature>=<value>,disable-<feature>} string that can be passed to
      standard GNU Autoconf scripts.
 
      Example:
@@ -876,9 +877,10 @@ rec {
        enableFeatureAs false "shared" (throw "ignored")
        => "--disable-shared"
   */
-  enableFeatureAs = enable: feat: value: enableFeature enable feat + optionalString enable "=${value}";
+  enableFeatureAs = flag: feature: value:
+    enableFeature flag feature + optionalString flag "=${value}";
 
-  /* Create an --{with,without}-<feat> string that can be passed to
+  /* Create an --{with,without}-<feature> string that can be passed to
      standard GNU Autoconf scripts.
 
      Example:
@@ -887,11 +889,11 @@ rec {
        withFeature false "shared"
        => "--without-shared"
   */
-  withFeature = with_: feat:
-    assert isString feat; # e.g. passing openssl instead of "openssl"
-    "--${if with_ then "with" else "without"}-${feat}";
+  withFeature = flag: feature:
+    assert isString feature; # e.g. passing openssl instead of "openssl"
+    "--${if flag then "with" else "without"}-${feature}";
 
-  /* Create an --{with-<feat>=<value>,without-<feat>} string that can be passed to
+  /* Create an --{with-<feature>=<value>,without-<feature>} string that can be passed to
      standard GNU Autoconf scripts.
 
      Example:
@@ -900,7 +902,8 @@ rec {
        withFeatureAs false "shared" (throw "ignored")
        => "--without-shared"
   */
-  withFeatureAs = with_: feat: value: withFeature with_ feat + optionalString with_ "=${value}";
+  withFeatureAs = flag: feature: value:
+    withFeature flag feature + optionalString flag "=${value}";
 
   /* Create a fixed width string with additional prefix to match
      required width.
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index ec306acbb765f..6527c31e49c2e 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -20,6 +20,10 @@ let
     expr = (builtins.tryEval (builtins.seq expr "didn't throw"));
     expected = { success = false; value = false; };
   };
+  testingEval = expr: {
+    expr = (builtins.tryEval expr).success;
+    expected = true;
+  };
   testingDeepThrow = expr: testingThrow (builtins.deepSeq expr expr);
 
   testSanitizeDerivationName = { name, expected }:
@@ -816,6 +820,26 @@ runTests {
     expected = { a = 1; b = 2; };
   };
 
+  testListAttrsReverse = let
+    exampleAttrs = {foo=1; bar="asdf"; baz = [1 3 3 7]; fnord=null;};
+    exampleSingletonList = [{name="foo"; value=1;}];
+  in {
+    expr = {
+      isReverseToListToAttrs = builtins.listToAttrs (attrsToList exampleAttrs) == exampleAttrs;
+      isReverseToAttrsToList = attrsToList (builtins.listToAttrs exampleSingletonList) == exampleSingletonList;
+      testDuplicatePruningBehaviour = attrsToList (builtins.listToAttrs [{name="a"; value=2;} {name="a"; value=1;}]);
+    };
+    expected = {
+      isReverseToAttrsToList = true;
+      isReverseToListToAttrs = true;
+      testDuplicatePruningBehaviour = [{name="a"; value=2;}];
+    };
+  };
+
+  testAttrsToListsCanDealWithFunctions = testingEval (
+    attrsToList { someFunc= a: a + 1;}
+  );
+
 # GENERATORS
 # these tests assume attributes are converted to lists
 # in alphabetical order
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0cddee228346b..27550c92c9b86 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -793,6 +793,12 @@
     githubId = 5053729;
     name = "Alias Gram";
   };
+  alias-dev = {
+    email = "alias-dev@protonmail.com";
+    github = "alias-dev";
+    githubId = 30437811;
+    name = "Alex Andrews";
+  };
   alibabzo = {
     email = "alistair.bill@gmail.com";
     github = "alistairbill";
@@ -829,6 +835,12 @@
     githubId = 5892756;
     name = "Alec Snyder";
   };
+  allusive = {
+    email = "jasper@allusive.dev";
+    name = "Allusive";
+    github = "allusive-dev";
+    githubId = 99632976;
+  };
   almac = {
     email = "alma.cemerlic@gmail.com";
     github = "a1mac";
@@ -3683,12 +3695,6 @@
     githubId = 398996;
     name = "Christopher Singley";
   };
-  cstrahan = {
-    email = "charles@cstrahan.com";
-    github = "cstrahan";
-    githubId = 143982;
-    name = "Charles Strahan";
-  };
   cswank = {
     email = "craigswank@gmail.com";
     github = "cswank";
@@ -5842,10 +5848,14 @@
     githubId = 1618343;
   };
   foo-dogsquared = {
-    email = "foo.dogsquared@gmail.com";
+    email = "foodogsquared@foodogsquared.one";
     github = "foo-dogsquared";
     githubId = 34962634;
+    matrix = "@foodogsquared:matrix.org";
     name = "Gabriel Arazas";
+    keys = [{
+      fingerprint = "DDD7 D0BD 602E 564B AA04  FC35 1431 0D91 4115 2B92";
+    }];
   };
   fooker = {
     email = "fooker@lab.sh";
@@ -6003,6 +6013,15 @@
     githubId = 134872;
     name = "Sergei Lukianov";
   };
+  fryuni = {
+    name = "Luiz Ferraz";
+    email = "luiz@lferraz.com";
+    github = "Fryuni";
+    githubId = 11063910;
+    keys = [{
+      fingerprint = "2109 4B0E 560B 031E F539  62C8 2B56 8731 DB24 47EC";
+    }];
+  };
   fsagbuya = {
     email = "fa@m-labs.ph";
     github = "fsagbuya";
@@ -6068,6 +6087,15 @@
     githubId = 12715461;
     name = "Anders Bo Rasmussen";
   };
+  fwam = {
+    name = "Legion Orsetti";
+    email = "fwam@queereen.dev";
+    github = "fwam";
+    githubId = 113541944;
+    keys = [{
+      fingerprint = "3822 20B8 57ED 0602 3786  8A7A 18E1 AE22 D704 B4FC";
+    }];
+  };
   fwc = {
     github = "fwc";
     githubId = 29337229;
@@ -6783,6 +6811,12 @@
     githubId = 33523827;
     name = "Harrison Thorne";
   };
+  haruki7049 = {
+    email = "tontonkirikiri@gmail.com";
+    github = "haruki7049";
+    githubId = 64677724;
+    name = "haruki7049";
+  };
   harvidsen = {
     email = "harvidsen@gmail.com";
     github = "harvidsen";
@@ -8027,6 +8061,12 @@
     githubId = 854319;
     name = "Matt McHenry";
   };
+  jerrysm64 = {
+    email = "jerry.starke@icloud.com";
+    github = "jerrysm64";
+    githubId = 42114389;
+    name = "Jerry Starke";
+  };
   jeschli = {
     email = "jeschli@gmail.com";
     github = "0mbi";
@@ -8530,6 +8570,12 @@
     github = "jorsn";
     githubId = 4646725;
   };
+  joscha = {
+    name = "Joscha Loos";
+    email = "j.loos@posteo.net";
+    github = "jooooscha";
+    githubId = 57965027;
+  };
   josephst = {
     name = "Joseph Stahl";
     email = "hello@josephstahl.com";
@@ -8572,6 +8618,12 @@
     githubId = 1918771;
     name = "Joe Doyle";
   };
+  jpentland = {
+    email = "joe.pentland@gmail.com";
+    github = "jpentland";
+    githubId = 1135582;
+    name = "Joe Pentland";
+  };
   jperras = {
     email = "joel@nerderati.com";
     github = "jperras";
@@ -10350,12 +10402,6 @@
     githubId = 84395723;
     name = "Lukas Wurzinger";
   };
-  lukeadams = {
-    email = "luke.adams@belljar.io";
-    github = "lukeadams";
-    githubId = 3508077;
-    name = "Luke Adams";
-  };
   lukebfox = {
     email = "lbentley-fox1@sheffield.ac.uk";
     github = "lukebfox";
@@ -11560,6 +11606,15 @@
     githubId = 1776903;
     name = "Andrew Abbott";
   };
+  mirrorwitch = {
+    email = "mirrorwitch@transmom.love";
+    github = "mirrorwitch";
+    githubId = 146672255;
+    name = "mirrorwitch";
+    keys = [{
+        fingerprint = "C3E7 F8C4 9CBC 9320 D360  B117 8516 D0FA 7D8F 58FC";
+    }];
+  };
   Misaka13514 = {
     name = "Misaka13514";
     email = "Misaka13514@gmail.com";
@@ -14094,6 +14149,12 @@
     githubId = 406946;
     name = "Valentin Lorentz";
   };
+  prominentretail = {
+    email = "me@jakepark.me";
+    github = "ProminentRetail";
+    githubId = 94048404;
+    name = "Jake Park";
+  };
   proofconstruction = {
     email = "source@proof.construction";
     github = "proofconstruction";
@@ -15365,6 +15426,12 @@
     githubId = 107703;
     name = "Samuel Rivas";
   };
+  samueltardieu = {
+    email = "nixpkgs@sam.rfc1149.net";
+    github = "samueltardieu";
+    githubId = 44656;
+    name = "Samuel Tardieu";
+  };
   samw = {
     email = "sam@wlcx.cc";
     github = "wlcx";
@@ -15469,6 +15536,12 @@
     githubId = 3958212;
     name = "Tom Sorlie";
   };
+  schinmai-akamai = {
+    email = "schinmai@akamai.com";
+    github = "schinmai-akamai";
+    githubId = 70169773;
+    name = "Tarun Chinmai Sekar";
+  };
   schmitthenner = {
     email = "development@schmitthenner.eu";
     github = "fkz";
@@ -16052,6 +16125,12 @@
       fingerprint = "B234 EFD4 2B42 FE81 EE4D  7627 F72C 4A88 7F9A 24CA";
     }];
   };
+  sironheart = {
+    email = "git@beisenherz.dev";
+    github = "Sironheart";
+    githubId = 13799656;
+    name = "Steffen Beisenherz";
+  };
   sirseruju = {
     email = "sir.seruju@yandex.ru";
     github = "SirSeruju";
@@ -18607,6 +18686,12 @@
       fingerprint = "F844 80B2 0CA9 D6CC C7F5  2479 A776 D2AD 099E 8BC0";
     }];
   };
+  wexder = {
+    email = "wexder19@gmail.com";
+    github = "wexder";
+    githubId = 24979302;
+    name = "Vladimír Zahradník";
+  };
   wheelsandmetal = {
     email = "jakob@schmutz.co.uk";
     github = "wheelsandmetal";
@@ -19048,7 +19133,7 @@
     ];
   };
   yayayayaka = {
-    email = "nixpkgs@uwu.is";
+    email = "github@uwu.is";
     matrix = "@yaya:uwu.is";
     github = "yayayayaka";
     githubId = 73759599;
diff --git a/maintainers/scripts/all-tarballs.nix b/maintainers/scripts/all-tarballs.nix
index 6a4de8a4b9511..83236e6fa91e9 100644
--- a/maintainers/scripts/all-tarballs.nix
+++ b/maintainers/scripts/all-tarballs.nix
@@ -12,5 +12,5 @@ import ../../pkgs/top-level/release.nix
     scrubJobs = false;
     # No need to evaluate on i686.
     supportedSystems = [ "x86_64-linux" ];
-    limitedSupportedSystems = [];
+    bootstrapConfigs = [];
   }
diff --git a/nixos/doc/manual/configuration/gpu-accel.chapter.md b/nixos/doc/manual/configuration/gpu-accel.chapter.md
index 40878b5da4b57..dfccdf291b736 100644
--- a/nixos/doc/manual/configuration/gpu-accel.chapter.md
+++ b/nixos/doc/manual/configuration/gpu-accel.chapter.md
@@ -26,7 +26,7 @@ directory which is scanned by the ICL loader for ICD files. For example:
 
 ```ShellSession
 $ export \
-  OCL_ICD_VENDORS=`nix-build '<nixpkgs>' --no-out-link -A rocm-opencl-icd`/etc/OpenCL/vendors/
+  OCL_ICD_VENDORS=`nix-build '<nixpkgs>' --no-out-link -A rocmPackages.clr.icd`/etc/OpenCL/vendors/
 ```
 
 The second mechanism is to add the OpenCL driver package to
@@ -50,13 +50,13 @@ Platform Vendor      Advanced Micro Devices, Inc.
 
 Modern AMD [Graphics Core
 Next](https://en.wikipedia.org/wiki/Graphics_Core_Next) (GCN) GPUs are
-supported through the rocm-opencl-icd package. Adding this package to
+supported through the rocmPackages.clr.icd package. Adding this package to
 [](#opt-hardware.opengl.extraPackages)
 enables OpenCL support:
 
 ```nix
 hardware.opengl.extraPackages = [
-  rocm-opencl-icd
+  rocmPackages.clr.icd
 ];
 ```
 
diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md
index 44bb3b4782e19..2ad3d6c4f9495 100644
--- a/nixos/doc/manual/development/option-types.section.md
+++ b/nixos/doc/manual/development/option-types.section.md
@@ -528,7 +528,7 @@ The only required parameter is `name`.
 
 :   A string representation of the type function name.
 
-`definition`
+`description`
 
 :   Description of the type used in documentation. Give information of
     the type and any of its arguments.
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md
index e8562a7580c40..f2c9ee41c230e 100644
--- a/nixos/doc/manual/release-notes/rl-2311.section.md
+++ b/nixos/doc/manual/release-notes/rl-2311.section.md
@@ -26,6 +26,9 @@
 
 [`sudo-rs`]: https://github.com/memorysafety/sudo-rs/
 
+- All [ROCm](https://rocm.docs.amd.com/en/latest/) packages have been updated to 5.7.0.
+  - [ROCm](https://rocm.docs.amd.com/en/latest/) package attribute sets are versioned: `rocmPackages` -> `rocmPackages_5`.
+
 ## New Services {#sec-release-23.11-new-services}
 
 - [MCHPRS](https://github.com/MCHPR/MCHPRS), a multithreaded Minecraft server built for redstone. Available as [services.mchprs](#opt-services.mchprs.enable).
@@ -91,6 +94,8 @@
 
 - [ZITADEL](https://zitadel.com), a turnkey identity and access management platform. Available as [services.zitadel](#opt-services.zitadel.enable).
 
+- [netclient](https://github.com/gravitl/netclient), an automated WireGuard® Management Client. Available as [services.netclient](#opt-services.netclient.enable).
+
 ## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
 
 - `network-online.target` has been fixed to no longer time out for systems with `networking.useDHCP = true` and `networking.useNetworkd = true`.
@@ -114,7 +119,7 @@
 
 - `pass` now does not contain `password-store.el`.  Users should get `password-store.el` from Emacs lisp package set `emacs.pkgs.password-store`.
 
-- `services.knot` now supports `.settings` from RFC42.  The change is not 100% compatible with the previous `.extraConfig`.
+- `services.knot` now supports `.settings` from RFC42.  The previous `.extraConfig` still works the same, but it displays a warning now.
 
 - `mu` now does not install `mu4e` files by default.  Users should get `mu4e` from Emacs lisp package set `emacs.pkgs.mu4e`.
 
@@ -146,6 +151,17 @@
 
 - `consul` has been updated to `1.16.0`. See the [release note](https://github.com/hashicorp/consul/releases/tag/v1.16.0) for more details. Once a new Consul version has started and upgraded its data directory, it generally cannot be downgraded to the previous version.
 
+- `llvmPackages_rocm` has been moved to `rocmPackages.llvm`.
+
+- `hip`, `rocm-opencl-runtime`, `rocm-opencl-icd`, and `rocclr` have been combined into `rocmPackages.clr`.
+
+- `clang-ocl`, `clr`, `composable_kernel`, `hipblas`, `hipcc`, `hip-common`, `hipcub`,
+  `hipfft`, `hipfort`, `hipify`, `hipsolver`, `hipsparse`, `migraphx`, `miopen`, `miopengemm`,
+  `rccl`, `rdc`, `rocalution`, `rocblas`, `rocdgbapi`, `rocfft`, `rocgdb`, `rocm-cmake`,
+  `rocm-comgr`, `rocm-core`, `rocm-device-libs`, `rocminfo`, `rocmlir`, `rocm-runtime`,
+  `rocm-smi`, `rocm-thunk`, `rocprim`, `rocprofiler`, `rocrand`, `rocr-debug-agent`,
+  `rocsolver`, `rocsparse`, `rocthrust`, `roctracer`, `rocwmma`, and `tensile` have been moved to `rocmPackages`.
+
 - `himalaya` has been updated to `0.8.0`, which drops the native TLS support (in favor of Rustls) and add OAuth 2.0 support. See the [release note](https://github.com/soywod/himalaya/releases/tag/v0.8.0) for more details.
 
 - `nix-prefetch-git` now ignores global and user git config, to improve reproducibility.
@@ -183,6 +199,8 @@
 
 - `odoo` now defaults to 16, updated from 15.
 
+- `varnish` was upgraded from 7.2.x to 7.4.x, see https://varnish-cache.org/docs/7.3/whats-new/upgrading-7.3.html and https://varnish-cache.org/docs/7.4/whats-new/upgrading-7.4.html for upgrade notes. The current LTS version is still offered as `varnish60`.
+
 - `util-linux` is now supported on Darwin and is no longer an alias to `unixtools`. Use the `unixtools.util-linux` package for access to the Apple variants of the utilities.
 
 - `services.keyd` changed API. Now you can create multiple configuration files.
@@ -225,7 +243,7 @@
 
 - The `aseprite-unfree` package has been upgraded from 1.2.16.3 to 1.2.40. The free version of aseprite has been dropped because it is EOL and the package attribute now points to the unfree version. A maintained fork of the last free version of Aseprite, named 'LibreSprite', is available in the `libresprite` package.
 
-- The default `kops` version is now 1.27.0 and support for 1.24 and older has been dropped.
+- The default `kops` version is now 1.28.0 and support for 1.25 and older has been dropped.
 
 - `pharo` has been updated to latest stable (PharoVM 10.0.5), which is compatible with the latest stable and oldstable images (Pharo 10 and 11). The VM in question is the 64bit Spur. The 32bit version has been dropped due to lack of maintenance. The Cog VM has been deleted because it is severily outdated. Finally, the `pharo-launcher` package has been deleted because it was not compatible with the newer VM, and due to lack of maintenance.
 
@@ -264,6 +282,8 @@
 
 - Setting `nixpkgs.config` options while providing an external `pkgs` instance will now raise an error instead of silently ignoring the options. NixOS modules no longer set `nixpkgs.config` to accomodate this. This specifically affects `services.locate`, `services.xserver.displayManager.lightdm.greeters.tiny` and `programs.firefox` NixOS modules. No manual intervention should be required in most cases, however, configurations relying on those modules affecting packages outside the system environment should switch to explicit overlays.
 
+- `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope.
+
 ## Other Notable Changes {#sec-release-23.11-notable-changes}
 
 - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
@@ -329,6 +349,8 @@ The module update takes care of the new config syntax and the data itself (user
 
 - `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`.
 
+- `programs.gnupg` now has the option `agent.settings` to set verbatim config values in `/etc/gnupg/gpg-agent.conf`.
+
 - `dockerTools.buildImage`, `dockerTools.buildLayeredImage` and `dockerTools.streamLayeredImage` now use `lib.makeOverridable` to allow `dockerTools`-based images to be customized more efficiently at the nix-level.
 
 - `services.influxdb2` now supports doing an automatic initial setup and provisioning of users, organizations, buckets and authentication tokens, see [#249502](https://github.com/NixOS/nixpkgs/pull/249502) for more details.
@@ -418,3 +440,6 @@ The module update takes care of the new config syntax and the data itself (user
   `virtualisation.fileSystems = lib.mkForce { };`.
 
 - The `electron` packages now places its application files in `$out/libexec/electron` instead of `$out/lib/electron`. Packages using electron-builder will fail to build and need to be adjusted by changing `lib` to `libexec`.
+
+- `teleport` has been upgraded from major version 12 to major version 14. Please see upstream [upgrade instructions](https://goteleport.com/docs/management/operations/upgrading/) and release notes for versions [13](https://goteleport.com/docs/changelog/#1300-050823) and [14](https://goteleport.com/docs/changelog/#1400-092023). Note that Teleport does not officially support upgrades across more than one major version at a time. If you're running Teleport server components, it is recommended to first upgrade to an intermediate 13.x version by setting `services.teleport.package = pkgs.teleport_13`. Afterwards, this option can be removed to upgrade to the default version (14).
+
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 81a5ea1750dec..da099f86aa2ce 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -34,9 +34,6 @@ evalConfigArgs@
                  in lib.optional (e != "") (import e)
 }:
 
-let pkgs_ = pkgs;
-in
-
 let
   inherit (lib) optional;
 
@@ -58,8 +55,9 @@ let
         nixpkgs.system = lib.mkDefault system;
       })
       ++
-      (optional (pkgs_ != null) {
-        _module.args.pkgs = lib.mkForce pkgs_;
+      (optional (pkgs != null) {
+        # This should be default priority, so it conflicts with any user-defined pkgs.
+        nixpkgs.pkgs = pkgs;
       })
     );
   };
@@ -109,10 +107,10 @@ let
 
   nixosWithUserModules = noUserModules.extendModules { modules = allUserModules; };
 
-  withExtraArgs = nixosSystem: nixosSystem // {
+  withExtraAttrs = configuration: configuration // {
     inherit extraArgs;
-    inherit (nixosSystem._module.args) pkgs;
-    extendModules = args: withExtraArgs (nixosSystem.extendModules args);
+    inherit (configuration._module.args) pkgs;
+    extendModules = args: withExtraAttrs (configuration.extendModules args);
   };
 in
-withWarnings (withExtraArgs nixosWithUserModules)
+withWarnings (withExtraAttrs nixosWithUserModules)
diff --git a/nixos/lib/testing/nodes.nix b/nixos/lib/testing/nodes.nix
index f58759b4cdba0..a47d1c98ecec3 100644
--- a/nixos/lib/testing/nodes.nix
+++ b/nixos/lib/testing/nodes.nix
@@ -28,15 +28,17 @@ let
             {
               virtualisation.qemu.package = testModuleArgs.config.qemu.package;
             })
-          (optionalAttrs (!config.node.pkgsReadOnly) {
+          ({ options, ... }: {
             key = "nodes.nix-pkgs";
-            config = {
-              # Ensure we do not use aliases. Ideally this is only set
-              # when the test framework is used by Nixpkgs NixOS tests.
-              nixpkgs.config.allowAliases = false;
-              # TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates.
-              nixpkgs.system = hostPkgs.stdenv.hostPlatform.system;
-            };
+            config = optionalAttrs (!config.node.pkgsReadOnly) (
+              mkIf (!options.nixpkgs.pkgs.isDefined) {
+                # Ensure we do not use aliases. Ideally this is only set
+                # when the test framework is used by Nixpkgs NixOS tests.
+                nixpkgs.config.allowAliases = false;
+                # TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates.
+                nixpkgs.system = hostPkgs.stdenv.hostPlatform.system;
+              }
+            );
           })
           testModuleArgs.config.extraBaseModules
         ];
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 785084209b009..f6e063ccdbade 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -330,6 +330,20 @@ let
           administrator before being able to use the system again.
         '';
       };
+
+      linger = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Whether to enable lingering for this user. If true, systemd user
+          units will start at boot, rather than starting at login and stopping
+          at logout. This is the declarative equivalent of running
+          `loginctl enable-linger` for this user.
+
+          If false, user units will not be started until the user logs in, and
+          may be stopped on logout depending on the settings in `logind.conf`.
+        '';
+      };
     };
 
     config = mkMerge
@@ -449,6 +463,8 @@ let
   gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.groups) "gid";
   sdInitrdUidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) config.boot.initrd.systemd.users) "uid";
   sdInitrdGidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) config.boot.initrd.systemd.groups) "gid";
+  groupNames = lib.mapAttrsToList (n: g: g.name) cfg.groups;
+  usersWithoutExistingGroup = lib.filterAttrs (n: u: !lib.elem u.group groupNames) cfg.users;
 
   spec = pkgs.writeText "users-groups.json" (builtins.toJSON {
     inherit (cfg) mutableUsers;
@@ -661,6 +677,20 @@ in {
       '';
     };
 
+    system.activationScripts.update-lingering = let
+      lingerDir = "/var/lib/systemd/linger";
+      lingeringUsers = map (u: u.name) (attrValues (flip filterAttrs cfg.users (n: u: u.linger)));
+      lingeringUsersFile = builtins.toFile "lingering-users"
+        (concatStrings (map (s: "${s}\n")
+          (sort (a: b: a < b) lingeringUsers)));  # this sorting is important for `comm` to work correctly
+    in stringAfter [ "users" ] ''
+      if [ -e ${lingerDir} ] ; then
+        cd ${lingerDir}
+        ls ${lingerDir} | sort | comm -3 -1 ${lingeringUsersFile} - | xargs -r ${pkgs.systemd}/bin/loginctl disable-linger
+        ls ${lingerDir} | sort | comm -3 -2 ${lingeringUsersFile} - | xargs -r ${pkgs.systemd}/bin/loginctl  enable-linger
+      fi
+    '';
+
     # Warn about user accounts with deprecated password hashing schemes
     system.activationScripts.hashes = {
       deps = [ "users" ];
@@ -750,6 +780,18 @@ in {
       { assertion = !cfg.enforceIdUniqueness || (sdInitrdUidsAreUnique && sdInitrdGidsAreUnique);
         message = "systemd initrd UIDs and GIDs must be unique!";
       }
+      { assertion = usersWithoutExistingGroup == {};
+        message =
+          let
+            errUsers = lib.attrNames usersWithoutExistingGroup;
+            missingGroups = lib.unique (lib.mapAttrsToList (n: u: u.group) usersWithoutExistingGroup);
+            mkConfigHint = group: "users.groups.${group} = {};";
+          in ''
+            The following users have a primary group that is undefined: ${lib.concatStringsSep " " errUsers}
+            Hint: Add this to your NixOS configuration:
+              ${lib.concatStringsSep "\n  " (map mkConfigHint missingGroups)}
+          '';
+      }
       { # If mutableUsers is false, to prevent users creating a
         # configuration that locks them out of the system, ensure that
         # there is at least one "privileged" account that has a
diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix
index c568f52ab677d..6ab13c0eb7097 100644
--- a/nixos/modules/hardware/device-tree.nix
+++ b/nixos/modules/hardware/device-tree.nix
@@ -66,36 +66,32 @@ let
   };
 
   filterDTBs = src: if cfg.filter == null
-    then "${src}/dtbs"
+    then src
     else
       pkgs.runCommand "dtbs-filtered" {} ''
         mkdir -p $out
-        cd ${src}/dtbs
+        cd ${src}
         find . -type f -name '${cfg.filter}' -print0 \
           | xargs -0 cp -v --no-preserve=mode --target-directory $out --parents
       '';
 
-  filteredDTBs = filterDTBs cfg.kernelPackage;
-
-  # Compile single Device Tree overlay source
-  # file (.dts) into its compiled variant (.dtbo)
-  compileDTS = name: f: pkgs.callPackage({ stdenv, dtc }: stdenv.mkDerivation {
-    name = "${name}-dtbo";
-
-    nativeBuildInputs = [ dtc ];
-
-    buildCommand = ''
-      $CC -E -nostdinc -I${getDev cfg.kernelPackage}/lib/modules/${cfg.kernelPackage.modDirVersion}/source/scripts/dtc/include-prefixes -undef -D__DTS__ -x assembler-with-cpp ${f} | \
-        dtc -I dts -O dtb -@ -o $out
-    '';
-  }) {};
+  filteredDTBs = filterDTBs cfg.dtbSource;
 
   # Fill in `dtboFile` for each overlay if not set already.
   # Existence of one of these is guarded by assertion below
   withDTBOs = xs: flip map xs (o: o // { dtboFile =
+    let
+      includePaths = ["${getDev cfg.kernelPackage}/lib/modules/${cfg.kernelPackage.modDirVersion}/source/scripts/dtc/include-prefixes"] ++ cfg.dtboBuildExtraIncludePaths;
+      extraPreprocessorFlags = cfg.dtboBuildExtraPreprocessorFlags;
+    in
     if o.dtboFile == null then
-      if o.dtsFile != null then compileDTS o.name o.dtsFile
-      else compileDTS o.name (pkgs.writeText "dts" o.dtsText)
+      let
+        dtsFile = if o.dtsFile == null then (pkgs.writeText "dts" o.dtsText) else o.dtsFile;
+      in
+      pkgs.deviceTree.compileDTS {
+        name = "${o.name}-dtbo";
+        inherit includePaths extraPreprocessorFlags dtsFile;
+      }
     else o.dtboFile; } );
 
 in
@@ -121,7 +117,39 @@ in
           example = literalExpression "pkgs.linux_latest";
           type = types.path;
           description = lib.mdDoc ''
-            Kernel package containing the base device-tree (.dtb) to boot. Uses
+            Kernel package where device tree include directory is from. Also used as default source of dtb package to apply overlays to
+          '';
+        };
+
+        dtboBuildExtraPreprocessorFlags = mkOption {
+          default = [];
+          example = literalExpression "[ \"-DMY_DTB_DEFINE\" ]";
+          type = types.listOf types.str;
+          description = lib.mdDoc ''
+            Additional flags to pass to the preprocessor during dtbo compilations
+          '';
+        };
+
+        dtboBuildExtraIncludePaths = mkOption {
+          default = [];
+          example = literalExpression ''
+            [
+              ./my_custom_include_dir_1
+              ./custom_include_dir_2
+            ]
+          '';
+          type = types.listOf types.path;
+          description = lib.mdDoc ''
+            Additional include paths that will be passed to the preprocessor when creating the final .dts to compile into .dtbo
+          '';
+        };
+
+        dtbSource = mkOption {
+          default = "${cfg.kernelPackage}/dtbs";
+          defaultText = literalExpression "\${cfg.kernelPackage}/dtbs";
+          type = types.path;
+          description = lib.mdDoc ''
+            Path to dtb directory that overlays and other processing will be applied to. Uses
             device trees bundled with the Linux kernel by default.
           '';
         };
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index 569d81e245c2c..3c76d17086b5a 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -4,14 +4,15 @@ with lib;
 
 let
   cfg = config.services.locate;
-  isMLocate = hasPrefix "mlocate" cfg.locate.name;
-  isPLocate = hasPrefix "plocate" cfg.locate.name;
+  isMLocate = hasPrefix "mlocate" cfg.package.name;
+  isPLocate = hasPrefix "plocate" cfg.package.name;
   isMorPLocate = isMLocate || isPLocate;
-  isFindutils = hasPrefix "findutils" cfg.locate.name;
+  isFindutils = hasPrefix "findutils" cfg.package.name;
 in
 {
   imports = [
     (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
+    (mkRenamedOptionModule [ "services" "locate" "locate" ] [ "services" "locate" "package" ])
     (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
   ];
 
@@ -25,10 +26,10 @@ in
       '';
     };
 
-    locate = mkOption {
+    package = mkOption {
       type = package;
       default = pkgs.findutils.locate;
-      defaultText = literalExpression "pkgs.findutils";
+      defaultText = literalExpression "pkgs.findutils.locate";
       example = literalExpression "pkgs.mlocate";
       description = lib.mdDoc ''
         The locate implementation to use
@@ -218,11 +219,11 @@ in
         };
         mlocate = mkIf isMLocate {
           group = "mlocate";
-          source = "${cfg.locate}/bin/locate";
+          source = "${cfg.package}/bin/locate";
         };
         plocate = mkIf isPLocate {
           group = "plocate";
-          source = "${cfg.locate}/bin/plocate";
+          source = "${cfg.package}/bin/plocate";
         };
       in
       mkIf isMorPLocate {
@@ -230,7 +231,7 @@ in
         plocate = mkIf isPLocate (mkMerge [ common plocate ]);
       };
 
-    environment.systemPackages = [ cfg.locate ];
+    environment.systemPackages = [ cfg.package ];
 
     environment.variables.LOCATE_PATH = cfg.output;
 
@@ -268,13 +269,13 @@ in
             args = concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]);
           in
           ''
-            exec ${cfg.locate}/bin/updatedb \
+            exec ${cfg.package}/bin/updatedb \
               --output ${toString cfg.output} ${concatStringsSep " " args} \
               --prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
               ${concatStringsSep " " cfg.extraFlags}
           ''
         else ''
-          exec ${cfg.locate}/bin/updatedb \
+          exec ${cfg.package}/bin/updatedb \
             ${optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
             --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
         '';
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 4e2275cc661de..3e814300f19fa 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -985,6 +985,7 @@
   ./services/networking/ndppd.nix
   ./services/networking/nebula.nix
   ./services/networking/netbird.nix
+  ./services/networking/netclient.nix
   ./services/networking/networkd-dispatcher.nix
   ./services/networking/networkmanager.nix
   ./services/networking/nextdns.nix
@@ -1082,6 +1083,7 @@
   ./services/networking/thelounge.nix
   ./services/networking/tinc.nix
   ./services/networking/tinydns.nix
+  ./services/networking/tinyproxy.nix
   ./services/networking/tmate-ssh-server.nix
   ./services/networking/tox-bootstrapd.nix
   ./services/networking/tox-node.nix
@@ -1286,6 +1288,7 @@
   ./services/web-apps/powerdns-admin.nix
   ./services/web-apps/prosody-filer.nix
   ./services/web-apps/restya-board.nix
+  ./services/web-apps/rimgo.nix
   ./services/web-apps/sftpgo.nix
   ./services/web-apps/rss-bridge.nix
   ./services/web-apps/selfoss.nix
diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix
index 12ef8671b740c..aa1a536247ce4 100644
--- a/nixos/modules/programs/gnupg.nix
+++ b/nixos/modules/programs/gnupg.nix
@@ -6,6 +6,10 @@ let
 
   cfg = config.programs.gnupg;
 
+  agentSettingsFormat = pkgs.formats.keyValue {
+    mkKeyValue = lib.generators.mkKeyValueDefault { } " ";
+  };
+
   xserverCfg = config.services.xserver;
 
   defaultPinentryFlavor =
@@ -82,6 +86,18 @@ in
       '';
     };
 
+    agent.settings = mkOption {
+      type = agentSettingsFormat.type;
+      default = { };
+      example = {
+        default-cache-ttl = 600;
+      };
+      description = lib.mdDoc ''
+        Configuration for /etc/gnupg/gpg-agent.conf.
+        See {manpage}`gpg-agent(1)` for supported options.
+      '';
+    };
+
     dirmngr.enable = mkOption {
       type = types.bool;
       default = false;
@@ -92,10 +108,13 @@ in
   };
 
   config = mkIf cfg.agent.enable {
-    environment.etc."gnupg/gpg-agent.conf".text =
-      lib.optionalString (cfg.agent.pinentryFlavor != null) ''
-      pinentry-program ${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry
-    '';
+    programs.gnupg.agent.settings = {
+      pinentry-program = lib.mkIf (cfg.agent.pinentryFlavor != null)
+        "${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry";
+    };
+
+    environment.etc."gnupg/gpg-agent.conf".source =
+      agentSettingsFormat.generate "gpg-agent.conf" cfg.agent.settings;
 
     # This overrides the systemd user unit shipped with the gnupg package
     systemd.user.services.gpg-agent = {
diff --git a/nixos/modules/programs/wayland/sway.nix b/nixos/modules/programs/wayland/sway.nix
index 698d9c2b46c46..de739faabee9c 100644
--- a/nixos/modules/programs/wayland/sway.nix
+++ b/nixos/modules/programs/wayland/sway.nix
@@ -42,6 +42,11 @@ in {
       <https://github.com/swaywm/sway/wiki> and
       "man 5 sway" for more information'');
 
+    enableRealtime = mkEnableOption (lib.mdDoc ''
+      add CAP_SYS_NICE capability on `sway` binary for realtime scheduling
+      privileges. This may improve latency and reduce stuttering, specially in
+      high load scenarios'') // { default = true; };
+
     package = mkOption {
       type = with types; nullOr package;
       default = defaultSwayPackage;
@@ -149,6 +154,14 @@ in {
             "sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config";
           };
         };
+        security.wrappers = mkIf (cfg.enableRealtime && cfg.package != null) {
+          sway = {
+            owner = "root";
+            group = "root";
+            source = "${cfg.package}/bin/sway";
+            capabilities = "cap_sys_nice+ep";
+          };
+        };
         # To make a Sway session available if a display manager like SDDM is enabled:
         services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
       (import ./wayland-session.nix { inherit lib pkgs; })
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index ad65f80bb2ca5..a8bb0650b11af 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -5,8 +5,29 @@ let
 
   parentWrapperDir = dirOf wrapperDir;
 
-  securityWrapper = sourceProg : pkgs.callPackage ./wrapper.nix {
+  # This is security-sensitive code, and glibc vulns happen from time to time.
+  # musl is security-focused and generally more minimal, so it's a better choice here.
+  # The dynamic linker is still a fairly complex piece of code, and the wrappers are
+  # quite small, so linking it statically is more appropriate.
+  securityWrapper = sourceProg : pkgs.pkgsStatic.callPackage ./wrapper.nix {
     inherit sourceProg;
+
+    # glibc definitions of insecure environment variables
+    #
+    # We extract the single header file we need into its own derivation,
+    # so that we don't have to pull full glibc sources to build wrappers.
+    #
+    # They're taken from pkgs.glibc so that we don't have to keep as close
+    # an eye on glibc changes. Not every relevant variable is in this header,
+    # so we maintain a slightly stricter list in wrapper.c itself as well.
+    unsecvars = lib.overrideDerivation (pkgs.srcOnly pkgs.glibc)
+      ({ name, ... }: {
+        name = "${name}-unsecvars";
+        installPhase = ''
+          mkdir $out
+          cp sysdeps/generic/unsecvars.h $out
+        '';
+      });
   };
 
   fileModeType =
diff --git a/nixos/modules/security/wrappers/wrapper.c b/nixos/modules/security/wrappers/wrapper.c
index 2cf1727a31c8c..3277e7ef6f799 100644
--- a/nixos/modules/security/wrappers/wrapper.c
+++ b/nixos/modules/security/wrappers/wrapper.c
@@ -17,14 +17,15 @@
 #include <syscall.h>
 #include <byteswap.h>
 
+// imported from glibc
+#include "unsecvars.h"
+
 #ifndef SOURCE_PROG
 #error SOURCE_PROG should be defined via preprocessor commandline
 #endif
 
 // aborts when false, printing the failed expression
 #define ASSERT(expr) ((expr) ? (void) 0 : assert_failure(#expr))
-// aborts when returns non-zero, printing the failed expression and errno
-#define MUSTSUCCEED(expr) ((expr) ? print_errno_and_die(#expr) : (void) 0)
 
 extern char **environ;
 
@@ -45,12 +46,6 @@ static noreturn void assert_failure(const char *assertion) {
     abort();
 }
 
-static noreturn void print_errno_and_die(const char *assertion) {
-    fprintf(stderr, "Call `%s` in NixOS's wrapper.c failed: %s\n", assertion, strerror(errno));
-    fflush(stderr);
-    abort();
-}
-
 int get_last_cap(unsigned *last_cap) {
     FILE* file = fopen("/proc/sys/kernel/cap_last_cap", "r");
     if (file == NULL) {
@@ -151,9 +146,55 @@ static int make_caps_ambient(const char *self_path) {
     return 0;
 }
 
+// These are environment variable aliases for glibc tunables.
+// This list shouldn't grow further, since this is a legacy mechanism.
+// Any future tunables are expected to only be accessible through GLIBC_TUNABLES.
+//
+// They are not included in the glibc-provided UNSECURE_ENVVARS list,
+// since any SUID executable ignores them. This wrapper also serves
+// executables that are merely granted ambient capabilities, rather than
+// being SUID, and hence don't run in secure mode. We'd like them to
+// defend those in depth as well, so we clear these explicitly.
+//
+// Except for MALLOC_CHECK_ (which is marked SXID_ERASE), these are all
+// marked SXID_IGNORE (ignored in secure mode), so even the glibc version
+// of this wrapper would leave them intact.
+#define UNSECURE_ENVVARS_TUNABLES \
+    "MALLOC_CHECK_\0" \
+    "MALLOC_TOP_PAD_\0" \
+    "MALLOC_PERTURB_\0" \
+    "MALLOC_MMAP_THRESHOLD_\0" \
+    "MALLOC_TRIM_THRESHOLD_\0" \
+    "MALLOC_MMAP_MAX_\0" \
+    "MALLOC_ARENA_MAX\0" \
+    "MALLOC_ARENA_TEST\0"
+
 int main(int argc, char **argv) {
     ASSERT(argc >= 1);
 
+    int debug = getenv(wrapper_debug) != NULL;
+
+    // Drop insecure environment variables explicitly
+    //
+    // glibc does this automatically in SUID binaries, but we'd like to cover this:
+    //
+    //  a) before it gets to glibc
+    //  b) in binaries that are only granted ambient capabilities by the wrapper,
+    //     but don't run with an altered effective UID/GID, nor directly gain
+    //     capabilities themselves, and thus don't run in secure mode.
+    //
+    // We're using musl, which doesn't drop environment variables in secure mode,
+    // and we'd also like glibc-specific variables to be covered.
+    //
+    // If we don't explicitly unset them, it's quite easy to just set LD_PRELOAD,
+    // have it passed through to the wrapped program, and gain privileges.
+    for (char *unsec = UNSECURE_ENVVARS_TUNABLES UNSECURE_ENVVARS; *unsec; unsec = strchr(unsec, 0) + 1) {
+        if (debug) {
+            fprintf(stderr, "unsetting %s\n", unsec);
+        }
+        unsetenv(unsec);
+    }
+
     // Read the capabilities set on the wrapper and raise them in to
     // the ambient set so the program we're wrapping receives the
     // capabilities too!
diff --git a/nixos/modules/security/wrappers/wrapper.nix b/nixos/modules/security/wrappers/wrapper.nix
index aec43412404ea..27d46c630af54 100644
--- a/nixos/modules/security/wrappers/wrapper.nix
+++ b/nixos/modules/security/wrappers/wrapper.nix
@@ -1,11 +1,10 @@
-{ stdenv, linuxHeaders, sourceProg, debug ? false }:
+{ stdenv, unsecvars, linuxHeaders, sourceProg, debug ? false }:
 # For testing:
 # $ nix-build -E 'with import <nixpkgs> {}; pkgs.callPackage ./wrapper.nix { parentWrapperDir = "/run/wrappers"; debug = true; }'
 stdenv.mkDerivation {
   name = "security-wrapper";
   buildInputs = [ linuxHeaders ];
   dontUnpack = true;
-  hardeningEnable = [ "pie" ];
   CFLAGS = [
     ''-DSOURCE_PROG="${sourceProg}"''
   ] ++ (if debug then [
@@ -16,6 +15,6 @@ stdenv.mkDerivation {
   dontStrip = debug;
   installPhase = ''
     mkdir -p $out/bin
-    $CC $CFLAGS ${./wrapper.c} -o $out/bin/security-wrapper
+    $CC $CFLAGS ${./wrapper.c} -I${unsecvars} -o $out/bin/security-wrapper
   '';
 }
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 3b44f097ab791..28887f8e2ad56 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -84,8 +84,8 @@ let
       backupScript = mkBackupScript backupJobName cfg;
     in nameValuePair backupJobName {
       description = "BorgBackup job ${name}";
-      path = with pkgs; [
-        borgbackup openssh
+      path =  [
+        config.services.borgbackup.package pkgs.openssh
       ];
       script = "exec " + optionalString cfg.inhibitsSleep ''\
         ${pkgs.systemd}/bin/systemd-inhibit \
@@ -137,7 +137,7 @@ let
     '');
 
   mkBorgWrapper = name: cfg: mkWrapperDrv {
-    original = "${pkgs.borgbackup}/bin/borg";
+    original = getExe config.services.borgbackup.package;
     name = "borg-job-${name}";
     set = { BORG_REPO = cfg.repo; } // (mkPassEnv cfg) // cfg.environment;
   };
@@ -231,6 +231,8 @@ in {
 
   ###### interface
 
+  options.services.borgbackup.package = mkPackageOptionMD pkgs "borgbackup" { };
+
   options.services.borgbackup.jobs = mkOption {
     description = lib.mdDoc ''
       Deduplicating backups using BorgBackup.
@@ -769,6 +771,7 @@ in {
 
       users = mkMerge (mapAttrsToList mkUsersConfig repos);
 
-      environment.systemPackages = with pkgs; [ borgbackup ] ++ (mapAttrsToList mkBorgWrapper jobs);
+      environment.systemPackages =
+        [ config.services.borgbackup.package ] ++ (mapAttrsToList mkBorgWrapper jobs);
     });
 }
diff --git a/nixos/modules/services/backup/borgmatic.nix b/nixos/modules/services/backup/borgmatic.nix
index 5ee036e68c7bc..d3ba7628e85dd 100644
--- a/nixos/modules/services/backup/borgmatic.nix
+++ b/nixos/modules/services/backup/borgmatic.nix
@@ -6,32 +6,50 @@ let
   cfg = config.services.borgmatic;
   settingsFormat = pkgs.formats.yaml { };
 
+  repository = with types; submodule {
+    options = {
+      path = mkOption {
+        type = str;
+        description = mdDoc ''
+          Path to the repository
+        '';
+      };
+      label = mkOption {
+        type = str;
+        description = mdDoc ''
+          Label to the repository
+        '';
+      };
+    };
+  };
   cfgType = with types; submodule {
     freeformType = settingsFormat.type;
-    options.location = {
+    options = {
       source_directories = mkOption {
-        type = listOf str;
+        type = nullOr (listOf str);
+        default = null;
         description = mdDoc ''
-          List of source directories to backup (required). Globs and
-          tildes are expanded.
+          List of source directories and files to backup. Globs and tildes are
+          expanded. Do not backslash spaces in path names.
         '';
-        example = [ "/home" "/etc" "/var/log/syslog*" ];
+        example = [ "/home" "/etc" "/var/log/syslog*" "/home/user/path with spaces" ];
       };
       repositories = mkOption {
-        type = listOf str;
+        type = nullOr (listOf repository);
+        default = null;
         description = mdDoc ''
-          Paths to local or remote repositories (required). Tildes are
-          expanded. Multiple repositories are backed up to in
-          sequence. Borg placeholders can be used. See the output of
-          "borg help placeholders" for details. See ssh_command for
-          SSH options like identity file or port. If systemd service
-          is used, then add local repository paths in the systemd
-          service file to the ReadWritePaths list.
+          A required list of local or remote repositories with paths and
+          optional labels (which can be used with the --repository flag to
+          select a repository). Tildes are expanded. Multiple repositories are
+          backed up to in sequence. Borg placeholders can be used. See the
+          output of "borg help placeholders" for details. See ssh_command for
+          SSH options like identity file or port. If systemd service is used,
+          then add local repository paths in the systemd service file to the
+          ReadWritePaths list.
         '';
         example = [
-          "ssh://user@backupserver/./sourcehostname.borg"
-          "ssh://user@backupserver/./{fqdn}"
-          "/var/local/backups/local.borg"
+          { path="ssh://user@backupserver/./sourcehostname.borg"; label="backupserver"; }
+          { path="/mnt/backup"; label="local"; }
         ];
       };
     };
@@ -62,6 +80,13 @@ in
 
   config = mkIf cfg.enable {
 
+    warnings = []
+      ++ optional (cfg.settings != null && cfg.settings.location != null)
+        "`services.borgmatic.settings.location` is deprecated, please move your options out of sections to the global scope"
+      ++ optional (catAttrs "location" (attrValues cfg.configurations) != [])
+        "`services.borgmatic.configurations.<name>.location` is deprecated, please move your options out of sections to the global scope"
+    ;
+
     environment.systemPackages = [ pkgs.borgmatic ];
 
     environment.etc = (optionalAttrs (cfg.settings != null) { "borgmatic/config.yaml".source = cfgfile; }) //
diff --git a/nixos/modules/services/databases/pgmanage.nix b/nixos/modules/services/databases/pgmanage.nix
index cbf988d596f46..12c8253ab49cb 100644
--- a/nixos/modules/services/databases/pgmanage.nix
+++ b/nixos/modules/services/databases/pgmanage.nix
@@ -187,7 +187,7 @@ in {
       serviceConfig = {
         User         = pgmanage;
         Group        = pgmanage;
-        ExecStart    = "${pkgs.pgmanage}/sbin/pgmanage -c ${confFile}" +
+        ExecStart    = "${cfg.package}/sbin/pgmanage -c ${confFile}" +
                        optionalString cfg.localOnly " --local-only=true";
       };
     };
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 7b30360590ec6..7a4fa708eadf8 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -106,7 +106,7 @@ in
       identMap = mkOption {
         type = types.lines;
         default = "";
-        example = literalExample ''
+        example = ''
           map-name-0 system-username-0 database-username-0
           map-name-1 system-username-1 database-username-1
         '';
diff --git a/nixos/modules/services/hardware/keyd.nix b/nixos/modules/services/hardware/keyd.nix
index ead2f456a2024..724e9b9568478 100644
--- a/nixos/modules/services/hardware/keyd.nix
+++ b/nixos/modules/services/hardware/keyd.nix
@@ -2,7 +2,6 @@
 with lib;
 let
   cfg = config.services.keyd;
-  settingsFormat = pkgs.formats.ini { };
 
   keyboardOptions = { ... }: {
     options = {
@@ -16,7 +15,7 @@ let
       };
 
       settings = mkOption {
-        type = settingsFormat.type;
+        type = (pkgs.formats.ini { }).type;
         default = { };
         example = {
           main = {
@@ -37,6 +36,20 @@ let
           See <https://github.com/rvaiya/keyd> how to configure.
         '';
       };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          [control+shift]
+          h = left
+        '';
+        description = lib.mdDoc ''
+          Extra configuration that is appended to the end of the file.
+          **Do not** write `ids` section here, use a separate option for it.
+          You can use this option to define compound layers that must always be defined after the layer they are comprised.
+        '';
+      };
     };
   };
 in
@@ -85,15 +98,12 @@ in
     environment.etc = mapAttrs'
       (name: options:
         nameValuePair "keyd/${name}.conf" {
-          source = pkgs.runCommand "${name}.conf"
-            {
-              ids = ''
-                [ids]
-                ${concatStringsSep "\n" options.ids}
-              '';
-              passAsFile = [ "ids" ];
-            } ''
-            cat $idsPath <(echo) ${settingsFormat.generate "keyd-${name}.conf" options.settings} >$out
+          text = ''
+            [ids]
+            ${concatStringsSep "\n" options.ids}
+
+            ${generators.toINI {} options.settings}
+            ${options.extraConfig}
           '';
         })
       cfg.keyboards;
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 0b8b1d7194187..7dc08d4356aab 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -457,10 +457,12 @@ in {
           "inkbird"
           "keymitt_ble"
           "led_ble"
+          "medcom_ble"
           "melnor"
           "moat"
           "mopeka"
           "oralb"
+          "private_ble_device"
           "qingping"
           "rapt_ble"
           "ruuvi_gateway"
diff --git a/nixos/modules/services/matrix/synapse.md b/nixos/modules/services/matrix/synapse.md
index 1d22805b472f6..58be24204fcfe 100644
--- a/nixos/modules/services/matrix/synapse.md
+++ b/nixos/modules/services/matrix/synapse.md
@@ -31,7 +31,7 @@ let
   clientConfig."m.homeserver".base_url = baseUrl;
   serverConfig."m.server" = "${fqdn}:443";
   mkWellKnown = data: ''
-    add_header Content-Type application/json;
+    default_type application/json;
     add_header Access-Control-Allow-Origin *;
     return 200 '${builtins.toJSON data}';
   '';
diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix
index 1354a8cb58b42..e627c34cfac41 100644
--- a/nixos/modules/services/matrix/synapse.nix
+++ b/nixos/modules/services/matrix/synapse.nix
@@ -12,7 +12,9 @@ let
 
   usePostgresql = cfg.settings.database.name == "psycopg2";
   hasLocalPostgresDB = let args = cfg.settings.database.args; in
-    usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ]));
+    usePostgresql
+    && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ]))
+    && config.services.postgresql.enable;
   hasWorkers = cfg.workers != { };
 
   listenerSupportsResource = resource: listener:
@@ -945,23 +947,6 @@ in {
         '';
       }
       {
-        assertion = hasLocalPostgresDB -> config.services.postgresql.enable;
-        message = ''
-          Cannot deploy matrix-synapse with a configuration for a local postgresql database
-            and a missing postgresql service. Since 20.03 it's mandatory to manually configure the
-            database (please read the thread in https://github.com/NixOS/nixpkgs/pull/80447 for
-            further reference).
-
-            If you
-            - try to deploy a fresh synapse, you need to configure the database yourself. An example
-              for this can be found in <nixpkgs/nixos/tests/matrix/synapse.nix>
-            - update your existing matrix-synapse instance, you simply need to add `services.postgresql.enable = true`
-              to your configuration.
-
-          For further information about this update, please read the release-notes of 20.03 carefully.
-        '';
-      }
-      {
         assertion = hasWorkers -> cfg.settings.redis.enabled;
         message = ''
           Workers for matrix-synapse require configuring a redis instance. This can be done
@@ -1034,9 +1019,11 @@ in {
             partOf = [ "matrix-synapse.target" ];
             wantedBy = [ "matrix-synapse.target" ];
             unitConfig.ReloadPropagatedFrom = "matrix-synapse.target";
+            requires = optional hasLocalPostgresDB "postgresql.service";
           }
           else {
             after = [ "network-online.target" ] ++ optional hasLocalPostgresDB "postgresql.service";
+            requires = optional hasLocalPostgresDB "postgresql.service";
             wantedBy = [ "multi-user.target" ];
           };
         baseServiceConfig = {
@@ -1070,7 +1057,7 @@ in {
             ProtectKernelTunables = true;
             ProtectProc = "invisible";
             ProtectSystem = "strict";
-            ReadWritePaths = [ cfg.dataDir ];
+            ReadWritePaths = [ cfg.dataDir cfg.settings.media_store_path ];
             RemoveIPC = true;
             RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
             RestrictNamespaces = true;
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index f6ef2bb919107..3f690f85d623b 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -246,6 +246,13 @@ in
         description = lib.mdDoc "Path to a file containing the SMTP password.";
       };
 
+      metricsTokenFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/var/lib/secrets/gitea/metrics_token";
+        description = lib.mdDoc "Path to a file containing the metrics authentication token.";
+      };
+
       settings = mkOption {
         default = {};
         description = lib.mdDoc ''
@@ -433,6 +440,10 @@ in
         PASSWD = "#mailerpass#";
       };
 
+      metrics = mkIf (cfg.metricsTokenFile != null) {
+        TOKEN = "#metricstoken#";
+      };
+
       oauth2 = {
         JWT_SECRET = "#oauth2jwtsecret#";
       };
@@ -559,6 +570,10 @@ in
             ${lib.optionalString (cfg.mailerPasswordFile != null) ''
               ${replaceSecretBin} '#mailerpass#' '${cfg.mailerPasswordFile}' '${runConfig}'
             ''}
+
+            ${lib.optionalString (cfg.metricsTokenFile != null) ''
+              ${replaceSecretBin} '#metricstoken#' '${cfg.metricsTokenFile}' '${runConfig}'
+            ''}
             chmod u-w '${runConfig}'
           }
           (umask 027; gitea_setup)
diff --git a/nixos/modules/services/misc/gollum.nix b/nixos/modules/services/misc/gollum.nix
index d607e92e5ec94..b73528abaf659 100644
--- a/nixos/modules/services/misc/gollum.nix
+++ b/nixos/modules/services/misc/gollum.nix
@@ -154,5 +154,5 @@ in
     };
   };
 
-  meta.maintainers = with lib.maintainers; [ erictapen bbenno joscha ];
+  meta.maintainers = with lib.maintainers; [ erictapen bbenno ];
 }
diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix
index ce0f9bb3ba28c..5d2e806181dff 100644
--- a/nixos/modules/services/misc/gpsd.nix
+++ b/nixos/modules/services/misc/gpsd.nix
@@ -92,6 +92,16 @@ in {
         '';
       };
 
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "-r" "-s" "19200" ];
+        description = lib.mdDoc ''
+          A list of extra command line arguments to pass to gpsd.
+          Check gpsd(8) mangpage for possible arguments.
+        '';
+      };
+
     };
 
   };
@@ -117,12 +127,14 @@ in {
         Type = "forking";
         ExecStart = let
           devices = utils.escapeSystemdExecArgs cfg.devices;
+          extraArgs = utils.escapeSystemdExecArgs cfg.extraArgs;
         in ''
           ${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}"  \
             -S "${toString cfg.port}"                             \
             ${optionalString cfg.readonly "-b"}                   \
             ${optionalString cfg.nowait "-n"}                     \
             ${optionalString cfg.listenany "-G"}                  \
+            ${extraArgs}                                          \
             ${devices}
         '';
       };
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index 74a3b49ac9a67..9b8bd62809c5b 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -36,18 +36,7 @@ let
 
   # Secure the services
   defaultServiceConfig = {
-    TemporaryFileSystem = "/:ro";
-    BindReadOnlyPaths = [
-      "/nix/store"
-      "-/etc/resolv.conf"
-      "-/etc/nsswitch.conf"
-      "-/etc/hosts"
-      "-/etc/localtime"
-      "-/etc/ssl/certs"
-      "-/etc/static/ssl/certs"
-      "-/run/postgresql"
-    ] ++ (optional enableRedis redisServer.unixSocket);
-    BindPaths = [
+    ReadWritePaths = [
       cfg.consumptionDir
       cfg.dataDir
       cfg.mediaDir
@@ -66,11 +55,9 @@ let
     PrivateUsers = true;
     ProtectClock = true;
     # Breaks if the home dir of the user is in /home
-    # Also does not add much value in combination with the TemporaryFileSystem.
     # ProtectHome = true;
     ProtectHostname = true;
-    # Would re-mount paths ignored by temporary root
-    #ProtectSystem = "strict";
+    ProtectSystem = "strict";
     ProtectControlGroups = true;
     ProtectKernelLogs = true;
     ProtectKernelModules = true;
@@ -319,17 +306,6 @@ in
         Type = "oneshot";
         # Enable internet access
         PrivateNetwork = false;
-        # Restrict write access
-        BindPaths = [];
-        BindReadOnlyPaths = [
-          "/nix/store"
-          "-/etc/resolv.conf"
-          "-/etc/nsswitch.conf"
-          "-/etc/ssl/certs"
-          "-/etc/static/ssl/certs"
-          "-/etc/hosts"
-          "-/etc/localtime"
-        ];
         ExecStart = let pythonWithNltk = pkg.python.withPackages (ps: [ ps.nltk ]); in ''
           ${pythonWithNltk}/bin/python -m nltk.downloader -d '${nltkDir}' punkt snowball_data stopwords
         '';
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 1d06893bf1d5a..b423624290521 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -58,6 +58,7 @@ let
     "nut"
     "openldap"
     "openvpn"
+    "pgbouncer"
     "php-fpm"
     "pihole"
     "postfix"
@@ -313,6 +314,25 @@ in
           'services.prometheus.exporters.nextcloud.tokenFile'
       '';
     } {
+      assertion =  cfg.pgbouncer.enable -> (
+        (cfg.pgbouncer.connectionStringFile != null || cfg.pgbouncer.connectionString != "")
+      );
+        message = ''
+          PgBouncer exporter needs either connectionStringFile or connectionString configured"
+        '';
+    } {
+      assertion = cfg.pgbouncer.enable -> (
+        config.services.pgbouncer.ignoreStartupParameters != null && builtins.match ".*extra_float_digits.*" config.services.pgbouncer.ignoreStartupParameters != null
+        );
+        message = ''
+          Prometheus PgBouncer exporter requires including `extra_float_digits` in services.pgbouncer.ignoreStartupParameters
+
+          Example:
+          services.pgbouncer.ignoreStartupParameters = extra_float_digits;
+
+          See https://github.com/prometheus-community/pgbouncer_exporter#pgbouncer-configuration
+        '';
+    } {
       assertion = cfg.sql.enable -> (
         (cfg.sql.configFile == null) != (cfg.sql.configuration == null)
       );
@@ -350,12 +370,24 @@ in
         `openFirewall' is set to `true'!
       '';
     })) ++ config.services.prometheus.exporters.assertions;
-    warnings = [(mkIf (config.services.prometheus.exporters.idrac.enable && config.services.prometheus.exporters.idrac.configurationPath != null) ''
-        Configuration file in `services.prometheus.exporters.idrac.configurationPath` may override
-        `services.prometheus.exporters.idrac.listenAddress` and/or `services.prometheus.exporters.idrac.port`.
-        Consider using `services.prometheus.exporters.idrac.configuration` instead.
-      ''
-    )] ++ config.services.prometheus.exporters.warnings;
+    warnings = [
+      (mkIf (config.services.prometheus.exporters.idrac.enable && config.services.prometheus.exporters.idrac.configurationPath != null) ''
+          Configuration file in `services.prometheus.exporters.idrac.configurationPath` may override
+          `services.prometheus.exporters.idrac.listenAddress` and/or `services.prometheus.exporters.idrac.port`.
+          Consider using `services.prometheus.exporters.idrac.configuration` instead.
+        ''
+      )
+      (mkIf
+        (cfg.pgbouncer.enable && cfg.pgbouncer.connectionString != "") ''
+          config.services.prometheus.exporters.pgbouncer.connectionString is insecure. Use connectionStringFile instead.
+        ''
+      )
+      (mkIf
+        (cfg.pgbouncer.enable && config.services.pgbouncer.authType != "any") ''
+          Admin user (with password or passwordless) MUST exist in the services.pgbouncer.authFile if authType other than any is used.
+        ''
+      )
+    ] ++ config.services.prometheus.exporters.warnings;
   }] ++ [(mkIf config.services.minio.enable {
     services.prometheus.exporters.minio.minioAddress  = mkDefault "http://localhost:9000";
     services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
new file mode 100644
index 0000000000000..9e55cadae5237
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/pgbouncer.nix
@@ -0,0 +1,145 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.pgbouncer;
+in
+{
+  port = 9127;
+  extraOpts = {
+
+    telemetryPath = mkOption {
+      type = types.str;
+      default = "/metrics";
+      description = lib.mdDoc ''
+        Path under which to expose metrics.
+      '';
+    };
+
+    connectionString = mkOption {
+      type = types.str;
+      default = "";
+      example = "postgres://admin:@localhost:6432/pgbouncer?sslmode=require";
+      description = lib.mdDoc ''
+        Connection string for accessing pgBouncer.
+
+        NOTE: You MUST keep pgbouncer as database name (special internal db)!!!
+
+        NOTE: Admin user (with password or passwordless) MUST exist
+        in the services.pgbouncer.authFile if authType other than any is used.
+
+        WARNING: this secret is stored in the world-readable Nix store!
+        Use {option}`connectionStringFile` instead.
+      '';
+    };
+
+    connectionStringFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/run/keys/pgBouncer-connection-string";
+      description = lib.mdDoc ''
+        File that contains pgBouncer connection string in format:
+        postgres://admin:@localhost:6432/pgbouncer?sslmode=require
+
+        NOTE: You MUST keep pgbouncer as database name (special internal db)!!!
+
+        NOTE: Admin user (with password or passwordless) MUST exist
+        in the services.pgbouncer.authFile if authType other than any is used.
+
+        {option}`connectionStringFile` takes precedence over {option}`connectionString`
+      '';
+    };
+
+    pidFile = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = lib.mdDoc ''
+        Path to PgBouncer pid file.
+
+        If provided, the standard process metrics get exported for the PgBouncer
+        process, prefixed with 'pgbouncer_process_...'. The pgbouncer_process exporter
+        needs to have read access to files owned by the PgBouncer process. Depends on
+        the availability of /proc.
+
+        https://prometheus.io/docs/instrumenting/writing_clientlibs/#process-metrics.
+
+      '';
+    };
+
+    webSystemdSocket = mkOption {
+      type = types.bool;
+      default = false;
+      description = lib.mdDoc ''
+        Use systemd socket activation listeners instead of port listeners (Linux only).
+      '';
+    };
+
+    logLevel = mkOption {
+      type = types.enum ["debug" "info" "warn" "error" ];
+      default = "info";
+      description = lib.mdDoc ''
+        Only log messages with the given severity or above.
+      '';
+    };
+
+    logFormat = mkOption {
+      type = types.enum ["logfmt" "json"];
+      default = "logfmt";
+      description = lib.mdDoc ''
+        Output format of log messages. One of: [logfmt, json]
+      '';
+    };
+
+    webConfigFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = lib.mdDoc ''
+        Path to configuration file that can enable TLS or authentication.
+      '';
+    };
+
+    extraFlags = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      description = lib.mdDoc ''
+        Extra commandline options when launching Prometheus.
+      '';
+    };
+
+  };
+
+  serviceOpts = {
+    after = [ "pgbouncer.service" ];
+      serviceConfig = let
+      startScript = pkgs.writeShellScriptBin "pgbouncer-start" "${concatStringsSep " " ([
+            "${pkgs.prometheus-pgbouncer-exporter}/bin/pgbouncer_exporter"
+            "--web.listen-address ${cfg.listenAddress}:${toString cfg.port}"
+            "--pgBouncer.connectionString ${if cfg.connectionStringFile != null then
+            "$(head -n1 ${cfg.connectionStringFile})" else "${escapeShellArg cfg.connectionString}"}"
+          ]
+            ++ optionals (cfg.telemetryPath != null) [
+            "--web.telemetry-path ${escapeShellArg cfg.telemetryPath}"
+          ]
+            ++ optionals (cfg.pidFile != null) [
+            "--pgBouncer.pid-file= ${escapeShellArg cfg.pidFile}"
+          ]
+            ++ optionals (cfg.logLevel != null) [
+            "--log.level ${escapeShellArg cfg.logLevel}"
+          ]
+            ++ optionals (cfg.logFormat != null) [
+            "--log.format ${escapeShellArg cfg.logFormat}"
+          ]
+            ++ optionals (cfg.webSystemdSocket != false) [
+            "--web.systemd-socket ${escapeShellArg cfg.webSystemdSocket}"
+          ]
+            ++ optionals (cfg.webConfigFile != null) [
+            "--web.config.file ${escapeShellArg cfg.webConfigFile}"
+          ]
+            ++ cfg.extraFlags)}";
+      in
+      {
+        ExecStart = "${startScript}/bin/pgbouncer-start";
+      };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/orangefs/server.nix b/nixos/modules/services/network-filesystems/orangefs/server.nix
index e20e7975ebaa0..085b64e4c040c 100644
--- a/nixos/modules/services/network-filesystems/orangefs/server.nix
+++ b/nixos/modules/services/network-filesystems/orangefs/server.nix
@@ -192,7 +192,7 @@ in {
     # orangefs daemon will run as user
     users.users.orangefs = {
       isSystemUser = true;
-      group = "orangfs";
+      group = "orangefs";
     };
     users.groups.orangefs = {};
 
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index 1310a374abd0b..0b22302c0b6dc 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -39,7 +39,7 @@ let
   daemonService = appName: args:
     { description = "Samba Service Daemon ${appName}";
 
-      after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
+      after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") "network.target" ];
       requiredBy = [ "samba.target" ];
       partOf = [ "samba.target" ];
 
diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
index 498991419579e..c626945ccd0c0 100644
--- a/nixos/modules/services/networking/connman.nix
+++ b/nixos/modules/services/networking/connman.nix
@@ -1,55 +1,59 @@
 { config, lib, pkgs, ... }:
 
-with pkgs;
-with lib;
-
 let
   cfg = config.services.connman;
   configFile = pkgs.writeText "connman.conf" ''
     [General]
-    NetworkInterfaceBlacklist=${concatStringsSep "," cfg.networkInterfaceBlacklist}
+    NetworkInterfaceBlacklist=${lib.concatStringsSep "," cfg.networkInterfaceBlacklist}
 
     ${cfg.extraConfig}
   '';
   enableIwd = cfg.wifi.backend == "iwd";
 in {
+  meta.maintainers = with lib.maintainers; [ AndersonTorres ];
 
   imports = [
-    (mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
+    (lib.mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
   ];
 
   ###### interface
 
   options = {
-
     services.connman = {
-
-      enable = mkOption {
-        type = types.bool;
+      enable = lib.mkOption {
+        type = lib.types.bool;
         default = false;
         description = lib.mdDoc ''
           Whether to use ConnMan for managing your network connections.
         '';
       };
 
-      enableVPN = mkOption {
-        type = types.bool;
+      package = lib.mkOption {
+        type = lib.types.package;
+        description = lib.mdDoc "The connman package / build flavor";
+        default = pkgs.connman;
+        defaultText = lib.literalExpression "pkgs.connman";
+        example = lib.literalExpression "pkgs.connmanFull";
+      };
+
+      enableVPN = lib.mkOption {
+        type = lib.types.bool;
         default = true;
         description = lib.mdDoc ''
           Whether to enable ConnMan VPN service.
         '';
       };
 
-      extraConfig = mkOption {
-        type = types.lines;
+      extraConfig = lib.mkOption {
+        type = lib.types.lines;
         default = "";
         description = lib.mdDoc ''
           Configuration lines appended to the generated connman configuration file.
         '';
       };
 
-      networkInterfaceBlacklist = mkOption {
-        type = with types; listOf str;
+      networkInterfaceBlacklist = lib.mkOption {
+        type = with lib.types; listOf str;
         default = [ "vmnet" "vboxnet" "virbr" "ifb" "ve" ];
         description = lib.mdDoc ''
           Default blacklisted interfaces, this includes NixOS containers interfaces (ve).
@@ -57,8 +61,8 @@ in {
       };
 
       wifi = {
-        backend = mkOption {
-          type = types.enum [ "wpa_supplicant" "iwd" ];
+        backend = lib.mkOption {
+          type = lib.types.enum [ "wpa_supplicant" "iwd" ];
           default = "wpa_supplicant";
           description = lib.mdDoc ''
             Specify the Wi-Fi backend used.
@@ -67,31 +71,20 @@ in {
         };
       };
 
-      extraFlags = mkOption {
-        type = with types; listOf str;
+      extraFlags = lib.mkOption {
+        type = with lib.types; listOf str;
         default = [ ];
         example = [ "--nodnsproxy" ];
         description = lib.mdDoc ''
           Extra flags to pass to connmand
         '';
       };
-
-      package = mkOption {
-        type = types.package;
-        description = lib.mdDoc "The connman package / build flavor";
-        default = connman;
-        defaultText = literalExpression "pkgs.connman";
-        example = literalExpression "pkgs.connmanFull";
-      };
-
     };
-
   };
 
   ###### implementation
 
-  config = mkIf cfg.enable {
-
+  config = lib.mkIf cfg.enable {
     assertions = [{
       assertion = !config.networking.useDHCP;
       message = "You can not use services.connman with networking.useDHCP";
@@ -107,8 +100,8 @@ in {
     systemd.services.connman = {
       description = "Connection service";
       wantedBy = [ "multi-user.target" ];
-      after = [ "syslog.target" ] ++ optional enableIwd "iwd.service";
-      requires = optional enableIwd "iwd.service";
+      after = [ "syslog.target" ] ++ lib.optional enableIwd "iwd.service";
+      requires = lib.optional enableIwd "iwd.service";
       serviceConfig = {
         Type = "dbus";
         BusName = "net.connman";
@@ -117,13 +110,13 @@ in {
           "${cfg.package}/sbin/connmand"
           "--config=${configFile}"
           "--nodaemon"
-        ] ++ optional enableIwd "--wifi=iwd_agent"
+        ] ++ lib.optional enableIwd "--wifi=iwd_agent"
           ++ cfg.extraFlags);
         StandardOutput = "null";
       };
     };
 
-    systemd.services.connman-vpn = mkIf cfg.enableVPN {
+    systemd.services.connman-vpn = lib.mkIf cfg.enableVPN {
       description = "ConnMan VPN service";
       wantedBy = [ "multi-user.target" ];
       after = [ "syslog.target" ];
@@ -136,7 +129,7 @@ in {
       };
     };
 
-    systemd.services.net-connman-vpn = mkIf cfg.enableVPN {
+    systemd.services.net-connman-vpn = lib.mkIf cfg.enableVPN {
       description = "D-BUS Service";
       serviceConfig = {
         Name = "net.connman.vpn";
@@ -150,9 +143,9 @@ in {
     networking = {
       useDHCP = false;
       wireless = {
-        enable = mkIf (!enableIwd) true;
+        enable = lib.mkIf (!enableIwd) true;
         dbusControlled = true;
-        iwd = mkIf enableIwd {
+        iwd = lib.mkIf enableIwd {
           enable = true;
         };
       };
diff --git a/nixos/modules/services/networking/coredns.nix b/nixos/modules/services/networking/coredns.nix
index f928cdf96143e..f1fe7b2f12410 100644
--- a/nixos/modules/services/networking/coredns.nix
+++ b/nixos/modules/services/networking/coredns.nix
@@ -29,6 +29,13 @@ in {
       type = types.package;
       description = lib.mdDoc "Coredns package to use.";
     };
+
+    extraArgs = mkOption {
+      default = [];
+      example = [ "-dns.port=53" ];
+      type = types.listOf types.str;
+      description = lib.mdDoc "Extra arguments to pass to coredns.";
+    };
   };
 
   config = mkIf cfg.enable {
@@ -44,7 +51,7 @@ in {
         AmbientCapabilities = "cap_net_bind_service";
         NoNewPrivileges = true;
         DynamicUser = true;
-        ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile}";
+        ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile} ${lib.escapeShellArgs cfg.extraArgs}";
         ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR1 $MAINPID";
         Restart = "on-failure";
       };
diff --git a/nixos/modules/services/networking/dnsmasq.nix b/nixos/modules/services/networking/dnsmasq.nix
index 4886654e8c033..14bbe334e50d5 100644
--- a/nixos/modules/services/networking/dnsmasq.nix
+++ b/nixos/modules/services/networking/dnsmasq.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
   cfg = config.services.dnsmasq;
-  dnsmasq = pkgs.dnsmasq;
+  dnsmasq = cfg.package;
   stateDir = "/var/lib/dnsmasq";
 
   # True values are just put as `name` instead of `name=true`, and false values
@@ -53,6 +53,8 @@ in
         '';
       };
 
+      package = mkPackageOptionMD pkgs "dnsmasq" {};
+
       resolveLocalQueries = mkOption {
         type = types.bool;
         default = true;
diff --git a/nixos/modules/services/networking/knot.nix b/nixos/modules/services/networking/knot.nix
index d98c0ce25bf48..4f6ac945cf97a 100644
--- a/nixos/modules/services/networking/knot.nix
+++ b/nixos/modules/services/networking/knot.nix
@@ -103,11 +103,15 @@ let
   in result;
 
   configFile = if cfg.settingsFile != null then
-    assert cfg.settings == {} && cfg.keyFiles == [];
+    # Note: with extraConfig, the 23.05 compat code did include keyFiles from settingsFile.
+    assert cfg.settings == {} && (cfg.keyFiles == [] || cfg.extraConfig != null);
     cfg.settingsFile
-  else pkgs.writeTextFile {
+  else
+    mkConfigFile yamlConfig;
+
+  mkConfigFile = configString: pkgs.writeTextFile {
     name = "knot.conf";
-    text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + yamlConfig;
+    text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString;
     # TODO: maybe we could do some checks even when private keys complicate this?
     checkPhase = lib.optionalString (cfg.keyFiles == []) ''
       ${cfg.package}/bin/knotc --config=$out conf-check
@@ -174,7 +178,7 @@ in {
         description = lib.mdDoc ''
           As alternative to ``settings``, you can provide whole configuration
           directly in the almost-YAML format of Knot DNS.
-          You might want to utilize ``writeTextFile`` for this.
+          You might want to utilize ``pkgs.writeText "knot.conf" "longConfigString"`` for this.
         '';
       };
 
@@ -189,9 +193,9 @@ in {
     };
   };
   imports = [
-    # Compatibility with NixOS 23.05.  At least partial, as it fails assert if used with keyFiles.
+    # Compatibility with NixOS 23.05.
     (mkChangedOptionModule [ "services" "knot" "extraConfig" ] [ "services" "knot" "settingsFile" ]
-      (config: pkgs.writeText "knot.conf" config.services.knot.extraConfig)
+      (config: mkConfigFile config.services.knot.extraConfig)
     )
   ];
 
diff --git a/nixos/modules/services/networking/netclient.nix b/nixos/modules/services/networking/netclient.nix
new file mode 100644
index 0000000000000..124735fd716a8
--- /dev/null
+++ b/nixos/modules/services/networking/netclient.nix
@@ -0,0 +1,27 @@
+{ config, pkgs, lib, ... }:
+let
+  cfg = config.services.netclient;
+in
+{
+  meta.maintainers = with lib.maintainers; [ wexder ];
+
+  options.services.netclient = {
+    enable = lib.mkEnableOption (lib.mdDoc "Netclient Daemon");
+    package = lib.mkPackageOptionMD pkgs "netclient" { };
+  };
+
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    systemd.services.netclient = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      description = "Netclient Daemon";
+      serviceConfig = {
+        Type = "simple";
+        ExecStart = "${lib.getExe cfg.package} daemon";
+        Restart = "on-failure";
+        RestartSec = "15s";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 346b50700c798..d3f6853424c82 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -100,13 +100,13 @@ let
       the Nix configured list of IDs
       */
       + lib.optionalString s.override ''
-        old_conf_${conf_type}_ids="$(curl -X GET ${s.baseAddress} | ${jq} --raw-output '.[].${s.GET_IdAttrName}')"
-        for id in ''${old_conf_${conf_type}_ids}; do
-          if echo ${lib.concatStringsSep " " s.new_conf_IDs} | grep -q $id; then
-            continue
-          else
-            curl -X DELETE ${s.baseAddress}/$id
-          fi
+        stale_${conf_type}_ids="$(curl -X GET ${s.baseAddress} | ${jq} \
+          --argjson new_ids ${lib.escapeShellArg (builtins.toJSON s.new_conf_IDs)} \
+          --raw-output \
+          '[.[].${s.GET_IdAttrName}] - $new_ids | .[]'
+        )"
+        for id in ''${stale_${conf_type}_ids}; do
+          curl -X DELETE ${s.baseAddress}/$id
         done
       ''
     ))
diff --git a/nixos/modules/services/networking/tinyproxy.nix b/nixos/modules/services/networking/tinyproxy.nix
new file mode 100644
index 0000000000000..9bcd8bfd814b5
--- /dev/null
+++ b/nixos/modules/services/networking/tinyproxy.nix
@@ -0,0 +1,103 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.tinyproxy;
+  mkValueStringTinyproxy = with lib; v:
+        if true  ==         v then "yes"
+        else if false ==    v then "no"
+        else generators.mkValueStringDefault {} v;
+  mkKeyValueTinyproxy = {
+    mkValueString ? mkValueStringDefault {}
+  }: sep: k: v:
+    if null     ==  v then ""
+    else "${lib.strings.escape [sep] k}${sep}${mkValueString v}";
+
+  settingsFormat = (pkgs.formats.keyValue {
+      mkKeyValue = mkKeyValueTinyproxy {
+        mkValueString = mkValueStringTinyproxy;
+      } " ";
+      listsAsDuplicateKeys= true;
+  });
+  configFile = settingsFormat.generate "tinyproxy.conf" cfg.settings;
+
+in
+{
+
+  options = {
+    services.tinyproxy = {
+      enable = mkEnableOption (lib.mdDoc "Tinyproxy daemon");
+      package = mkPackageOptionMD pkgs "tinyproxy" {};
+      settings = mkOption {
+        description = lib.mdDoc "Configuration for [tinyproxy](https://tinyproxy.github.io/).";
+        default = { };
+        example = literalExpression ''{
+          Port 8888;
+          Listen 127.0.0.1;
+          Timeout 600;
+          Allow 127.0.0.1;
+          Anonymous = ['"Host"' '"Authorization"'];
+          ReversePath = '"/example/" "http://www.example.com/"';
+        }'';
+        type = types.submodule ({name, ...}: {
+          freeformType = settingsFormat.type;
+          options = {
+            Listen = mkOption {
+              type = types.str;
+              default = "127.0.0.1";
+              description = lib.mdDoc ''
+              Specify which address to listen to.
+              '';
+            };
+            Port = mkOption {
+              type = types.int;
+              default = 8888;
+              description = lib.mdDoc ''
+              Specify which port to listen to.
+              '';
+            };
+            Anonymous = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = lib.mdDoc ''
+              If an `Anonymous` keyword is present, then anonymous proxying is enabled. The headers listed with `Anonymous` are allowed through, while all others are denied. If no Anonymous keyword is present, then all headers are allowed through. You must include quotes around the headers.
+              '';
+            };
+            Filter = mkOption {
+              type = types.nullOr types.path;
+              default = null;
+              description = lib.mdDoc ''
+              Tinyproxy supports filtering of web sites based on URLs or domains. This option specifies the location of the file containing the filter rules, one rule per line.
+              '';
+            };
+          };
+        });
+      };
+    };
+  };
+  config = mkIf cfg.enable {
+    systemd.services.tinyproxy = {
+      description = "TinyProxy daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "tinyproxy";
+        Group = "tinyproxy";
+        Type = "simple";
+        ExecStart = "${getExe pkgs.tinyproxy} -d -c ${configFile}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -SIGHUP $MAINPID";
+        KillSignal = "SIGINT";
+        TimeoutStopSec = "30s";
+        Restart = "on-failure";
+      };
+    };
+
+    users.users.tinyproxy = {
+        group = "tinyproxy";
+        isSystemUser = true;
+    };
+    users.groups.tinyproxy = {};
+  };
+  meta.maintainers = with maintainers; [ tcheronneau ];
+}
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 55a6002d61af1..8335583d2dadc 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -121,6 +121,13 @@ in
         restarted. Keys are stored at ${keysPath}.
       '');
 
+      extraArgs = mkOption {
+        type = listOf str;
+        default = [ ];
+        example = [ "-loglevel" "info" ];
+        description = lib.mdDoc "Extra command line arguments.";
+      };
+
     };
   };
 
@@ -181,7 +188,7 @@ in
             "${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf"}
 
           # start yggdrasil
-          ${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf
+          ${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf ${lib.strings.escapeShellArgs cfg.extraArgs}
         '';
 
         serviceConfig = {
diff --git a/nixos/modules/services/web-apps/grocy.nix b/nixos/modules/services/web-apps/grocy.nix
index 4d1084e295ff3..fe40a3c209418 100644
--- a/nixos/modules/services/web-apps/grocy.nix
+++ b/nixos/modules/services/web-apps/grocy.nix
@@ -8,6 +8,8 @@ in {
   options.services.grocy = {
     enable = mkEnableOption (lib.mdDoc "grocy");
 
+    package = mkPackageOptionMD pkgs "grocy" { };
+
     hostName = mkOption {
       type = types.str;
       description = lib.mdDoc ''
@@ -143,7 +145,7 @@ in {
     services.nginx = {
       enable = true;
       virtualHosts."${cfg.hostName}" = mkMerge [
-        { root = "${pkgs.grocy}/public";
+        { root = "${cfg.package}/public";
           locations."/".extraConfig = ''
             rewrite ^ /index.php;
           '';
diff --git a/nixos/modules/services/web-apps/mediawiki.nix b/nixos/modules/services/web-apps/mediawiki.nix
index 21c587694c6e2..c5fb037668992 100644
--- a/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixos/modules/services/web-apps/mediawiki.nix
@@ -8,7 +8,12 @@ let
   cfg = config.services.mediawiki;
   fpm = config.services.phpfpm.pools.mediawiki;
   user = "mediawiki";
-  group = if cfg.webserver == "apache" then config.services.httpd.group else "mediawiki";
+  group =
+    if cfg.webserver == "apache" then
+      config.services.httpd.group
+    else if cfg.webserver == "nginx" then
+      config.services.nginx.group
+    else "mediawiki";
 
   cacheDir = "/var/cache/mediawiki";
   stateDir = "/var/lib/mediawiki";
@@ -71,7 +76,7 @@ let
       ## For more information on customizing the URLs
       ## (like /w/index.php/Page_title to /wiki/Page_title) please see:
       ## https://www.mediawiki.org/wiki/Manual:Short_URL
-      $wgScriptPath = "";
+      $wgScriptPath = "${lib.optionalString (cfg.webserver == "nginx") "/w"}";
 
       ## The protocol and server name to use in fully-qualified URLs
       $wgServer = "${cfg.url}";
@@ -79,6 +84,11 @@ let
       ## The URL path to static resources (images, scripts, etc.)
       $wgResourceBasePath = $wgScriptPath;
 
+      ${lib.optionalString (cfg.webserver == "nginx") ''
+        $wgArticlePath = "/wiki/$1";
+        $wgUsePathInfo = true;
+      ''}
+
       ## The URL path to the logo.  Make sure you change this from the default,
       ## or else you'll overwrite your logo when you upgrade!
       $wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
@@ -175,6 +185,7 @@ let
       ${cfg.extraConfig}
   '';
 
+  withTrailingSlash = str: if lib.hasSuffix "/" str then str else "${str}/";
 in
 {
   # interface
@@ -209,8 +220,14 @@ in
 
       url = mkOption {
         type = types.str;
-        default = if cfg.webserver == "apache" then
+        default =
+          if cfg.webserver == "apache" then
             "${if cfg.httpd.virtualHost.addSSL || cfg.httpd.virtualHost.forceSSL || cfg.httpd.virtualHost.onlySSL then "https" else "http"}://${cfg.httpd.virtualHost.hostName}"
+          else if cfg.webserver == "nginx" then
+            let
+              hasSSL = host: host.forceSSL || host.addSSL;
+            in
+            "${if hasSSL config.services.nginx.virtualHosts.${cfg.nginx.hostName} then "https" else "http"}://${cfg.nginx.hostName}"
           else
             "http://localhost";
         defaultText = literalExpression ''
@@ -286,7 +303,7 @@ in
       };
 
       webserver = mkOption {
-        type = types.enum [ "apache" "none" ];
+        type = types.enum [ "apache" "none" "nginx" ];
         default = "apache";
         description = lib.mdDoc "Webserver to use.";
       };
@@ -368,6 +385,16 @@ in
         };
       };
 
+      nginx.hostName = mkOption {
+        type = types.str;
+        example = literalExpression ''wiki.example.com'';
+        default = "localhost";
+        description = lib.mdDoc ''
+          The hostname to use for the nginx virtual host.
+          This is used to generate the nginx configuration.
+        '';
+      };
+
       httpd.virtualHost = mkOption {
         type = types.submodule (import ../web-servers/apache-httpd/vhost-options.nix);
         example = literalExpression ''
@@ -469,6 +496,9 @@ in
       settings = (if (cfg.webserver == "apache") then {
         "listen.owner" = config.services.httpd.user;
         "listen.group" = config.services.httpd.group;
+      } else if (cfg.webserver == "nginx") then {
+        "listen.owner" = config.services.nginx.user;
+        "listen.group" = config.services.nginx.group;
       } else {
         "listen.owner" = user;
         "listen.group" = group;
@@ -503,6 +533,62 @@ in
         }
       ];
     };
+    # inspired by https://www.mediawiki.org/wiki/Manual:Short_URL/Nginx
+    services.nginx = lib.mkIf (cfg.webserver == "nginx") {
+      enable = true;
+      virtualHosts.${config.services.mediawiki.nginx.hostName} = {
+        root = "${pkg}/share/mediawiki";
+        locations = {
+          "~ ^/w/(index|load|api|thumb|opensearch_desc|rest|img_auth)\\.php$".extraConfig = ''
+            rewrite ^/w/(.*) /$1 break;
+            include ${config.services.nginx.package}/conf/fastcgi_params;
+            fastcgi_index index.php;
+            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+            fastcgi_pass unix:${config.services.phpfpm.pools.mediawiki.socket};
+          '';
+          "/w/images/".alias = withTrailingSlash cfg.uploadsDir;
+          # Deny access to deleted images folder
+          "/w/images/deleted".extraConfig = ''
+            deny all;
+          '';
+          # MediaWiki assets (usually images)
+          "~ ^/w/resources/(assets|lib|src)" = {
+            tryFiles = "$uri =404";
+            extraConfig = ''
+              add_header Cache-Control "public";
+              expires 7d;
+            '';
+          };
+          # Assets, scripts and styles from skins and extensions
+          "~ ^/w/(skins|extensions)/.+\\.(css|js|gif|jpg|jpeg|png|svg|wasm|ttf|woff|woff2)$" = {
+            tryFiles = "$uri =404";
+            extraConfig = ''
+              add_header Cache-Control "public";
+              expires 7d;
+            '';
+          };
+
+          # Handling for Mediawiki REST API, see [[mw:API:REST_API]]
+          "/w/rest.php".tryFiles = "$uri $uri/ /rest.php?$query_string";
+
+          # Handling for the article path (pretty URLs)
+          "/wiki/".extraConfig = ''
+            rewrite ^/wiki/(?<pagename>.*)$ /w/index.php;
+          '';
+
+          # Explicit access to the root website, redirect to main page (adapt as needed)
+          "= /".extraConfig = ''
+            return 301 /wiki/Main_Page;
+          '';
+
+          # Every other entry point will be disallowed.
+          # Add specific rules for other entry points/images as needed above this
+          "/".extraConfig = ''
+             return 404;
+          '';
+        };
+      };
+    };
 
     systemd.tmpfiles.rules = [
       "d '${stateDir}' 0750 ${user} ${group} - -"
diff --git a/nixos/modules/services/web-apps/rimgo.nix b/nixos/modules/services/web-apps/rimgo.nix
new file mode 100644
index 0000000000000..4d35473fda31b
--- /dev/null
+++ b/nixos/modules/services/web-apps/rimgo.nix
@@ -0,0 +1,107 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
+let
+  cfg = config.services.rimgo;
+  inherit (lib)
+    mkOption
+    mkEnableOption
+    mkPackageOption
+    mkDefault
+    mkIf
+    types
+    literalExpression
+    optionalString
+    getExe
+    mapAttrs
+  ;
+in
+{
+  options.services.rimgo = {
+    enable = mkEnableOption "rimgo";
+    package = mkPackageOption pkgs "rimgo" { };
+    settings = mkOption {
+      type = types.submodule {
+        freeformType = with types; attrsOf str;
+        options = {
+          PORT = mkOption {
+            type = types.port;
+            default = 3000;
+            example = 69420;
+            description = "The port to use.";
+          };
+          ADDRESS = mkOption {
+            type = types.str;
+            default = "127.0.0.1";
+            example = "1.1.1.1";
+            description = "The address to listen on.";
+          };
+        };
+      };
+      example = literalExpression ''
+        {
+          PORT = 69420;
+          FORCE_WEBP = "1";
+        }
+      '';
+      description = ''
+        Settings for rimgo, see [the official documentation](https://rimgo.codeberg.page/docs/usage/configuration/) for supported options.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.rimgo = {
+      description = "Rimgo";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      environment = mapAttrs (_: toString) cfg.settings;
+      serviceConfig = {
+        ExecStart = getExe cfg.package;
+        AmbientCapabilities = mkIf (cfg.settings.PORT < 1024) [
+          "CAP_NET_BIND_SERVICE"
+        ];
+        DynamicUser = true;
+        Restart = "on-failure";
+        RestartSec = "5s";
+        CapabilityBoundingSet = [
+          (optionalString (cfg.settings.PORT < 1024) "CAP_NET_BIND_SERVICE")
+        ];
+        DeviceAllow = [ "" ];
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        PrivateDevices = true;
+        PrivateUsers = cfg.settings.PORT >= 1024;
+        ProcSubset = "pid";
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        RestrictAddressFamilies = [
+          "AF_INET"
+          "AF_INET6"
+        ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [
+          "@system-service"
+          "~@privileged"
+        ];
+        UMask = "0077";
+      };
+    };
+  };
+
+  meta = {
+    maintainers = with lib.maintainers; [ quantenzitrone ];
+  };
+}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 62e0a8940e2c4..955d6e19064ef 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -1340,6 +1340,11 @@ in
       nginx.gid = config.ids.gids.nginx;
     };
 
+    # do not delete the default temp directories created upon nginx startup
+    systemd.tmpfiles.rules = [
+      "X /tmp/systemd-private-%b-nginx.service-*/tmp/nginx_*"
+    ];
+
     services.logrotate.settings.nginx = mapAttrs (_: mkDefault) {
       files = "/var/log/nginx/*.log";
       frequency = "weekly";
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index bb42c52b69ca4..f1e4d9304021e 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -221,7 +221,7 @@ in
 
       # Default Fonts
       fonts.packages = with pkgs; [
-        source-code-pro # Default monospace font in 3.32
+        dejavu_fonts # Default monospace font in LMDE 6+
         ubuntu_font_family # required for default theme
       ];
     })
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
index a5c7cb16b9d36..8b5daf83de1df 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -229,7 +229,7 @@ in
         panelModulePackages = mkOption {
           default = [ pkgs.gnome.gnome-applets ];
           defaultText = literalExpression "[ pkgs.gnome.gnome-applets ]";
-          type = types.listOf types.path;
+          type = types.listOf types.package;
           description = lib.mdDoc ''
             Packages containing modules that should be made available to `gnome-panel` (usually for applets).
 
@@ -294,8 +294,7 @@ in
           map
             (wm:
               pkgs.gnome.gnome-flashback.mkSessionForWm {
-                inherit (wm) wmName wmLabel wmCommand enableGnomePanel;
-                inherit (cfg.flashback) panelModulePackages;
+                inherit (wm) wmName wmLabel wmCommand;
               }
             ) flashbackWms;
 
@@ -307,10 +306,16 @@ in
         gnome-flashback
       ] ++ map gnome-flashback.mkSystemdTargetForWm flashbackWms;
 
-      # gnome-panel needs these for menu applet
-      environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.gnome.gnome-flashback}/share" ];
-      # TODO: switch to sessionVariables (resolve conflict)
-      environment.variables.XDG_CONFIG_DIRS = [ "${pkgs.gnome.gnome-flashback}/etc/xdg" ];
+      environment.systemPackages = with pkgs.gnome; [
+        gnome-flashback
+        (gnome-panel-with-modules.override {
+          panelModulePackages = cfg.flashback.panelModulePackages;
+        })
+      ]
+      # For /share/applications/${wmName}.desktop
+      ++ (map (wm: gnome-flashback.mkWmApplication { inherit (wm) wmName wmLabel wmCommand; }) flashbackWms)
+      # For /share/gnome-session/sessions/gnome-flashback-${wmName}.session
+      ++ (map (wm: gnome-flashback.mkGnomeSession { inherit (wm) wmName wmLabel enableGnomePanel; }) flashbackWms);
     })
 
     (mkIf serviceCfg.core-os-services.enable {
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index a040518a5a575..310584e398bc1 100755..100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -1,27 +1,25 @@
 #! @python3@/bin/python3 -B
 import argparse
-import shutil
-import os
-import sys
-import errno
-import subprocess
-import glob
-import tempfile
-import errno
-import warnings
 import ctypes
-libc = ctypes.CDLL("libc.so.6")
-import re
 import datetime
+import errno
 import glob
+import os
 import os.path
-from typing import NamedTuple, List, Optional
-from packaging import version
+import re
+import shutil
+import subprocess
+import sys
+import warnings
+from typing import NamedTuple
+
+
+libc = ctypes.CDLL("libc.so.6")
 
 class SystemIdentifier(NamedTuple):
-    profile: Optional[str]
+    profile: str | None
     generation: int
-    specialisation: Optional[str]
+    specialisation: str | None
 
 
 def copy_if_not_exists(source: str, dest: str) -> None:
@@ -29,13 +27,13 @@ def copy_if_not_exists(source: str, dest: str) -> None:
         shutil.copyfile(source, dest)
 
 
-def generation_dir(profile: Optional[str], generation: int) -> str:
+def generation_dir(profile: str | None, generation: int) -> str:
     if profile:
         return "/nix/var/nix/profiles/system-profiles/%s-%d-link" % (profile, generation)
     else:
         return "/nix/var/nix/profiles/system-%d-link" % (generation)
 
-def system_dir(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
+def system_dir(profile: str | None, generation: int, specialisation: str | None) -> str:
     d = generation_dir(profile, generation)
     if specialisation:
         return os.path.join(d, "specialisation", specialisation)
@@ -49,7 +47,7 @@ initrd {initrd}
 options {kernel_params}
 """
 
-def generation_conf_filename(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
+def generation_conf_filename(profile: str | None, generation: int, specialisation: str | None) -> str:
     pieces = [
         "nixos",
         profile or None,
@@ -60,22 +58,24 @@ def generation_conf_filename(profile: Optional[str], generation: int, specialisa
     return "-".join(p for p in pieces if p) + ".conf"
 
 
-def write_loader_conf(profile: Optional[str], generation: int, specialisation: Optional[str]) -> None:
+def write_loader_conf(profile: str | None, generation: int, specialisation: str | None) -> None:
     with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f:
         if "@timeout@" != "":
             f.write("timeout @timeout@\n")
         f.write("default %s\n" % generation_conf_filename(profile, generation, specialisation))
         if not @editor@:
-            f.write("editor 0\n");
-        f.write("console-mode @consoleMode@\n");
+            f.write("editor 0\n")
+        f.write("console-mode @consoleMode@\n")
+        f.flush()
+        os.fsync(f.fileno())
     os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
 
 
-def profile_path(profile: Optional[str], generation: int, specialisation: Optional[str], name: str) -> str:
+def profile_path(profile: str | None, generation: int, specialisation: str | None, name: str) -> str:
     return os.path.realpath("%s/%s" % (system_dir(profile, generation, specialisation), name))
 
 
-def copy_from_profile(profile: Optional[str], generation: int, specialisation: Optional[str], name: str, dry_run: bool = False) -> str:
+def copy_from_profile(profile: str | None, generation: int, specialisation: str | None, name: str, dry_run: bool = False) -> str:
     store_file_path = profile_path(profile, generation, specialisation, name)
     suffix = os.path.basename(store_file_path)
     store_dir = os.path.basename(os.path.dirname(store_file_path))
@@ -85,7 +85,7 @@ def copy_from_profile(profile: Optional[str], generation: int, specialisation: O
     return efi_file_path
 
 
-def describe_generation(profile: Optional[str], generation: int, specialisation: Optional[str]) -> str:
+def describe_generation(profile: str | None, generation: int, specialisation: str | None) -> str:
     try:
         with open(profile_path(profile, generation, specialisation, "nixos-version")) as f:
             nixos_version = f.read()
@@ -106,7 +106,7 @@ def describe_generation(profile: Optional[str], generation: int, specialisation:
     return description
 
 
-def write_entry(profile: Optional[str], generation: int, specialisation: Optional[str],
+def write_entry(profile: str | None, generation: int, specialisation: str | None,
                 machine_id: str, current: bool) -> None:
     kernel = copy_from_profile(profile, generation, specialisation, "kernel")
     initrd = copy_from_profile(profile, generation, specialisation, "initrd")
@@ -145,18 +145,12 @@ def write_entry(profile: Optional[str], generation: int, specialisation: Optiona
                     description=describe_generation(profile, generation, specialisation)))
         if machine_id is not None:
             f.write("machine-id %s\n" % machine_id)
+        f.flush()
+        os.fsync(f.fileno())
     os.rename(tmp_path, entry_file)
 
 
-def mkdir_p(path: str) -> None:
-    try:
-        os.makedirs(path)
-    except OSError as e:
-        if e.errno != errno.EEXIST or not os.path.isdir(path):
-            raise
-
-
-def get_generations(profile: Optional[str] = None) -> List[SystemIdentifier]:
+def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
     gen_list = subprocess.check_output([
         "@nix@/bin/nix-env",
         "--list-generations",
@@ -179,7 +173,7 @@ def get_generations(profile: Optional[str] = None) -> List[SystemIdentifier]:
     return configurations[-configurationLimit:]
 
 
-def get_specialisations(profile: Optional[str], generation: int, _: Optional[str]) -> List[SystemIdentifier]:
+def get_specialisations(profile: str | None, generation: int, _: str | None) -> list[SystemIdentifier]:
     specialisations_dir = os.path.join(
             system_dir(profile, generation, None), "specialisation")
     if not os.path.exists(specialisations_dir):
@@ -187,9 +181,9 @@ def get_specialisations(profile: Optional[str], generation: int, _: Optional[str
     return [SystemIdentifier(profile, generation, spec) for spec in os.listdir(specialisations_dir)]
 
 
-def remove_old_entries(gens: List[SystemIdentifier]) -> None:
-    rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
-    rex_generation = re.compile("^@efiSysMountPoint@/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
+def remove_old_entries(gens: list[SystemIdentifier]) -> None:
+    rex_profile = re.compile(r"^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
+    rex_generation = re.compile(r"^@efiSysMountPoint@/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
     known_paths = []
     for gen in gens:
         known_paths.append(copy_from_profile(*gen, "kernel", True))
@@ -210,7 +204,7 @@ def remove_old_entries(gens: List[SystemIdentifier]) -> None:
             os.unlink(path)
 
 
-def get_profiles() -> List[str]:
+def get_profiles() -> list[str]:
     if os.path.isdir("/nix/var/nix/profiles/system-profiles/"):
         return [x
             for x in os.listdir("/nix/var/nix/profiles/system-profiles/")
@@ -218,11 +212,7 @@ def get_profiles() -> List[str]:
     else:
         return []
 
-def main() -> None:
-    parser = argparse.ArgumentParser(description='Update @distroName@-related systemd-boot files')
-    parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default @distroName@ config to boot')
-    args = parser.parse_args()
-
+def install_bootloader(args: argparse.Namespace) -> None:
     try:
         with open("/etc/machine-id") as machine_file:
             machine_id = machine_file.readlines()[0]
@@ -273,21 +263,15 @@ def main() -> None:
         if available_match is None:
             raise Exception("could not determine systemd-boot version")
 
-        installed_version = version.parse(installed_match.group(1))
-        available_version = version.parse(available_match.group(1))
+        installed_version = installed_match.group(1)
+        available_version = available_match.group(1)
 
-        # systemd 252 has a regression that leaves some machines unbootable, so we skip that update.
-        # The fix is in 252.2
-        # See https://github.com/systemd/systemd/issues/25363 and https://github.com/NixOS/nixpkgs/pull/201558#issuecomment-1348603263
         if installed_version < available_version:
-            if version.parse('252') <= available_version < version.parse('252.2'):
-                print("skipping systemd-boot update to %s because of known regression" % available_version)
-            else:
-                print("updating systemd-boot from %s to %s" % (installed_version, available_version))
-                subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + bootctl_flags + ["update"])
+            print("updating systemd-boot from %s to %s" % (installed_version, available_version))
+            subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "update"])
 
-    mkdir_p("@efiSysMountPoint@/efi/nixos")
-    mkdir_p("@efiSysMountPoint@/loader/entries")
+    os.makedirs("@efiSysMountPoint@/efi/nixos", exist_ok=True)
+    os.makedirs("@efiSysMountPoint@/loader/entries", exist_ok=True)
 
     gens = get_generations()
     for profile in get_profiles():
@@ -324,17 +308,26 @@ def main() -> None:
             os.rmdir(actual_root)
         os.rmdir(root)
 
-    mkdir_p("@efiSysMountPoint@/efi/nixos/.extra-files")
+    os.makedirs("@efiSysMountPoint@/efi/nixos/.extra-files", exist_ok=True)
 
     subprocess.check_call("@copyExtraFiles@")
 
-    # Since fat32 provides little recovery facilities after a crash,
-    # it can leave the system in an unbootable state, when a crash/outage
-    # happens shortly after an update. To decrease the likelihood of this
-    # event sync the efi filesystem after each update.
-    rc = libc.syncfs(os.open("@efiSysMountPoint@", os.O_RDONLY))
-    if rc != 0:
-        print("could not sync @efiSysMountPoint@: {}".format(os.strerror(rc)), file=sys.stderr)
+
+def main() -> None:
+    parser = argparse.ArgumentParser(description='Update @distroName@-related systemd-boot files')
+    parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default @distroName@ config to boot')
+    args = parser.parse_args()
+
+    try:
+        install_bootloader(args)
+    finally:
+        # Since fat32 provides little recovery facilities after a crash,
+        # it can leave the system in an unbootable state, when a crash/outage
+        # happens shortly after an update. To decrease the likelihood of this
+        # event sync the efi filesystem after each update.
+        rc = libc.syncfs(os.open("@efiSysMountPoint@", os.O_RDONLY))
+        if rc != 0:
+            print("could not sync @efiSysMountPoint@: {}".format(os.strerror(rc)), file=sys.stderr)
 
 
 if __name__ == '__main__':
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index d9a1535ffc7dd..6f0a62d0ea899 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -7,14 +7,12 @@ let
 
   efi = config.boot.loader.efi;
 
-  python3 = pkgs.python3.withPackages (ps: [ ps.packaging ]);
-
   systemdBootBuilder = pkgs.substituteAll {
     src = ./systemd-boot-builder.py;
 
     isExecutable = true;
 
-    inherit python3;
+    inherit (pkgs) python3;
 
     systemd = config.systemd.package;
 
@@ -52,7 +50,7 @@ let
   };
 
   checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" {
-    nativeBuildInputs = [ pkgs.mypy python3 ];
+    nativeBuildInputs = [ pkgs.mypy ];
   } ''
     install -m755 ${systemdBootBuilder} $out
     mypy \
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 86eed4214f898..53097e21c6421 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -28,7 +28,6 @@ let
     # TODO: warn the user that any address configured on those interfaces will be useless
     ++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches);
 
-  domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
   genericNetwork = override:
     let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
       ++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
@@ -40,8 +39,6 @@ let
         };
     in optionalAttrs (gateway != [ ]) {
       routes = override (map makeGateway gateway);
-    } // optionalAttrs (domains != [ ]) {
-      domains = override domains;
     };
 
   genericDhcpNetworks = initrd: mkIf cfg.useDHCP {
diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix
index 17cfd3938305b..39c6cab5980a1 100644
--- a/nixos/modules/virtualisation/azure-image.nix
+++ b/nixos/modules/virtualisation/azure-image.nix
@@ -16,6 +16,13 @@ in
         Size of disk image. Unit is MB.
       '';
     };
+    virtualisation.azureImage.contents = mkOption {
+      type = with types; listOf attrs;
+      default = [ ];
+      description = lib.mdDoc ''
+        Extra contents to add to the image.
+      '';
+    };
   };
   config = {
     system.build.azureImage = import ../../lib/make-disk-image.nix {
@@ -26,7 +33,7 @@ in
       '';
       configFile = ./azure-config-user.nix;
       format = "raw";
-      inherit (cfg) diskSize;
+      inherit (cfg) diskSize contents;
       inherit config lib pkgs;
     };
 
diff --git a/nixos/modules/virtualisation/oci-containers.nix b/nixos/modules/virtualisation/oci-containers.nix
index a9f4ab77f866a..71f5d7a752c8c 100644
--- a/nixos/modules/virtualisation/oci-containers.nix
+++ b/nixos/modules/virtualisation/oci-containers.nix
@@ -66,6 +66,17 @@ let
           '';
         };
 
+        labels = mkOption {
+          type = with types; attrsOf str;
+          default = {};
+          description = lib.mdDoc "Labels to attach to the container at runtime.";
+          example = literalExpression ''
+            {
+              "traefik.https.routers.example.rule" = "Host(`example.container`)";
+            }
+          '';
+        };
+
         entrypoint = mkOption {
           type = with types; nullOr str;
           description = lib.mdDoc "Override the default entrypoint of the image.";
@@ -277,6 +288,7 @@ let
       ++ map (p: "-p ${escapeShellArg p}") container.ports
       ++ optional (container.user != null) "-u ${escapeShellArg container.user}"
       ++ map (v: "-v ${escapeShellArg v}") container.volumes
+      ++ (mapAttrsToList (k: v: "-l ${escapeShellArg k}=${escapeShellArg v}") container.labels)
       ++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}"
       ++ map escapeShellArg container.extraOptions
       ++ [container.image]
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index c221835f9a6ab..3f19ed548121e 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -331,7 +331,6 @@ in {
   graylog = handleTest ./graylog.nix {};
   grocy = handleTest ./grocy.nix {};
   grub = handleTest ./grub.nix {};
-  guacamole-client = handleTest ./guacamole-client.nix {};
   guacamole-server = handleTest ./guacamole-server.nix {};
   gvisor = handleTest ./gvisor.nix {};
   hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; };
@@ -555,6 +554,7 @@ in {
   nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
   nginx-status-page = handleTest ./nginx-status-page.nix {};
+  nginx-tmpdir = handleTest ./nginx-tmpdir.nix {};
   nginx-variants = handleTest ./nginx-variants.nix {};
   nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {};
   nitter = handleTest ./nitter.nix {};
@@ -714,7 +714,7 @@ in {
   service-runner = handleTest ./service-runner.nix {};
   sftpgo = runTest ./sftpgo.nix;
   sfxr-qt = handleTest ./sfxr-qt.nix {};
-  sgtpuzzles = handleTest ./sgtpuzzles.nix {};
+  sgt-puzzles = handleTest ./sgt-puzzles.nix {};
   shadow = handleTest ./shadow.nix {};
   shadowsocks = handleTest ./shadowsocks {};
   shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
@@ -819,6 +819,7 @@ in {
   timezone = handleTest ./timezone.nix {};
   tinc = handleTest ./tinc {};
   tinydns = handleTest ./tinydns.nix {};
+  tinyproxy = handleTest ./tinyproxy.nix {};
   tinywl = handleTest ./tinywl.nix {};
   tmate-ssh-server = handleTest ./tmate-ssh-server.nix { };
   tomcat = handleTest ./tomcat.nix {};
@@ -855,8 +856,7 @@ in {
   uwsgi = handleTest ./uwsgi.nix {};
   v2ray = handleTest ./v2ray.nix {};
   varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
-  varnish72 = handleTest ./varnish.nix { package = pkgs.varnish72; };
-  varnish73 = handleTest ./varnish.nix { package = pkgs.varnish73; };
+  varnish74 = handleTest ./varnish.nix { package = pkgs.varnish74; };
   vault = handleTest ./vault.nix {};
   vault-agent = handleTest ./vault-agent.nix {};
   vault-dev = handleTest ./vault-dev.nix {};
diff --git a/nixos/tests/dconf.nix b/nixos/tests/dconf.nix
index 86f703e3b98e8..192c075540a40 100644
--- a/nixos/tests/dconf.nix
+++ b/nixos/tests/dconf.nix
@@ -14,8 +14,8 @@ import ./make-test-python.nix
         profiles.user.databases = [
           {
             settings = {
-              "test/not/locked" = mkInt32 1;
-              "test/is/locked" = "locked";
+              "test/not".locked = mkInt32 1;
+              "test/is".locked = "locked";
             };
             locks = [
               "/test/is/locked"
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index b747659de8298..f574b59be5452 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -35,9 +35,11 @@ let
           enable = true;
           database = { inherit type; };
           package = giteaPackage;
+          metricsTokenFile = (pkgs.writeText "metrics_secret" "fakesecret").outPath;
           settings.service.DISABLE_REGISTRATION = true;
           settings."repository.signing".SIGNING_KEY = signingPrivateKeyId;
           settings.actions.ENABLED = true;
+          settings.metrics.ENABLED = true;
         };
         environment.systemPackages = [ giteaPackage pkgs.gnupg pkgs.jq ];
         services.openssh.enable = true;
@@ -143,6 +145,12 @@ let
           + '-H "Accept: application/json" | jq length)" = "1"'
       )
 
+      with subtest("Testing metrics endpoint"):
+          server.succeed('curl '
+                         + '-H "Authorization: Bearer fakesecret" '
+                         + 'http://localhost:3000/metrics '
+                         + '| grep gitea_accesses')
+
       with subtest("Testing runner registration"):
           server.succeed(
               "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/gitea/runner_token"
diff --git a/nixos/tests/gnome-flashback.nix b/nixos/tests/gnome-flashback.nix
index 876d36477c1a9..f486dabc5c40b 100644
--- a/nixos/tests/gnome-flashback.nix
+++ b/nixos/tests/gnome-flashback.nix
@@ -32,14 +32,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     xauthority = "/run/user/${uid}/gdm/Xauthority";
   in ''
       with subtest("Login to GNOME Flashback with GDM"):
-          # wait_for_x() checks graphical-session.target, which is expected to be
-          # inactive on gnome-flashback before #228946 (i.e. systemd managed
-          # gnome-session) is done.
-          # https://github.com/NixOS/nixpkgs/pull/208060
-          #
-          # Previously this was unconditionally touched by xsessionWrapper but was
-          # changed in #233981 (we have GNOME-Flashback:GNOME in XDG_CURRENT_DESKTOP).
-          # machine.wait_for_x()
+          machine.wait_for_x()
           machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"')
           # Wait for alice to be logged in"
           machine.wait_for_unit("default.target", "${user.name}")
@@ -49,9 +42,10 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
           assert "alice" in machine.succeed("getfacl -p /dev/snd/timer")
 
       with subtest("Wait for Metacity"):
-          machine.wait_until_succeeds(
-              "pgrep metacity"
-          )
+          machine.wait_until_succeeds("pgrep metacity")
+
+      with subtest("Regression test for #233920"):
+          machine.wait_until_succeeds("pgrep -fa gnome-flashback-media-keys")
           machine.sleep(20)
           machine.screenshot("screen")
     '';
diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix
index f54506224e51f..e38834961e13a 100644
--- a/nixos/tests/hardened.nix
+++ b/nixos/tests/hardened.nix
@@ -28,7 +28,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
         };
       };
       boot.extraModulePackages =
-        optional (versionOlder config.boot.kernelPackages.kernel.version "5.6")
+        pkgs.lib.optional (pkgs.lib.versionOlder config.boot.kernelPackages.kernel.version "5.6")
           config.boot.kernelPackages.wireguard;
       boot.kernelModules = [ "wireguard" ];
     };
diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix
index 148f66c464d69..6d883df14c643 100644
--- a/nixos/tests/kernel-generic.nix
+++ b/nixos/tests/kernel-generic.nix
@@ -31,7 +31,6 @@ let
       linux_5_10_hardened
       linux_5_15_hardened
       linux_6_1_hardened
-      linux_6_4_hardened
       linux_6_5_hardened
       linux_rt_5_4
       linux_rt_5_10
diff --git a/nixos/tests/keyd.nix b/nixos/tests/keyd.nix
index 1ee08b4101f72..bfc4558b64bb4 100644
--- a/nixos/tests/keyd.nix
+++ b/nixos/tests/keyd.nix
@@ -26,13 +26,13 @@ let
   '';
 
 
-  mkKeyboardTest = name: { settings, test }: with pkgs.lib; makeTest {
+  mkKeyboardTest = name: { default, test }: with pkgs.lib; makeTest {
     inherit name;
 
     nodes.machine = {
       services.keyd = {
         enable = true;
-        keyboards.default = { inherit settings; };
+        keyboards = { inherit default; };
       };
     };
 
@@ -70,13 +70,20 @@ let
 in
 pkgs.lib.mapAttrs mkKeyboardTest {
   swap-ab_and_ctrl-as-shift = {
-    test.press = [ "a" "ctrl-b" "c" ];
-    test.expect = [ "b" "A" "c" ];
+    test.press = [ "a" "ctrl-b" "c" "alt_r-h" ];
+    test.expect = [ "b" "A" "c" "q" ];
 
-    settings.main = {
-      "a" = "b";
-      "b" = "a";
-      "control" = "oneshot(shift)";
+    default = {
+      settings.main = {
+        "a" = "b";
+        "b" = "a";
+        "control" = "oneshot(shift)";
+        "rightalt" = "layer(rightalt)";
+      };
+      extraConfig = ''
+        [rightalt:G]
+        h = q
+      '';
     };
   };
 }
diff --git a/nixos/tests/legit.nix b/nixos/tests/legit.nix
index 3eb3f50356998..a71fb1743c76f 100644
--- a/nixos/tests/legit.nix
+++ b/nixos/tests/legit.nix
@@ -8,7 +8,7 @@ in
   meta.maintainers = [ lib.maintainers.ratsclub ];
 
   nodes = {
-    server = { config, pkgs }: {
+    server = { config, pkgs, ... }: {
       services.legit = {
         enable = true;
         settings = {
diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix
index f9d71c526e9e7..a281d8538694c 100644
--- a/nixos/tests/litestream.nix
+++ b/nixos/tests/litestream.nix
@@ -44,14 +44,22 @@ import ./make-test-python.nix ({ pkgs, ...} : {
       };
       services.grafana = {
         enable = true;
-        security = {
-          adminUser = "admin";
-          adminPassword = "admin";
-        };
-        addr = "localhost";
-        port = 3000;
-        extraOptions = {
-          DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL";
+        settings = {
+          security = {
+            admin_user = "admin";
+            admin_password = "admin";
+          };
+
+          server = {
+            http_addr = "localhost";
+            http_port = 3000;
+          };
+
+          database = {
+            type = "sqlite3";
+            path = "/var/lib/grafana/data/grafana.db";
+            wal = true;
+          };
         };
       };
       users.users.foo = {
diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix
index d0afa495a5b1d..619542bdd9456 100644
--- a/nixos/tests/lxd-image-server.nix
+++ b/nixos/tests/lxd-image-server.nix
@@ -8,8 +8,8 @@ let
     };
   };
 
-  lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
-  lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
+  lxd-image-metadata = lxd-image.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
+  lxd-image-rootfs = lxd-image.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
 
 in {
   name = "lxd-image-server";
diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix
index 52122755ad947..e30cc55ff6160 100644
--- a/nixos/tests/mediawiki.nix
+++ b/nixos/tests/mediawiki.nix
@@ -74,4 +74,20 @@ in
       assert "MediaWiki has been installed" in page, f"no 'MediaWiki has been installed' in:\n{page}"
     '';
   };
+
+  nginx = testLib.makeTest {
+    name = "mediawiki-nginx";
+    nodes.machine = {
+      services.mediawiki.webserver = "nginx";
+    };
+    testScript = ''
+      start_all()
+
+      machine.wait_for_unit("phpfpm-mediawiki.service")
+      machine.wait_for_unit("nginx.service")
+
+      page = machine.succeed("curl -fL http://localhost/")
+      assert "MediaWiki has been installed" in page
+    '';
+  };
 }
diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix
index 75b0c4c2ab2b1..1afc891817aff 100644
--- a/nixos/tests/mongodb.nix
+++ b/nixos/tests/mongodb.nix
@@ -27,7 +27,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   in {
     name = "mongodb";
     meta = with pkgs.lib.maintainers; {
-      maintainers = [ bluescreen303 offline cstrahan rvl phile314 ];
+      maintainers = [ bluescreen303 offline rvl phile314 ];
     };
 
     nodes = {
diff --git a/nixos/tests/nginx-tmpdir.nix b/nixos/tests/nginx-tmpdir.nix
new file mode 100644
index 0000000000000..f26f992ffe1be
--- /dev/null
+++ b/nixos/tests/nginx-tmpdir.nix
@@ -0,0 +1,60 @@
+let
+  dst-dir = "/run/nginx-test-tmpdir-uploads";
+in
+  import ./make-test-python.nix {
+    name = "nginx-tmpdir";
+
+    nodes.machine = { pkgs, ... }: {
+      environment.etc."tmpfiles.d/nginx-uploads.conf".text = "d ${dst-dir} 0755 nginx nginx 1d";
+
+      # overwrite the tmp.conf with a short age, there will be a duplicate line info from systemd-tmpfiles in the log
+      systemd.tmpfiles.rules = [
+        "q /tmp 1777 root root 1min"
+      ];
+
+      services.nginx.enable = true;
+      # simple upload service using the nginx client body temp path
+      services.nginx.virtualHosts = {
+        localhost = {
+          locations."~ ^/upload/([0-9a-zA-Z-.]*)$" = {
+            extraConfig = ''
+              alias ${dst-dir}/$1;
+              client_body_in_file_only clean;
+              dav_methods PUT;
+              create_full_put_path on;
+              dav_access group:rw all:r;
+            '';
+          };
+        };
+      };
+    };
+
+    testScript = ''
+      machine.wait_for_unit("nginx")
+      machine.wait_for_open_port(80)
+
+      with subtest("Needed prerequisite --http-client-body-temp-path=/tmp/nginx_client_body and private temp"):
+        machine.succeed("touch /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body")
+
+      with subtest("Working upload of test setup"):
+        machine.succeed("curl -X PUT http://localhost/upload/test1 --fail --data-raw 'Raw data 1'")
+        machine.succeed('test "$(cat ${dst-dir}/test1)" = "Raw data 1"')
+
+      # let the tmpfiles clean service do its job
+      machine.succeed("touch /tmp/touched")
+      machine.wait_until_succeeds(
+        "sleep 15 && systemctl start systemd-tmpfiles-clean.service && [ ! -f /tmp/touched ]",
+        timeout=150
+      )
+
+      with subtest("Working upload after cleaning"):
+        machine.succeed("curl -X PUT http://localhost/upload/test2 --fail --data-raw 'Raw data 2'")
+        machine.succeed('test "$(cat ${dst-dir}/test2)" = "Raw data 2"')
+
+      # manually remove the nginx temp dir
+      machine.succeed("rm -r --interactive=never /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body")
+
+      with subtest("Broken upload after manual temp dir removal"):
+        machine.fail("curl -X PUT http://localhost/upload/test3 --fail --data-raw 'Raw data 3'")
+    '';
+  }
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
index 9aa9820e50c52..e98e7c1baf048 100644
--- a/nixos/tests/osquery.nix
+++ b/nixos/tests/osquery.nix
@@ -36,7 +36,7 @@ in
       machine.succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | tee /dev/console | grep -q '127.0.0.1'")
 
       # osquery binaries respect configuration from the Nix config option.
-      machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${boolToString utc}")
+      machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${lib.boolToString utc}")
 
       # osquery binaries respect configuration from the Nix flags option.
       machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"config_refresh\";' | osqueryi | tee /dev/console | grep -q ${config_refresh}")
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
index dee6964644c5d..be1351283d99a 100644
--- a/nixos/tests/pantheon.nix
+++ b/nixos/tests/pantheon.nix
@@ -50,6 +50,20 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
         machine.wait_for_window("io.elementary.wingpanel")
         machine.wait_until_succeeds("pgrep plank")
         machine.wait_for_window("plank")
+        machine.wait_until_succeeds("pgrep -f gsd-media-keys")
+        machine.wait_for_unit("bamfdaemon.service", "${user.name}")
+        machine.wait_for_unit("io.elementary.files.xdg-desktop-portal.service", "${user.name}")
+
+    with subtest("Open elementary videos"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.videos >&2 &'")
+        machine.sleep(2)
+        machine.wait_for_window("io.elementary.videos")
+        machine.wait_for_text("No Videos Open")
+
+    with subtest("Open elementary calendar"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.calendar >&2 &'")
+        machine.sleep(2)
+        machine.wait_for_window("io.elementary.calendar")
 
     with subtest("Open system settings"):
         machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.switchboard >&2 &'")
@@ -63,7 +77,9 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
 
     with subtest("Check if gala has ever coredumped"):
         machine.fail("coredumpctl --json=short | grep gala")
-        machine.sleep(20)
+        # So you can see the dock in the below screenshot.
+        machine.succeed("su - ${user.name} -c 'DISPLAY=:0 xdotool mousemove 450 1000 >&2 &'")
+        machine.sleep(10)
         machine.screenshot("screen")
   '';
 })
diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix
index ce6a4d8128dfd..22409e8992367 100644
--- a/nixos/tests/paperless.nix
+++ b/nixos/tests/paperless.nix
@@ -2,65 +2,88 @@ import ./make-test-python.nix ({ lib, ... }: {
   name = "paperless";
   meta.maintainers = with lib.maintainers; [ erikarvstedt Flakebi ];
 
-  nodes.machine = { pkgs, ... }: {
-    environment.systemPackages = with pkgs; [ imagemagick jq ];
-    services.paperless = {
-      enable = true;
-      passwordFile = builtins.toFile "password" "admin";
+  nodes = let self = {
+    simple = { pkgs, ... }: {
+      environment.systemPackages = with pkgs; [ imagemagick jq ];
+      services.paperless = {
+        enable = true;
+        passwordFile = builtins.toFile "password" "admin";
+      };
     };
-  };
+    postgres = { config, pkgs, ... }: {
+      imports = [ self.simple ];
+      services.postgresql = {
+        enable = true;
+        ensureDatabases = [ "paperless" ];
+        ensureUsers = [
+          { name = config.services.paperless.user;
+            ensurePermissions = { "DATABASE \"paperless\"" = "ALL PRIVILEGES"; };
+          }
+        ];
+      };
+      services.paperless.extraConfig = {
+        PAPERLESS_DBHOST = "/run/postgresql";
+      };
+    };
+  }; in self;
 
   testScript = ''
     import json
 
-    machine.wait_for_unit("paperless-consumer.service")
+    def test_paperless(node):
+      node.wait_for_unit("paperless-consumer.service")
 
-    with subtest("Add a document via the file system"):
-        machine.succeed(
-            "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
-            "-annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png"
+      with subtest("Add a document via the file system"):
+        node.succeed(
+          "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
+          "-annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png"
         )
 
-    with subtest("Web interface gets ready"):
-        machine.wait_for_unit("paperless-web.service")
+      with subtest("Web interface gets ready"):
+        node.wait_for_unit("paperless-web.service")
         # Wait until server accepts connections
-        machine.wait_until_succeeds("curl -fs localhost:28981")
+        node.wait_until_succeeds("curl -fs localhost:28981")
 
-    # Required for consuming documents via the web interface
-    with subtest("Task-queue gets ready"):
-        machine.wait_for_unit("paperless-task-queue.service")
+      # Required for consuming documents via the web interface
+      with subtest("Task-queue gets ready"):
+        node.wait_for_unit("paperless-task-queue.service")
 
-    with subtest("Add a png document via the web interface"):
-        machine.succeed(
-            "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
-            "-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png"
+      with subtest("Add a png document via the web interface"):
+        node.succeed(
+          "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
+          "-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png"
         )
-        machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/")
+        node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/")
 
-    with subtest("Add a txt document via the web interface"):
-        machine.succeed(
-            "echo 'hello web 16-10-2005' > /tmp/webdoc.txt"
+      with subtest("Add a txt document via the web interface"):
+        node.succeed(
+          "echo 'hello web 16-10-2005' > /tmp/webdoc.txt"
         )
-        machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.txt -fs localhost:28981/api/documents/post_document/")
+        node.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.txt -fs localhost:28981/api/documents/post_document/")
 
-    with subtest("Documents are consumed"):
-        machine.wait_until_succeeds(
-            "(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 3))"
+      with subtest("Documents are consumed"):
+        node.wait_until_succeeds(
+          "(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 3))"
         )
-        docs = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results']
+        docs = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results']
         assert "2005-10-16" in docs[0]['created']
         assert "2005-10-16" in docs[1]['created']
         assert "2005-10-16" in docs[2]['created']
 
-    # Detects gunicorn issues, see PR #190888
-    with subtest("Document metadata can be accessed"):
-        metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/1/metadata/"))
+      # Detects gunicorn issues, see PR #190888
+      with subtest("Document metadata can be accessed"):
+        metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/1/metadata/"))
         assert "original_checksum" in metadata
 
-        metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/2/metadata/"))
+        metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/2/metadata/"))
         assert "original_checksum" in metadata
 
-        metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/3/metadata/"))
+        metadata = json.loads(node.succeed("curl -u admin:admin -fs localhost:28981/api/documents/3/metadata/"))
         assert "original_checksum" in metadata
+
+    test_paperless(simple)
+    simple.send_monitor_command("quit")
+    simple.wait_for_shutdown()
+    test_paperless(postgres)
   '';
 })
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 7db7fdf13eb10..8369d6a497ac1 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -966,6 +966,36 @@ let
       '';
     };
 
+    pgbouncer = {
+      exporterConfig = {
+        enable = true;
+        connectionString = "postgres://admin:@localhost:6432/pgbouncer?sslmode=disable";
+      };
+
+      metricProvider = {
+        services.postgresql.enable = true;
+        services.pgbouncer = {
+          # https://github.com/prometheus-community/pgbouncer_exporter#pgbouncer-configuration
+          ignoreStartupParameters = "extra_float_digits";
+          enable = true;
+          listenAddress = "*";
+          databases = { postgres = "host=/run/postgresql/ port=5432 auth_user=postgres dbname=postgres"; };
+          authType = "any";
+          maxClientConn = 99;
+        };
+      };
+      exporterTest = ''
+        wait_for_unit("postgresql.service")
+        wait_for_unit("pgbouncer.service")
+        wait_for_unit("prometheus-pgbouncer-exporter.service")
+        wait_for_open_port(9127)
+        succeed("curl -sSf http://localhost:9127/metrics | grep 'pgbouncer_up 1'")
+        succeed(
+            "curl -sSf http://localhost:9127/metrics | grep 'pgbouncer_config_max_client_connections 99'"
+        )
+      '';
+    };
+
     php-fpm = {
       nodeName = "php_fpm";
       exporterConfig = {
diff --git a/nixos/tests/sftpgo.nix b/nixos/tests/sftpgo.nix
index 8cd5675c1d4d4..db0098d2ac48c 100644
--- a/nixos/tests/sftpgo.nix
+++ b/nixos/tests/sftpgo.nix
@@ -17,7 +17,7 @@ let
 
   # Returns an attributeset of users who are not system users.
   normalUsers = config:
-    filterAttrs (name: user: user.isNormalUser) config.users.users;
+    lib.filterAttrs (name: user: user.isNormalUser) config.users.users;
 
   # Returns true if a user is a member of the given group
   isMemberOf =
@@ -26,7 +26,7 @@ let
     groupName:
     # users.users attrset
     user:
-      any (x: x == user.name) config.users.groups.${groupName}.members;
+      lib.any (x: x == user.name) config.users.groups.${groupName}.members;
 
   # Generates a valid SFTPGo user configuration for a given user
   # Will be converted to JSON and loaded on application startup.
@@ -52,7 +52,7 @@ let
       # inside the dataprovider they will be automatically created.
       # You have to create the folder on the filesystem yourself
       virtual_folders =
-        lib.optional (lib.isMemberOf config sharedFolderName user) {
+        lib.optional (isMemberOf config sharedFolderName user) {
           name = sharedFolderName;
           mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}";
           virtual_path = "/${sharedFolderName}";
@@ -63,7 +63,7 @@ let
         lib.recursiveUpdate {
           "/" = [ "list" ];     # read-only top level directory
           "/private" = [ "*" ]; # private subdirectory, not shared with others
-        } (lib.optionalAttrs (lib.isMemberOf config "shared" user) {
+        } (lib.optionalAttrs (isMemberOf config "shared" user) {
           "/shared" = [ "*" ];
         });
 
@@ -89,7 +89,7 @@ let
   # of users and folders to import to SFTPGo.
   loadDataJson = config: pkgs.writeText "users-and-folders.json" (builtins.toJSON {
     users =
-      lib.mapAttrsToList (name: user: lib.generateUserAttrSet config user) (normalUsers config);
+      lib.mapAttrsToList (name: user: generateUserAttrSet config user) (normalUsers config);
 
     folders = [
       {
@@ -144,7 +144,7 @@ in
 {
   name = "sftpgo";
 
-  meta.maintainers = with maintainers; [ yayayayaka ];
+  meta.maintainers = with lib.maintainers; [ yayayayaka ];
 
   nodes = {
     server = { nodes, ... }: {
@@ -228,7 +228,7 @@ in
           # Created shared folder directories
           "d ${statePath}/${sharedFolderName} 2770 ${sftpgoUser} ${sharedFolderName}   -"
         ]
-        ++ mapAttrsToList (name: user:
+        ++ lib.mapAttrsToList (name: user:
           # Create private user directories
           ''
             d ${statePath}/users/${user.name} 0700 ${sftpgoUser} ${sftpgoGroup} -
@@ -273,12 +273,12 @@ in
           networking.firewall.allowedTCPPorts = [ 22 80 ];
           services.sftpgo = {
             settings = {
-              sftpd.bindings = mkForce [{
+              sftpd.bindings = lib.mkForce [{
                 address = "";
                 port = 22;
               }];
 
-              httpd.bindings = mkForce [{
+              httpd.bindings = lib.mkForce [{
                 address = "";
                 port = 80;
               }];
diff --git a/nixos/tests/sgtpuzzles.nix b/nixos/tests/sgt-puzzles.nix
index b8d25d42d312f..4c5210bfce778 100644
--- a/nixos/tests/sgtpuzzles.nix
+++ b/nixos/tests/sgt-puzzles.nix
@@ -1,6 +1,6 @@
 import ./make-test-python.nix ({ pkgs, ...} :
 {
-  name = "sgtpuzzles";
+  name = "sgt-puzzles";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ tomfitzhenry ];
   };
@@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
 
     services.xserver.enable = true;
     environment.systemPackages = with pkgs; [
-      sgtpuzzles
+      sgt-puzzles
     ];
   };
 
diff --git a/nixos/tests/sqlite3-to-mysql.nix b/nixos/tests/sqlite3-to-mysql.nix
index 029058187df37..f18a442157e7b 100644
--- a/nixos/tests/sqlite3-to-mysql.nix
+++ b/nixos/tests/sqlite3-to-mysql.nix
@@ -19,7 +19,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
             python3Packages.pytest
             python3Packages.pytest-mock
             python3Packages.pytest-timeout
-            python3Packages.factory_boy
+            python3Packages.factory-boy
             python3Packages.docker # only needed so import does not fail
             sqlite3-to-mysql
           ])
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
index 195c157ffb6e8..97fcf2ad28d10 100644
--- a/nixos/tests/syncthing-init.nix
+++ b/nixos/tests/syncthing-init.nix
@@ -1,7 +1,6 @@
 import ./make-test-python.nix ({ lib, pkgs, ... }: let
 
   testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
-  testName = "testDevice foo'bar";
 
 in {
   name = "syncthing-init";
diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix
index c1f8637989e39..7d334326cca98 100644
--- a/nixos/tests/systemd-boot.nix
+++ b/nixos/tests/systemd-boot.nix
@@ -107,7 +107,7 @@ in
       )
 
       output = machine.succeed("/run/current-system/bin/switch-to-configuration boot")
-      assert "updating systemd-boot from 000.0-1-notnixos to " in output
+      assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message"
     '';
   };
 
diff --git a/nixos/tests/tinyproxy.nix b/nixos/tests/tinyproxy.nix
new file mode 100644
index 0000000000000..b8448d4c23b66
--- /dev/null
+++ b/nixos/tests/tinyproxy.nix
@@ -0,0 +1,20 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "tinyproxy";
+
+  nodes.machine = { config, pkgs, ... }: {
+    services.tinyproxy = {
+      enable = true;
+      settings = {
+        Listen = "127.0.0.1";
+        Port = 8080;
+      };
+    };
+  };
+
+  testScript = ''
+    machine.wait_for_unit("tinyproxy.service")
+    machine.wait_for_open_port(8080)
+
+    machine.succeed('curl -s http://localhost:8080 |grep -i tinyproxy')
+  '';
+})
diff --git a/nixos/tests/tracee.nix b/nixos/tests/tracee.nix
index 8ec86ef091ef7..3dadc0f9fdb33 100644
--- a/nixos/tests/tracee.nix
+++ b/nixos/tests/tracee.nix
@@ -43,6 +43,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             mv $GOPATH/tracee-integration $out/bin/
           '';
           doInstallCheck = false;
+
+          meta = oa.meta // {
+            outputsToInstall = [];
+          };
         }))
       ];
     };
diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix
index eaf14e29acb03..70d148380bf75 100644
--- a/nixos/tests/yggdrasil.nix
+++ b/nixos/tests/yggdrasil.nix
@@ -116,6 +116,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
         networking.firewall.allowedTCPPorts = [ 43210 ];
         services.yggdrasil = {
           enable = true;
+          extraArgs = [ "-loglevel" "error" ];
           denyDhcpcdInterfaces = [ "ygg0" ];
           settings = {
             IfTAPMode = true;
diff --git a/pkgs/README.md b/pkgs/README.md
index 5cc7024758162..bfa7e611255d3 100644
--- a/pkgs/README.md
+++ b/pkgs/README.md
@@ -368,19 +368,11 @@ See the Nixpkgs manual for more details on [standard meta-attributes](https://ni
 
 ### Import From Derivation
 
-Import From Derivation (IFD) is disallowed in Nixpkgs for performance reasons:
-[Hydra] evaluates the entire package set, and sequential builds during evaluation would increase evaluation times to become impractical.
-
-[Hydra]: https://github.com/NixOS/hydra
+[Import From Derivation](https://nixos.org/manual/nix/unstable/language/import-from-derivation) (IFD) is disallowed in Nixpkgs for performance reasons:
+[Hydra](https://github.com/NixOS/hydra) evaluates the entire package set, and sequential builds during evaluation would increase evaluation times to become impractical.
 
 Import From Derivation can be worked around in some cases by committing generated intermediate files to version control and reading those instead.
 
-<!-- TODO: remove the following and link to Nix manual once https://github.com/NixOS/nix/pull/7332 is merged -->
-
-See also [NixOS Wiki: Import From Derivation].
-
-[NixOS Wiki: Import From Derivation]: https://nixos.wiki/wiki/Import_From_Derivation
-
 ## Sources
 
 ### Fetching Sources
diff --git a/pkgs/applications/audio/butt/default.nix b/pkgs/applications/audio/butt/default.nix
index 04f5c8535843c..01e35f9450e71 100644
--- a/pkgs/applications/audio/butt/default.nix
+++ b/pkgs/applications/audio/butt/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "butt";
-  version = "0.1.38";
+  version = "0.1.39";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    hash = "sha256-6c4BknAh+XPaKrEfCz0oHm7lWOLV+9jiJbQx9vvtI4I=";
+    hash = "sha256-dh6NceHiqpN6PVwKIo2jV3qCO17P6E6QHdZGRVyd6/g=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix
index bf374866278f2..589808c5c2e64 100644
--- a/pkgs/applications/audio/carla/default.nix
+++ b/pkgs/applications/audio/carla/default.nix
@@ -26,13 +26,13 @@ assert withQt -> wrapQtAppsHook != null;
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "carla";
-  version = "2.5.6";
+  version = "2.5.7";
 
   src = fetchFromGitHub {
     owner = "falkTX";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-/ZIproky1AHJHvV62xWm0nrzNBOjvBBv93V0KespVjU=";
+    hash = "sha256-WDwYfDR760Maz3oWNPcPbl8L+0MIRbeqNVGH9Gg4ZYc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/feishin/darwin.nix b/pkgs/applications/audio/feishin/darwin.nix
index fb8a27abdc417..ee1100f2161fd 100644
--- a/pkgs/applications/audio/feishin/darwin.nix
+++ b/pkgs/applications/audio/feishin/darwin.nix
@@ -13,11 +13,11 @@
 }:
 
 stdenv.mkDerivation {
-  inherit pname version;
+  inherit pname version meta;
 
   src = fetchurl {
     url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-mac-x64.zip";
-    hash = "sha256-J5LB4uR/NJ6ykiTqBY1VepcLujprgqwpxy7sGD0NtZw=";
+    hash = "sha256-6GYp9uzlR1eVRYhNU3kOmcUOPFY3J9eJPqN+TucNavA=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/applications/audio/feishin/default.nix b/pkgs/applications/audio/feishin/default.nix
index aff0d5681ea25..3801d31e0a567 100644
--- a/pkgs/applications/audio/feishin/default.nix
+++ b/pkgs/applications/audio/feishin/default.nix
@@ -8,7 +8,7 @@ let
   extraArgs = removeAttrs args [ "callPackage" ];
 
   pname = "feishin";
-  version = "0.3.0";
+  version = "0.4.1";
   appname = "Feishin";
 
   meta = with lib; {
@@ -21,6 +21,7 @@ let
     maintainers = with maintainers; [ onny ];
   };
 
-in if stdenv.isDarwin
+in
+if stdenv.isDarwin
 then callPackage ./darwin.nix (extraArgs // { inherit pname appname version meta; })
 else callPackage ./linux.nix (extraArgs // { inherit pname appname version meta; })
diff --git a/pkgs/applications/audio/feishin/linux.nix b/pkgs/applications/audio/feishin/linux.nix
index eaa6b9fc043ad..8c5890524c356 100644
--- a/pkgs/applications/audio/feishin/linux.nix
+++ b/pkgs/applications/audio/feishin/linux.nix
@@ -25,17 +25,17 @@ let
     comment = "Full-featured Subsonic/Jellyfin compatible desktop music player";
     icon = "feishin";
     exec = "feishin %u";
-    categories = [ "Audio" ];
+    categories = [ "Audio" "AudioVideo" ];
     mimeTypes = [ "x-scheme-handler/feishin" ];
   };
 in
 
 stdenv.mkDerivation {
-  inherit pname version;
+  inherit pname version meta;
 
   src = fetchurl {
     url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-linux-x64.tar.xz";
-    hash = "sha256-sl2zM24bb0yBTfCxtNGizp6Yu+L4nj/Uf669zylnPmE=";
+    hash = "sha256-Y8r329rO7z8V2xP/uRsjTFJfvTn+zyeAYzq6fKDxXs4=";
   };
 
 
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index 06a8c5daf9d2a..be3845be65638 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , nixosTests
 , alsa-lib
@@ -14,30 +13,15 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.69";
+  version = "1.72.1";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "sha256-tm0yTh46UKnsjH9hv3cMW0YL2x3OTRL+14x4c7w124U=";
+    hash = "sha256-dGoldr0JvXri4XfSn/DKeJw/wsBaj+AKoKWdbEgo8lg=";
   };
 
-  patches = [
-    # Adapt CMake script to be Darwin-compatible
-    # https://github.com/8bitbubsy/ft2-clone/pull/30
-    (fetchpatch {
-      name = "0001-ft2-clone-Make-CMake-script-macOS-compatible.patch";
-      url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/0033a567abf7ddbdb2bc59c7f730d22f986010aa.patch";
-      hash = "sha256-fhA+T6RI+Qmhr7mbG9lEA7esWskgK8+DkWzol0J2lUo=";
-    })
-    (fetchpatch {
-      name = "0002-ft2-clone-Fix-__MACOSX_CORE__-typo.patch";
-      url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/fe50aff9233130150a6631875611c7db67a2d705.patch";
-      hash = "sha256-X4AVuJ0iRlpH1N/YzjdVk5+yv7eiDNoZkk0mhOizgOg=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
   buildInputs = [ SDL2 ]
     ++ lib.optional stdenv.isLinux alsa-lib
@@ -63,4 +47,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.littleEndian;
   };
 }
-
diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix
index 6b208d423f00b..71cc796a621d7 100644
--- a/pkgs/applications/audio/furnace/default.nix
+++ b/pkgs/applications/audio/furnace/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "furnace";
-  version = "0.6pre18";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "tildearrow";
     repo = "furnace";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-RLmXP/F3WnADx/NUPAJZpGSQZ7CGm1bG4UJYAcIeHME=";
+    hash = "sha256-8we7vKyGWjM9Rx0MJjSKLJcKBHiHt5vjuy17HHx/pP8=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 63e122bcf85f6..f8d4232798b21 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -14,14 +14,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gpodder";
-  version = "3.11.1";
+  version = "3.11.3";
   format = "other";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "Ns03MFhd4ZLtyeQTLTgLWY2Ot6gmrksFMOZm8jFaLIg=";
+    sha256 = "p8BgpvMK1kP4VnRfmcvSMbXmWs5DmWBZ6te7L9b+UJQ=";
   };
 
   patches = [
@@ -63,6 +63,7 @@ python3Packages.buildPythonApplication rec {
     eyeD3
     podcastparser
     html5lib
+    mutagen
   ];
 
   makeFlags = [
diff --git a/pkgs/applications/audio/noson/default.nix b/pkgs/applications/audio/noson/default.nix
index 1bcd06eec4250..fb37c93e10fea 100644
--- a/pkgs/applications/audio/noson/default.nix
+++ b/pkgs/applications/audio/noson/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "noson";
-  version = "5.4.1";
+  version = "5.6.0";
 
   src = fetchFromGitHub {
     owner = "janbar";
     repo = "noson-app";
     rev = finalAttrs.version;
-    hash = "sha256-7RrBfkUCRVzUGl+OT3OuoMlu4D3Sa7RpBefFgmfX1Fs=";
+    hash = "sha256-ZOAnH7pdhlTbqHOM0kiCWcHYJvnskigWdz3N9WjtM0M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix
index 44dbff6077bcd..a67832d2d6422 100644
--- a/pkgs/applications/audio/renoise/default.nix
+++ b/pkgs/applications/audio/renoise/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
         }
         else
           releasePath
-    else throw "Platform is not supported. Use instalation native to your platform https://www.renoise.com/";
+    else throw "Platform is not supported. Use installation native to your platform https://www.renoise.com/";
 
   buildInputs = [ alsa-lib libjack2 libX11 libXcursor libXext libXrandr ];
 
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index 25193d1b78e43..7933c7457173d 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -42,13 +42,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "strawberry";
-  version = "1.0.18";
+  version = "1.0.20";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    hash = "sha256-vOay9xPSwgSYurFgL9f4OdBPzGJkV4t+7lJgeCeT0c4=";
+    hash = "sha256-/utd2uYoxPHQ4kQwA0tZW5HwmN90vXL23EiNFh3wXoE=";
   };
 
   # the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead
diff --git a/pkgs/applications/backup/ludusavi/default.nix b/pkgs/applications/backup/ludusavi/default.nix
index efe99f845531f..f6abbf346c6da 100644
--- a/pkgs/applications/backup/ludusavi/default.nix
+++ b/pkgs/applications/backup/ludusavi/default.nix
@@ -12,22 +12,23 @@
 , libXcursor
 , libXrandr
 , libXi
+, vulkan-loader
 , gnome
 , libsForQt5
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "ludusavi";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "mtkennerly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6wwBXgR0jutkM3L7Ihi4qryuOeBRItQTyKn2lNcvfdQ=";
+    hash = "sha256-eEuaDMfFxWcNM9+5TvZZXLgbDuGbyIAIuzEMVWbvYbg=";
   };
 
-  cargoSha256 = "sha256-9ksstWNqc2Rq5fdb4/LLHGMUXQgri9BAo2LlkFl3Irg=";
+  cargoSha256 = "sha256-ENo562Y6K238NNEtgYoPw6EXjbcuxPuXiftIp/bGYYU=";
 
   nativeBuildInputs = [
     cmake
@@ -67,6 +68,7 @@ rustPlatform.buildRustPackage rec {
         libXcursor
         libXrandr
         libXi
+        vulkan-loader
       ];
     in
     ''
diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix
index c1ede1ea839f6..310c67d415307 100644
--- a/pkgs/applications/blockchains/bitcoin-abc/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -72,5 +72,6 @@ mkDerivation rec {
     license = licenses.mit;
     broken = stdenv.isDarwin;
     platforms = platforms.unix;
+    mainProgram = "bitcoin-cli";
   };
 }
diff --git a/pkgs/applications/blockchains/dcrd/default.nix b/pkgs/applications/blockchains/dcrd/default.nix
index 8a4369482fe6d..d62a901c99fe4 100644
--- a/pkgs/applications/blockchains/dcrd/default.nix
+++ b/pkgs/applications/blockchains/dcrd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dcrd";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "decred";
     repo = "dcrd";
     rev = "refs/tags/release-v${version}";
-    hash = "sha256-ZNBSIzx07zJrBxas7bHpZ8ZPDWJ4d7jumpKYj5Qmzlo=";
+    hash = "sha256-nSocqwXgJhvfbdElddbb1gGxoygmtVtK6DbiSuMxYew=";
   };
 
   patches = [
@@ -19,7 +19,7 @@ buildGoModule rec {
     })
   ];
 
-  vendorHash = "sha256-++IPB2IadXd1LC5r6f1a0UqsTG/McAf7KQAw8WKKoaE=";
+  vendorHash = "sha256-Napcfj1+KjQ21Jb/qpIzg2W/grzun2Pz5FV5yIBXoTo=";
 
   subPackages = [ "." "cmd/promptsecret" ];
 
diff --git a/pkgs/applications/blockchains/framesh/default.nix b/pkgs/applications/blockchains/framesh/default.nix
index 28a25d8d5c891..68eaf2a1adff8 100644
--- a/pkgs/applications/blockchains/framesh/default.nix
+++ b/pkgs/applications/blockchains/framesh/default.nix
@@ -1,11 +1,11 @@
-{ lib, fetchurl, appimageTools }:
+{ lib, fetchurl, appimageTools, makeWrapper }:
 
 let
   pname = "framesh";
-  version = "0.6.7";
+  version = "0.6.8";
   src = fetchurl {
     url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage";
-    sha256 = "sha256-yPNgrC9ZQcl1gCStMXMbZvk15jZylM2NgKM9H3XcJVQ=";
+    hash = "sha256-qTbT1g+9hypBUxRMZ/Eat5OGb1y6yJlxQ6iJzfQH8G4=";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -20,6 +20,11 @@ appimageTools.wrapType2 {
     install -m 444 -D ${appimageContents}/frame.desktop $out/share/applications/frame.desktop
     install -m 444 -D ${appimageContents}/frame.png \
       $out/share/icons/hicolor/512x512/apps/frame.png
+
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram "$out/bin/${pname}" \
+       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"
+
     substituteInPlace $out/share/applications/frame.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
   '';
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 6587932d3645f..fffa95566bf4a 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,14 +2,13 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.66.0";
+  version = "2.69.0";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-Du2bvtlNjxtkJ31RCKZmGtWxOEIjohbmEC5o3VvFGlY=";
+    hash = "sha256-9eELWlOzUd3xwAoob5XCj16JihOt6SHZe0Ybxb9dtQI=";
   };
 
-
   appimageContents = appimageTools.extractType2 {
     inherit pname version src;
   };
@@ -23,6 +22,7 @@ appimageTools.wrapType2 rec {
     install -m 444 -D ${appimageContents}/ledger-live-desktop.png $out/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
     ${imagemagick}/bin/convert ${appimageContents}/ledger-live-desktop.png -resize 512x512 ledger-live-desktop_512.png
     install -m 444 -D ledger-live-desktop_512.png $out/share/icons/hicolor/512x512/apps/ledger-live-desktop.png
+
     substituteInPlace $out/share/applications/ledger-live-desktop.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
   '';
diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix
index e8b5be19191fd..e9f739b188aed 100644
--- a/pkgs/applications/blockchains/lnd/default.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.16.3-beta";
+  version = "0.17.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    hash = "sha256-/seSpWnlQmeU4vQtlHMOSedPXP9HJp1GyxcB1LqHayA=";
+    hash = "sha256-HndO7vp/sia352hs23xAgrpyJ/CfbRxYAAhLZ4q94Pc=";
   };
 
-  vendorHash = "sha256-obrSVMqTwHe7231wa0OuoT6ANBqkQbkHIy93J2f68Zk=";
+  vendorHash = "sha256-4n81AZLKCTEV4+p4kRhZbzYsdRGIztzh6EKPin8W1Z0=";
 
   subPackages = [ "cmd/lncli" "cmd/lnd" ];
 
diff --git a/pkgs/applications/blockchains/lndinit/default.nix b/pkgs/applications/blockchains/lndinit/default.nix
new file mode 100644
index 0000000000000..4d982183a36cb
--- /dev/null
+++ b/pkgs/applications/blockchains/lndinit/default.nix
@@ -0,0 +1,28 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
+buildGoModule rec {
+  pname = "lndinit";
+  version = "0.1.5-beta";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-7ibjDIDKP1ASvCWiF03aLCR6RXqLxmdkR5UZoU3dneA=";
+  };
+
+  vendorHash = "sha256-2AHU5/XSDJAEvAg7LmGxCmrJ/oS84fNF3mXigKFDsb4=";
+
+  subPackages = ["."];
+
+  meta = with lib; {
+    description = "Wallet initializer utility for lnd";
+    homepage = "https://github.com/lightninglabs/lndinit";
+    mainProgram = pname;
+    license = licenses.mit;
+    maintainers = with maintainers; [aldoborrero];
+  };
+}
diff --git a/pkgs/applications/blockchains/stellar-core/default.nix b/pkgs/applications/blockchains/stellar-core/default.nix
index 53b0de40cbb44..6d3359cdcd006 100644
--- a/pkgs/applications/blockchains/stellar-core/default.nix
+++ b/pkgs/applications/blockchains/stellar-core/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "stellar-core";
-  version = "19.13.0";
+  version = "19.14.0";
 
   src = fetchFromGitHub {
     owner = "stellar";
     repo = "stellar-core";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-C775tL+x1IX4kfCM/7gOg/V8xunq/rkhIfdkwkhLENk=";
+    hash = "sha256-lxBn/T01Tsa7tid3mRJUigUwv9d3BAPZhV9Mp1lywBU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
index 008ff8196d16c..6a5d3cbd1f6aa 100644
--- a/pkgs/applications/editors/bluefish/default.nix
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, intltool
 , wrapGAppsHook
 , pkg-config
 , gtk
@@ -14,14 +13,14 @@
 
 stdenv.mkDerivation rec {
   pname = "bluefish";
-  version = "2.2.12";
+  version = "2.2.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/bluefish/bluefish-${version}.tar.bz2";
-    sha256 = "0slyjx4b4l612505q02crk00pjg9d5wi8gm5gxvcs0f6l9dr1y8d";
+    sha256 = "sha256-IszfnOTlyWIQY+bPfXOr+wc2q3pyvOCG0Gxc9e4SXt4=";
   };
 
-  nativeBuildInputs = [ intltool pkg-config wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
   buildInputs = [
     gnome.adwaita-icon-theme
     gtk
diff --git a/pkgs/applications/editors/bviplus/default.nix b/pkgs/applications/editors/bviplus/default.nix
index f56fe637f83f8..1cffe049c73de 100644
--- a/pkgs/applications/editors/bviplus/default.nix
+++ b/pkgs/applications/editors/bviplus/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     homepage = "https://bviplus.sourceforge.net";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 5574a7fff602e..9eed461413a6c 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.199.0";
+  version = "1.200.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    hash = "sha256-07IXz2xhnAJFq4YbxjY6EjWiS5MCgylDphYUDk7ILfM=";
+    hash = "sha256-0+bjp9JOR06wLzA3CJqtGjCK1M0qPdzoLRt6+fV8tJ0=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 4ebc1017d42ff..52a333495ef61 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -11,13 +11,13 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2023.09.07",
-    "hash": "sha256-/ebjEOnmMH9pj8EZfyGP98fzBvSJepLTJGqK6xWoQWc="
+    "rev": "2023.10.02",
+    "hash": "sha256-9oV8xqkqpCfA7rk4UMxWFBIFQQ9slClFbaENRldFb8Q="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2023.09.18",
-    "hash": "sha256-JwZ9abeodtPqzZZ8NlAEZQLgb81DB2NPBcbBphwhpb0="
+    "rev": "2023.10.03",
+    "hash": "sha256-dJYpsvJNwQg6/NeXT23cpWFXwcfIYnWkHYoDItiUeOo="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -31,13 +31,13 @@
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2023.08.12",
-    "hash": "sha256-cEu8qkmcsNwrLR5t3bfMHI9fd3wmAq/dI/iRM4I4wmQ="
+    "rev": "2023.10.02",
+    "hash": "sha256-mn+mTZZyDkc7P7w1PG/rDgp+rpXC3dahoiRk+DUDMHQ="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
-    "rev": "2023.05.15",
-    "hash": "sha256-8dWitKZB4nLcJ3fIN40jfNnyAGcRPLfA0iKNZ0zWFWo="
+    "rev": "2023.06.29",
+    "hash": "sha256-mO8/RNJjy9KtFuDUmV2Y8Ff+Jjm9yRd7GSrI6mOONUc="
   },
   "Emmet-Pascal": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix
index fde2bebe5e4e2..79e871561c075 100644
--- a/pkgs/applications/editors/glow/default.nix
+++ b/pkgs/applications/editors/glow/default.nix
@@ -3,19 +3,28 @@
 , fetchFromGitHub
 , installShellFiles
 , stdenv
+, fetchpatch
 }:
+
 buildGoModule rec {
   pname = "glow";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "glow";
     rev = "v${version}";
-    sha256 = "sha256-CI0S9XJtJQClpQvI6iSb5rcHafEUwr2V6+Fq560lRfM=";
+    hash = "sha256-12UziCf3BO1z+W02slNCCvXhIkvZuVgXk++BdHG3gDI=";
   };
 
-  vendorHash = "sha256-2QrHBbhJ04r/vPK2m8J2KZSFrREDCc18tlKd7evghBc=";
+  vendorHash = "sha256-xxFC87t12bZKea9Snscul+xx8IGFAcoIr9Z8wxHL7nM=";
+
+  # Remove whenever a release with it is available
+  patches = [(fetchpatch {
+    url = "https://github.com/charmbracelet/glow/commit/f0734709f0be19a34e648caaf63340938a50caa2.patch";
+    name = "go-1-17-patch";
+    hash = "sha256-vpMiVb/7SFT9xcSpVGQriEjkexh1F/ljpfpIswdBx2Y=";
+  })];
 
   doCheck = false;
 
diff --git a/pkgs/applications/editors/hexcurse/default.nix b/pkgs/applications/editors/hexcurse/default.nix
index 715693770c550..1c2e09695e5e4 100644
--- a/pkgs/applications/editors/hexcurse/default.nix
+++ b/pkgs/applications/editors/hexcurse/default.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/LonnyGomes/hexcurse";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix
index 42b3f1495a317..c8a13738c9109 100644
--- a/pkgs/applications/editors/ht/default.nix
+++ b/pkgs/applications/editors/ht/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://hte.sourceforge.net";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 07372413b73cb..a278a05fe33b5 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -124,7 +124,7 @@ let
           server with your local machine, downloads necessary components on the
           backend, and opens your project in JetBrains Client.
         '';
-        maintainers = with maintainers; [ kouyk ];
+        maintainers = with maintainers; [ ];
       };
     });
 
diff --git a/pkgs/applications/editors/ldtk/default.nix b/pkgs/applications/editors/ldtk/default.nix
index f82ee11c3f88d..a9688241ab1d7 100644
--- a/pkgs/applications/editors/ldtk/default.nix
+++ b/pkgs/applications/editors/ldtk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ldtk";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
-    hash = "sha256-WuKzhE9r/yMqlV2bf/0AuNVKfxq/SlecmN3rHt6RjXo=";
+    hash = "sha256-Qt6ADyIbhuxFGh7IP1WwcsvMtjOUZoTd99GeWt5s4UM=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 4b77b2b7c6662..e183799d853ad 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -70,13 +70,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.9.2";
+    version = "0.9.4";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      hash = "sha256-kKstlq1BzoBAy+gy9iL1auRViJ223cVpAt5X7pUWT1U=";
+      hash = "sha256-Lyo98cAs7Zhx23N4s4f3zpWFKYJMmXleWpt3wiVDQZo=";
     };
 
     patches = [
diff --git a/pkgs/applications/editors/orbiton/default.nix b/pkgs/applications/editors/orbiton/default.nix
index 4c3fefad7fd37..b541f7a9049d7 100644
--- a/pkgs/applications/editors/orbiton/default.nix
+++ b/pkgs/applications/editors/orbiton/default.nix
@@ -4,13 +4,13 @@
 
 buildGoModule rec {
   pname = "orbiton";
-  version = "2.65.0";
+  version = "2.65.1";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "orbiton";
     rev = "v${version}";
-    hash = "sha256-ul5E5xOtH5qh5tNE+S/VhUOr079wHwgtXF7ZIAwGzgU=";
+    hash = "sha256-ebtzhir6nBnIawkJJq+BgXv/5CbXtbhujXkMBzQEsNY=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/editors/pulsar/default.nix b/pkgs/applications/editors/pulsar/default.nix
index 33dd4f2bb7a3a..d2162dc9c9ef1 100644
--- a/pkgs/applications/editors/pulsar/default.nix
+++ b/pkgs/applications/editors/pulsar/default.nix
@@ -33,13 +33,13 @@
 
 let
   pname = "pulsar";
-  version = "1.108.0";
+  version = "1.109.0";
 
   sourcesPath = {
     x86_64-linux.tarname = "Linux.${pname}-${version}.tar.gz";
-    x86_64-linux.hash = "sha256-9wxMKekowNkFX+m3h2ZeTXu/uMLyPi6IIbseJ16shG4=";
+    x86_64-linux.hash = "sha256-pIm3mI1YdfapxXgIciSHtI4LeqMw5RdYTnH+eHUQ4Yo=";
     aarch64-linux.tarname = "ARM.Linux.${pname}-${version}-arm64.tar.gz";
-    aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U=";
+    aarch64-linux.hash = "sha256-KIY/qzfl7CU0YwIgQlNHoAMhLfrTbQe7ZZvzdkUVw+M=";
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   newLibpath = lib.makeLibraryPath [
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 8440d1fd6d9c2..ce83128e98b10 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -180,7 +180,7 @@ stdenv.mkDerivation {
     description = "Vim - the text editor - for macOS";
     homepage    = "https://github.com/macvim-dev/macvim";
     license = licenses.vim;
-    maintainers = with maintainers; [ cstrahan lilyball ];
+    maintainers = with maintainers; [ lilyball ];
     platforms   = platforms.darwin;
     hydraPlatforms = []; # hydra can't build this as long as we rely on Xcode and sandboxProfile
   };
diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py
index 9770b27252cd8..438a231ec47d2 100755
--- a/pkgs/applications/editors/vim/plugins/update.py
+++ b/pkgs/applications/editors/vim/plugins/update.py
@@ -46,7 +46,7 @@ HEADER = (
     "# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!"
 )
 
-NVIM_TREESITTER_GENERATED_NIX = \
+NIXPKGS_NVIMTREESITTER_FOLDER = \
     "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix"
 
 
@@ -129,14 +129,15 @@ class VimEditor(pluginupdate.Editor):
         if self.nvim_treesitter_updated:
             print("updating nvim-treesitter grammars")
             nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter")
-            lockfile = json.load(open(args.nixpkgs.join(NVIM_TREESITTER_GENERATED_FILE, "lockfile.json")))
+            lockfile = os.path.join(args.nixpkgs.join(NIXPKGS_NVIMTREESITTER_FOLDER, "lockfile.json"))
+            lockfile = json.load(open(lockfile))
 
             nvim_treesitter.update_grammars(lockfile)
 
             if self.nixpkgs_repo:
                 index = self.nixpkgs_repo.index
                 for diff in index.diff(None):
-                    if diff.a_path == NVIM_TREESITTER_GENERATED_NIX:
+                    if diff.a_path == f"{NIXPKGS_NVIMTREESITTER_FOLDER}/generated.nix":
                         msg = "vimPlugins.nvim-treesitter: update grammars"
                         print(f"committing to nixpkgs: {msg}")
                         index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))])
diff --git a/pkgs/applications/editors/vim/plugins/updater.nix b/pkgs/applications/editors/vim/plugins/updater.nix
index e82650a040f23..d17247b3f8afe 100644
--- a/pkgs/applications/editors/vim/plugins/updater.nix
+++ b/pkgs/applications/editors/vim/plugins/updater.nix
@@ -3,6 +3,7 @@
 , makeWrapper
 , python3Packages
 , lib
+, nix-prefetch-git
 
 # optional
 , vimPlugins
@@ -38,7 +39,7 @@ buildPythonApplication {
     cp ${../../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py
 
     # wrap python scripts
-    makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ nix my_neovim ]}" --prefix PYTHONPATH : "$out/lib" )
+    makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ nix nix-prefetch-git my_neovim ]}" --prefix PYTHONPATH : "$out/lib" )
     wrapPythonPrograms
   '';
 
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index d0a6df0378317..22f047a1bc72f 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -343,11 +343,16 @@ let
         mktplcRef = {
           name = "vscode-neovim";
           publisher = "asvetliakov";
-          version = "0.0.97";
-          sha256 = "sha256-rNGW8WB3jBSjThiB0j4/ORKMRAaxFiMiBfaa+dbGu/w=";
+          version = "0.8.2";
+          sha256 = "0kw9asv91s37ql61blbb8pr7wb6c2ba1klchal53chp6ib55v5kn";
         };
         meta = {
+          changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
+          description = "Vim-mode for VS Code using embedded Neovim";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim";
           license = lib.licenses.mit;
+          homepage = "https://github.com/vscode-neovim/vscode-neovim";
+          maintainers = [ lib.maintainers.mikaelfangel ];
         };
       };
 
@@ -896,8 +901,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.51.0";
-          sha256 = "sha256-Xtr8cqcPrcrKpJBxQcY1j9Gl4CC6U3ZazS4bdBtdzUk=";
+          version = "0.52.0";
+          sha256 = "sha256-Y8qkcNEvJ/yzT8PDeErRzKGxYBNKKfbNNsJVaFDeIV4=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -1400,8 +1405,8 @@ let
         mktplcRef = {
           name = "vscode-firefox-debug";
           publisher = "firefox-devtools";
-          version = "2.9.8";
-          sha256 = "sha256-MCL562FPgEfhUM1KH5LMl7BblbjIkQ4UEwB67RlO5Mk=";
+          version = "2.9.10";
+          sha256 = "sha256-xuvlE8L/qjOn8Qhkv9sutn/xRbwC9V/IIfEr4Ixm1vA=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/firefox-devtools.vscode-firefox-debug/changelog";
@@ -3507,6 +3512,22 @@ let
         };
       };
 
+      uiua-lang.uiua-vscode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "uiua-vscode";
+          publisher = "uiua-lang";
+          version = "0.0.15";
+          sha256 = "sha256-q+hSssxOIfeRUw2z9nMiCmH8cAF+GPTvlmc1jl/L4uU=";
+        };
+        meta = {
+          description = "VSCode language extension for Uiua";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=uiua-lang.uiua-vscode";
+          homepage = "https://github.com/uiua-lang/uiua-vscode";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.wackbyte ];
+        };
+      };
+
       unifiedjs.vscode-mdx = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-mdx";
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index e8ae861bf2fbc..693ffb4e94412 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -1,164 +1,55 @@
-{ stdenv, lib, makeDesktopItem
-, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
-, at-spi2-atk, autoPatchelfHook, alsa-lib, mesa, nss, nspr, xorg
-, systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland
-, libglvnd, libkrb5
-
-# Populate passthru.tests
+{ stdenv
+, lib
+, makeDesktopItem
+, unzip
+, libsecret
+, libXScrnSaver
+, libxshmfence
+, buildPackages
+, at-spi2-atk
+, autoPatchelfHook
+, alsa-lib
+, mesa
+, nss
+, nspr
+, xorg
+, systemd
+, fontconfig
+, libdbusmenu
+, glib
+, buildFHSEnv
+, wayland
+, libglvnd
+, libkrb5
+
+  # Populate passthru.tests
 , tests
 
-# needed to fix "Save as Root"
-, asar, bash
-
-# Attributes inherit from specific versions
-, version, src, meta, sourceRoot, commandLineArgs
-, executableName, longName, shortName, pname, updateScript
+  # needed to fix "Save as Root"
+, asar
+, bash
+
+  # Attributes inherit from specific versions
+, version
+, src
+, meta
+, sourceRoot
+, commandLineArgs
+, executableName
+, longName
+, shortName
+, pname
+, updateScript
 , dontFixup ? false
-, rev ? null, vscodeServer ? null
+, rev ? null
+, vscodeServer ? null
 , sourceExecutableName ? executableName
 , useVSCodeRipgrep ? false
 , ripgrep
 }:
 
+stdenv.mkDerivation (finalAttrs:
 let
-  unwrapped = stdenv.mkDerivation {
-
-    inherit pname version src sourceRoot dontFixup;
-
-    passthru = {
-      inherit executableName longName tests updateScript;
-      fhs = fhs {};
-      fhsWithPackages = f: fhs { additionalPkgs = f; };
-    } // lib.optionalAttrs (vscodeServer != null) {
-      inherit rev vscodeServer;
-    };
-
-    desktopItem = makeDesktopItem {
-      name = executableName;
-      desktopName = longName;
-      comment = "Code Editing. Redefined.";
-      genericName = "Text Editor";
-      exec = "${executableName} %F";
-      icon = "vs${executableName}";
-      startupNotify = true;
-      startupWMClass = shortName;
-      categories = [ "Utility" "TextEditor" "Development" "IDE" ];
-      mimeTypes = [ "text/plain" "inode/directory" ];
-      keywords = [ "vscode" ];
-      actions.new-empty-window = {
-        name = "New Empty Window";
-        exec = "${executableName} --new-window %F";
-        icon = "vs${executableName}";
-      };
-    };
-
-    urlHandlerDesktopItem = makeDesktopItem {
-      name = executableName + "-url-handler";
-      desktopName = longName + " - URL Handler";
-      comment = "Code Editing. Redefined.";
-      genericName = "Text Editor";
-      exec = executableName + " --open-url %U";
-      icon = "vs${executableName}";
-      startupNotify = true;
-      categories = [ "Utility" "TextEditor" "Development" "IDE" ];
-      mimeTypes = [ "x-scheme-handler/vscode" ];
-      keywords = [ "vscode" ];
-      noDisplay = true;
-    };
-
-    buildInputs = [ libsecret libXScrnSaver libxshmfence ]
-      ++ lib.optionals (!stdenv.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ];
-
-    runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ];
-
-    nativeBuildInputs = [ unzip ]
-      ++ lib.optionals stdenv.isLinux [
-        autoPatchelfHook
-        asar
-        # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
-        (buildPackages.wrapGAppsHook.override { inherit (buildPackages) makeWrapper; })
-      ];
-
-    dontBuild = true;
-    dontConfigure = true;
-    noDumpEnvVars = true;
-
-    installPhase = ''
-      runHook preInstall
-    '' + (if stdenv.isDarwin then ''
-      mkdir -p "$out/Applications/${longName}.app" "$out/bin"
-      cp -r ./* "$out/Applications/${longName}.app"
-      ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" "$out/bin/${executableName}"
-    '' else ''
-      mkdir -p "$out/lib/vscode" "$out/bin"
-      cp -r ./* "$out/lib/vscode"
-
-      ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}"
-
-      mkdir -p "$out/share/applications"
-      ln -s "$desktopItem/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
-      ln -s "$urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
-
-      # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages.
-      mkdir -p "$out/share/pixmaps"
-      cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png"
-
-      # Override the previously determined VSCODE_PATH with the one we know to be correct
-      sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}"
-      grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded
-
-      # Remove native encryption code, as it derives the key from the executable path which does not work for us.
-      # The credentials should be stored in a secure keychain already, so the benefit of this is questionable
-      # in the first place.
-      rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt
-    '') + ''
-      runHook postInstall
-    '';
-
-    preFixup = ''
-      gappsWrapperArgs+=(
-        # Add gio to PATH so that moving files to the trash works when not using a desktop environment
-        --prefix PATH : ${glib.bin}/bin
-        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
-        --add-flags ${lib.escapeShellArg commandLineArgs}
-      )
-    '';
-
-    # See https://github.com/NixOS/nixpkgs/issues/49643#issuecomment-873853897
-    # linux only because of https://github.com/NixOS/nixpkgs/issues/138729
-    postPatch = lib.optionalString stdenv.isLinux ''
-      # this is a fix for "save as root" functionality
-      packed="resources/app/node_modules.asar"
-      unpacked="resources/app/node_modules"
-      asar extract "$packed" "$unpacked"
-      substituteInPlace $unpacked/@vscode/sudo-prompt/index.js \
-        --replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \
-        --replace "/bin/bash" "${bash}/bin/bash"
-      rm -rf "$packed"
-
-      # without this symlink loading JsChardet, the library that is used for auto encoding detection when files.autoGuessEncoding is true,
-      # fails to load with: electron/js2c/renderer_init: Error: Cannot find module 'jschardet'
-      # and the window immediately closes which renders VSCode unusable
-      # see https://github.com/NixOS/nixpkgs/issues/152939 for full log
-      ln -rs "$unpacked" "$packed"
-    '' + (let
-      vscodeRipgrep = if stdenv.isDarwin then
-        "Contents/Resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg"
-      else
-        "resources/app/node_modules/@vscode/ripgrep/bin/rg";
-    in if !useVSCodeRipgrep then ''
-      rm ${vscodeRipgrep}
-      ln -s ${ripgrep}/bin/rg ${vscodeRipgrep}
-    '' else ''
-      chmod +x ${vscodeRipgrep}
-    '');
-
-    postFixup = lib.optionalString stdenv.isLinux ''
-      patchelf --add-needed ${libglvnd}/lib/libGLESv2.so.2 $out/lib/vscode/${executableName}
-    '';
-
-    inherit meta;
-  };
 
   # Vscode and variants allow for users to download and use extensions
   # which often include the usage of pre-built binaries.
@@ -169,7 +60,7 @@ let
   #
   # buildFHSEnv allows for users to use the existing vscode
   # extension tooling without significant pain.
-  fhs = { additionalPkgs ? pkgs: [] }: buildFHSEnv {
+  fhs = { additionalPkgs ? pkgs: [ ] }: buildFHSEnv {
     # also determines the name of the wrapped command
     name = executableName;
 
@@ -197,10 +88,10 @@ let
 
     # symlink shared assets, including icons and desktop entries
     extraInstallCommands = ''
-      ln -s "${unwrapped}/share" "$out/"
+      ln -s "${finalAttrs.finalPackage}/share" "$out/"
     '';
 
-    runScript = "${unwrapped}/bin/${executableName}";
+    runScript = "${finalAttrs.finalPackage}/bin/${executableName}";
 
     # vscode likes to kill the parent so that the
     # gui application isn't attached to the terminal session
@@ -208,7 +99,7 @@ let
 
     passthru = {
       inherit executableName;
-      inherit (unwrapped) pname version; # for home-manager module
+      inherit (finalAttrs.finalPackage) pname version; # for home-manager module
     };
 
     meta = meta // {
@@ -219,4 +110,145 @@ let
     };
   };
 in
-  unwrapped
+{
+
+  inherit pname version src sourceRoot dontFixup;
+
+  passthru = {
+    inherit executableName longName tests updateScript;
+    fhs = fhs { };
+    fhsWithPackages = f: fhs { additionalPkgs = f; };
+  } // lib.optionalAttrs (vscodeServer != null) {
+    inherit rev vscodeServer;
+  };
+
+  desktopItem = makeDesktopItem {
+    name = executableName;
+    desktopName = longName;
+    comment = "Code Editing. Redefined.";
+    genericName = "Text Editor";
+    exec = "${executableName} %F";
+    icon = "vs${executableName}";
+    startupNotify = true;
+    startupWMClass = shortName;
+    categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+    mimeTypes = [ "text/plain" "inode/directory" ];
+    keywords = [ "vscode" ];
+    actions.new-empty-window = {
+      name = "New Empty Window";
+      exec = "${executableName} --new-window %F";
+      icon = "vs${executableName}";
+    };
+  };
+
+  urlHandlerDesktopItem = makeDesktopItem {
+    name = executableName + "-url-handler";
+    desktopName = longName + " - URL Handler";
+    comment = "Code Editing. Redefined.";
+    genericName = "Text Editor";
+    exec = executableName + " --open-url %U";
+    icon = "vs${executableName}";
+    startupNotify = true;
+    categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+    mimeTypes = [ "x-scheme-handler/vscode" ];
+    keywords = [ "vscode" ];
+    noDisplay = true;
+  };
+
+  buildInputs = [ libsecret libXScrnSaver libxshmfence ]
+    ++ lib.optionals (!stdenv.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ];
+
+  runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ];
+
+  nativeBuildInputs = [ unzip ]
+    ++ lib.optionals stdenv.isLinux [
+    autoPatchelfHook
+    asar
+    # override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
+    (buildPackages.wrapGAppsHook.override { inherit (buildPackages) makeWrapper; })
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+  noDumpEnvVars = true;
+
+  installPhase = ''
+    runHook preInstall
+  '' + (if stdenv.isDarwin then ''
+    mkdir -p "$out/Applications/${longName}.app" "$out/bin"
+    cp -r ./* "$out/Applications/${longName}.app"
+    ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" "$out/bin/${executableName}"
+  '' else ''
+    mkdir -p "$out/lib/vscode" "$out/bin"
+    cp -r ./* "$out/lib/vscode"
+
+    ln -s "$out/lib/vscode/bin/${sourceExecutableName}" "$out/bin/${executableName}"
+
+    mkdir -p "$out/share/applications"
+    ln -s "$desktopItem/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
+    ln -s "$urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
+
+    # These are named vscode.png, vscode-insiders.png, etc to match the name in upstream *.deb packages.
+    mkdir -p "$out/share/pixmaps"
+    cp "$out/lib/vscode/resources/app/resources/linux/code.png" "$out/share/pixmaps/vs${executableName}.png"
+
+    # Override the previously determined VSCODE_PATH with the one we know to be correct
+    sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}"
+    grep -q "VSCODE_PATH='$out/lib/vscode'" "$out/bin/${executableName}" # check if sed succeeded
+
+    # Remove native encryption code, as it derives the key from the executable path which does not work for us.
+    # The credentials should be stored in a secure keychain already, so the benefit of this is questionable
+    # in the first place.
+    rm -rf $out/lib/vscode/resources/app/node_modules/vscode-encrypt
+  '') + ''
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Add gio to PATH so that moving files to the trash works when not using a desktop environment
+      --prefix PATH : ${glib.bin}/bin
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+      --add-flags ${lib.escapeShellArg commandLineArgs}
+    )
+  '';
+
+  # See https://github.com/NixOS/nixpkgs/issues/49643#issuecomment-873853897
+  # linux only because of https://github.com/NixOS/nixpkgs/issues/138729
+  postPatch = lib.optionalString stdenv.isLinux ''
+    # this is a fix for "save as root" functionality
+    packed="resources/app/node_modules.asar"
+    unpacked="resources/app/node_modules"
+    asar extract "$packed" "$unpacked"
+    substituteInPlace $unpacked/@vscode/sudo-prompt/index.js \
+      --replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \
+      --replace "/bin/bash" "${bash}/bin/bash"
+    rm -rf "$packed"
+
+    # without this symlink loading JsChardet, the library that is used for auto encoding detection when files.autoGuessEncoding is true,
+    # fails to load with: electron/js2c/renderer_init: Error: Cannot find module 'jschardet'
+    # and the window immediately closes which renders VSCode unusable
+    # see https://github.com/NixOS/nixpkgs/issues/152939 for full log
+    ln -rs "$unpacked" "$packed"
+  '' + (
+    let
+      vscodeRipgrep =
+        if stdenv.isDarwin then
+          "Contents/Resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg"
+        else
+          "resources/app/node_modules/@vscode/ripgrep/bin/rg";
+    in
+    if !useVSCodeRipgrep then ''
+      rm ${vscodeRipgrep}
+      ln -s ${ripgrep}/bin/rg ${vscodeRipgrep}
+    '' else ''
+      chmod +x ${vscodeRipgrep}
+    ''
+  );
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    patchelf --add-needed ${libglvnd}/lib/libGLESv2.so.2 $out/lib/vscode/${executableName}
+  '';
+
+  inherit meta;
+})
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 884aca67823b3..c924e49dfac83 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -30,21 +30,21 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0i6zk4zkwcw5lnzhg7vvnsw17nar97bbq3iishag9cpjqs9jpq4z";
-    x86_64-darwin = "1sy0ir4mhw9j5ifiv6d2928gcs8wfksxlsp312r9nsmc2h0i11g6";
-    aarch64-linux = "13lsycmia9yj6s7zf441vg8c0pipxpxdrnrj7v4rhjlvixjb8f8k";
-    aarch64-darwin = "1qwmwx0q05lzhsb8810kjk1lcw4wm7cr0zn7pkyjlsda0vkcc5g8";
-    armv7l-linux = "1hlnd9w141phrd3mzkhgiskbcnxqb05396frrv38pns007xhj103";
+    x86_64-linux = "1ayb0fj3dfcvwmfc749aihn1mm2h4nin914kvalchkm9q0xvc2y9";
+    x86_64-darwin = "0yvcm1m1dlklacc0rir4ja2bqiwlwmrmx3qwxf3ik40m1dfwhh53";
+    aarch64-linux = "0vj7q6b82n9509dph0p4d6n7b9gwz5b3wkg4wysm4w4xflqlx9al";
+    aarch64-darwin = "144fxkxg6c5216ds32wdx7qf5hnvlq4a429z90wz62iynslaggl4";
+    armv7l-linux = "1819dg30dy8hd8gi84b1992ii1bxcfcvhx9yf4q8wdf62hw5nkpq";
   }.${system} or throwSystem;
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.82.2";
+    version = "1.83.0";
     pname = "vscode" + lib.optionalString isInsiders "-insiders";
 
     # This is used for VS Code - Remote SSH test
-    rev = "abd2f3db4bdb28f9e95536dfa84d8479f1eb312d";
+    rev = "e7e037083ff4455cf320e344325dacb480062c3c";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
     longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -68,7 +68,7 @@ in
       src = fetchurl {
         name = "vscode-server-${rev}.tar.gz";
         url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
-        sha256 = "1d1ypmasr7zj4csinb5nj531ckj7a1pgn36469fdzwn0xjrgkg16";
+        sha256 = "11lf24hsbc4xbi08lrzxw4bn0jqp7rbhz120y9i3ffq25kni989l";
       };
     };
 
diff --git a/pkgs/applications/emulators/dosbox-x/default.nix b/pkgs/applications/emulators/dosbox-x/default.nix
new file mode 100644
index 0000000000000..3c0805e270b46
--- /dev/null
+++ b/pkgs/applications/emulators/dosbox-x/default.nix
@@ -0,0 +1,101 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, alsa-lib
+, AudioUnit
+, autoreconfHook
+, Carbon
+, Cocoa
+, ffmpeg
+, fluidsynth
+, freetype
+, glib
+, libpcap
+, libpng
+, libslirp
+, libxkbfile
+, libXrandr
+, makeWrapper
+, ncurses
+, pkg-config
+, SDL2
+, SDL2_net
+, testers
+, yad
+, zlib
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "dosbox-x";
+  version = "2023.10.06";
+
+  src = fetchFromGitHub {
+    owner = "joncampbell123";
+    repo = "dosbox-x";
+    rev = "dosbox-x-v${finalAttrs.version}";
+    hash = "sha256-YNYtYqcpTOx4xS/LXI53h3S+na8JVpn4w8Dhf4fWNBQ=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    ffmpeg
+    fluidsynth
+    freetype
+    glib
+    libpcap
+    libpng
+    libslirp
+    ncurses
+    SDL2
+    SDL2_net
+    zlib
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    libxkbfile
+    libXrandr
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    AudioUnit
+    Carbon
+    Cocoa
+  ];
+
+  configureFlags = [ "--enable-sdl2" ];
+
+  enableParallelBuilding = true;
+
+  hardeningDisable = [ "format" ]; # https://github.com/joncampbell123/dosbox-x/issues/4436
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
+    wrapProgram $out/bin/dosbox-x \
+      --prefix PATH : ${lib.makeBinPath [ yad ]}
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+    # Version output on stderr, program returns status code 1
+    command = "${lib.getExe finalAttrs.finalPackage} -version 2>&1 || true";
+  };
+
+  meta = {
+    homepage = "https://dosbox-x.com";
+    description = "A cross-platform DOS emulator based on the DOSBox project";
+    longDescription = ''
+      DOSBox-X is an expanded fork of DOSBox with specific focus on running
+      Windows 3.x/9x/Me, PC-98 and 3D support via 3dfx.
+
+      The full expanded feature list is available here:
+      https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights
+    '';
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ hughobrien OPNA2608 ];
+    platforms = lib.platforms.unix;
+    mainProgram = "dosbox-x";
+  };
+})
diff --git a/pkgs/applications/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix
index f16ee43352f1d..0b6dac3286539 100644
--- a/pkgs/applications/emulators/vice/default.nix
+++ b/pkgs/applications/emulators/vice/default.nix
@@ -6,116 +6,23 @@
 , perl
 , libpng
 , giflib
-, libjpeg
 , alsa-lib
 , readline
 , libGLU
 , libGL
-, libXaw
 , pkg-config
-, gtk2
+, gtk3
+, glew
 , SDL
 , SDL_image
-, autoreconfHook
-, makeDesktopItem
 , dos2unix
+, runtimeShell
 , xa
 , file
+, wrapGAppsHook
+, xdg-utils
 }:
 
-let
-  desktopItems = [
-    (makeDesktopItem {
-      name = "x128";
-      exec = "x128";
-      comment = "VICE: C128 Emulator";
-      desktopName = "VICE: C128 Emulator";
-      genericName = "Commodore 128 emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "x64dtv";
-      exec = "x64dtv";
-      comment = "VICE: C64 DTV Emulator";
-      desktopName = "VICE: C64 DTV Emulator";
-      genericName = "Commodore 64 DTV emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "x64sc";
-      exec = "x64sc";
-      comment = "VICE: C64 Emulator";
-      desktopName = "VICE: C64 Emulator";
-      genericName = "Commodore 64 SC emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xcbm2";
-      exec = "xcbm2";
-      comment = "VICE: CBM-II B-Model Emulator";
-      desktopName = "VICE: CBM-II B-Model Emulator";
-      genericName = "CBM-II B-Model Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xcbm5x0";
-      exec = "xcbm5x0";
-      comment = "VICE: CBM-II P-Model Emulator";
-      desktopName = "VICE: CBM-II P-Model Emulator";
-      genericName = "CBM-II P-Model Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xpet";
-      exec = "xpet";
-      comment = "VICE: PET Emulator";
-      desktopName = "VICE: PET Emulator";
-      genericName = "Commodore PET Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xplus4";
-      exec = "xplus4";
-      comment = "VICE: PLUS4 Emulator";
-      desktopName = "VICE: PLUS4 Emulator";
-      genericName = "Commodore PLUS4 Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xscpu64";
-      exec = "xscpu64";
-      comment = "VICE: SCPU64 Emulator";
-      desktopName = "VICE: SCPU64 Emulator";
-      genericName = "Commodore SCPU64 Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "xvic";
-      exec = "xvic";
-      comment = "VICE: VIC-20 Emulator";
-      desktopName = "VICE: VIC-20 Emulator";
-      genericName = "Commodore VIC-20 Emulator";
-      categories = [ "System" ];
-    })
-
-    (makeDesktopItem {
-      name = "vsid";
-      exec = "vsid";
-      comment = "VSID: The SID Emulator";
-      desktopName = "VSID: The SID Emulator";
-      genericName = "SID Emulator";
-      categories = [ "System" ];
-    })
-  ];
-in
 stdenv.mkDerivation rec {
   pname = "vice";
   version = "3.7.1";
@@ -126,46 +33,41 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    autoreconfHook
     bison
     dos2unix
     file
     flex
     pkg-config
+    wrapGAppsHook
   ];
 
   buildInputs = [
     alsa-lib
     giflib
-    gtk2
+    gtk3
+    glew
     libGL
     libGLU
-    libXaw
-    libjpeg
     libpng
     perl
     readline
     SDL
     SDL_image
     xa
+    xdg-utils
   ];
   dontDisableStatic = true;
-  configureFlags = [ "--enable-fullscreen" "--enable-gnomeui" "--disable-pdf-docs" ];
+  configureFlags = [ "--enable-sdl2ui" "--enable-gtk3ui" "--enable-desktop-files" "--disable-pdf-docs" "--with-gif" ];
+
+  LIBS = "-lGL";
 
   preBuild = ''
-    for i in src/resid src/resid-dtv
-    do
-      mkdir -pv $i/src
-      ln -sv ../../wrap-u-ar.sh $i/src
-    done
+    sed -i -e 's|#!/usr/bin/env bash|${runtimeShell}/bin/bash|' src/arch/gtk3/novte/box_drawing_generate.sh
   '';
 
   postInstall = ''
-    for app in ${toString desktopItems}
-    do
-        mkdir -p $out/share/applications
-        cp $app/share/applications/* $out/share/applications
-    done
+    mkdir -p $out/share/applications
+    cp src/arch/gtk3/data/unix/vice-org-*.desktop $out/share/applications
   '';
 
   meta = {
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index aca9874175583..813d032bf9648 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -69,9 +69,9 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the hash for staging as well.
-    version = "8.14";
+    version = "8.17";
     url = "https://dl.winehq.org/wine/source/8.x/wine-${version}.tar.xz";
-    hash = "sha256-4YNu9msYJfqdoEKDDASVsqw5SBVENkNGaXnuif3X+vQ=";
+    hash = "sha256-8BeFvTFix05l3rE6oK3XEeN8SERUcZvt0OjCsaNGm34=";
     inherit (stable) patches;
 
     ## see http://wiki.winehq.org/Gecko
@@ -116,8 +116,8 @@ in rec {
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
-    inherit (unstable) version;
-    hash = "sha256-ct/RGXt9B6F3PHbirX8K03AZ0Kunitd2HmI0N5k6VHI=";
+    version = "8.17.1";
+    hash = "sha256-h36NDFYsI0y8TG41IH10IdF4QEuBkBewQ3knZ9iwDpg=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/applications/emulators/wine/staging.nix b/pkgs/applications/emulators/wine/staging.nix
index b36d4862a7f01..9e9a03ebfc597 100644
--- a/pkgs/applications/emulators/wine/staging.nix
+++ b/pkgs/applications/emulators/wine/staging.nix
@@ -5,7 +5,7 @@ with callPackage ./util.nix {};
 let patch = (callPackage ./sources.nix {}).staging;
     build-inputs = pkgNames: extra:
       (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
-in assert lib.getVersion wineUnstable == patch.version;
+in assert lib.versions.majorMinor wineUnstable.version == lib.versions.majorMinor patch.version;
 
 (lib.overrideDerivation wineUnstable (self: {
   buildInputs = build-inputs [ "perl" "util-linux" "autoconf" "gitMinimal" ] self.buildInputs;
diff --git a/pkgs/applications/emulators/wineasio/default.nix b/pkgs/applications/emulators/wineasio/default.nix
index 5a47111610d1c..5c95f7f828ff3 100644
--- a/pkgs/applications/emulators/wineasio/default.nix
+++ b/pkgs/applications/emulators/wineasio/default.nix
@@ -9,13 +9,13 @@
 
 multiStdenv.mkDerivation rec {
   pname = "wineasio";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-HEnJj9yfXe+NQuPATMpPvseFs+3TkiMLd1L+fIfQd+o=";
+    hash = "sha256-d5BGJAkaM5XZXyqm6K/UzFE4sD6QVHHGnLi1bcHxiaM=";
     fetchSubmodules = true;
   };
 
@@ -36,10 +36,10 @@ multiStdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    install -D build32/wineasio.dll $out/lib/wine/i386-windows/wineasio.dll
-    install -D build32/wineasio.dll.so $out/lib/wine/i386-unix/wineasio.dll.so
-    install -D build64/wineasio.dll $out/lib/wine/x86_64-windows/wineasio.dll
-    install -D build64/wineasio.dll.so $out/lib/wine/x86_64-unix/wineasio.dll.so
+    install -D build32/wineasio32.dll    $out/lib/wine/i386-windows/wineasio32.dll
+    install -D build32/wineasio32.dll.so $out/lib/wine/i386-unix/wineasio32.dll.so
+    install -D build64/wineasio64.dll    $out/lib/wine/x86_64-windows/wineasio64.dll
+    install -D build64/wineasio64.dll.so $out/lib/wine/x86_64-unix/wineasio64.dll.so
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/emulators/yuzu/sources.nix b/pkgs/applications/emulators/yuzu/sources.nix
index 1d150cb9ffe98..fc6d1813afb51 100644
--- a/pkgs/applications/emulators/yuzu/sources.nix
+++ b/pkgs/applications/emulators/yuzu/sources.nix
@@ -1,19 +1,19 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2023-09-27
+# Last updated: 2023-10-07
 {
   compatList = {
-    rev = "0e93552d7d65a8eb5149d69488281e4abeeba396";
+    rev = "156a0a80efc47069ba3360f8a1b268a1c6f2f505";
     hash = "sha256:1hdsza3wf9a0yvj6h55gsl7xqvhafvbz1i8paz9kg7l49b0gnlh1";
   };
 
   mainline = {
-    version = "1569";
-    hash = "sha256:17qs5fn75zqxz0c325zyj46z79pvm2j536afyg96glq6av2kql2b";
+    version = "1579";
+    hash = "sha256:0689w42as1di8xbh8kq2p0cws8gdwq64zdj3i8wq612nkw0q5s60";
   };
 
   ea = {
-    version = "3897";
-    distHash = "sha256:1kxn7hcrn7kkdjgkxpxjw2pdrg73jhlbv3gvhc6z8358bav7xcbs";
-    fullHash = "sha256:1zc1k90f4jzbm8l8fjfsnd77hljh4nqa78l7cczcc3yv2jwrgrz6";
+    version = "3911";
+    distHash = "sha256:0xj642kjhj0gp9l15b3ysj3gmyy47rcvzw9amghsfl13bg5ffnwh";
+    fullHash = "sha256:13rd6kwnhpvjzp67k6pqgl9fsqzwy5d8043hv6kd93gg8jbxkp38";
   };
 }
diff --git a/pkgs/applications/file-managers/doublecmd/default.nix b/pkgs/applications/file-managers/doublecmd/default.nix
index 6ab8240496835..a7aafbbf3dbec 100644
--- a/pkgs/applications/file-managers/doublecmd/default.nix
+++ b/pkgs/applications/file-managers/doublecmd/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "doublecmd";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "doublecmd";
     repo = "doublecmd";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-IccM7AwPiOtGHjAzvjQ99mrLFh8iZu8G7Rf71LJHB/g=";
+    hash = "sha256-hRBF0Xl1SSoW+vbp9c1iCuFBVIzLtueNJaqoFMF8lJ4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 7ce2f4c5a27ea..c6d3a83e0c287 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -48,13 +48,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imagemagick";
-  version = "7.1.1-18";
+  version = "7.1.1-19";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = finalAttrs.version;
-    hash = "sha256-DnmX4dxpOqDGHOFSnq7ms2fLGdB1nKdZbpd0Q9t+X6A=";
+    hash = "sha256-SxvaodAjSlOvmGPnD0AcXHrE5dTX2eX1sDM/441rP64=";
   };
 
   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 09b003be6774b..92414531522e8 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -14,19 +14,19 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "21.7.5";
+  version = "22.0.2";
 
   src = fetchFromGitHub {
     owner = "jgraph";
     repo = "drawio-desktop";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-hf1sektdnW4c3dySun8sQ9vBrAqTocrLFAIYkemNC3I=";
+    hash = "sha256-L+tbNCokVoiS2KkaPVBjG7H/8cqz1e8dlXC5H8BkPvU=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-FVZq/voCjnRSBLtQtJkJbErGvprEHq+U/VZ9rEwbJsI=";
+    hash = "sha256-d8AquOKdrPQHBhRG9o1GB18LpwlwQK6ZaM1gLAcjilM=";
   };
 
   nativeBuildInputs = [
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
       comment = "draw.io desktop";
       mimeTypes = [ "application/vnd.jgraph.mxfile" "application/vnd.visio" ];
       categories = [ "Graphics" ];
-      startupWMClass = "drawio";
+      startupWMClass = "draw.io";
     })
   ];
 
diff --git a/pkgs/applications/graphics/f3d/default.nix b/pkgs/applications/graphics/f3d/default.nix
index 918350b3fcb57..0207d3fa13e0c 100644
--- a/pkgs/applications/graphics/f3d/default.nix
+++ b/pkgs/applications/graphics/f3d/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "f3d";
-  version = "2.1.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "f3d-app";
     repo = "f3d";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2LDHIeKgLUS2ujJUx2ZerXmZYB9rrT3PYvrtzV4vcHM=";
+    hash = "sha256-3Pg8uvrUGPKPmsn24q5HPMg9dgvukAXBgSVTW0NiCME=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 4859fee52fd98..9a27e35fc1480 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "feh";
-  version = "3.10";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "derf";
     repo = pname;
     rev = version;
-    hash = "sha256-9NJ6zgQHcFJPmRlqJuCMXcKjLvDPUG+QvKGTJlWvWK4=";
+    hash = "sha256-1dz04RcaoP79EoE+SsatXm2wMRCbNnmAzMECYk3y3jg=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 80e13fda9222a..1a2175294981c 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fig2dev";
-  version = "3.2.8b";
+  version = "3.2.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
-    sha256 = "1jv8rg71dsy00lpg434r5zqs5qrg8mxqvv2gpcjjvmzsm551d2j1";
+    hash = "sha256-FeJGyNE8xy3iXggxQDitUM59Le+pzxr8Fy/X9ZMgkLE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/graphics/meme-image-generator/default.nix b/pkgs/applications/graphics/meme-image-generator/default.nix
index 198f68577487b..d9e21d3f57a2e 100644
--- a/pkgs/applications/graphics/meme-image-generator/default.nix
+++ b/pkgs/applications/graphics/meme-image-generator/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "meme-image-generator";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "nomad-software";
     repo = "meme";
     rev = "v${version}";
-    hash = "sha256-MzSPJCszVEZkBvSbRzXR7AaDQOOjDQ2stKKJr8oGOSE=";
+    hash = "sha256-L+JpNg9X3RSNXTozv2H1n2JiQx75i9gFGaQmDFaMIf0=";
   };
 
   vendorHash = null;
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/nomad-software/meme";
     license = licenses.mit;
     maintainers = [ maintainers.fgaz ];
+    mainProgram = "meme";
   };
 }
diff --git a/pkgs/applications/graphics/oculante/Cargo.lock b/pkgs/applications/graphics/oculante/Cargo.lock
index 02b4228db9970..e6b3b52c32ac3 100644
--- a/pkgs/applications/graphics/oculante/Cargo.lock
+++ b/pkgs/applications/graphics/oculante/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "ab_glyph"
-version = "0.2.21"
+version = "0.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39"
+checksum = "b1061f3ff92c2f65800df1f12fc7b4ff44ee14783104187dd04dfee6f11b0fd2"
 dependencies = [
  "ab_glyph_rasterizer",
  "owned_ttf_parser",
@@ -57,9 +57,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.5"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
+checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
 dependencies = [
  "memchr",
 ]
@@ -140,7 +140,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -176,7 +176,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -200,7 +200,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
 ]
 
@@ -211,20 +211,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
 dependencies = [
  "concurrent-queue",
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.5.1"
+version = "1.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
+checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499"
 dependencies = [
  "async-lock",
  "async-task",
  "concurrent-queue",
- "fastrand 1.9.0",
+ "fastrand 2.0.1",
  "futures-lite",
  "slab",
 ]
@@ -255,7 +255,7 @@ dependencies = [
  "log",
  "parking",
  "polling",
- "rustix 0.37.23",
+ "rustix 0.37.24",
  "slab",
  "socket2 0.4.9",
  "waker-fn",
@@ -267,24 +267,23 @@ version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
 ]
 
 [[package]]
 name = "async-process"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
  "async-io",
  "async-lock",
- "autocfg",
+ "async-signal",
  "blocking",
  "cfg-if 1.0.0",
- "event-listener",
+ "event-listener 3.0.0",
  "futures-lite",
- "rustix 0.37.23",
- "signal-hook",
+ "rustix 0.38.17",
  "windows-sys 0.48.0",
 ]
 
@@ -296,14 +295,32 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1079d27511f6c038736279421774ef4ad4bdd2e300825f4a48c4cc463a57cedf"
+dependencies = [
+ "async-io",
+ "async-lock",
+ "atomic-waker",
+ "cfg-if 1.0.0",
+ "futures-core",
+ "futures-io",
+ "rustix 0.38.17",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.4.0"
+version = "4.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
+checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921"
 
 [[package]]
 name = "async-trait"
@@ -313,7 +330,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -330,15 +347,15 @@ dependencies = [
 
 [[package]]
 name = "atomic-waker"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "atomic_refcell"
-version = "0.1.11"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905"
+checksum = "76f2bfe491d41d45507b8431da8274f7feeca64a49e86d980eed2937ec2ff020"
 
 [[package]]
 name = "atty"
@@ -514,17 +531,18 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.3.1"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a"
 dependencies = [
  "async-channel",
  "async-lock",
  "async-task",
- "atomic-waker",
- "fastrand 1.9.0",
+ "fastrand 2.0.1",
+ "futures-io",
  "futures-lite",
- "log",
+ "piper",
+ "tracing",
 ]
 
 [[package]]
@@ -565,14 +583,14 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
@@ -677,7 +695,7 @@ checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "windows-targets 0.48.5",
 ]
 
@@ -774,9 +792,9 @@ checksum = "7439becb5fafc780b6f4de382b1a7a3e70234afe783854a4702ee8adbb838609"
 
 [[package]]
 name = "concurrent-queue"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
+checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -1084,7 +1102,7 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
- "libloading",
+ "libloading 0.8.1",
 ]
 
 [[package]]
@@ -1167,7 +1185,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -1207,26 +1225,15 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
 dependencies = [
- "errno-dragonfly",
  "libc",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
 name = "error-code"
 version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1242,7 +1249,7 @@ version = "0.22.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -1258,10 +1265,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
+name = "event-listener"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exr"
-version = "1.7.0"
+version = "1.71.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1e481eb11a482815d3e9d618db8c42a93207134662873809335a92327440c18"
+checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
 dependencies = [
  "bit_field",
  "flume",
@@ -1311,7 +1329,7 @@ version = "2.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc789a40040e11bbe4ba31ca319406805a12fe3f8d71314bbc4bd076602ad55a"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "thiserror",
 ]
 
@@ -1326,9 +1344,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
@@ -1372,19 +1390,15 @@ version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fc612c5837986b7104a87a0df74a5460931f1c5274be12f8d0f40aa2f30d632"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
 name = "flume"
-version = "0.10.14"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "futures-core",
- "futures-sink",
- "nanorand",
- "pin-project",
  "spin 0.9.8",
 ]
 
@@ -1535,7 +1549,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -1634,10 +1648,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if 1.0.0",
- "js-sys",
  "libc",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
 ]
 
 [[package]]
@@ -1652,9 +1664,9 @@ dependencies = [
 
 [[package]]
 name = "gif-dispose"
-version = "4.0.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a40dfdf5be59e0cbbf77cb7c6a91a18ee6d398b70fc54ad900e2bcba1860cb50"
+checksum = "347afae04a03ca25a3a76d130abb63e7e6e7367b895470fdc3d996aec916c3d7"
 dependencies = [
  "gif",
  "imgref",
@@ -1693,9 +1705,9 @@ dependencies = [
 
 [[package]]
 name = "glam"
-version = "0.24.1"
+version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42218cb640844e3872cc3c153dc975229e080a6c4733b34709ef445610550226"
+checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
 dependencies = [
  "bytemuck",
  "mint",
@@ -1754,7 +1766,7 @@ dependencies = [
  "glutin_egl_sys",
  "glutin_glx_sys",
  "glutin_wgl_sys",
- "libloading",
+ "libloading 0.7.4",
  "objc2",
  "once_cell",
  "raw-window-handle",
@@ -1806,9 +1818,9 @@ dependencies = [
 
 [[package]]
 name = "glyph_brush"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4edefd123f28a0b1d41ec4a489c2b43020b369180800977801611084f342978d"
+checksum = "a3676f482c536a985fca36ce320a5e5b8fafd7b260806742af1963b71c5dc38c"
 dependencies = [
  "glyph_brush_draw_cache",
  "glyph_brush_layout",
@@ -1919,9 +1931,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.14.0"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
 dependencies = [
  "ahash 0.8.3",
  "allocator-api2",
@@ -1944,9 +1956,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "hex"
@@ -2087,7 +2099,7 @@ dependencies = [
  "gif",
  "jpeg-decoder",
  "num-rational",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "png",
  "qoi",
  "tiff",
@@ -2128,19 +2140,19 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.0.0"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
 ]
 
 [[package]]
 name = "indicatif"
-version = "0.17.6"
+version = "0.17.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730"
+checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
 dependencies = [
  "console",
  "instant",
@@ -2169,7 +2181,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -2178,7 +2190,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.2",
+ "hermit-abi 0.3.3",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -2195,8 +2207,8 @@ version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.2",
- "rustix 0.38.13",
+ "hermit-abi 0.3.3",
+ "rustix 0.38.17",
  "windows-sys 0.48.0",
 ]
 
@@ -2470,15 +2482,15 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.148"
+version = "0.2.149"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
 
 [[package]]
 name = "libdav1d-sys"
-version = "0.5.0"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2449c0cf51b69ae65edb12fa071063e5a51034a8b2347269b5a40aefe2071fcf"
+checksum = "c232de5110b390272f9fb7fedde31ecad0ac4ea5293099be140f3a20d298bf12"
 
 [[package]]
 name = "libfuzzer-sys"
@@ -2501,16 +2513,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "libloading"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if 1.0.0",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
 name = "libwebp-sys"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c94b08ea3ec9eedea0fa779848e7fa183dc52aa60882488828883503faf630f"
+checksum = "3e0df0a0f9444d52aee6335cd724d21a2ee3285f646291799a72be518ec8ee3c"
 dependencies = [
  "cc",
  "glob",
@@ -2530,9 +2552,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
+checksum = "45786cec4d5e54a224b15cb9f06751883103a27c19c93eda09b0b4f5f08fefac"
 
 [[package]]
 name = "lock_api"
@@ -2546,9 +2568,9 @@ dependencies = [
 
 [[package]]
 name = "lodepng"
-version = "3.7.2"
+version = "3.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0ad39f75bbaa4b10bb6f2316543632a8046a5bcf9c785488d79720b21f044f8"
+checksum = "a3cdccd0cf57a5d456f0656ebcff72c2e19503287e1afbf3b84382812adc0606"
 dependencies = [
  "crc32fast",
  "fallible_collections",
@@ -2580,7 +2602,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00a0349cd8f0270781bb93a824b63df6178e3b4a27794e7be3ce3763f5a44d6e"
 dependencies = [
  "lyon_path",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -2591,7 +2613,7 @@ checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad"
 dependencies = [
  "arrayvec",
  "euclid",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -2601,7 +2623,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45"
 dependencies = [
  "lyon_geom",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -2626,9 +2648,9 @@ dependencies = [
 
 [[package]]
 name = "matrixmultiply"
-version = "0.3.7"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77"
+checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
 dependencies = [
  "autocfg",
  "rawpointer",
@@ -2645,9 +2667,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.3"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memmap2"
@@ -2770,7 +2792,7 @@ dependencies = [
  "nalgebra-macros",
  "num-complex",
  "num-rational",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "simba",
  "typenum",
 ]
@@ -2787,15 +2809,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "nanorand"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
 name = "nasm-rs"
 version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2928,7 +2941,7 @@ dependencies = [
  "downcast-rs",
  "futures",
  "futures-util",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
  "indexmap 1.9.3",
  "js-sys",
  "log",
@@ -3003,7 +3016,7 @@ checksum = "a582a21460de213619608d3dfbcd29eb4a932e173e3c75de5bf5a41724a4d7e2"
 dependencies = [
  "bytemuck",
  "glow",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
  "image",
  "js-sys",
  "log",
@@ -3047,7 +3060,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eb044011996008c6a06153fb1eb255240168dc53eb14a6eba30e8c945aad977e"
 dependencies = [
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
  "log",
  "notan_core",
  "notan_math",
@@ -3065,7 +3078,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "spirv_cross",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3083,7 +3096,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5441676461769e2c958653a18f923a187803a941d621ebc9d3376d75d39c84db"
 dependencies = [
- "hashbrown 0.14.0",
+ "hashbrown 0.14.1",
  "lazy_static",
  "log",
  "notan_app",
@@ -3151,7 +3164,7 @@ dependencies = [
  "num-integer",
  "num-iter",
  "num-rational",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3162,7 +3175,7 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
 dependencies = [
  "autocfg",
  "num-integer",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3171,7 +3184,7 @@ version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3187,13 +3200,13 @@ dependencies = [
 
 [[package]]
 name = "num-derive"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e"
+checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3203,7 +3216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
 dependencies = [
  "autocfg",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3214,7 +3227,7 @@ checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
 dependencies = [
  "autocfg",
  "num-integer",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3226,7 +3239,7 @@ dependencies = [
  "autocfg",
  "num-bigint",
  "num-integer",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3235,14 +3248,14 @@ version = "0.1.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
  "libm",
@@ -3254,7 +3267,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.2",
+ "hermit-abi 0.3.3",
  "libc",
 ]
 
@@ -3297,7 +3310,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3382,7 +3395,7 @@ dependencies = [
 
 [[package]]
 name = "oculante"
-version = "0.7.6"
+version = "0.7.7"
 dependencies = [
  "anyhow",
  "arboard",
@@ -3457,11 +3470,11 @@ dependencies = [
 
 [[package]]
 name = "ordered-float"
-version = "3.9.1"
+version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06"
+checksum = "e3a540f3e3b3d7929c884e46d093d344e4e5bdeed54d08bf007df50c93cc85d5"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
 ]
 
 [[package]]
@@ -3538,7 +3551,7 @@ checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3555,9 +3568,9 @@ dependencies = [
 
 [[package]]
 name = "parking"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
+checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
 
 [[package]]
 name = "parking_lot"
@@ -3659,7 +3672,7 @@ dependencies = [
  "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -3687,26 +3700,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315"
 
 [[package]]
-name = "pin-project"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.35",
-]
-
-[[package]]
 name = "pin-project-lite"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3719,6 +3712,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.1",
+ "futures-io",
+]
+
+[[package]]
 name = "pkg-config"
 version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3784,7 +3788,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
@@ -3819,9 +3823,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.67"
+version = "1.0.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+checksum = "5b1106fec09662ec6dd98ccac0f81cef56984d0b49f75c92d8cbad76e20c005c"
 dependencies = [
  "unicode-ident",
 ]
@@ -3944,7 +3948,7 @@ dependencies = [
  "new_debug_unreachable",
  "noop_proc_macro",
  "num-derive 0.3.3",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "once_cell",
  "paste",
  "rand",
@@ -3972,9 +3976,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
 dependencies = [
  "either",
  "rayon-core",
@@ -3982,14 +3986,12 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
@@ -4029,9 +4031,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.9.5"
+version = "1.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -4041,9 +4043,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -4058,9 +4060,9 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "reqwest"
-version = "0.11.20"
+version = "0.11.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
+checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
 dependencies = [
  "base64",
  "bytes",
@@ -4084,6 +4086,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "system-configuration",
  "tokio",
  "tokio-rustls",
  "tower-service",
@@ -4175,9 +4178,9 @@ dependencies = [
 
 [[package]]
 name = "roxmltree"
-version = "0.18.0"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f595a457b6b8c6cda66a48503e92ee8d19342f905948f29c383200ec9eb1d8"
+checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302"
 dependencies = [
  "xmlparser",
 ]
@@ -4237,9 +4240,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
+version = "0.37.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "4279d76516df406a8bd37e7dff53fd37d1a093f997a3c34a5c21658c126db06d"
 dependencies = [
  "bitflags 1.3.2",
  "errno",
@@ -4251,14 +4254,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.13"
+version = "0.38.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662"
+checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7"
 dependencies = [
  "bitflags 2.4.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.7",
+ "linux-raw-sys 0.4.9",
  "windows-sys 0.48.0",
 ]
 
@@ -4285,9 +4288,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-webpki"
-version = "0.101.5"
+version = "0.101.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45a27e3b59326c16e23d30aeb7a36a24cc0d29e71d68ff611cdfb4a01d013bed"
+checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
 dependencies = [
  "ring",
  "untrusted",
@@ -4400,9 +4403,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.18"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
 dependencies = [
  "serde",
 ]
@@ -4424,7 +4427,7 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -4446,7 +4449,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -4472,9 +4475,9 @@ dependencies = [
 
 [[package]]
 name = "sha1"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
@@ -4494,16 +4497,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "signal-hook"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
 name = "signal-hook-registry"
 version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4520,7 +4513,7 @@ checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae"
 dependencies = [
  "approx",
  "num-complex",
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "paste",
  "wide",
 ]
@@ -4575,9 +4568,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -4696,7 +4689,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -4732,9 +4725,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.35"
+version = "2.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59bf04c28bee9043ed9ea1e41afc0552288d3aba9c6efdd78903b802926f4879"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4742,15 +4735,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
 name = "system-deps"
-version = "6.1.1"
+version = "6.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
+checksum = "94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6"
 dependencies = [
  "cfg-expr",
  "heck",
  "pkg-config",
- "toml 0.7.8",
+ "toml 0.8.2",
  "version-compare",
 ]
 
@@ -4767,17 +4781,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
  "cfg-if 1.0.0",
- "fastrand 2.0.0",
+ "fastrand 2.0.1",
  "redox_syscall 0.3.5",
- "rustix 0.38.13",
+ "rustix 0.38.17",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
 dependencies = [
  "winapi-util",
 ]
@@ -4790,22 +4804,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 
 [[package]]
 name = "thiserror"
-version = "1.0.48"
+version = "1.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
+checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.48"
+version = "1.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
+checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -4924,9 +4938,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
 dependencies = [
  "bytes",
  "futures-core",
@@ -4947,14 +4961,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.8"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.20.2",
 ]
 
 [[package]]
@@ -4972,7 +4986,18 @@ version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "indexmap 2.0.0",
+ "indexmap 2.0.2",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+dependencies = [
+ "indexmap 2.0.2",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -5005,7 +5030,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -5019,9 +5044,9 @@ dependencies = [
 
 [[package]]
 name = "trash"
-version = "3.0.6"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af3663fb8f476d674b9c61d1d2796acec725bef6bec4b41402a904252a25971e"
+checksum = "f7b23f2b0cf93f537bbe90cbb59ea9176cc8ce9b010a36dcd5b726facd82825e"
 dependencies = [
  "chrono",
  "libc",
@@ -5081,7 +5106,7 @@ version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
- "cfg-if 0.1.10",
+ "cfg-if 1.0.0",
  "rand",
  "static_assertions",
 ]
@@ -5164,9 +5189,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "untrusted"
@@ -5259,8 +5284,8 @@ checksum = "85db69f33d00031c1b07f7292e56317d5aa9475bdbd3d27ef18f3633438a697e"
 dependencies = [
  "cfg-if 1.0.0",
  "noop_proc_macro",
- "num-derive 0.4.0",
- "num-traits 0.2.16",
+ "num-derive 0.4.1",
+ "num-traits 0.2.17",
  "rust_hawktracer",
 ]
 
@@ -5284,9 +5309,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "waker-fn"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
 name = "walkdir"
@@ -5340,7 +5365,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
  "wasm-bindgen-shared",
 ]
 
@@ -5374,7 +5399,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.35",
+ "syn 2.0.38",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -5511,9 +5536,9 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
 
 [[package]]
 name = "wide"
-version = "0.7.11"
+version = "0.7.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f"
+checksum = "ebecebefc38ff1860b4bc47550bbfa63af5746061cf0d29fcd7fa63171602598"
 dependencies = [
  "bytemuck",
  "safe_arch",
@@ -5537,9 +5562,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -5721,9 +5746,9 @@ dependencies = [
 
 [[package]]
 name = "winit"
-version = "0.28.6"
+version = "0.28.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "866db3f712fffba75d31bf0cdecf357c8aeafd158c5b7ab51dba2a2b2d47f196"
+checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
 dependencies = [
  "android-activity",
  "bitflags 1.3.2",
@@ -5756,9 +5781,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.5.15"
+version = "0.5.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
+checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907"
 dependencies = [
  "memchr",
 ]
@@ -5861,15 +5886,15 @@ checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.18"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab77e97b50aee93da431f2cee7cd0f43b4d1da3c408042f2d7d164187774f0a"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
 name = "xmlparser"
-version = "0.13.5"
+version = "0.13.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
 
 [[package]]
 name = "xmlwriter"
@@ -5883,7 +5908,7 @@ version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "157c9233496247738a5417ce7e8ecf953c3d4e1931374d16b0c6a95636572be4"
 dependencies = [
- "num-traits 0.2.16",
+ "num-traits 0.2.17",
  "rgb",
 ]
 
@@ -5906,7 +5931,7 @@ dependencies = [
  "byteorder",
  "derivative",
  "enumflags2",
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
  "futures-sink",
  "futures-util",
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index 78e8ca1b078f9..9e0206a91c9b3 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -21,13 +21,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.7.6";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = pname;
     rev = version;
-    hash = "sha256-nUq/Fwftfg7H+HlMZO2JMfGBeCOs6nEAcsbrbowPC4A=";
+    hash = "sha256-uDSZ7qwDC/eR0aZN372ju21PBGuBiiYmlx/26Ta3luE=";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix
index fed2c944e5c58..6a7a57fd25f2f 100644
--- a/pkgs/applications/graphics/photoqt/default.nix
+++ b/pkgs/applications/graphics/photoqt/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "photoqt";
-  version = "3.3";
+  version = "3.4";
 
   src = fetchurl {
     url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
-    hash = "sha256-AD+Uww/tmXRiAkmeuHBBollE6Y9L7c+fB882ALVtSXQ=";
+    hash = "sha256-kVf9+zI9rtEMmS0N4qrN673T/1fnqfcV3hQPnMXMLas=";
   };
 
   # error: no member named 'setlocale' in namespace 'std'; did you mean simply 'setlocale'?
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index 2a1dbe44f3611..74cc2bdc4e8dc 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, desktop-file-utils, gtk2, libpng, exiv2, lcms
+{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, desktop-file-utils, gtk2, libpng, exiv2, lcms
 , intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}:
 
 stdenv.mkDerivation rec {
@@ -9,9 +9,22 @@ stdenv.mkDerivation rec {
     owner = "hellosiyan";
     repo = "Viewnior";
     rev = "${pname}-${version}";
-    sha256 = "sha256-LTahMmcAqgqviUxR624kTozJGTniAAGWKo1ZqXjoG5M=";
+    hash = "sha256-LTahMmcAqgqviUxR624kTozJGTniAAGWKo1ZqXjoG5M=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
+      hash = "sha256-O3/d7qMiOsYJmz7ekoLM6oaHcuYjEbAfPFuDUWSybfE=";
+    })
+    (fetchpatch {
+      name = "viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
+      hash = "sha256-Zjc4CIlelAkbyvX2F1yo/qJjUajtAgF4+FoHWFEIPWY=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 69190511ed698..00e736731f2f8 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -9,16 +9,17 @@
 , libXp
 , Xaw3d
 , libXaw
+, libXft
 , fig2dev
 }:
 
 stdenv.mkDerivation rec {
   pname = "xfig";
-  version = "3.2.8b";
+  version = "3.2.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
-    sha256 = "0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j";
+    hash = "sha256-E+2dBNG7wt7AnafvSc7sJ4OC0pD2zZJkdMLy0Bb+wvc=";
   };
 
   nativeBuildInputs = [ imagemagick makeWrapper ];
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
     libXp
     Xaw3d
     libXaw
+    libXft
   ];
 
   postPatch = ''
@@ -57,6 +59,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
+    changelog = "https://sourceforge.net/p/mcj/xfig/ci/${version}/tree/CHANGES";
     description = "An interactive drawing tool for X11";
     longDescription = ''
       Note that you need to have the <literal>netpbm</literal> tools
diff --git a/pkgs/applications/logging/humioctl/default.nix b/pkgs/applications/logging/humioctl/default.nix
index c48631eefe31d..b0744505d09e1 100644
--- a/pkgs/applications/logging/humioctl/default.nix
+++ b/pkgs/applications/logging/humioctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "humioctl";
-  version = "0.31.1";
+  version = "0.32.3";
 
   src = fetchFromGitHub {
     owner = "humio";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-L5Ttos0TL8m62Y69riwnGmB1cOVF6XIH7jMVU8NuFKI=";
+    hash = "sha256-MaBJL/3TZYmXjwt5/WmBBTXVhlJ6oyCgm+Lb8id6J3c=";
   };
 
-  vendorHash = "sha256-GTPEHw3QsID9K6DcYNZRyDJzTqfDV9lHP2Trvd2aC8Y=";
+  vendorHash = "sha256-FAy0LNmesEDgS3JTz5DPd8vkR5CHHhAbms++N8TQApA=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index f73e9a21457fe..a1bc11ce970d5 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,7 +9,7 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.10.16" else "8.10.16-43.BETA";
+  version = if channel == "stable" then "8.10.16" else "8.10.18-19.BETA";
 
   sources = {
     stable = {
@@ -33,19 +33,19 @@ let
     beta = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-7udgyaj84rnh5yn2RuvZzjDC6QsVdHh7vkJrStlW93I=";
+        hash = "sha256-siQ6w1byDkfNrbkvjLWmQRbJ5nVZZv24vg0RFWaRHmE=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-2c5pL5C3BgimI8D4+Be/FkKKDBflo5Oc24nzaI4Oa4Y=";
+        hash = "sha256-WX6NzBXBSBf/hIl1kTIuUvCnEZ1+B0NBHfKvMeIZOw4=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-f7Wme98qrmdzfipBoEEEa9PSOMiTqAica8gwKfZJLCE=";
+        hash = "sha256-HQRw1OGIT/cVjDk4PGa8x4QdYHQxtqMePsUh+cpyysM=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-6hK+qEG5gUo8XBOnxYIC+x5L9ah8m6c6YS/WpIGjENo=";
+        hash = "sha256-1KcTgmxDhbvB6gzTqF3bhu5toCSjskGjCflrBSNYzk4=";
       };
     };
   };
diff --git a/pkgs/applications/misc/OSCAR/default.nix b/pkgs/applications/misc/OSCAR/default.nix
index fee0c79cd5d9e..6e20a855acb78 100644
--- a/pkgs/applications/misc/OSCAR/default.nix
+++ b/pkgs/applications/misc/OSCAR/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, mkDerivation, fetchFromGitLab, qmake, qtbase, qttools, qtserialport, libGLU }:
 mkDerivation rec {
   pname = "OSCAR";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitLab {
     owner = "pholy";
     repo = "OSCAR-code";
     rev = "v${version}";
-    sha256 = "sha256-eaj2/ioh9dXxWv7X/IZv7m/oVcU6t7r+mK5YrrViF2w=";
+    sha256 = "sha256-FBHbPtMZeIgcR1pQflfEWK2FS8bquctXaeY/yaZofHg=";
   };
 
   buildInputs = [ qtbase qttools qtserialport libGLU ];
diff --git a/pkgs/applications/misc/activate-linux/default.nix b/pkgs/applications/misc/activate-linux/default.nix
index b48236dd96811..1a6da925d0575 100644
--- a/pkgs/applications/misc/activate-linux/default.nix
+++ b/pkgs/applications/misc/activate-linux/default.nix
@@ -4,39 +4,63 @@
 , pkg-config
 , xorg
 , cairo
+, wayland
+, wayland-protocols
+, wayland-scanner
+, libconfig
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "activate-linux";
-  version = "unstable-2022-05-22";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "MrGlockenspiel";
-    repo = pname;
-    rev = "18a6dc9771c568c557569ef680386d5d67f25e96";
-    sha256 = "wYoCyWZqu/jgqAuNYdNr2bjpz4pFRTnAF7qF4BRs9GE=";
+    repo = "activate-linux";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-6XnoAoZwAs2hKToWlDqkaGqucmV1VMkEc4QO0G0xmrg=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
 
   nativeBuildInputs = [
     pkg-config
+    wayland-scanner
   ];
 
   buildInputs = [
+    cairo
     xorg.libX11
     xorg.libXext
     xorg.libXfixes
+    xorg.libXi
     xorg.libXinerama
-    cairo
+    xorg.libXrandr
+    xorg.libXt
+    xorg.xorgproto
+    wayland
+    wayland-protocols
+    libconfig
   ];
 
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+
+    cp activate-linux $out/bin
+    cp activate-linux.1 $out/share/man/man1
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "The \"Activate Windows\" watermark ported to Linux";
     homepage = "https://github.com/MrGlockenspiel/activate-linux";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ alexnortung ];
+    maintainers = with maintainers; [ alexnortung donovanglover ];
     platforms = platforms.linux;
+    mainProgram = "activate-linux";
   };
-}
+})
diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix
index 186e33a959ea9..a9008283dd285 100644
--- a/pkgs/applications/misc/albert/default.nix
+++ b/pkgs/applications/misc/albert/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "albert";
-  version = "0.22.9";
+  version = "0.22.13";
 
   src = fetchFromGitHub {
     owner = "albertlauncher";
     repo = "albert";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-MhZHklb//VH2GkAzK46P7EwCIa50l5y+2VssrgpTlWA=";
+    sha256 = "sha256-IZpIgU/cf25XxH8J0xQJLASu0YmTmcHY5RxUcbKrtvA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 8096dd9ea22f6..f9ca3c316e262 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.35.2";
+  version = "0.35.4";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://anytype-release.fra1.cdn.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "RLkAC9rNGHdbX/EfDTfpbBBKaY+BqdFuCMm99mkjOjw=";
+    sha256 = "sha256-heS+3ucxv4WTiqegdmjpv8aWuC+3knxC00SDDg4R8iU=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 0b368ef1b3152..00bbcdafff13f 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -6,7 +6,7 @@
 , zlib, zstd, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport, cudaPackages ? { }
-, hipSupport ? false, hip # comes with a significantly larger closure size
+, hipSupport ? false, rocmPackages # comes with a significantly larger closure size
 , colladaSupport ? true, opencollada
 , spaceNavSupport ? stdenv.isLinux, libspnav
 , makeWrapper
@@ -103,8 +103,8 @@ stdenv.mkDerivation (finalAttrs: rec {
       substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
     '') +
     (lib.optionalString hipSupport ''
-      substituteInPlace extern/hipew/src/hipew.c --replace '"/opt/rocm/hip/lib/libamdhip64.so"' '"${hip}/lib/libamdhip64.so"'
-      substituteInPlace extern/hipew/src/hipew.c --replace '"opt/rocm/hip/bin"' '"${hip}/bin"'
+      substituteInPlace extern/hipew/src/hipew.c --replace '"/opt/rocm/hip/lib/libamdhip64.so"' '"${rocmPackages.clr}/lib/libamdhip64.so"'
+      substituteInPlace extern/hipew/src/hipew.c --replace '"opt/rocm/hip/bin"' '"${rocmPackages.clr}/bin"'
     '');
 
   cmakeFlags =
diff --git a/pkgs/applications/misc/comodoro/default.nix b/pkgs/applications/misc/comodoro/default.nix
index 1ce6195aaec57..f03b27ea51cac 100644
--- a/pkgs/applications/misc/comodoro/default.nix
+++ b/pkgs/applications/misc/comodoro/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "comodoro";
-  version = "0.0.9";
+  version = "0.0.10";
 
   src = fetchFromGitHub {
     owner = "soywod";
     repo = "comodoro";
     rev = "v${version}";
-    hash = "sha256-pxe3Nv1N85uWsiv4s0wtD++zlZZgMADH51f5RMK9huA=";
+    hash = "sha256-Y9SuxqI8wvoF0+X6CLNDlSFCwlSU8R73NYF/LjACP18=";
   };
 
-  cargoSha256 = "E5oHeMow9MrVrlDX+v0tX9Nv3gHUxDNUpRAT5jPa+DI=";
+  cargoHash = "sha256-1WJIIsTzbChWqvdBSR/OpLC1iR8FgLmypJFQEtpalbw=";
 
   nativeBuildInputs = lib.optional (installManPages || installShellCompletions) installShellFiles;
 
diff --git a/pkgs/applications/misc/flashprint/default.nix b/pkgs/applications/misc/flashprint/default.nix
index e698f4857b3b1..2bc2053b254d7 100644
--- a/pkgs/applications/misc/flashprint/default.nix
+++ b/pkgs/applications/misc/flashprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "flashprint";
-  version = "5.7.1";
+  version = "5.8.0";
 
   src = fetchurl {
     url = "http://www.ishare3d.com/3dapp/public/FlashPrint-5/FlashPrint/flashprint5_${finalAttrs.version}_amd64.deb";
-    hash = "sha256-kxvqEgXlKQlfzlCqKb5o3hvop82vDsJmQDK9XOCq61g=";
+    hash = "sha256-T7NHSTDFqM/LygTU3zO64Ut/tdd3vDPQoZuhAv7PWHU=";
   };
 
   nativeBuildInputs = [ dpkg autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index 7b59df8fd4cf1..8ea6091894e8e 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "23.1";
+  version = "23.2";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-0Lf/GuqlovVbnk3jSJHFGF688GXABcSVLr1hATaIomk=";
+    sha256 = "sha256-r2iw1vINWgqxoW0Zc8Sloa+wN/GUbUQfJ0e2BSP9vxM=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 42467e177ab2f..99fc367835664 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -18,13 +18,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "gpxsee";
-  version = "13.7";
+  version = "13.9";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = finalAttrs.version;
-    hash = "sha256-Y3JcWkg0K724i/5Leyi8r26uKpq/aDwghJBG8xfxpd4=";
+    hash = "sha256-vzbZN+0lDSmvZnQCuvNJCYHTYKqErFhW4RI5Mfbgr6o=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix
index f475df8f7b042..2cb72575a4bfb 100644
--- a/pkgs/applications/misc/gsimplecal/default.nix
+++ b/pkgs/applications/misc/gsimplecal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gsimplecal";
-  version = "2.4.1";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "dmedvinsky";
     repo = "gsimplecal";
     rev = "v${version}";
-    sha256 = "sha256-8faYw8tg8pOkpImcv8TM4UUpQEEtDKjAk4iKbXDC9no=";
+    sha256 = "sha256-Q8vK+rIRr+Tzwq0Xw5a1pYoLkSwF6PEdqc3/Dk01++o=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 40ece54ab1ed9..972c4b94ada74 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.15.89752";
+  version = "0.15.93226";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "sha256-vYI9jbY2npPrmP0lMRSbLneVbQvQVsL0plM5jOvtdzA=";
+      sha256 = "sha256-RMN/OQHnHCx/xbi/J9LiK6m0TkPvd34GtmR6lr66pKs=";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/lunatask/default.nix b/pkgs/applications/misc/lunatask/default.nix
index 0ee3c0eff0c43..87a130ae98c5f 100644
--- a/pkgs/applications/misc/lunatask/default.nix
+++ b/pkgs/applications/misc/lunatask/default.nix
@@ -1,12 +1,12 @@
 { lib, appimageTools, fetchurl }:
 
 let
-  version = "1.7.6";
+  version = "1.7.7";
   pname = "lunatask";
 
   src = fetchurl {
     url = "https://lunatask.app/download/Lunatask-${version}.AppImage";
-    sha256 = "sha256-WmnwFrE9mYDE39DeYnq8+i2KZ7V2F+rRwJvn6delLyc=";
+    sha256 = "sha256-3WiJR+gwudeLs6Mn75SJP4BZ6utwxvvRLOHe/W+1Pfs=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/misc/mainsail/default.nix b/pkgs/applications/misc/mainsail/default.nix
index 48fbce686ffc9..20315e7acc36a 100644
--- a/pkgs/applications/misc/mainsail/default.nix
+++ b/pkgs/applications/misc/mainsail/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mainsail";
-  version = "2.7.1";
+  version = "2.8.0";
 
   src = fetchzip {
     url = "https://github.com/mainsail-crew/mainsail/releases/download/v${version}/mainsail.zip";
-    hash = "sha256-j2ri7PyQGzRlhpgE9qKneX00HwlDmIi2JUremz446wk=";
+    hash = "sha256-YNI4WkWLnB1w8I0ETflDsWNkB6QGO5QrASajKpcmGcU=";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/misc/passky-desktop/default.nix b/pkgs/applications/misc/passky-desktop/default.nix
index 97df6ba94daef..927035ed8167d 100644
--- a/pkgs/applications/misc/passky-desktop/default.nix
+++ b/pkgs/applications/misc/passky-desktop/default.nix
@@ -1,59 +1,70 @@
-{ lib, stdenv, fetchurl, appimageTools, undmg }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, electron_22
+, makeWrapper
+, makeDesktopItem
+, copyDesktopItems
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "passky-desktop";
-  version = "7.1.0";
-
-  srcs = {
-    x86_64-linux = fetchurl {
-      url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.AppImage";
-      sha256 = "1xnhrmmm018mmyzjq05mhbf673f0n81fh1k3kbfarbgk2kbwpq6y";
-    };
-    x86_64-darwin = fetchurl {
-      url = "https://github.com/Rabbit-Company/Passky-Desktop/releases/download/v${version}/Passky-${version}.dmg";
-      sha256 = "0mm7hk4v7zvpjdqyw3nhk33x72j0gh3f59bx3q18azlm4dr61r2d";
-    };
-  };
-  src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  version = "8.1.1";
 
-  appimageContents = appimageTools.extract { inherit pname version src; };
-  meta = with lib; {
-    homepage = "https://passky.org";
-    downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases";
-    license = licenses.gpl3Only;
-    maintainers = with maintainers; [ akkesm ];
-    platforms = builtins.attrNames srcs;
+  src = fetchFromGitHub {
+    owner = "Rabbit-Company";
+    repo = "Passky-Desktop";
+    rev = "refs/tags/v${version}";
+    sha256 = "1ma8s1bngjdzclcc4m5pcmavk38sidaskmz7dgfnv84y35si18dr";
   };
 
-  linux = appimageTools.wrapType2 {
-    inherit pname version src meta;
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
 
-    extraInstallCommands = ''
-      mv $out/bin/${pname}-${version} $out/bin/${pname}
+  installPhase = ''
+    runHook preInstall
 
-      install -D ${appimageContents}/passky.desktop \
-        $out/share/applications/${pname}.desktop
+    mkdir -p $out/share/passky
+    cp -r "." "$out/share/passky/electron"
 
-      substituteInPlace $out/share/applications/${pname}.desktop \
-        --replace 'Exec=AppRun' 'Exec=${pname}'
+    local resolution
+    for icon in $out/share/passky/electron/images/icons/icon*.png; do
+      resolution=''${icon%".png"}
+      resolution=''${resolution##*/icon-}
+      mkdir -p "$out/share/icons/hicolor/''${resolution}/apps"
+      ln -s "$icon" "$out/share/icons/hicolor/''${resolution}/apps/passky.png"
+    done
 
-      cp -r ${appimageContents}/usr/share/icons $out/share
-    '';
-  };
+    mkdir "$out/share/applications"
+    makeWrapper ${electron_22}/bin/electron "$out/bin/passky" \
+      --add-flags "$out/share/passky/electron/" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
 
-  darwin = stdenv.mkDerivation {
-    inherit pname version src meta;
+    runHook postInstall
+  '';
 
-    nativeBuildInputs = [ undmg ];
+  desktopItems = [
+    (
+      makeDesktopItem {
+        name = "Passky";
+        type = "Application";
+        desktopName = "passky";
+        comment = "Simple, modern, open source and secure password manager.";
+        icon = "passky";
+        exec = "passky %U";
+        categories = [ "Utility" ];
+        startupWMClass = "Passky";
+      }
+    )
+  ];
 
-    sourceRoot = ".";
-
-    installPhase = ''
-      mkdir -p $out/Applications
-      cp -r *.app $out/Applications
-    '';
+  meta = with lib; {
+    description = "A simple, modern, lightweight, open source and secure password manager";
+    homepage = "https://passky.org";
+    downloadPage = "https://github.com/Rabbit-Company/Passky-Desktop/releases";
+    changelog = "https://github.com/Rabbit-Company/Passky-Desktop/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ akkesm ];
+    mainProgram = "passky";
+    platforms = platforms.unix;
   };
-in
-if stdenv.isDarwin
-  then darwin
-  else linux
+}
diff --git a/pkgs/applications/misc/pdfstudio/common.nix b/pkgs/applications/misc/pdfstudio/common.nix
index f6ee417869505..e7d0611230395 100644
--- a/pkgs/applications/misc/pdfstudio/common.nix
+++ b/pkgs/applications/misc/pdfstudio/common.nix
@@ -5,6 +5,7 @@
 , version
 , desktopName
 , longDescription
+, broken ? false
 , buildFHSEnv
 , extraBuildInputs ? [ ]
 , jdk
@@ -85,6 +86,7 @@ buildFHSEnv {
   '';
 
   meta = with lib; {
+    inherit broken;
     homepage = "https://www.qoppa.com/${pname}/";
     description = "An easy to use, full-featured PDF editing software";
     longDescription = longDescription;
diff --git a/pkgs/applications/misc/pdfstudio/default.nix b/pkgs/applications/misc/pdfstudio/default.nix
index b6787ce0adf10..c6e575a97a691 100644
--- a/pkgs/applications/misc/pdfstudio/default.nix
+++ b/pkgs/applications/misc/pdfstudio/default.nix
@@ -40,6 +40,10 @@ in
       sha256 = "sha256-QXNsH1T+ItV3s9r8CnwgRUo1mhVbe8LkEun9gUmlVQg=";
     };
     jdk = jdk17;
+
+    # Bad hash, got sha256-afRhx9VCVRFUJoUnqs1bzF0yXpz3yEgLiFjMRB9xvsk=
+    # Likely unstable.
+    broken = true;
   };
 
   pdfstudio2021 = callPackage ./common.nix rec {
diff --git a/pkgs/applications/misc/perkeep/default.nix b/pkgs/applications/misc/perkeep/default.nix
index 7ce8b03c08b57..da67c39ab585d 100644
--- a/pkgs/applications/misc/perkeep/default.nix
+++ b/pkgs/applications/misc/perkeep/default.nix
@@ -55,6 +55,6 @@ buildGoModule rec {
     description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
     homepage = "https://perkeep.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan danderson kalbasit ];
+    maintainers = with maintainers; [ danderson kalbasit ];
   };
 }
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 10342269d6fe5..db53bf937a514 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -17,6 +17,7 @@
 , libxkbcommon
 , wlroots
 , xorg
+, nixosTests
 }:
 
 let
@@ -70,6 +71,8 @@ in stdenv.mkDerivation rec {
     patchShebangs build-aux/post_install.py
   '';
 
+  passthru.tests.phosh = nixosTests.phosh;
+
   meta = with lib; {
     description = "Wayland compositor for mobile phones like the Librem 5";
     homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix
index 2878b04844634..fab133ab35938 100644
--- a/pkgs/applications/misc/privacyidea/default.nix
+++ b/pkgs/applications/misc/privacyidea/default.nix
@@ -23,7 +23,7 @@ let
         doCheck = false;
       });
       # version 3.3.0+ does not support SQLAlchemy 1.3
-      factory_boy = super.factory_boy.overridePythonAttrs (oldAttrs: rec {
+      factory-boy = super.factory-boy.overridePythonAttrs (oldAttrs: rec {
         version = "3.2.1";
         src = oldAttrs.src.override {
           inherit version;
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index ea97f8305fee1..22a1964e466df 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -52,7 +52,7 @@ in mkDerivation rec {
   meta = with lib; {
     description = "Helps you understand your daily habits so you can focus and be more productive";
     homepage    = "https://www.rescuetime.com";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license     = licenses.unfree;
     platforms   = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/applications/misc/resp-app/default.nix b/pkgs/applications/misc/resp-app/default.nix
index e9781d40db7b9..b95bc98fdd3ac 100644
--- a/pkgs/applications/misc/resp-app/default.nix
+++ b/pkgs/applications/misc/resp-app/default.nix
@@ -98,6 +98,6 @@ mkDerivation rec {
     homepage = "https://resp.app/";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/snapmaker-luban/default.nix b/pkgs/applications/misc/snapmaker-luban/default.nix
index 8f2437e9de2af..9ee3ff6f38451 100644
--- a/pkgs/applications/misc/snapmaker-luban/default.nix
+++ b/pkgs/applications/misc/snapmaker-luban/default.nix
@@ -2,17 +2,17 @@
 , alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups
 , gtk3, nss, glib, dbus, nspr, gdk-pixbuf, libdrm, mesa
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
-, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, pango
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, pango
 , gcc-unwrapped, udev
 }:
 
 stdenv.mkDerivation rec {
   pname = "snapmaker-luban";
-  version = "4.8.0";
+  version = "4.9.1";
 
   src = fetchurl {
     url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz";
-    sha256 = "sha256-uY8MlLIZrbds5/QdYZFTLSSis0BwRU19XfLiBX+2VCY=";
+    sha256 = "sha256-qLeF1trBrp53xkiAhybPTHUKuXYHQYfZ3tsmPPJlvUM=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     libXScrnSaver
     libXtst
     libxcb
+    libxshmfence
     mesa # Required for libgbm
     nspr
     nss
@@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
 
   libPath = lib.makeLibraryPath [
     stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups
-    gdk-pixbuf glib gtk3 libX11 libXcomposite
+    gdk-pixbuf glib gtk3 libX11 libXcomposite libxshmfence
     libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
     libXtst nspr nss libxcb pango libXScrnSaver udev
   ];
@@ -93,5 +94,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = [ maintainers.simonkampe ];
     platforms = [ "x86_64-linux" ];
+    knownVulnerabilities = [ "CVE-2023-5217" ];
   };
 }
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index c464fddcc7022..93d539b9f42d5 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -17,6 +17,8 @@
 , plasma-framework
 , qttools
 , iconv
+, cppunit
+, syncthing
 , webviewSupport ? true
 , jsSupport ? true
 , kioPluginSupport ? stdenv.isLinux
@@ -31,14 +33,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "1.4.6";
+  version = "1.4.7";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-/HAqO0eVFt4YLGeTbZSZcH2pOojvykukAGTBHZTfKLQ=";
+    sha256 = "sha256-ddOyAyvFifsdNMbwcMZTyhA+5pvz6/Eu/VoBmdsHi54=";
   };
 
   buildInputs = [
@@ -58,18 +60,31 @@ stdenv.mkDerivation (finalAttrs: {
     wrapQtAppsHook
     cmake
     qttools
+    # Although these are test dependencies, we add them anyway so that we test
+    # whether the test units compile. On Darwin we don't run the tests but we
+    # still build them.
+    cppunit
+    syncthing
   ]
     ++ lib.optionals plasmoidSupport [ extra-cmake-modules ]
   ;
 
-  # No tests are available by upstream, but we test --help anyway
-  # Don't test on Darwin because output is .app
+  # syncthing server seems to hang on darwin, causing tests to fail.
+  doCheck = !stdenv.isDarwin;
+  preCheck = ''
+    export QT_QPA_PLATFORM=offscreen
+    export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}"
+  '';
+  # don't test --help  on Darwin because output is .app
   doInstallCheck = !stdenv.isDarwin;
   installCheckPhase = ''
     $out/bin/syncthingtray --help | grep ${finalAttrs.version}
   '';
 
   cmakeFlags = [
+    "-DBUILD_TESTING=ON"
+    # See https://github.com/Martchus/syncthingtray/issues/208
+    "-DEXCLUDE_TESTS_FROM_ALL=OFF"
     "-DAUTOSTART_EXEC_PATH=${autostartExecPath}"
     # See https://github.com/Martchus/syncthingtray/issues/42
     "-DQT_PLUGIN_DIR:STRING=${placeholder "out"}/${qtbase.qtPluginPrefix}"
diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix
index cde53ef41654b..19370fae01333 100644
--- a/pkgs/applications/misc/terminal-notifier/default.nix
+++ b/pkgs/applications/misc/terminal-notifier/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     homepage = "https://github.com/julienXX/terminal-notifier";
     license = licenses.mit;
     platforms  = platforms.darwin;
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 25e3058da9aa1..39b674d4c3fe7 100644
--- a/pkgs/applications/misc/tui-journal/default.nix
+++ b/pkgs/applications/misc/tui-journal/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tui-journal";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-ASozznbqtQc9bIzxbL94t2CHY2/PeXfR1DKfhTmsX74=";
+    hash = "sha256-UK9Pq+QNEk+AeG5/ohyCiL+lSpENQfiR/Qm0nQGJGrg=";
   };
 
-  cargoHash = "sha256-H+j/i0Gfk7O2TLdw5FYHOrLy/jfMSF4cpzMtQ2XJn2M=";
+  cargoHash = "sha256-TpNnb3usDkNlcejlSkXb5R1fgVlKNYBFAWi1fEn9uzI=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/typioca/default.nix b/pkgs/applications/misc/typioca/default.nix
index 9050655d4fa3a..888913dd1e2de 100644
--- a/pkgs/applications/misc/typioca/default.nix
+++ b/pkgs/applications/misc/typioca/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "typioca";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "bloznelis";
     repo = "typioca";
     rev = version;
-    hash = "sha256-u/vpS9BQxeKd8eaJicmn2wMk9EYjCO7LXdoshCBa4rw=";
+    hash = "sha256-m6vt4wpLpKJJNP8qCCeLMgNfAAZengDGjBVmFI5ZeSQ=";
   };
 
-  vendorHash = "sha256-m6hPj1IZr+jEA/h2qbz03tuVq3aPEMmcnWiEC0LKtxI=";
+  vendorHash = "sha256-q22t4/eum/RSWyzVQfJ0VZkEHgBu12nyRgmkJffi7PM=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index c9bb4131c5b81..7d85f9c7a2349 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -35,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "workrave";
-  version = "1.10.51.1";
+  version = "1.10.52";
 
   src = fetchFromGitHub {
     repo = "workrave";
     owner = "rcaelers";
     rev = with lib;
       "v" + concatStringsSep "_" (splitVersion version);
-    sha256 = "sha256-rx3k4U5igRYxzuVke+x926K1Pso32iGob4Ccp0jdKds=";
+    sha256 = "sha256-U39zr8XGIDbyY480bla2yTaRQLP3wMrL8RLWjlTa5uY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index 32b53a663d073..e5b3100dac373 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xchm";
-  version = "1.35";
+  version = "1.36";
 
   src = fetchFromGitHub {
     owner = "rzvncj";
     repo = "xCHM";
     rev = version;
-    sha256 = "sha256-ZJvlllhF7KPz+v6KEVPyJjiz+4LHM2Br/oqI54a2Ews=";
+    sha256 = "sha256-+RbFE/jOD8sofHMCFgTIfgokrXYqDbCSSnN6SdEZ/b0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 25856f0e58df3..002c753caff0a 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index 57f33559c6675..e482241bbd6cc 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index 151a63af33e83..180001b52aeb4 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       '';
     license = licenses.zlib;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
 
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index bb926f50ab7d0..2121e74d36aa1 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -92,11 +92,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.58.135";
+  version = "1.58.137";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "sha256-tJfpBIZvBr0diympUmImXYELPERJIzCSuOB0aovhodI=";
+    sha256 = "sha256-6vsdQU9NbEKFp/1A0bNQvutF4I+vI0zfrx70QvU1KV4=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 7cae2fada33c3..604b64548d645 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -27,11 +27,11 @@
   };
   stable = {
     chromedriver = {
-      sha256_darwin = "138mw5p6r0n0531fs6322yxsjgj9hia5plw4mj0b3mclykzy5l37";
+      sha256_darwin = "06yhmapflj5m40952zcrq97qlj3crbbffaspiz87w0syxnw9avq1";
       sha256_darwin_aarch64 =
-        "1cym94av2gw2zwj3rdqbjcqkigpzf0zk2bam2hw9n2hiabb4rm0p";
-      sha256_linux = "1q1vyhmcx6b5criz5bn1c3x3z2dzqdgsmwcvlb0rzqlzpla9q26m";
-      version = "117.0.5938.92";
+        "07dkpaqildzsrwbgjgxw5imbbz2pjvyq3n1wiw94lfjqbd9jrkbz";
+      sha256_linux = "0lqng6g722apxa9k596f42f6bw323q4b29vrkcs1lh86skgikdgj";
+      version = "117.0.5938.149";
     };
     deps = {
       gn = {
@@ -41,9 +41,9 @@
         version = "2023-08-01";
       };
     };
-    sha256 = "1bdfvcywj6ggrn6fz6g7hqhikg0cjdj8llgcm4wji52i7897gw18";
-    sha256bin64 = "05a2sggxm76kc6m5wcpb4gibnxa07j291m7292zdvyg32kffqxjr";
-    version = "117.0.5938.132";
+    sha256 = "1pyrqxzxxibz0yp218kw6z186x8y6kd5a1l0mcbhj70rpm9cimyx";
+    sha256bin64 = "1zly8dpxmhyqdsqd381r0yzjrf8nkfigfjhabm3dbf1ih7qma40z";
+    version = "117.0.5938.149";
   };
   ungoogled-chromium = {
     deps = {
@@ -54,12 +54,12 @@
         version = "2023-08-01";
       };
       ungoogled-patches = {
-        rev = "117.0.5938.132-1";
-        sha256 = "11bg7j5838nhkwpv7blvpijjhqrisvx032bjmkng1cpy2d0kmfcx";
+        rev = "117.0.5938.149-1";
+        sha256 = "0kzbnymbp7snxmg3adpl16anyhs2rxk0iqy5dda8dx5rv9s8i0x0";
       };
     };
-    sha256 = "1bdfvcywj6ggrn6fz6g7hqhikg0cjdj8llgcm4wji52i7897gw18";
-    sha256bin64 = "05a2sggxm76kc6m5wcpb4gibnxa07j291m7292zdvyg32kffqxjr";
-    version = "117.0.5938.132";
+    sha256 = "1pyrqxzxxibz0yp218kw6z186x8y6kd5a1l0mcbhj70rpm9cimyx";
+    sha256bin64 = "1zly8dpxmhyqdsqd381r0yzjrf8nkfigfjhabm3dbf1ih7qma40z";
+    version = "117.0.5938.149";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 41162c62fde6b..fcba949283626 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1025 +1,1025 @@
 {
-  version = "119.0b2";
+  version = "119.0b6";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ach/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ach/firefox-119.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "aa29040f88069af03afae04007bf26e68b059b820a9510028b5a0c98d5c7f66c";
+      sha256 = "ab53e56f2114c4fed251117c93e781a8ffe37ca09a78bbdc56ece3f277f745cb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/af/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/af/firefox-119.0b6.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "848d07f46146c49239e81026643a71432970e2eeacef9373341d437fd3c144b6";
+      sha256 = "5f91af053d41eb6143313069d5a0ac796b5d6cbbe1e5e3d7d0ac543bf39487de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/an/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/an/firefox-119.0b6.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "332d3a8635651eb22cd7bd21b5ed9b752bfcca1f957aefd61ecdfa569345b012";
+      sha256 = "1d336edaa437b2cbfafcba0d27f51492166299bfea14cfd00f4e7d983924e729";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ar/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ar/firefox-119.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "11564b37246158180ee50db38791fe5361b48e341a75dcba37b52c7f75390052";
+      sha256 = "bde5b7f115ce1575c5da5b1e6d086568815330e54d14d3eb8010e2aa8a633cde";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ast/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ast/firefox-119.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "c5b0bac92d46f815b3fa00523f8f173b113677d6732d2a685033437429463a50";
+      sha256 = "0859bffdcf5381b68640401a26960d231675b4534bd9d83884c8f7542ff48205";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/az/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/az/firefox-119.0b6.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "c35e1ce330200d6393d79cbebefb745bfb85dd37194d7238b061fac5d4c502ce";
+      sha256 = "ca3d38e0315fdb8524524d6ccfafd56ed735307071076e40596d17082d4c9b22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/be/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/be/firefox-119.0b6.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "24559c2a9fa67773d520cc2ba411814afca0ea526bc6dca21434977ad33c43de";
+      sha256 = "fb7dfb212e6d24874614771301f5fe45c7a370be1cdea06c18e06237bdd0b58a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/bg/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bg/firefox-119.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "1485e979aa3b95b55a73cd1227331f709cc5aa523bce8fdd7bd1bd7b895001a4";
+      sha256 = "30f4f07e61fc50a889f0ed24de875fa2bc4457413b100cfab72c62b5f023718a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/bn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bn/firefox-119.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "8db676c5d1a4daeb178d99d924f473f0b87ecfa00784aab2547bb02ae08ccac8";
+      sha256 = "58a8f4ea9ac3c34b69892a19a570d12a69074a6011fca7d3fe57485a9f601be8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/br/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/br/firefox-119.0b6.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "31db3ec1ed14ad401e7106962894fa28081b7189e4b98601fffa2a94112ffd8c";
+      sha256 = "e9a45bcebebf39cf37f216ac79002993812912253559404648ea78e4c1fad6ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/bs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/bs/firefox-119.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "7dee2df1461b62edf17f9218ac5e8cb993078930c53b7a691b529e18e008a235";
+      sha256 = "0c224de8786ac18d8b590cba66a7078f90c001b16c02f14907b9bbcf03670104";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ca-valencia/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca-valencia/firefox-119.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "b7746bde3ae1f75cdda3e5ff36d36c9260cf860329d3bddaf3f96b1dd652d303";
+      sha256 = "c5504da29820ad468bcdc3b5d7242eec7d60dbf2435b974a3d96cc51ac8da1e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ca/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ca/firefox-119.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "1fb3a39ed59a808d79504fc65720a420e05d8f4809ce4cef16291100012c26e1";
+      sha256 = "aa75df2625a82f66b797778f69894f32fc605c1cdd432b00efd2540e3b273220";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/cak/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cak/firefox-119.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "91ecfbcf7c4790a8b2508f97b8386f03eae720781e7515d599311d2b60d2553f";
+      sha256 = "5344d1e38a89c8c90731fed48deb7fcf0b0d18613db86d73f247225f15d8208f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/cs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cs/firefox-119.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "93780bb5ba6a4f6e83dcf9253e688d44e37cf7ff33aebc475b51efff6fca09c9";
+      sha256 = "adab1705be9c7c0ad4b1cd42291b93b8fc27d56afc8f46ca8137b838a2271c0a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/cy/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/cy/firefox-119.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "222eeeb6f5540198244329305b10eeb43c283452dd86753625060f79adddbd7d";
+      sha256 = "0f27d7cf339372a304a6d87fd1c09fd7d896e04c1f7fcb7505a19040ce08244c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/da/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/da/firefox-119.0b6.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "6a00340dfae62bf44604c7b4ed868194db6209664e80b557e8d0b494fefdfa35";
+      sha256 = "5db5bee56304d38be35448bfa9d1ed83fc7b033cf09293e74686b908345cb7f3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/de/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/de/firefox-119.0b6.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9093fc0bbbc87c77ea4c347d753fd4d636b38cedc040d12a7485622ad64bb22b";
+      sha256 = "0c6e88bb3a8e797e2f3bbbe5bdb06285ba1537ce08c569002839d0aff39ca4a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/dsb/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/dsb/firefox-119.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "b012bef8849b1f83585a280481a1d7c5fd6bb99a401f4e059194451a836177b6";
+      sha256 = "bfaa67ff178b467386d97d7158ff27d725213d277407c68385bd61b42254774c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/el/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/el/firefox-119.0b6.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "8b17a4239790849d26a4b6d141aa99cac59ef6065c04c04d336cc455afb62af5";
+      sha256 = "8bd5509649f16833d133f4da7ca27df508f2b78bd2f2ee6716691ca32f03426d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/en-CA/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-CA/firefox-119.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "30e10d22fd99edf8a4ec9016b1668a3a9a1c7f4434e002330614affe70bd2fe9";
+      sha256 = "dc9598bc78929e48a6903c3dd85c058824ce6249bdc8958b83979a3291f6c078";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/en-GB/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-GB/firefox-119.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "0331f989ad8fb7157c830f8406a9a10bd3acbf2ba66c603c7e64a4b723d7c8ab";
+      sha256 = "2d75187cd53f66be8620744ad14b002e3a359d12b5a12efc9c72c337b574057c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/en-US/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/en-US/firefox-119.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "a466113986c7697d1451143aa8c1135dcfc993767303bb9be3080108b87dbd2f";
+      sha256 = "2640312b24f2938b0251c1cc018d0f85a1b91aaa688638556140ffe7ed5ff682";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/eo/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eo/firefox-119.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "b299bd695c636a99fe912760b46bc6c523ac1a86f0c2e5e9fe59811ead8f0408";
+      sha256 = "f52a3ff12f69cf2a7e2443f003ccad1ebf2fcc32303d829c5a4131e067dd99f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/es-AR/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-AR/firefox-119.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "cb2b14c37d3f004da6b09e903cb4d8a9aed92416fa7e44583a358fc25b4f6d4c";
+      sha256 = "40581ea9878db00ccc1e97b46791f7476293024841158127feeb69cb10dca511";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/es-CL/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-CL/firefox-119.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "6f3a42ff6bf955cb739dc4f41270bb4085405a6e51884d1ca8db63eac69f36e6";
+      sha256 = "22bda55625d59fa7812ad1d81676a7be08e6dc9ef00dd653365d25dbd3914802";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/es-ES/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-ES/firefox-119.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "df63303437fb8455070acd6a7c9884d67d6b5c9b370cb1be7a9bdc4769180ac6";
+      sha256 = "4195ebc7f41753c02abffcf12847969853bf169c4f1925cc6d16db88341a8dc9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/es-MX/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/es-MX/firefox-119.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "d3e52cc7c73f282130f07f302b7f1bebe7217e8703d65b368aae30b6a07e7b53";
+      sha256 = "4248baccf81d3376913a415b9154d52171158136af2a7c72e8891f0fc441501e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/et/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/et/firefox-119.0b6.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "6739be96567bdb251551ea1c95a154b652941dff62a726c3f4e46550fb4a770c";
+      sha256 = "b6387c5743a550635e9526cf055a7562f259d0117970809b9b11c3ae88a1c08e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/eu/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/eu/firefox-119.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "d933f44278d6ec9410b2a0cbc0d3096e69781f16341f8cdc300d088c28d158ab";
+      sha256 = "46a649181d6c97d938ded928be22447d9810a792ce218ff7dddd683a0f5b4eeb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/fa/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fa/firefox-119.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "4e67595aeb1c3f3ea2474fd3b775c99d196a32df102d91c3b5cf2e347c1a54db";
+      sha256 = "a789b8b2c68d2f3fe41c1257ac741d2d3ff55d68011e01eed7b19dce80989d41";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ff/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ff/firefox-119.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "47f25e3872162c34db46c2a92e2e7d8e0e2aa1ea51cb78ac00bb618707b8d116";
+      sha256 = "7625b0cda8b5d2c5ca673a477d9f69fb90c5a7c15949cb048cdf11a2922e68c4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/fi/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fi/firefox-119.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "eb726502b272da0e5f133aa536725e3b0bbd182129596df7e1425585c12f6228";
+      sha256 = "a871ad53724e11e40eb3d66b21483fd744b2404615f9bcc655c0e7dc8e9883a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/fr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fr/firefox-119.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "a7627f9701cc267c83a474722dd3dadb0ca95355e042b35a0cdc6acd8a061b5b";
+      sha256 = "cda3709cc13eaf59ff4657ac5c8f66145092bf59c4daa09392ddd5d9d596584f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/fur/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fur/firefox-119.0b6.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "7ac08c98bac199c38dd06c16149604d47fec18a3e4b40e1a605ea1ca4a2a8726";
+      sha256 = "9acabfb02291d58f7e99d4e34ed744102b191f3f22dac1a1e3363eb68052ef95";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/fy-NL/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/fy-NL/firefox-119.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "b2c920b297a542cd38e098bfc0201e0b78eb336c10e249b8ff03aaad46927878";
+      sha256 = "a30c0b8888b5feafcadc2ced7e12cbe924f1d1af61c00005b990d46b13da583b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ga-IE/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ga-IE/firefox-119.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "9085255102b322bc6a827b889dc2cbe7be1fec3e6d1e81bf9ca41491d2262296";
+      sha256 = "002f16c18ed429aa6c09d6ff3767caa6b500a398706a3ba6f4c384416c050643";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/gd/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gd/firefox-119.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "3ececa203093cf37332b67bc0376d6c1ddb41e486f013393942feef47d80eeb4";
+      sha256 = "6193316d09dbb8e510b8641499f3f3723a25cc57cdcb009661180663ec19de0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/gl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gl/firefox-119.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "90f7a08354a7597d409ec7584d3ac83861f330a7f45dd530f859142a4c2a0f9c";
+      sha256 = "ab142c65d545338e1db668f9e5313bc19fe8260a4010458ac024c4a654c262f6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/gn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gn/firefox-119.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "8780fa181377da1363dd27f19dc1bb5e525be2c3c54543f4fb2f2ef05d8e1acf";
+      sha256 = "9a9bd45fd1612fadc467adfc4391adb559f0886dc5e5c58e1c9489b756621409";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/gu-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/gu-IN/firefox-119.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "d3769d7e7c8370bf3099ec23e9b28ba954870fa13ced4edc524a45eaa04361a8";
+      sha256 = "36e72934f547e0b585d7ecf651173d55244bc1549e2539f2133be75c55b28677";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/he/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/he/firefox-119.0b6.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "684b1e3161a58fcc871fa5098f7da976379103df9d76753fc6f7c0ea8d2d788a";
+      sha256 = "16d25845f30fb410d966b4a6f0100d49033a6c7f7fac17bfaee4c59681973011";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/hi-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hi-IN/firefox-119.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "f18af98c6b73840c34e91d982bcbb76e401f5e659f513e92eaedd9d960903618";
+      sha256 = "baa04788253d2e1bc833295edd0468c73f3628f76f0642c48a5486945c41c743";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/hr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hr/firefox-119.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "f3ee346c091bc26ca1c1812247e73c9c474bf479d4fcde118bf1838e9b951880";
+      sha256 = "13e68c8f205f924a6ebba66ff16d79fdfa9cd8914386d7184f5a389af3753c9f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/hsb/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hsb/firefox-119.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "1003cafbea7bfcacfcb00eef2c4da1414b9deaab0d1d6c392858de2631b65150";
+      sha256 = "bd7c988e1aa6458f73f28eb46136600a5df5a382f3d5451c784c0f6e42a3b5a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/hu/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hu/firefox-119.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "0e00e30768f0f8f2f74d7e4d0963bdb017d33bcc1c27a04a0aa642fec01d2d83";
+      sha256 = "0dae4dd735e4b5eb1600515a40c836aef05730a8993f8060d7f8f40f23903ebe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/hy-AM/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/hy-AM/firefox-119.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "791b8c969e38363f4c67f98bd89e590840ed077d1da43f90483c6e27ad9de402";
+      sha256 = "cbde4751c8c42126f7af27ac45037245ddef38f835496d66675ca1aa0c7c25ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ia/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ia/firefox-119.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "8b98a33d1f96e0359e5061eb5ab90bc3df65ad60c25c7c832ffa3f4150733b23";
+      sha256 = "e5484ffe781d2e71b9ce44830f1318dbccc32f8165f432d501100fb9f78d9334";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/id/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/id/firefox-119.0b6.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "29929faf8864db78fbdcec221f32b5d4792c750f400086df8b4948e2bae26ad6";
+      sha256 = "35d1130859de3a82b88a77686f7caa5e8362ac574e6662377f28ff296947008b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/is/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/is/firefox-119.0b6.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "cc2c68ebbdf3b3df8cb5bbc457644dd8b2ee148bd7ae2496408b43ee65522a28";
+      sha256 = "eaddbbf9cbbb1d9b006aa7b24ab5ed735e5a0939ebd268423a47ef9f9fdecc37";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/it/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/it/firefox-119.0b6.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "d6f4c8f9c12676378f314b80e0aed1978df303cf82c097d95f0e5c807eb14a87";
+      sha256 = "c2fd4eadc15dea50fce40bfecaacffe930b8292f04ebec2fda8fe6cd094afa9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ja/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ja/firefox-119.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "efe9e9ab253d7c722b3c2056195e60222ac61763614bd9e64ecbd87c3ccfa9cf";
+      sha256 = "6755b5e46dbf3b2069d01dc17b9c5ad20ed445a84785d020771f5871198faaf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ka/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ka/firefox-119.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "e954ff92220b3cab7914bec848c467cc75914a1b1c34b195ee0f70c041c3225b";
+      sha256 = "cc6080cfc1b8d4865dfc5222ad8d2a7dbd3745563b82fbf6edf14647ff832754";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/kab/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kab/firefox-119.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "0bc06f44cb3fa271ce091407952a98995f937bc57d018f2fd87206bf127ee755";
+      sha256 = "82e6383d1ae3708077525d6af18b54d653be90c08e1d8b43801d83696e086c65";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/kk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kk/firefox-119.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a571f1959a67294fff9840d8d686faa8c7045e2497c3028e29cbb12acef81b91";
+      sha256 = "8afbc941c1afd7bf46ef07cbd5590ce75f95634febfde46f739326c7c344976e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/km/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/km/firefox-119.0b6.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "8f7f63f3cb80d8340c0306b3e2d82ef917b04fbf09274e7bd436a640b2dad1d3";
+      sha256 = "ea40ac277a502b7d2ffe6f0c95ebca551b360c78377ecf78e7dde8e30d5d3771";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/kn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/kn/firefox-119.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "6333082b856b6e7647d1e32288ea77cc32e68d1c913e3e20cee82274a86ccd6c";
+      sha256 = "3ebe329a34c386f5abacc1a71c6d4d857bc29c8afd4d6738278441b3fb176b52";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ko/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ko/firefox-119.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "0e999bb9442e9cf0be08503a431c3fc900723e351ac5cd70c2428aacbaca2385";
+      sha256 = "fd4fc4cb9576e4f27c5baa59b5a8e650e9a09dd581191eda2b2fa43cdeb59d4c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/lij/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lij/firefox-119.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "b3bb7fe6774e29efbfee08391adf0f578b97effa35372cab6785bef76cbb09dd";
+      sha256 = "bc0a41f902ef8d45475a0ea4a9612e00ce28c1e3af1e4ac6d279be2e1e0f546a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/lt/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lt/firefox-119.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "b56b06b93bc2f13bfdd8bd33471e5c891bafc8fa0e02daac8005c41f4e87ceee";
+      sha256 = "77a14c250a4d48e63a1131c59a966f815468644966b74bf9dfdb9b0a800acac4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/lv/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/lv/firefox-119.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "34dc1a2ad18142e1725f08d35ba1112ae780e11620fbc9afad521838e9b255b7";
+      sha256 = "7739bb320f0378ffce06823ea99b2b059138ab74396dacb3f9a8146e5a679d28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/mk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mk/firefox-119.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "4f951ea1e1ce47fa19b546cc24bea43d7ceacdee9ec88e0269b22514e81e8452";
+      sha256 = "31c6da50ec3c216e47ff4560854300d7c5f49f187fd00af4f5b95a560b4644da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/mr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/mr/firefox-119.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "75337bb9e961494907b09044e2ca227d442bd7fc854dfebd11f892f73983dd9d";
+      sha256 = "ae6b36ba25e4926ca5308eb9e49349220cbfe67f628a2ff97299cc1c07508eed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ms/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ms/firefox-119.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "ac59c1e1f0d2fedb886cb43056ab9fbf3dab5c20a12c0673fac88fe388085cc2";
+      sha256 = "1b461db57a22f2af0f4d2371f2749f63b49ab8bcde5eb03bd01000bc1922963f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/my/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/my/firefox-119.0b6.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "1e75212d832aae53c3e6773d5a281fedb698070b8286748edaa3883e1cbc49e9";
+      sha256 = "cb896c973fced6499d0b5d0a88ab359de0be926d6b3e675d552a9401fc514a0f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/nb-NO/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nb-NO/firefox-119.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "0aa2f12cdf5b32d3d8b5b76e3d0e40619ed1ce23a7532f648f830a3df31c4c27";
+      sha256 = "cc9e3f2dfc121d6bbc5ec8eb7978ba0e0e6804dcef632919229c122f0f4898f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ne-NP/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ne-NP/firefox-119.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "140ab995f797769714a2ff8848575e7047129900ae020d49aa615738a2dca7ba";
+      sha256 = "db1ae6bbf74c07945b0550b4e857f46c50a450c649d95fc638ee79c6f4b9d5fe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/nl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nl/firefox-119.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "7ce60087cea88252aa2fbbbbe8904d50f75ea4bf76121bb47b6d79b60a185755";
+      sha256 = "ff66018baa06511ab0b4542ee7daf02b92a3226b384826c93c7faf3547400f00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/nn-NO/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/nn-NO/firefox-119.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "7dea9d0ea86dd62ea43f53aa29e78d963a74fbf65b7b15719ee821a8578f9ca0";
+      sha256 = "998be79bccce541901e08e1ffde2589690f35611874d4a3381e30eade8b0df96";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/oc/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/oc/firefox-119.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "0b91545c046084ed6bce8387c09371e8b55eb1dd70c201828a3bbf6bc1ea40eb";
+      sha256 = "bb1affd0f6033be6f2b948cbe45d6f0a0c72a0c7d2830d559049cd42a8556891";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/pa-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pa-IN/firefox-119.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "f81d25e0d944b1d5d4b906f44c741de65c959c5005b7eb1629fec36732d5a39e";
+      sha256 = "b6188b8e74b61bf41ce13c11c6e6edb256ed3b580bc81a5503759c39ae8e2975";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/pl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pl/firefox-119.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "79428c143126ef8d0c8afed51093d865bc264f495b8cede68cb7588637abcca2";
+      sha256 = "42640c440031befd0f108c94a47fea434915b2737a90fec11bc37b9352d9d150";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/pt-BR/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-BR/firefox-119.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "f2b7da1935e9741a0a0484c8dc88b412126a7e6d4a813802b91559049317a9f4";
+      sha256 = "6c99453ea5f33f548f07612a4e1dcfe660317d7a31889fbad58b36450bb50adb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/pt-PT/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/pt-PT/firefox-119.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "d5246136a69c2f082cb0f73ceb4e9ac9de553245cad950de08b75efac4dc25e8";
+      sha256 = "4f0305d3da737fafc9a424df8db0aa25a1e99135aaef8fc340743324b36de894";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/rm/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/rm/firefox-119.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "ddb16f9123c15045cac3faeeba13a47e3058b0f5d3d63782e60a80ef633b3601";
+      sha256 = "a13c0cad16dfb0181d5804e42e9f5a9b9aa65f31f125b71461bca8000cc6f2e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ro/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ro/firefox-119.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "ff7d9dfec76aaeac28e020e6a442a13a2630f995f6ab3f8a5c442faed6898339";
+      sha256 = "6927bac6ef5d53d606e1cf14d0bace2e084b917e58ec6ea146ac038890076418";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ru/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ru/firefox-119.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "67f8b2a779940555d0a3ec1d22e40b84fffa088bf25f3fed25d8cd51ba117f05";
+      sha256 = "8d707f8fa2cc6fee8ead1cbb9d7585c3d0c33bb1add1b286f0a4955949b2dfb9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sat/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sat/firefox-119.0b6.tar.bz2";
       locale = "sat";
       arch = "linux-x86_64";
-      sha256 = "9e0198247b331b81c776fd8d3d519fc999ace73da6437404a727552051c436fd";
+      sha256 = "d61dc0c76152c83437096365ae8f162ae62c0304f8e277ca1629d87521153ebb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sc/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sc/firefox-119.0b6.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e06611e2697caafa428821f397b73a282cb95fd04e27a0053a4626d4e27c0f0a";
+      sha256 = "605072564b0b751f9c586df8cf21814002ca378d20b0b2bcfcc6747685e61f36";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sco/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sco/firefox-119.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "1dcd186dd4a07afcdceb5cd78d4bab8acec29bc33c22f00241146a95dc671681";
+      sha256 = "28c4b87d30bc853a3fc210424cfb1527ffbbf75fbca7c374cfd3e006d46ef7ef";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/si/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/si/firefox-119.0b6.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "ea6f325e4abc2deadd846758c3a46e6f05272a84e2f0a5bfefd71d4654573c51";
+      sha256 = "dc5a9baed40c9321dda7aa20b7147ac655760059cc0ca2ea1549c4a29e6035ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sk/firefox-119.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "1e926336db28b651c62a08401dad98fb35e354435bc5980e46bcda601c20c4a8";
+      sha256 = "3375a7450b16f27d20a5a4624b6dabb467e3b69689e31289317cae1be3690874";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sl/firefox-119.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "863f87c1b3259d8c2b1e5eb46c8eebc11f7e51466d2152f7906fc43286dad6a4";
+      sha256 = "61969bfda32ae873583920b4c3b3a973eb09ccbb561971eb6e6a3a91c6d63dad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/son/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/son/firefox-119.0b6.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "294327e09950cc5a87e8ca995f8399f8557d0ff6139bec9bbcb4d71ef86041b8";
+      sha256 = "5dee7311285b3c7bdaccceb2bd6b82d638621b821f3de5221a25f16a2edb03f4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sq/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sq/firefox-119.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "fd1a5d4c657fd49065cb7fc730f79ab59b10e0ac1857a6bf2029b9e3b384e259";
+      sha256 = "4d48d48f0748057df5ad991a39cbf48688425537655668fc21846db706b3467a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sr/firefox-119.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "3796d67d405a07de959b5b0ad1a858044a0d77ae8605f0c0eadeef3d72a1b9ea";
+      sha256 = "f7cf2b3e22a209e0e929b4faefd1838851d0defa08ebf805b1ec0b44aa7d271e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/sv-SE/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/sv-SE/firefox-119.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "acd35f920e8a27d036c0a60475eb24b3b5f7715495d9a906ebc6338b646a1bab";
+      sha256 = "96cabf15eb5d2a2895c1246feb4fc47b95c1322fb8082181679a2cdc6b405678";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/szl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/szl/firefox-119.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "d0a298daa1d3c264c31351e8079c31e111ecfe29c0c5e808460f087b4087d0bb";
+      sha256 = "09619a0c74615be4dc0cf190758c82051611c4c875da7419c7057cfcb9308a9c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ta/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ta/firefox-119.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "2d2d8e94c76650323ad13408c9309c149e064f69f9b3aa327537b3113104efb8";
+      sha256 = "ecbfc6e2f24c250884a959df8b59981a249835b6c1d23b249a6f882f9d916b17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/te/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/te/firefox-119.0b6.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "185a700c7d3307c7d970675b6e488ad8a404626c5b826500a813f7597c5df0f3";
+      sha256 = "5f61c2897105ee45ccbdec665edd3d67a73825333a77002a14984c208087af65";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/tg/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tg/firefox-119.0b6.tar.bz2";
       locale = "tg";
       arch = "linux-x86_64";
-      sha256 = "2edb8b3734c83a6a6e1a4cb9671abd5762fb7e1d62f38c49902241d57d9aeda1";
+      sha256 = "b9572b7bd246d2b427da497cc8c3c8bf8a6f3639c71d7720a8a0853861ba9219";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/th/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/th/firefox-119.0b6.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "831df82268c79869730a4d31c574ee6d5d65a56611fcea858ecb700eee768098";
+      sha256 = "142df8ad9962021fc75c140b0ece4228807c908f282711860a2b2329c08ab37b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/tl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tl/firefox-119.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "03602e65d339244c8c7792e2ec3307b5b3559dd9d3fd586c27c73967bb34f580";
+      sha256 = "c3fea25ce49b162ea49a4af6c1039a106eb9342b5d6b7fd4278b836cd37e179e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/tr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/tr/firefox-119.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "5d25f30d6b9c147867660321337960a51937acaa2aae4abbfdf8e5b3ae999b31";
+      sha256 = "1563cf5874154e2ef1e2d68e175fb2dc88621a2cad394a1e9461d783d8055e1c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/trs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/trs/firefox-119.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "6418756d1bd6516be637382e0315664bcdd2a06936c7d68e7898314888f0b28c";
+      sha256 = "cb41d625ea87c8a32c10677c912acdf7ea124b68e8ed2f24ad0651be905f17dc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/uk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uk/firefox-119.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "d0443018b3090f98e615ab14cbbc321f7f5855c0508c417ba8f81d7d75174ae7";
+      sha256 = "3a35aaf5fd21a472d930670056df4723401242a62ad0281b09fb5b6ba4c57423";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/ur/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/ur/firefox-119.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "42fafb4efc7a3c50634e37c73f411a57079a5d1fa9a78b03c6d26f3debc92374";
+      sha256 = "68b55314db43e666fdfe5c99b03f4a4952367f545dda03f6566e5d11c28a8014";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/uz/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/uz/firefox-119.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "201d1fb0f398734120ed898fc88b2ac4f846375e1dedac78902a40e9c6f8795e";
+      sha256 = "67d721242d4e3c0950786847d22b6caa91d4c91eddd865c1d3f4cce542efd282";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/vi/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/vi/firefox-119.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "a567ab70825748b18cc23efdcc2fabe8d2c9f78f3632f11d89d0b9f8b842a782";
+      sha256 = "d7c5097c32527a55627639945c5565ba368d3d2e00ae2df0c9aa291987985861";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/xh/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/xh/firefox-119.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "e5e8fd2000a9a1f03a099f1004b9a6b83d136cc719df7d053caeb6aa9e614961";
+      sha256 = "66059db2521b7a2a293d45db180bc165b38f35ebfc99be836f3cccf21991bfc9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/zh-CN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-CN/firefox-119.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "c18070c69528e8abc4d5b9862eb8fb535f044a247854fbbde3ad4d67adf76572";
+      sha256 = "c0f37c0a3c71be9124c98d423b24300f879c42840fcbd0869fc6ef2634ddd018";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-x86_64/zh-TW/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-x86_64/zh-TW/firefox-119.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "66f47c79c312f3049687eda3915cb6f07deaa4b8fb02b3d858926f3664059a0a";
+      sha256 = "4c79f290b4f371e1b9fe0943d70af2dad0f0eea44c09ebe8233ceeec63cbd300";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ach/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ach/firefox-119.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "035131aa193806dacf049edb9a53e78e5a8101c779fb6912a86a2b0a05ae92a3";
+      sha256 = "fc312d3449ca702e20f8068b7c03aa4c99002937c7b9fddaa4ffae84a4f85f0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/af/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/af/firefox-119.0b6.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "66081bf06add5f6c28d6cd495304f0f8194b86946148bcb32b171450d9f70b8f";
+      sha256 = "4709fd5b03033d9f446bcded2881480e3422457c2172177ed93d28d21dee371b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/an/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/an/firefox-119.0b6.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "e11cb313507f03944186f9c6b19154f6ac7809137b77a8b209790acb5160082f";
+      sha256 = "ba53b4c50323205533cee64fef138588f95fcc11e109cd69468669ebbdff2c1f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ar/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ar/firefox-119.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "622daba775f1ea1393cea791e2b777f43ee592e81dbb6094721e65338f355e24";
+      sha256 = "8380c9717d94d46d174ebc4dbc0e2bf2e3f3aa87f5f6801fe8c6364fb526e1ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ast/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ast/firefox-119.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "bb9668d0cc030b29b780edf7e81548764745c0d9667602031ed11beb2cb32d07";
+      sha256 = "1d7ad1f5b3f39324e7ff7d68bfccb45ae01659543c91ed8c4370ce08a68987e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/az/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/az/firefox-119.0b6.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "f15a85ec663a744a06b4829d038c7abab371315529cf4ef5c460e6e4dc768800";
+      sha256 = "3654b54007b638232aeda8f82e308e83902c9bacb5c4400a252628369c914dbe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/be/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/be/firefox-119.0b6.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "adbd8a9a2c0a0f40054a62d771ae3f06b6681269d04c58ca8dedcea709af7600";
+      sha256 = "6f35eecf5df49a9d9074b064a0ddcf58661671e539a4824facad7b53682e9f0d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/bg/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bg/firefox-119.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "d9e70cb3d0f5f0a5ce2a8ee016b52eaf4c1bb0f6bcce478522da8e4d41d084e4";
+      sha256 = "a6ede53f86474c53ae3297b7e9b7ab7c962337b58af577b78fc2ea3bd4e5d3a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/bn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bn/firefox-119.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "13437d3f1c0dd023de8a8fbc2bc0db7b7635478877c8c9bdd2339b5b756a1bc3";
+      sha256 = "9a3df0e4c2dbda0d50c1a8334158d477ff526cb3c144ecbe977434e238c6eab0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/br/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/br/firefox-119.0b6.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "9de0d55c475e5db8f07abc506787f5013b751140bff0f527feeffa9bf538b6f9";
+      sha256 = "103e32e095b38604fd807cd2707ae99190d8a1249bb0cc4da9c15e9426626321";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/bs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/bs/firefox-119.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "b3641160b8dcb23326268aa15b1397b591accf40ba9c5b2d80e6db9a14ca8f30";
+      sha256 = "e630bfbd71002f1fd1ebb8f7565c0ba0dc766b0833fe2bec37e7c30cf75be9a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ca-valencia/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca-valencia/firefox-119.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "cb23589ab6157516cc5d49dc9c6dd26cd222f444002afd36a0f4c69cc437537c";
+      sha256 = "f9ff06feb765a9c2d61618e26fc3e8f390db5af179505ccbe09f521152e782a7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ca/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ca/firefox-119.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "a362e057d30ee855d15bf7d3ca7a85b94ebd027049b1ce05c025b148cdb3fd92";
+      sha256 = "c8dc0cc2dcfd7e8756d3815f293edb7da61f899197ce13d29f0891f96df68e02";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/cak/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cak/firefox-119.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ce903e91d62778587132c7b64fa1ff478a4512b5b0df21a9d7e85fdbc839ee4c";
+      sha256 = "d35ed2653628c7ae54a04f2bc441bb5ebac4710efc05d64f3781922b6446a60a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/cs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cs/firefox-119.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "508700cd54ade97db9152b41f49dc59ed8d3e611a23cbe59e2e15be477069ff6";
+      sha256 = "b8d33dfc6b96297ddd846ff99bd30efee0fa781e3d4e8a0487057a6a3790c3d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/cy/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/cy/firefox-119.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "fac2d773f8980bddecada6ff8c6af922f1367526b7eb54d812a2a0959ea6a142";
+      sha256 = "8fdde9c4a36b23354e5f3393f70d10f2b921b363ca499da454d52999d4b410a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/da/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/da/firefox-119.0b6.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "8565bdf5b71b748a2520f47837880c7e96744eae26c4d634a3cd1abbe1b41738";
+      sha256 = "c5762e737ad82839721870b46e7626c15f9f99c1bb8f3c7a4766a508a097265f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/de/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/de/firefox-119.0b6.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "4c455b4b2f2f002b7e0199ef21312ebdec01965b528decabb9af94fec165d12c";
+      sha256 = "cd3d776b5c44d0873f4b8c90bf62c74a9273cf5b03d5ded36547f1d2077b3c3c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/dsb/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/dsb/firefox-119.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "522f64e7359af23d22533288ba77f9d6c618f92dc6b2208db4fed2d5253a55d1";
+      sha256 = "e3e8f5083b0c83d9365605a36d17f10886c64c0f21c19576a3d24a62d2a05c13";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/el/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/el/firefox-119.0b6.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "10a63cc7cb35c57220ba46ca61c815b51f2940dba5418a62a9f5b3154b6c0b41";
+      sha256 = "08807f2915375b628775a4c0987ac934c00d26b1105a8caf3a52ebc026c42a90";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/en-CA/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-CA/firefox-119.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "53604beb9cfd51c58d6cb848297503c46aec8a352542c64c0ce459f02d9ddc90";
+      sha256 = "68797c810dd86008a1e8aec39445264cd69e852bc28c758d94654a276976f2c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/en-GB/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-GB/firefox-119.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "dfa27d197a73da2abd64dee64c3c87fd8aa4c623bac2f33e5b51f5911bc190db";
+      sha256 = "a1e6c1344bd9bef9a393a023cbb0d6f56283e483203ea03692ea71a9e043caf5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/en-US/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/en-US/firefox-119.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "82bc39d905905d2090d6de135f72a5eb72ce2e4116ded808464be85809d454b2";
+      sha256 = "5eaeace6e8d741b8cdae8c8a98f118caa98f957bafe8d54d536d98cb260fae92";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/eo/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eo/firefox-119.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "ff2498a9c836625b87aa01a442f9d87ad79d83422a5c42fc3dd2da2b94a813ec";
+      sha256 = "21cca62f1324c5c6fb8b03bc670a86ea6f86cd6e91c11c81eb202571d2fcd687";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/es-AR/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-AR/firefox-119.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "3b2f08337f9c86b3794c9a416d9f6fcb4896c5b5a08cb50be3527e27d026d573";
+      sha256 = "955493247481e364722e3bd57333ac8f6754c8bc135b9e0caff78d554a91e441";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/es-CL/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-CL/firefox-119.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "b21c4549d6950bb90593fe397e904d05c8478c9b43fe353ebfb57e4650f5d521";
+      sha256 = "16d05701b991a91bde3d7542737d64b63a1d184046090158adc5ca683cd34739";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/es-ES/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-ES/firefox-119.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "24c766dd98eb4eceac01b2037151da585763af82bf7cf5f61bcc01c27babecac";
+      sha256 = "b300130904d449c31adde941dbf514fde7f579cfe571744ea3a929915277aaad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/es-MX/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/es-MX/firefox-119.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "da6288a4d72ab0d28d01d48eec5c9f00bd77bea2f180d878c88b741643e94a64";
+      sha256 = "44bc3c0cbee194c8235308b5836104a2c5016ac6537bc9dfb741ccb2aef2d854";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/et/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/et/firefox-119.0b6.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "fa0ea3e43829dbfcee4bd994037f41d20875ef5459f599bc0c48130c6f3c5b54";
+      sha256 = "536c1c8f97ae1f4f50584e5b7123d04e682196c71ebd4d873e19ab90bc5c8442";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/eu/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/eu/firefox-119.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "9e9909b383cc395315788db911e8b04f80bb700125b082f4ecbb753cc0f62ab6";
+      sha256 = "d25fb29a7e62691fa070084b93d294587c0cd0a006aeb13d90de29dc7960264f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/fa/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fa/firefox-119.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4fdea69afeda312f16229743b55a9c01572afdf19c4f1e2a018f49af97f282cf";
+      sha256 = "8bb9b11ede4518f35df9820040607942581e3793dbccabea0962a1455ed879ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ff/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ff/firefox-119.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "ce13c84cc691709e9e46caf97dfe652e1a1518765a65a57d807ce00720afd2a3";
+      sha256 = "e4e840fa0c9fb6e09b9d450c9daa03f988529bf833b11ae95af63ae863e2939e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/fi/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fi/firefox-119.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "c94e76743bb5c65ba35ea32e9b692b4fe095c5b52e9df35dd726edfdc789ddb7";
+      sha256 = "70169b2198ee988736aab5c179fa45e8f517840db179af532810f2bfe20eb162";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/fr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fr/firefox-119.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "7af9e2cd9fc0ff976732fb664e34644da717b73f1b847e0f71ceb747c8dd9fbe";
+      sha256 = "201a04c38bad6855ec1e9dca17e7def948d577d48b00f4aa4fa53d97dd5535a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/fur/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fur/firefox-119.0b6.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "ea20bb0cf18c8a3d9c72a022f2ef2e280d0c9691c69a7429db2e407e769a00e1";
+      sha256 = "b88b280d2e5247668920a20f0801c24b469e8dad40c911ee6a579b15c0a3c887";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/fy-NL/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/fy-NL/firefox-119.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "39d3b6b4ea2c934a070d49a17b9f57a4e496a11ac0a4827f4150c7cf3013fe35";
+      sha256 = "270fa1ffaefb27f6ccf18205bf4854d8e71c6987edc435275096d4cd63474d84";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ga-IE/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ga-IE/firefox-119.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e2b7b6f211038c78adff23d9088a690cddeec7a9b3f12e0ad824cbec9d26c0e3";
+      sha256 = "e691dc694afe2bd2330b54e61ec78d4d9231e42eabfc276019d6bd622b5ad4b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/gd/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gd/firefox-119.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "6cbc957879c3c9b9594cdc70cf42f3511aaf7a3ba3c2d341d14cffbbddb09759";
+      sha256 = "922ebba58136ad845f17e347c9fa7dcca6860f721a513502aceed6d33c5c6457";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/gl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gl/firefox-119.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "569e3dd2a3532005cf9a6367310996520eb04fd1fdaa8a244652563816a1d5fb";
+      sha256 = "166f955a682ca4e0b6b6e438c23e4f9cd7b02053811c16d0d98668b35690bfec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/gn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gn/firefox-119.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "c1dc87336ed8b0fd814212e6fdfd3b916ab11c56917cb33000808383f6411cee";
+      sha256 = "909af1ace3ba8275a9d2cbe9e5097595b3809361a50f2c3e2e4040dc2fff71ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/gu-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/gu-IN/firefox-119.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "8d10aeb8803743699e8591e000749011990159bd556b5cebe8c100837c74de9a";
+      sha256 = "12680aed2230f9225b15d78859649d9eaf1b671e5e3fa8ed8f88e7273776bb22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/he/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/he/firefox-119.0b6.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "b680ea3c981be484f5a64126d7529a70982bf09d296fd88dec29b46e86717f30";
+      sha256 = "57048b16d6f5db639d23b2937de0c891b06581ef90413c71bc09eadf9ac323b6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/hi-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hi-IN/firefox-119.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "cbc955e3850b233ebe46aa36c941f16bca30cdc3184fa02990c4386b09bd112a";
+      sha256 = "29b9e04a34acf231de4068c24537e23923a38656d1527c3819a90acbca63a3aa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/hr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hr/firefox-119.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "f099cfed0f1240ec55899c55398f61df195a902656097d1d7b524a2465c0bc08";
+      sha256 = "71a1b2425ce2a41bf1d3a64e8bc977509a5c12b0890556604cc3b59dae890099";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/hsb/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hsb/firefox-119.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "d478a55a9187c5abf92782bb808ebe6daf0fadaa606ab5efb2ad821faf0dd624";
+      sha256 = "84a5038ea816f176541caf286a6d3f4d8ceccad6eca2d6efa332ad53748fc6ee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/hu/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hu/firefox-119.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "29d3ceee2886e287ef91e11027a30d119ac816bf5de9fc5e1b2a32cc95a9f14b";
+      sha256 = "ab3897471971047d71dfc973b38e082a7d436862a1fb7ce9ca309c8778a6ff43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/hy-AM/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/hy-AM/firefox-119.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "a63e1defbf6142133abc688d8a7b78bed337ec68ac973eb7ed739f7157fd15f3";
+      sha256 = "1cddc519b812a7c969b655d28283fad466397406f2bb2b474bc7215d4e3d9f10";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ia/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ia/firefox-119.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "c0fb8499d5984fe7f54333e7060793c923df2d121381811d18497828db38bb32";
+      sha256 = "1903a412d67ca3d9e67e6f00e560eba5e9d7e0a823360b2ce7488e17e2a874ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/id/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/id/firefox-119.0b6.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "663cd10815a42c56c618cb50d79e8139256fdbab2600a83f4ef5b47b0b94b1f3";
+      sha256 = "245549351a02c7a7de3ac777bc4d1bfacf3d2a49a6b9f7a731b91c57a23df5ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/is/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/is/firefox-119.0b6.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "47af307278acb5f61a928327585d702a1c56320f04c27790149ce854f5d6bd07";
+      sha256 = "23127f8ebafeef2997f53a7d000754a355b7b425cc45c84903c5d041ad6d59ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/it/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/it/firefox-119.0b6.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "113a7ee6637fde653bc0a4d5b198f33560bf2bf8e18049c4e63e522d96f4f74a";
+      sha256 = "197ac9ea0daf18f2b3370c400e89dac8e38a3cbe65c53a1052ded7e4299ca618";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ja/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ja/firefox-119.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "77afddb32582afbb100ebe31df62a6fafa79b36f57237ddd18f84611dc413dce";
+      sha256 = "e1ec0637713fd35e2240f76b5d07731d24e2e4dba7c6aadb356ba0e0abcde05d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ka/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ka/firefox-119.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "f4c46cf57c0a4fd0e5024491ea4acf95d8ab694ccc86819f5fafe733e9d9bffc";
+      sha256 = "2a32fccbcee9100aee27a1fdba8a841ac089664c7b9b3f079c0fa03ae6209328";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/kab/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kab/firefox-119.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "7202b9d0e06a1254b70d9d58b18a2747be7d383076598d93636e59c8a509001b";
+      sha256 = "1f3ea0a86f57ce915c54f161cbc38f58d703a7883c6a12d121a37e3ac19f6d5f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/kk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kk/firefox-119.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "178d7f1f86dfe100cd9bd368c99feb6a02a48274640994059181f4292c5e33a4";
+      sha256 = "53a9b09dee48b819d7f215fdb0c589f99b3681a0f50d6a1cac75a5c1b6c54d57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/km/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/km/firefox-119.0b6.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "a13a9ba8474fc21597c12f602379e78a45612317b16613dccc433d4f4ea96498";
+      sha256 = "2d2dac4518d81308a9876f2687feb700a301f3caaefa39faefc930a104af7742";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/kn/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/kn/firefox-119.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "e08ca6b2feaf81634c88abad583ea19907a7d76664d8180a851846ed697e031e";
+      sha256 = "3b846d085583226674f92ebf10431959d1b0cc26a1f625a7735619ba2082c763";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ko/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ko/firefox-119.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "f4b65a21cbc26a96065c8e096094bdfa78038f89b45043fa1d49983bbf722a48";
+      sha256 = "62f1a527a86a4d43bccfa5fe683d66d9317369bea2ce6942cad83ebe4c8c878a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/lij/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lij/firefox-119.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "f23c88f1a4b7373692798ef31d0c35fc488449b0e677e92d98ef4b1db492383a";
+      sha256 = "3cdea51693644417f6d22e887daf21e3bcea623c8a18efac0a38123a43f5b8fb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/lt/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lt/firefox-119.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "8073ee74e40d946c0b4dbb9e3b30b8a4988824a7d938b5ac12cb1c6cf9c68390";
+      sha256 = "0c03f35039bc822cd8a6c756a31628dfe08b8a713c4ddb322d51146c8fc44d2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/lv/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/lv/firefox-119.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "adfbd61925156a069b3473c9beee214e698502dc8ff0afe04a841c41c6071522";
+      sha256 = "aba840eaaa35a712313204274e34d6e8cf7b7d643649b2a0e2dac81fb78de2c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/mk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mk/firefox-119.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "9ceb9ac09fd7b6047b468991a7a3e9f416e858d5c028722b88028f1da57d121b";
+      sha256 = "a386ce049ba686c54b4df38debe5c344d114f3c2aa36d8e9220cc77d38b5cbf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/mr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/mr/firefox-119.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "b47f17878b4241df9abfd439a9526ad7d4c8561a58d3961c2a5f6db28a052a12";
+      sha256 = "6439998155e506bcbb80258273e3597480ccb1fa1e520704834d41199d4514d1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ms/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ms/firefox-119.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "56ef17179b2c4a10c79bb2b263e2b5de72d2d8dad19f3f42f33564677bf60a8f";
+      sha256 = "7aba8da30c9f57fb7e8ba0ced67ebf60ef1109edc38677c04a20ead32476f0e4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/my/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/my/firefox-119.0b6.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "e826c029b97584d6a640010d78c72a2f3c8649b3a65bc1b00aee46fa78114889";
+      sha256 = "eea6b322199d5f976037c8e60b2184a3569b64280460394115766c4378f53adc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/nb-NO/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nb-NO/firefox-119.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "537fe1af40c68bf73f984f3be63b3c05ab63114222f54d9aab7c486dfa18d54d";
+      sha256 = "837b7330e1b697d71a8714e2da77e8b4e2ea9338abb4c5ed1147f080ef332410";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ne-NP/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ne-NP/firefox-119.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "af6b51b7b3bcf75984419b87335e254d16399557fdfc83239973376c54499b7f";
+      sha256 = "4b940aaf89f45ccfedb3a5bbd78001dc5d96a4a1991b1da76d88b8fabe2209c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/nl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nl/firefox-119.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "20bc221cee98d756bbf1be7c31dee415210b3a4bd2abfca3182428fa414d931e";
+      sha256 = "d962d996c3ad87ec4eafee5f17a80b3fea2f131bf3d5e0d3b5362b0520f4f04b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/nn-NO/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/nn-NO/firefox-119.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "cbf4c8915222f4bba8ce8885b8c130209fb8904345860b85b1eba7453da91d56";
+      sha256 = "d08c8b71451bd46ea6ea49379a746f25bcf1fc2e293e3219f9587d8b7f1f76fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/oc/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/oc/firefox-119.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "d460d1024951e7b1ccedd358ecef32a134f00f13912370f1fc7a40afcf60fc22";
+      sha256 = "d8feaa3cd6a9afacf360df9a93d9e118dc72231b661d5fe0b909d8013b68a946";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/pa-IN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pa-IN/firefox-119.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "ab6a722ff19fbd01f8977b99313dca359e79dfea24b0d41c3b1b63014ec5134c";
+      sha256 = "fa4d570b5869afbb4e6201c03828efe19f12e6ca53a95fd120decc8c927eb5bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/pl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pl/firefox-119.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "07febd6d75a0c94d85b08fdbb55667eb404ad34616b06903844f490243f0fb41";
+      sha256 = "0537012fcdae800a394f1797325b7e5429d1fc69d9bf79d50f0e42b381f8180b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/pt-BR/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-BR/firefox-119.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "e714e6fc81d8f658359927df71d3e1778586a712d4185d7162c13484ea9fbf58";
+      sha256 = "dc2e7e220e18dce1b818e29f7cca953331bbfabf6dd6a7e97ceba142eb305c66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/pt-PT/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/pt-PT/firefox-119.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "077a796a86502afce5cc4fb5fd25b650f0eed742b94432ba52a3eb4c58d7d2c3";
+      sha256 = "20096e9c5a2077dbbc5b052674d66ff939e93d8199021e96c938b3f73801472e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/rm/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/rm/firefox-119.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "634ac5c2e0cbd488b763c6fb8a8b239ea8910e7f4026632a2f97f9e90bef9a10";
+      sha256 = "48b6d128c360f00a3d154787f627e9c4a96266d6d08c0124ddbd151eecdd2912";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ro/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ro/firefox-119.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "9a58ad2180720c410eb1b341042bd190b8bfc311cf7821bfd02c676acd31cb8d";
+      sha256 = "afd4032aae64239ff0193db56ed29f2aa3c380f6bd1c685d844cf87f8ac5316c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ru/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ru/firefox-119.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "f39c378ab98b5c616bf908444189864b31dc218ad828b9b7bddb59372669df60";
+      sha256 = "a6d9849dbe33cf1844243be4008d7db49fd238e4b8e1355eaf212ba5d0c210ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sat/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sat/firefox-119.0b6.tar.bz2";
       locale = "sat";
       arch = "linux-i686";
-      sha256 = "9aa65c3648fe0e9e306901756069bc1d40b1a27ea52a244614d33d16d0da849a";
+      sha256 = "78e73098d936fa2cd0d0239b31c12666a0a00bbb484561807c4f7533a3d37f3c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sc/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sc/firefox-119.0b6.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "3bf9b3ceb9800d73ccf783cb80f38a896b392d54d441c0ee8896e613c35e1c15";
+      sha256 = "6133c94129820c7a7753de9565ea7855efac8702a1638173364d27ea655c162b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sco/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sco/firefox-119.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "3ecd03947010a37eccce154dde954c7fe9830b665c25e545ea7f2f1a999ef2c5";
+      sha256 = "509d0894a6629ea6aeb2af56f96b5dd0a4fef5457dfbed1301580cb0c7dc2dfc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/si/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/si/firefox-119.0b6.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "31fc98c73347bcc4a03b11183d64f881da5c0db73e2b2963edbd9e5f6ad90c71";
+      sha256 = "6d0b0a6df565b0170b6356307b9300c71aa298e34b3057bd4ebdb2a49f9e716f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sk/firefox-119.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "c617ed8276619164f20c7e1d22756adce397bb20b0c2e09deb2c4da8637581f2";
+      sha256 = "368d7425c03cea42cb630e4dd3e08e57dda51c6d09a14d02fa7a51817282fe5c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sl/firefox-119.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "e33d367eab10d990271099ccf70dd83d2133eda5be21405f8f6d2e4e1a609719";
+      sha256 = "4d663f89fde091267522c37ccc3e69e0246367c865a756e9078fae01a52c0f4a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/son/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/son/firefox-119.0b6.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "5a44059d9ebd4cc2202882350c4b60e912c2703d9ee993d5fdf5c009ab9ddd89";
+      sha256 = "578a4c59edbfb30f0f070026d76bd741ef1af60e4ba09d799a604a8bb770554d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sq/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sq/firefox-119.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "8268c55012ba2793005ebaa7c8f6788847e9e98d4db3f869d8c468a68756923b";
+      sha256 = "6640bc3563f04badbaf6102fa34b6f92caf8a82c3a6a0261e8dcc10212dd6198";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sr/firefox-119.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "d1f9a34d209726cb14c61f53f53977f1b52d50fa3e3f6d9f39a4013b0c5442a5";
+      sha256 = "9aa22e50e4c7f49512572271252b4a9fb0631c0dcf4ebd86eeadd1c3c768e0b7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/sv-SE/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/sv-SE/firefox-119.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "0825181c5746c1c0640277d9eff1f2942a1d86d4a7261879c9ac2026c4cdb1ec";
+      sha256 = "9aafb4a1665481eb4da39857b002e92d98501e0020c592d0870ea6d2b913832f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/szl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/szl/firefox-119.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "c613bb508fc12d4ad9fa33ab81670927b520f93bca0ded05758c81d4ab6e8300";
+      sha256 = "c4667804c8e5f3f803f1c06618aa25e1cb0ffacb0662eba71f163505aa5d921e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ta/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ta/firefox-119.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "1f428c6edcd027fee990577bcbd159eae2b2e53c4c05317cb3329560194f477b";
+      sha256 = "ed4744875be84e379a3300789ee1b3f3e0cbfc0dfc4149e0b122a0c96e932e17";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/te/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/te/firefox-119.0b6.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "62cff5ab64021fdfaeae5f47f3d3d579b89341017548c478e29e61a16813ec29";
+      sha256 = "3eb90abe5fc026f43a2d262c2396d11c40d64cb2688c8ad311c7e2c8a576254d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/tg/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tg/firefox-119.0b6.tar.bz2";
       locale = "tg";
       arch = "linux-i686";
-      sha256 = "3341cd110dd69458aae73f1de31a88d86b75e992c0ee8baff3a55dccc310ef83";
+      sha256 = "07b616e1debafbe9962dd54442da33ee5ec95739568db7dc529fd5ec7aa94c78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/th/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/th/firefox-119.0b6.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "2b2bb108d16476c5e68a0bef5e39c9d20ed55edecf10a6b0534ea5896e966b09";
+      sha256 = "1fc3d9d2eadf9613c275dec758f601df716fe84faad79b7d1a3217c4fabce1d4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/tl/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tl/firefox-119.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "adb9c09bdf1c38266aeb69256ca40f5a531d1287c5ebe1a75661d2fb1b069b31";
+      sha256 = "357092ab4ce7d275d158fdbc9fb5695b1570cccd5f6a8d39e6cf188fe30fb645";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/tr/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/tr/firefox-119.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "b1ded7566d1fb693cc72a5cc7c2469ad5f435dea8b2984d153e8e3be41c391b1";
+      sha256 = "10e6f7a5543dce902b570a6fe5b9411d8e1755aed3990dc8dee382348532422b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/trs/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/trs/firefox-119.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "61d5e8b489673c78ca12e3f7230032e42dbecf380ff92fd6a85b77f5646eab88";
+      sha256 = "fca774899d7abbd453ab32193626ae6f4143c26bf031e506b9a90413ede1f062";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/uk/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uk/firefox-119.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e095c8b3e87488083599b4d369378978a5023d219fdd0c9fdbe0c2a0ddee3b44";
+      sha256 = "c5144d3a09aa4e281ac0a0ef1ba4e35375e48aa77a6aa8db3fe25b6fbefb7cf5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/ur/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/ur/firefox-119.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "c8d8d7c6ab10f4d47628c59aa954ed21d8a5a9df237700fe72c74c1fe0418894";
+      sha256 = "687b8cb4ed66699a590be38ceaeb8a2c5b802cfad8430ae3db98ab0ddbdb7957";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/uz/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/uz/firefox-119.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "74fa1c9203cb8a1475ee708254fdc8302848912900db9ee68133c90be8c62ae1";
+      sha256 = "563674323dfd4b333ba695def45413a1d322fe6c3425029e73999380ef8987ae";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/vi/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/vi/firefox-119.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "f3449419f28fa5669dae1dafaed32c4e95a447a50ae5c915bdea57313358c9ae";
+      sha256 = "4c76121ee4245094f417a70d09add493bfbc8a3020401f26d69638627868d473";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/xh/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/xh/firefox-119.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "bbc8992c95fee611c7f8b2616f270018d54e362b2fdac144c26c2e0780653ff0";
+      sha256 = "8f7ea99e9587dd8801abf22892fdfd38f4446a8339460b8bb4103d2854c8b00d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/zh-CN/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-CN/firefox-119.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "80c5bb859ab2c1ccde1bdac07ef6dad6fc43e29ff908fa6db6bbd05eabdaf2d5";
+      sha256 = "03bef56655f52b9c40d3ed29052dca62ae83f2668ef860aa745abe3f7d1a4c7c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b2/linux-i686/zh-TW/firefox-119.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/119.0b6/linux-i686/zh-TW/firefox-119.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "3b3e7e66fbd3e9c91823dc83081e9e9f4837a9f97889801207d083d9b122d6f5";
+      sha256 = "456d5311fe2a21bbac3bd20f3105635bf468aea86c014bf4fc33508b9faa8298";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 12924180c25cc..6561e51d7d95b 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -84,8 +84,9 @@ let
             ++ lib.optional sndioSupport sndio
             ++ lib.optional jackSupport libjack2
             ++ lib.optional smartcardSupport opensc
-            ++ lib.optional (cfg.speechSynthesisSupport or false) speechd
-            ++ pkcs11Modules;
+            ++ lib.optional (cfg.speechSynthesisSupport or true) speechd
+            ++ pkcs11Modules
+            ++ gtk_modules;
       gtk_modules = [ libcanberra-gtk3 ];
 
       launcherName = "${applicationName}${nameSuffix}";
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 3957d4c2a0d79..342396c6a5aac 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lagrange";
-  version = "1.16.7";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-d9QmFXDDeYDR1KFtOyQKfaYvex8TFDiYJUrKEp7H5K8=";
+    hash = "sha256-UoyCsmZKpRkO4bQt6RwRAceu3+JPD8I8qSf9/uU5Vm4=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix
index a97d2b6ee81af..79020e18b9f36 100644
--- a/pkgs/applications/networking/browsers/palemoon/bin.nix
+++ b/pkgs/applications/networking/browsers/palemoon/bin.nix
@@ -14,12 +14,11 @@
 , makeDesktopItem
 , wrapGAppsHook
 , testers
-, palemoon-bin
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "palemoon-bin";
-  version = "32.4.0.1";
+  version = "32.4.1";
 
   src = fetchzip {
     urls = [
@@ -27,9 +26,9 @@ stdenv.mkDerivation (finalAttrs: {
       "https://rm-us.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
     ];
     hash = if withGTK3 then
-      "sha256-kGt3pIgCjVeSD6UXRvj5w9opWrMx3q3B/Y0S55kKS08="
+      "sha256-c/rfnMpiLWqlNZppqPRNWXsgAQ1FofAdel5EFnK+mrY="
     else
-      "sha256-kNvUC/ir7TKjvKXYFoEDOPAY75CEgeixmEV1tuB/WIM=";
+      "sha256-27njFdqq2DUctlz/UOtH5tlOduQNpoapuCYS+48K9dk=";
   };
 
   preferLocalBuild = true;
@@ -155,7 +154,7 @@ stdenv.mkDerivation (finalAttrs: {
   '';
 
   passthru.tests.version = testers.testVersion {
-    package = palemoon-bin;
+    package = finalAttrs.finalPackage;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index e4a064e790594..5d2ea47b34c65 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -95,7 +95,7 @@ in stdenv.mkDerivation rec {
     homepage = "https://w3m.sourceforge.net/";
     changelog = "https://github.com/tats/w3m/blob/v${version}/ChangeLog";
     description = "A text-mode web browser";
-    maintainers = with maintainers; [ cstrahan anthonyroussel ];
+    maintainers = with maintainers; [ anthonyroussel ];
     platforms = platforms.unix;
     license = licenses.mit;
     mainProgram = "w3m";
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
index e062a3d151518..0401f1a568761 100644
--- a/pkgs/applications/networking/calls/default.nix
+++ b/pkgs/applications/networking/calls/default.nix
@@ -33,7 +33,7 @@
 
 stdenv.mkDerivation rec {
   pname = "calls";
-  version = "44.2";
+  version = "45.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-mdv/yDUi6tzYc3C7dtmkAWtk4IqzHvOZVO2CA3TP9TE=";
+    hash = "sha256-NIQFKVpZSxY2QOb73WfYsCzMQwB9XySoADCL7IlmGe8=";
   };
 
   outputs = [ "out" "devdoc" ];
diff --git a/pkgs/applications/networking/clash-verge/default.nix b/pkgs/applications/networking/clash-verge/default.nix
index bbe36cb0d6615..35a6d4438ea8d 100644
--- a/pkgs/applications/networking/clash-verge/default.nix
+++ b/pkgs/applications/networking/clash-verge/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clash-verge";
-  version = "1.3.5";
+  version = "1.3.7";
 
   src = fetchurl {
     url = "https://github.com/zzzgydi/clash-verge/releases/download/v${version}/clash-verge_${version}_amd64.deb";
-    hash = "sha256-dMlJ7f1wpaiJrK5Xwx+e1tsWkGG9gJUyiIjhvVCWEJQ=";
+    hash = "sha256-+RYfGLa4d5JkLWnlYfhjCOSREVJ4ad/R36eSiNj3GIA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 6ffc939e23f34..77fc279e581d5 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -35,13 +35,13 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.4.10";
+  version = "3.4.11";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uhXwCaAVFLlGeqkBbeA5DINo9CjNMzU9rRmOYoYJASI=";
+    hash = "sha256-H14a1JzFvzxoNDv8WGzHgfalLnDZ+nX19BbM5ptrEes=";
   };
 
   vendorHash = "sha256-0563OHMNkKZcmLY1nHS70pbtrufY1d1WNXrxcCl6MKY=";
diff --git a/pkgs/applications/networking/cluster/calico/default.nix b/pkgs/applications/networking/cluster/calico/default.nix
index 17f1331e46120..29428d8360eaf 100644
--- a/pkgs/applications/networking/cluster/calico/default.nix
+++ b/pkgs/applications/networking/cluster/calico/default.nix
@@ -2,16 +2,16 @@
 
 builtins.mapAttrs (pname: { doCheck ? true, mainProgram ? pname, subPackages }: buildGoModule rec {
   inherit pname;
-  version = "3.26.1";
+  version = "3.26.3";
 
   src = fetchFromGitHub {
     owner = "projectcalico";
     repo = "calico";
     rev = "v${version}";
-    hash = "sha256-QSebSc4V8DFSKufSB6M4YSuwDJ9rn/6IR6Fr38F8BBQ=";
+    hash = "sha256-KbtQ5oMZ1ygYwbaKpyAKTprPZ6+ikDbGLafwOShVd6w=";
   };
 
-  vendorHash = "sha256-SuV7OEt0ZlVt0i8L5rgQd0HJn63XuDHi7+pe+bq+6Yw=";
+  vendorHash = "sha256-1PBdDpc/cvI5uN6/msxXoMXbx7Osgq12W1VqtZ7XtGE=";
 
   inherit doCheck subPackages;
 
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index acb4ce14a8e31..887d6e6f5c29a 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.15.8";
+  version = "0.15.10";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-iIE4jqvlkgf8+IrP0t+o0bZwlB5v61HzbyQy6ExAobE=";
+    hash = "sha256-iIv4xOqggbMDvscnaaz0QXjeScJ4SzOP0fvfshq+vyE=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/civo/default.nix b/pkgs/applications/networking/cluster/civo/default.nix
index be63630ab7174..f145b306d8868 100644
--- a/pkgs/applications/networking/cluster/civo/default.nix
+++ b/pkgs/applications/networking/cluster/civo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "civo";
-  version = "1.0.66";
+  version = "1.0.67";
 
   src = fetchFromGitHub {
     owner  = "civo";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-17dRFRG3HpYJvqE4+SFI6a6nP6umkKc61rwQu4FiG6Q=";
+    sha256 = "sha256-EBpKJrQ+zdoMlTbOsWCAj2Hfu8OqQTFb0l+i2UdkNSs=";
   };
 
   vendorHash = "sha256-AvAS3S7bepaTFPelE+Bj5/UuQIXEDvSAtDuFaPRC9sk=";
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 358c60ea28057..8396889f532b7 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    hash = "sha256-o51CIwZeBq3XrNvu6n6dVCsmXH2pU7l3igw61KjI0cw=";
+    hash = "sha256-l0D7uVoYTwiVI+b8yYpsJk/eAG5XYidR9CaQ595aTjw=";
   };
 
   sourceRoot = "${src.name}/cmd/ctl";
 
-  vendorHash = "sha256-szDFQ5zxZ4IUMaIe/eyQAouomR6kpQXn/LZ3MEBbx0Y=";
+  vendorHash = "sha256-3Ws2ObyBVYog7oVqHeEgIeWeRQpV1Z+Clilp8wI/PUA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index ce6aece378031..8421c3157e5e7 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -48,6 +48,6 @@ buildGoModule rec {
     homepage = "https://www.cni.dev/plugins/";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ] ++ teams.podman.members;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
   };
 }
diff --git a/pkgs/applications/networking/cluster/gatekeeper/default.nix b/pkgs/applications/networking/cluster/gatekeeper/default.nix
index 05fa118e2a074..70c464bb7c9b3 100644
--- a/pkgs/applications/networking/cluster/gatekeeper/default.nix
+++ b/pkgs/applications/networking/cluster/gatekeeper/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "gatekeeper";
-  version = "3.13.0";
+  version = "3.13.2";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "gatekeeper";
     rev = "v${version}";
-    hash = "sha256-7ciI8KgkC1NRYP8bFW5RnZ2oLXaCuPHQBd2tvgQ+YO8=";
+    hash = "sha256-4d0AZknOPQR84HbZiYgXAR/HA82cYes+gzoLWw4SVgA=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index be6cef66b1bce..4082fdbc0f44d 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -1,36 +1,45 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "glooctl";
-  version = "1.15.4";
+  version = "1.15.9";
 
   src = fetchFromGitHub {
     owner = "solo-io";
     repo = "gloo";
     rev = "v${version}";
-    hash = "sha256-dQvvWlfCCc9QZFdOryX0bvLVdoBlhVMeP8MqQAYKua4=";
+    hash = "sha256-P3NC1/ZujqSO2C4ToNLpxgbxqACXYYsAFQh1Xbbu7x4=";
   };
 
+  vendorHash = "sha256-KaBq1VCGWv3K50DDelS0hOQkXnK1ufBiXBtbPQFzwMY=";
+
   subPackages = [ "projects/gloo/cli/cmd" ];
-  vendorHash = "sha256-FU8Siea+oH4xtSVwGk/dcivS6eNpIkWZiZqQ3EX9dwI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
+  strictDeps = true;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/solo-io/gloo/pkg/version.Version=${version}"
+  ];
+
   postInstall = ''
     mv $out/bin/cmd $out/bin/glooctl
-
-    export HOME=$TMP
     installShellCompletion --cmd glooctl \
       --bash <($out/bin/glooctl completion bash) \
       --zsh <($out/bin/glooctl completion zsh)
   '';
 
-  ldflags = [ "-s" "-w" "-X github.com/solo-io/gloo/pkg/version.Version=${version}" ];
-
-  meta = with lib; {
+  meta = {
     description = "glooctl is the unified CLI for Gloo";
     homepage = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ nelsonjeppesen ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
index 9d2159f2c34bc..0a1f99e1d679e 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-s3";
-  version = "0.14.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "hypnoglow";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-81Rzqu2fj6xSZbKvAhHzaGnr/3ACZvqJhYe+6Vyc0qk=";
+    hash = "sha256-D79nUIueOV2FC3I2LreHMzl/xOpzNa+OsfL5wcnyY78=";
   };
 
-  vendorHash = "sha256-Jvfl0sdZXV497RIgoZUJD0zK/pXK6yeAnuSdq42nky8=";
+  vendorHash = "sha256-dKKggD/VlBiopt2ygh07+6bTBbRgQfWbiY/1qJSSx/0=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
index da65c169732c1..f858f8b2a6775 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-secrets.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "helm-secrets";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchFromGitHub {
     owner = "jkroepke";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zytorArHhdwF7F9c2QkaX3KxLNlWySKieK2K1b5omFI=";
+    hash = "sha256-UB69cGsELQ2CFXVsPV0MDNOYRTYgfA2NXHKbsaZl9NQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 9494729b68d7e..c3ae7d5081b77 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -48,15 +48,9 @@ in
 rec {
   mkKops = generic;
 
-  kops_1_25 = mkKops rec {
-    version = "1.25.4";
-    sha256 = "sha256-Q40d62D+H7CpLmrjweCy75U3LgnHEV2pFZs2Ze+koqo=";
-    rev = "v${version}";
-  };
-
   kops_1_26 = mkKops rec {
-    version = "1.26.5";
-    sha256 = "sha256-DbKzqfcQCHP3ZWJQcRhPDkKVzHB/MkcfukguUDG4UQg=";
+    version = "1.26.6";
+    sha256 = "sha256-qaehvPgB3phZl/K577hig4G4RxAUi6Im94vXP5ctnWM=";
     rev = "v${version}";
   };
 
@@ -65,4 +59,10 @@ rec {
     sha256 = "sha256-WV+0380yj8GHckY4PDM3WspbZ/YuYZOAQEMd2ygEOjo=";
     rev = "v${version}";
   };
+
+  kops_1_28 = mkKops rec {
+    version = "1.28.0";
+    sha256 = "sha256-a/3amvgGG7Gro6K7uIi20jwCo+JAlSuPB3/EUf75hxc=";
+    rev = "v${version}";
+  };
 }
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index 405eff5897597..fe3732152d215 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kubecfg";
-  version = "0.34.0";
+  version = "0.34.1";
 
   src = fetchFromGitHub {
     owner = "kubecfg";
     repo = "kubecfg";
     rev = "v${version}";
-    hash = "sha256-OoqmFv2cRUU/mDtDcXugx+NKwpePQzRD231YBT4xQmA=";
+    hash = "sha256-UGxtL8X1wEyo7jYmPw0GTvuzzQCBA3WTIowMnYSyfvM=";
   };
 
-  vendorHash = "sha256-0+I0EeCguo1RPwKlnqmxgwvRfuW1CKD58PhftZDLfSg=";
+  vendorHash = "sha256-AbEEHG+LJB5fOm8koVQllKohtb0lqD6Kln3GCwlkb/0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/kubectl-gadget/default.nix b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix
index 0403f5d643197..53e37c554406d 100644
--- a/pkgs/applications/networking/cluster/kubectl-gadget/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-gadget";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "inspektor-gadget";
     repo = "inspektor-gadget";
     rev = "v${version}";
-    hash = "sha256-cwzxjK278xMqXwMQLhRhXWR2HhCKYOBMAiM4Y1B7Etk=";
+    hash = "sha256-e93rQRIF3CmXjQhpACxBp4WnPtQ5IJnm7H5BcHGqH0c=";
   };
 
-  vendorHash = "sha256-lBOZe74SWMv+z3quIx8NEK6lqygiQAbiU4AvzuXcOKg=";
+  vendorHash = "sha256-YkOw4HpbX6e6uIAUa7zQPah/ifRfB4ICi90AxleKNNE=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index 09213261dae57..08d1c5d22e432 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.31";
+  version = "0.0.32";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yIRiIZKq+Q10Uo/9qEToeMHMipA5rApkxIRr/IJ0yfY=";
+    sha256 = "sha256-pMen6ZL1S0xr5+h7gVBMG4XjlZUifIiqHvjKgg8AY5c=";
   };
 
-  vendorHash = "sha256-XHSVLATWKklg1jWL4Lnaey7hCkYHAk/cNyUgQZ6WIq0=";
+  vendorHash = "sha256-pNOCagxOcxhELSWO1GfbxGmopYXIgKD00XdZdVgawrc=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index 751f767bface8..ab02dff316031 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-7v0r5xwxlTUASkhVRbUUD+/wjvyurylqaRPmspLY/IM=";
+    sha256 = "sha256-L5j7+2m2zKRQ/zpmwq1OimPM6I1KmmPBzNcK+s1NIDs=";
   };
 
-  vendorHash = "sha256-77KUQlOCIRxuyL/vkxK+F+WEyzDFAYaBNq+JuAmkQvY=";
+  vendorHash = "sha256-+x5wohzPYzff3jpqsvnDqElrBW867WLrl4RaLlRjkUk=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/pkgs/applications/networking/cluster/kubevpn/default.nix b/pkgs/applications/networking/cluster/kubevpn/default.nix
index ef12d8ae2e6da..acead1775d25c 100644
--- a/pkgs/applications/networking/cluster/kubevpn/default.nix
+++ b/pkgs/applications/networking/cluster/kubevpn/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubevpn";
-  version = "1.2.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner  = "KubeNetworks";
     repo   = "kubevpn";
     rev    = "v${version}";
-    sha256 = "sha256-C/GXcINuAtDdSN5CdoN62zeYlT9L6cXDTDR9S3eMP4w=";
+    sha256 = "sha256-fXRzo68d65FISW+m/BTmwOXlJiCmMm9Az1qsGGsbPIA=";
   };
 
-  vendorHash = "sha256-24mw5ku0pQX2QNQPA9E+wowS3y0J+oKiIxuyVGcgBro=";
+  vendorHash = "sha256-EcHHSOAr93M2kPhEaZSpvpZCq4pi1NCedo9hw1Mn0a4=";
 
   # TODO investigate why some config tests are failing
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index ecc92bd07f188..a763177034459 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "stable";
-  version = "2.14.0";
-  sha256 = "0j4qzmfhi286vsngf1j3s8zhk7xj2saqr27clmjy7ypjszlz5rvm";
-  vendorHash = "sha256-HxxekAipoWNxcLUSOSwUOXlrWMODw7gS8fcyTD3CMYE=";
+  version = "2.14.1";
+  sha256 = "1fxwy8c1zcjwnv055czn9ixalpvq710k0m82633n73a0ixnlmjbv";
+  vendorHash = "sha256-hOuvIndyGGvNWYmzE0rho/Y30/ilCzeBtL5GEvl9QqU=";
 }
diff --git a/pkgs/applications/networking/cluster/opentofu/default.nix b/pkgs/applications/networking/cluster/opentofu/default.nix
new file mode 100644
index 0000000000000..f98f9eb110a97
--- /dev/null
+++ b/pkgs/applications/networking/cluster/opentofu/default.nix
@@ -0,0 +1,180 @@
+{ stdenv
+, lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, coreutils
+, runCommand
+, runtimeShell
+, writeText
+, terraform-providers
+, installShellFiles
+}:
+
+let
+  package =  buildGoModule rec {
+    pname = "opentofu";
+    version = "1.6.0-alpha2";
+
+    src = fetchFromGitHub {
+      owner = "opentofu";
+      repo = "opentofu";
+      rev = "v${version}";
+      hash = "sha256-29vF5vWCPxJJHsQ1dkLcIaqEQVYxp2YjZ4LK5r4/dlo=";
+    };
+    vendorHash = "sha256-qhnQ47K9N7HoTMUXhX2RlUuQaCgeAB/Sshh56A5rhpk=";
+    ldflags = [ "-s" "-w" ];
+
+    postConfigure = ''
+      # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
+      substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
+        --replace "/bin/stty" "${coreutils}/bin/stty"
+    '';
+
+    nativeBuildInputs = [ installShellFiles ];
+    patches = [ ./provider-path-0_15.patch ];
+
+    passthru = {
+      inherit plugins withPlugins;
+      tests = { inherit opentofu_plugins_test; };
+    };
+
+    # https://github.com/posener/complete/blob/9a4745ac49b29530e07dc2581745a218b646b7a3/cmd/install/bash.go#L8
+    postInstall = ''
+      installShellCompletion --bash --name tofu <(echo complete -C tofu tofu)
+    '';
+
+    preCheck = ''
+      export HOME=$TMPDIR
+      export TF_SKIP_REMOTE_TESTS=1
+    '';
+
+    subPackages = [ "./cmd/..." ];
+
+    meta = with lib; {
+      description = "Tool for building, changing, and versioning infrastructure";
+      homepage = "https://opentofu.org/";
+      changelog = "https://github.com/opentofu/opentofu/blob/v${version}/CHANGELOG.md";
+      license = licenses.mpl20;
+      maintainers = with maintainers; [
+        gmemstr
+      ];
+      mainProgram = "tofu";
+    };
+  };
+
+  opentofu_plugins_test = let
+    mainTf = writeText "main.tf" ''
+      terraform {
+        required_providers {
+          random = {
+            source  = "registry.terraform.io/hashicorp/random"
+          }
+        }
+      }
+
+      resource "random_id" "test" {}
+    '';
+    opentofu = package.withPlugins (p: [ p.random ]);
+    test = runCommand "opentofu-plugin-test" {
+      buildInputs = [ opentofu ];
+    } ''
+      # make it fail outside of sandbox
+      export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
+      cp ${mainTf} main.tf
+      tofu init
+      touch $out
+    '';
+  in
+    test;
+
+  plugins = removeAttrs terraform-providers [
+    "override"
+    "overrideDerivation"
+    "recurseForDerivations"
+  ];
+
+  withPlugins = plugins:
+    let
+      actualPlugins = plugins package.plugins;
+
+      # Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
+      wrapperInputs = lib.unique (lib.flatten
+        (lib.catAttrs "propagatedBuildInputs"
+          (builtins.filter (x: x != null) actualPlugins)));
+
+      passthru = {
+        withPlugins = newplugins:
+          withPlugins (x: newplugins x ++ actualPlugins);
+        full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p.actualProviders));
+
+        # Expose wrappers around the override* functions of the terraform
+        # derivation.
+        #
+        # Note that this does not behave as anyone would expect if plugins
+        # are specified. The overrides are not on the user-visible wrapper
+        # derivation but instead on the function application that eventually
+        # generates the wrapper. This means:
+        #
+        # 1. When using overrideAttrs, only `passthru` attributes will
+        #    become visible on the wrapper derivation. Other overrides that
+        #    modify the derivation *may* still have an effect, but it can be
+        #    difficult to follow.
+        #
+        # 2. Other overrides may work if they modify the terraform
+        #    derivation, or they may have no effect, depending on what
+        #    exactly is being changed.
+        #
+        # 3. Specifying overrides on the wrapper is unsupported.
+        #
+        # See nixpkgs#158620 for details.
+        overrideDerivation = f:
+          (package.overrideDerivation f).withPlugins plugins;
+        overrideAttrs = f:
+          (package.overrideAttrs f).withPlugins plugins;
+        override = x:
+          (package.override x).withPlugins plugins;
+      };
+      # Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading
+      # of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
+    in
+      if actualPlugins == [ ] then
+        package.overrideAttrs
+          (orig: { passthru = orig.passthru // passthru; })
+      else
+        lib.appendToName "with-plugins" (stdenv.mkDerivation {
+          inherit (package) meta pname version;
+          nativeBuildInputs = [ makeWrapper ];
+
+          # Expose the passthru set with the override functions
+          # defined above, as well as any passthru values already
+          # set on `terraform` at this point (relevant in case a
+          # user overrides attributes).
+          passthru = package.passthru // passthru;
+
+          buildCommand = ''
+            # Create wrappers for terraform plugins because Terraform only
+            # walks inside of a tree of files.
+            for providerDir in ${toString actualPlugins}
+            do
+              for file in $(find $providerDir/libexec/terraform-providers -type f)
+              do
+                relFile=''${file#$providerDir/}
+                mkdir -p $out/$(dirname $relFile)
+                cat <<WRAPPER > $out/$relFile
+            #!${runtimeShell}
+            exec "$file" "$@"
+            WRAPPER
+                chmod +x $out/$relFile
+              done
+            done
+
+            # Create a wrapper for opentofu to point it to the plugins dir.
+            mkdir -p $out/bin/
+            makeWrapper "${package}/bin/tofu" "$out/bin/tofu" \
+              --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \
+              --prefix PATH : "${lib.makeBinPath wrapperInputs}"
+          '';
+        });
+in
+package
diff --git a/pkgs/applications/networking/cluster/opentofu/provider-path-0_15.patch b/pkgs/applications/networking/cluster/opentofu/provider-path-0_15.patch
new file mode 100644
index 0000000000000..318df9ab69a8c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/opentofu/provider-path-0_15.patch
@@ -0,0 +1,23 @@
+diff -Naur terraform.old/internal/command/init.go terraform.new/internal/command/init.go
+--- terraform.old/internal/command/init.go
++++ terraform.new/internal/command/init.go
+@@ -3,6 +3,7 @@
+ import (
+ 	"context"
+ 	"fmt"
++	"os"
+ 	"log"
+ 	"strings"
+ 
+@@ -55,6 +56,11 @@
+ 
+ 	var diags tfdiags.Diagnostics
+ 
++	val, ok := os.LookupEnv("NIX_TERRAFORM_PLUGIN_DIR")
++	if ok {
++		flagPluginPath = append(flagPluginPath, val)
++	}
++
+ 	if len(flagPluginPath) > 0 {
+ 		c.pluginPath = flagPluginPath
+ 	}
diff --git a/pkgs/applications/networking/cluster/rke/default.nix b/pkgs/applications/networking/cluster/rke/default.nix
index 38bdff136acee..8021d55156a6d 100644
--- a/pkgs/applications/networking/cluster/rke/default.nix
+++ b/pkgs/applications/networking/cluster/rke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rke";
-  version = "1.4.8";
+  version = "1.4.10";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-tc3XZyn1jdjkxWXG6qjsE2udpoq+RhhIWHXGmUQyO0Y=";
+    hash = "sha256-rr6CN5ik4vuLNqzNPvISfRfOjTcD48pSre2K6xr6xSk=";
   };
 
-  vendorHash = "sha256-MFXNwEEXtsEwB0Hcx8gn/Pz9dZM1zUUKhNYp5BlRUEk=";
+  vendorHash = "sha256-3bivFrn2xDyILD1ugSr7IehhNq4vkqShFQI3sbeY0iY=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/cluster/rke2/default.nix b/pkgs/applications/networking/cluster/rke2/default.nix
index 04271e7798e9d..68da1404bd822 100644
--- a/pkgs/applications/networking/cluster/rke2/default.nix
+++ b/pkgs/applications/networking/cluster/rke2/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rke2";
-  version = "1.27.5+rke2r1";
+  version = "1.28.2+rke2r1";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-LKVz/oKt3WDf84KEEj4dRyjkRWZIWbOnEgG03EHvfGQ=";
+    hash = "sha256-PkBnM6mKE90e8VZ3QHYp2mM4RgD9u1gNjFea3RaPGy0=";
   };
 
-  vendorHash = "sha256-Ck3/sMvCLoXKtOIhn0uE8hHdTlPFjIT04l3zoZQNKPs=";
+  vendorHash = "sha256-aW8en8KJsPITKT4fIyhhtLiYdk+98iL14wQXG4HsM3U=";
 
   postPatch = ''
     # Patch the build scripts so they work in the Nix build environment.
diff --git a/pkgs/applications/networking/cluster/terraform-compliance/default.nix b/pkgs/applications/networking/cluster/terraform-compliance/default.nix
index 669af001e54fc..b9668b0dd6736 100644
--- a/pkgs/applications/networking/cluster/terraform-compliance/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-compliance/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "terraform-compliance";
-  version = "1.3.44";
+  version = "1.3.45";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "terraform-compliance";
     repo = "cli";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-eE9bqu9ipuas+rdcJpn09V6nkdoYPOpChHgPH8U0rNw=";
+    sha256 = "sha256-Q7EzDL8yt2UPrM4u4f4ttDI5Da0ZzQwZmOlk7RrNN5E=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index a13dbfb543630..38051dff543c2 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -53,7 +53,7 @@ let
           "Tool for building, changing, and versioning infrastructure";
         homepage = "https://www.terraform.io/";
         changelog = "https://github.com/hashicorp/terraform/blob/v${version}/CHANGELOG.md";
-        license = licenses.mpl20;
+        license = licenses.bsl11;
         maintainers = with maintainers; [
           Chili-Man
           babariviere
@@ -167,9 +167,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.5.7";
-    hash = "sha256-pIhwJfa71/gW7lw/KRFBO4Q5Z5YMcTt3r9kD25k8cqM=";
-    vendorHash = "sha256-lQgWNMBf+ioNxzAV7tnTQSIS840XdI9fg9duuwoK+U4=";
+    version = "1.6.1";
+    hash = "sha256-qUJruwpec4uZ/gPWzpbQOMfSxkwRkRDlWDmVIgqe5A8=";
+    vendorHash = "sha256-1ZQDgNeMC59KrmZpA8T+Etbuk2MQKQsDYzqPGl6Y4Hg=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index f195f3e4cb276..1e6c86915acd4 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.51.7";
+  version = "0.52.1";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CZKY4/XQsWWlp6Xgv292LstahueJ9iFhxjB//RxlQOo=";
+    hash = "sha256-t1GAcOZAYdfrI0lsyKUEBbnJaGzuFP0+Mz3Yrv4Bmik=";
   };
 
   vendorHash = "sha256-NSrZVLQ3Qbnp94qCV7NbrEav/7LCRbTov+B2vzbuvdM=";
diff --git a/pkgs/applications/networking/cluster/tf-summarize/default.nix b/pkgs/applications/networking/cluster/tf-summarize/default.nix
index d4958d762b4f4..7267e3fc064a7 100644
--- a/pkgs/applications/networking/cluster/tf-summarize/default.nix
+++ b/pkgs/applications/networking/cluster/tf-summarize/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "tf-summarize";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "dineshba";
     repo = "tf-summarize";
     rev = "v${version}";
-    hash = "sha256-d8DIVPQkuEvDCO0wKl+aK1jSu6MJCpTxQrgKYcFnzjA=";
+    hash = "sha256-1sYWOvSWxoS0R6M1HxJ6yyBSa/LY3b9G8mF3NMofFhM=";
   };
 
-  vendorHash = "sha256-cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
+  vendorHash = "sha256-YdfZt8SHBJHk5VUC8Em97EzX79EV4hxvo0B05npBA2U=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/networking/cluster/tfupdate/default.nix b/pkgs/applications/networking/cluster/tfupdate/default.nix
index 24f7e36049b05..1b99068568787 100644
--- a/pkgs/applications/networking/cluster/tfupdate/default.nix
+++ b/pkgs/applications/networking/cluster/tfupdate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tfupdate";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "minamijoyo";
     repo = "tfupdate";
     rev = "v${version}";
-    sha256 = "sha256-ii37Au/2jjGdQjc2LnBPkyNNBMbD5XPPo7i3krF33W0=";
+    sha256 = "sha256-HyDWye7xL0g5vDoGl8FYFXfuMKU4rxAlFawQ5ynqkmc=";
   };
 
-  vendorHash = "sha256-gtAenM1URr2wFfe2/zCIyNvG7echjIxSxG1hX2vq16g=";
+  vendorHash = "sha256-oPqAH+i9ryb1Ps1yCkxoPgMmf4RNtFBCeE94vZAEnuo=";
 
   # Tests start http servers which need to bind to local addresses:
   # panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index ba870fea76184..dd95c6d939edc 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -8,13 +8,13 @@ buildGoModule rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.33.5";
+  version = "0.33.6";
 
   src = fetchFromGitHub {
     owner = "tilt-dev";
     repo = "tilt";
     rev = "v${version}";
-    hash = "sha256-o78PoIKj+0FvZRpm0AqtUq3N9a9/LDYc7DIPZgSZe4s=";
+    hash = "sha256-WtE8ExUKFRtdYeg0+My/DB+L/qT+J1EaKHKChNjC5oI=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/timoni/default.nix b/pkgs/applications/networking/cluster/timoni/default.nix
index 317207f2ed975..02e6ffa1a30d5 100644
--- a/pkgs/applications/networking/cluster/timoni/default.nix
+++ b/pkgs/applications/networking/cluster/timoni/default.nix
@@ -6,16 +6,16 @@
 
 buildGo121Module rec {
   pname = "timoni";
-  version = "0.13.1";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "stefanprodan";
     repo = "timoni";
     rev = "v${version}";
-    hash = "sha256-fuDc9EMSjBE0DiZ+OiuRXTRlxnO4/2yxkDsdKpVdg5w=";
+    hash = "sha256-DzJNNikvODP3v1jgQLbFcXEhcFfTeIYR6qHhUzEP/Ns=";
   };
 
-  vendorHash = "sha256-RdfFesMgQU+Iezg9tE3RJ0Tk6jjIWY+ByJoKqUVWHwA=";
+  vendorHash = "sha256-lRZFRnft8vEntVxiLOBcR00FP8AXexLyo3h2LCNWN00=";
 
   subPackages = [ "cmd/timoni" ];
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/weave-gitops/default.nix b/pkgs/applications/networking/cluster/weave-gitops/default.nix
index 3d43c8538096b..f47bd051c710b 100644
--- a/pkgs/applications/networking/cluster/weave-gitops/default.nix
+++ b/pkgs/applications/networking/cluster/weave-gitops/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "weave-gitops";
-  version = "0.31.2";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bzYvyqLMdVdgp8C71mnykzB9HEIPDXQ+SpBOScKybJ8=";
+    sha256 = "sha256-MJX9OrfvzGwrJria1Ki6QHprvoDLxBRPCnKRqPdnbUw=";
   };
 
   ldflags = [ "-s" "-w" "-X github.com/weaveworks/weave-gitops/cmd/gitops/version.Version=${version}" ];
diff --git a/pkgs/applications/networking/deck/default.nix b/pkgs/applications/networking/deck/default.nix
index 27b82928cc5d2..78f9b11291fb8 100644
--- a/pkgs/applications/networking/deck/default.nix
+++ b/pkgs/applications/networking/deck/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "deck";
-  version = "1.27.0";
+  version = "1.27.1";
 
   src = fetchFromGitHub {
     owner = "Kong";
     repo = "deck";
     rev = "v${version}";
-    hash = "sha256-QP267H1vfsIo1EhV9vAWt03ewGufPHT8sZWcj/AHuxw=";
+    hash = "sha256-9eMcbmRCr92ebJsPTyDFnwGn3gsRpR7aAkzV6Qfntgo=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix
index c7de76d279a8c..12d9d560760d6 100644
--- a/pkgs/applications/networking/discordo/default.nix
+++ b/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2023-04-07";
+  version = "unstable-2023-09-16";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "f8c58057945b1ded2f78dc0956ea25aa281a0b31";
-    hash = "sha256-FUSPQK4rB0J89s+I7yhF8SQ/Q9uygQSCF9o6ltYxOk4=";
+    rev = "d3cdbe480392dbab6ddc099d7d880378f6a13f26";
+    hash = "sha256-noCwPhp5/wYt28TM1vvsXb0ewRMV/cMzu/zUD2b0YV4=";
   };
 
-  vendorHash = "sha256-fLhyyIChqh+eEzht3CSLPfx6glw0YhiTb9PsbWJafWQ=";
+  vendorHash = "sha256-5Y+SP374Bd8F2ABKEKRhTcGNhsFM77N5oC5wRN6AzKk=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/gnmic/default.nix b/pkgs/applications/networking/gnmic/default.nix
index 4e78f0c0fcd23..c6d8770415a1e 100644
--- a/pkgs/applications/networking/gnmic/default.nix
+++ b/pkgs/applications/networking/gnmic/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gnmic";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "openconfig";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aEAbIh1BH8R05SpSMSXL2IrudjIki72k7NGvjjKkxZw=";
+    hash = "sha256-7jykosmVG+oJ6/27x+VtlVVxq/OQIctcjB1Wjs1DcRU=";
   };
 
-  vendorHash = "sha256-hIG3kG2e9Y2hnHJ+96cPLgnlp5ParsLgWQY0HZTDggY=";
+  vendorHash = "sha256-VjeOSnCAdG+RlIg9uIyyQ8wKUqyX5uc2RXG75q84vm4=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/applications/networking/instant-messengers/armcord/default.nix b/pkgs/applications/networking/instant-messengers/armcord/default.nix
index 1c7342c143df3..e8e5f01206631 100644
--- a/pkgs/applications/networking/instant-messengers/armcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/armcord/default.nix
@@ -39,7 +39,7 @@
 
 stdenv.mkDerivation rec {
   pname = "armcord";
-  version = "3.2.4";
+  version = "3.2.4-libwebp";
 
   src =
     let
@@ -47,12 +47,12 @@ stdenv.mkDerivation rec {
     in
       {
         x86_64-linux = fetchurl {
-          url = "${base}/v${version}/ArmCord_${version}_amd64.deb";
-          hash = "sha256-IUHcDHIJeGx7QKjxl3fUFHqUfs1JdIFxesvDXt3mVw0=";
+          url = "${base}/v${version}/ArmCord_${builtins.head (lib.splitString "-" version)}_amd64.deb";
+          hash = "sha256-WeHgai9vTaN04zMdAXmhemKroKH+kwHuOr/E85mfurE=";
         };
         aarch64-linux = fetchurl {
-          url = "${base}/v${version}/ArmCord_${version}_arm64.deb";
-          hash = "sha256-TWVlEjakdRyZmOuBq9HLO+R7y5jmgstFtyEHjf8nxxM=";
+          url = "${base}/v${version}/ArmCord_${builtins.head (lib.splitString "-" version)}_arm64.deb";
+          hash = "sha256-4/vGdWXv8wrbF/EhMK6kJPjta0EOGH6C3kUyM0OTB8M=";
         };
       }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
@@ -138,6 +138,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ludovicopiero wrmilling ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
     mainProgram = "armcord";
-    knownVulnerabilities = [ "CVE-2023-4863" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 2a461f382a00e..2cd7ee2d2c5bf 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -1,14 +1,14 @@
 { branch ? "stable", callPackage, fetchurl, lib, stdenv }:
 let
   versions = if stdenv.isLinux then {
-    stable = "0.0.30";
-    ptb = "0.0.48";
-    canary = "0.0.169";
+    stable = "0.0.31";
+    ptb = "0.0.49";
+    canary = "0.0.170";
     development = "0.0.234";
   } else {
-    stable = "0.0.278";
-    ptb = "0.0.79";
-    canary = "0.0.314";
+    stable = "0.0.280";
+    ptb = "0.0.80";
+    canary = "0.0.315";
     development = "0.0.8797";
   };
   version = versions.${branch};
@@ -16,15 +16,15 @@ let
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-eCfF7zC9JM/y14ovSJxMIvLY+IGv0Jvzn7MVgueltNs=";
+        hash = "sha256-toWwiMsEFsGaOYaPZziSmZtpzxGd9m+2MtxTrJwqFbw=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-Vea9Jm9qeU+bSFUGkAtd+3Goe6JvfT3KYX/Kt5UjFWc=";
+        hash = "sha256-o8cDoBe6A0wBjVLjp4JXrv3QsG7TZ/Kj4+T5lj6WHdY=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-32eKiQ9EncEZNL6MlK8lKqo0ZoRQKOpADx62bDQ6tvQ=";
+        hash = "sha256-Lw+qLAAwyoDBKDPOBA9HR79gcnqwTshFq6GMpFS0tXA=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -34,15 +34,15 @@ let
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-c60p8RX5Rv8tx6io65XbqyzJJKaCVDeL5NtwMLNIX5M=";
+        hash = "sha256-SUbpzd8RIf+e+so/dXZh5OkjCvWRC+EyqgeIg4u32Hg=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-HI4+ABFQtRBL7a3koCehJgn8WxJW86sCyuZE70n1AHk=";
+        hash = "sha256-IvrCjiZ5Oa616+U8C2ihg8THj7ePV2A8+82wUWqWoPY=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-SbCEao9Nh3cqCRD7FsHoKMVdy8T1y5tZAAGWHE6bSz0=";
+        hash = "sha256-m43SijSBxcAvYAlSFpQKIFILUm4AgSQ5F4XyQJyftts=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
diff --git a/pkgs/applications/networking/instant-messengers/nchat/default.nix b/pkgs/applications/networking/instant-messengers/nchat/default.nix
index 1c4f8ca811b01..51b704f5bc7b1 100644
--- a/pkgs/applications/networking/instant-messengers/nchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nchat/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nchat";
-  version = "3.60";
+  version = "3.67";
 
   src = fetchFromGitHub {
     owner = "d99kris";
     repo = "nchat";
     rev = "v${version}";
-    hash = "sha256-Fe+Cdh8NlrCkzSO/Juw96eXtGfXajhFIsKeTC3qXIlU=";
+    hash = "sha256-PhvZejtSoDptzoMP5uIe6T0Ws/bQQXVuYH9uoZo3JsI=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 2bb54b8b5bd7c..133766d8cc0df 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Cross-platform desktop IM client for the Matrix protocol";
-    homepage = "https://matrix.org/docs/projects/client/quaternion.html";
+    homepage = "https://matrix.org/ecosystem/clients/quaternion/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     inherit (qtquickcontrols2.meta) platforms;
diff --git a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
index c4fdf93520467..d3c6a33d248bb 100644
--- a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
@@ -4,11 +4,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rocketchat-desktop";
-  version = "3.9.8";
+  version = "3.9.9";
 
   src = fetchurl {
     url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
-    hash = "sha256-sx4WRAeitbBrz6jFvD0WF/EzR7cx4tOPoczbJ+tkw1s=";
+    hash = "sha256-50mVmE+q2VYJXIv2iD6ppS83We0aJRT9vje+zpJcdq0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 32e47a3616c6a..dfa5155f64ce1 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.12.1";
+  version = "0.12.2";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
-    hash = "sha256-pxDSAVh/zg3hCuTlSuilgD4VKe1CPSG/ZLl0TF1nc1I=";
+    hash = "sha256-XhLTovymqjbc19X717WyNIi4jdpwnyttXGqkkHBFwQA=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index c29df0221b6d7..d4a8045d79c50 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.96.0.207";
+  version = "8.105.0.208";
 
   rpath = lib.makeLibraryPath [
     alsa-lib
@@ -68,7 +68,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "sha256-tkOPYFkmc4nzO8Rgat9/VNuzzIW10qSEzbXhjkZV83k=";
+        sha256 = "sha256-P1H9BSXHDmrE8x2kq4Mw5A7r2jVZGSHJh84Hn5EX2lk=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 058f27d71fc1f..068e47e92615f 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -45,14 +45,14 @@ let
 
   pname = "slack";
 
-  x86_64-darwin-version = "4.34.119";
-  x86_64-darwin-sha256 = "17ssha6a8iyvan3k7mbg2cdyy1y7gmlwrh4dlkgcc63bqqxsavy1";
+  x86_64-darwin-version = "4.34.121";
+  x86_64-darwin-sha256 = "0j04rj8v6aq4kjlkkc6yf466zq821jg3qy6qppmvyg5z0f08cyar";
 
-  x86_64-linux-version = "4.34.120";
-  x86_64-linux-sha256 = "0wldnj6hyzqxyc9p365gb46pyqq0im1ayl12mrc8xkrikx9phb7y";
+  x86_64-linux-version = "4.34.121";
+  x86_64-linux-sha256 = "11199dsp7phmz0bxlk5al61xp2g6yzgj17nwz0zrx1g7ak0qdvz5";
 
-  aarch64-darwin-version = "4.34.119";
-  aarch64-darwin-sha256 = "0xa39l4ynjmzq6811vprxxz8znwckmxcss9aa7v68cja8vj033vj";
+  aarch64-darwin-version = "4.34.121";
+  aarch64-darwin-sha256 = "0pvlf9h8433fi31398g4rkii14gk77a684sln8n95xg5p3lxkydy";
 
   version = {
     x86_64-darwin = x86_64-darwin-version;
diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
index e4dc6bc491006..157df8ca9a651 100644
--- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
@@ -19,18 +19,18 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "teams-for-linux";
-  version = "1.3.11";
+  version = "1.3.13";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = "teams-for-linux";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-xSNjAao8pv3jGRK68bkwGy0vo3nm8KRZjTtCEge4kHs=";
+    hash = "sha256-WF2jWP6utopAMZPP/ZWOhqVGZJmACwHyLLE+HQaHJjg=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = "${finalAttrs.src}/yarn.lock";
-    hash = "sha256-j5N6d270myUylDVDFQTScbsGp1wlpt5sISDJBRCV/GU=";
+    hash = "sha256-vgjPGO5qa4IYfW1svClJ+wP/KtIFFd3P02T2sht69C8=";
   };
 
   nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix
index cbc93857c8191..ffa603fb80b12 100644
--- a/pkgs/applications/networking/instant-messengers/tensor/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix
@@ -60,7 +60,7 @@ mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://matrix.org/docs/projects/client/tensor.html";
+    homepage = "https://github.com/davidar/tensor";
     description = "Cross-platform Qt5/QML-based Matrix client";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/applications/networking/instant-messengers/webcord/default.nix
index 6417153c0939f..7e0ef77ef2a48 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/webcord/default.nix
@@ -13,16 +13,16 @@
 
 buildNpmPackage rec {
   pname = "webcord";
-  version = "4.4.1";
+  version = "4.4.2";
 
   src = fetchFromGitHub {
     owner = "SpacingBat3";
     repo = "WebCord";
     rev = "v${version}";
-    hash = "sha256-g9UJANYs5IlKAeRc27oNOfdD3uD3nrG5Ecp+AbbsXLE=";
+    hash = "sha256-23YmyRU+xBXpC7bZtBY3RZeVpLFQ3I/Ag5Tvi3m9cIs=";
   };
 
-  npmDepsHash = "sha256-SSlSLZs97LDtL7OyfCtEGZjDVfsn5KKUgRNyL8J5M5g=";
+  npmDepsHash = "sha256-gHX5ZdcC46BwMu22G05Q8UhvZ6CtQ1HSf6KLLlN2iX0=";
 
   nativeBuildInputs = [
     copyDesktopItems
@@ -79,7 +79,7 @@ buildNpmPackage rec {
   passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
-    description = "A Discord and Fosscord electron-based client implemented without Discord API";
+    description = "A Discord and SpaceBar electron-based client implemented without Discord API";
     homepage = "https://github.com/SpacingBat3/WebCord";
     downloadPage = "https://github.com/SpacingBat3/WebCord/releases";
     changelog = "https://github.com/SpacingBat3/WebCord/releases/tag/v${version}";
diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix
index 32f5aa9359507..d0542f5c3edca 100644
--- a/pkgs/applications/networking/juju/default.nix
+++ b/pkgs/applications/networking/juju/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "juju";
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "juju";
     repo = "juju";
     rev = "juju-${version}";
-    sha256 = "sha256-ZmMOQCKQWtzB2O6CNZTRhhj7gkpRRXY9ILN2KdSQoWk=";
+    sha256 = "sha256-sUlM4bLy/kluZmGOzMACz92GG46XYKicNPP5k2FPSGA=";
   };
 
-  vendorHash = "sha256-rqf5nAXwcW6lm7sidEcxMqatT4KPju4Seo1/Awse5Zs=";
+  vendorHash = "sha256-mPEixXVuxAqgkBoNqIYnZaFJynHJsnmamaHqyh/svwQ=";
 
   # Disable tests because it attempts to use a mongodb instance
   doCheck = false;
diff --git a/pkgs/applications/networking/ktailctl/default.nix b/pkgs/applications/networking/ktailctl/default.nix
new file mode 100644
index 0000000000000..e166e156da4b6
--- /dev/null
+++ b/pkgs/applications/networking/ktailctl/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildGo121Module
+, cmake
+, extra-cmake-modules
+, git
+, go_1_21
+, wrapQtAppsHook
+, qtbase
+, qtquickcontrols2
+, kconfig
+, kcoreaddons
+, kguiaddons
+, ki18n
+, kirigami2
+, kirigami-addons
+, knotifications
+}:
+
+let
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "f-koehler";
+    repo = "KTailctl";
+    rev = "v${version}";
+    hash = "sha256-nY6DEHkDVWIlvc64smXb9KshrhNgNLKiilYydbMKCqc=";
+  };
+
+  goDeps = (buildGo121Module {
+    pname = "tailwrap";
+    inherit src version;
+    modRoot = "tailwrap";
+    vendorHash = "sha256-Y9xhoTf3vCtiNi5qOPg020EQmASo58BZI3rAoUEC8qE=";
+  }).goModules;
+in stdenv.mkDerivation {
+  pname = "ktailctl";
+  inherit version src;
+
+  postPatch = ''
+    cp -r --reflink=auto ${goDeps} tailwrap/vendor
+  '';
+
+  # needed for go build to work
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  cmakeFlags = [
+    # actually just disables Go vendoring updates
+    "-DKTAILCTL_FLATPAK_BUILD=ON"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    git
+    go_1_21
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtquickcontrols2
+    kconfig
+    kcoreaddons
+    kguiaddons
+    ki18n
+    kirigami2
+    kirigami-addons
+    knotifications
+  ];
+
+  meta = with lib; {
+    description = "A GUI to monitor and manage Tailscale on your Linux desktop";
+    homepage = "https://github.com/f-koehler/KTailctl";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ k900 ];
+    mainProgram = "ktailctl";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/networking/kubo/default.nix b/pkgs/applications/networking/kubo/default.nix
index 793f8b8d8613e..defb898b44720 100644
--- a/pkgs/applications/networking/kubo/default.nix
+++ b/pkgs/applications/networking/kubo/default.nix
@@ -1,4 +1,8 @@
-{ lib, buildGoModule, fetchurl, nixosTests, openssl, pkg-config }:
+{ lib
+, buildGoModule
+, fetchurl
+, nixosTests
+}:
 
 buildGoModule rec {
   pname = "kubo";
@@ -7,7 +11,7 @@ buildGoModule rec {
 
   passthru.repoVersion = "14"; # Also update kubo-migrator when changing the repo version
 
-  # Kubo makes changes to it's source tarball that don't match the git source.
+  # Kubo makes changes to its source tarball that don't match the git source.
   src = fetchurl {
     url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
     hash = "sha256-TX5ZM8Kyj3LZ12Ro7MsHRd+P5XLk/mU7DUxZaopSEV0=";
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 0ee5228d12195..4ca892d13125b 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -12,19 +12,17 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.15.2";
+  version = "0.16.0";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = "aerc";
     rev = version;
-    hash = "sha256-OQDA4AHDcAdDzpwNSi8rW1FKjfYaFktOwiM0FEHPd70=";
+    hash = "sha256-vmr2U0bz6A7aMZZBtOitA5gKQpXKuNhYxRCmholHYa8=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-NWOySC0czNgNOakpxFguZLtmEI7AvjJQKXDE2vFWeZg=";
-
-  doCheck = false;
+  vendorHash = "sha256-j/wTmlVcyVI4gnjbi7KLzk5rdnZtZLrdSNbihtQJxRY=";
 
   nativeBuildInputs = [
     scdoc
@@ -74,6 +72,7 @@ buildGoModule rec {
     description = "An email client for your terminal";
     homepage = "https://aerc-mail.org/";
     maintainers = with maintainers; [ tadeokondrak ];
+    mainProgram = "aerc";
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/networking/mailreaders/meli/default.nix b/pkgs/applications/networking/mailreaders/meli/default.nix
index 82bc21bc6f7cc..1ce4c39da7a3f 100644
--- a/pkgs/applications/networking/mailreaders/meli/default.nix
+++ b/pkgs/applications/networking/mailreaders/meli/default.nix
@@ -22,15 +22,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "meli";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchgit {
     url = "https://git.meli.delivery/meli/meli.git";
     rev = "v${version}";
-    hash = "sha256-sHpW2yjqYz4ePR6aQFUBD6BZwgDt3DT22/kWuKr9fAc=";
+    hash = "sha256-iEHTFofga/HV/1jSAqTsqV55zC22tqI7UW7m4PZgz0M=";
   };
 
-  cargoSha256 = "sha256-Pg3V6Bd+drFPiJtUwsoKxu6snN88KvM+lsvnWBK/rvk=";
+  cargoHash = "sha256-ijlivyBezLECBSaWBYVy9tVcSO8U+yGDQyU4dIATR6k=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index d57f0a0b1faca..9ac8c83dc5e70 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
     description = "A small but very powerful text-based mail client";
     homepage    = "http://www.neomutt.org";
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ cstrahan erikryb jfrankenau vrthra ma27 raitobezarius ];
+    maintainers = with maintainers; [ erikryb jfrankenau vrthra ma27 raitobezarius ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 187eaa5a9c4b5..c2ccd588615f8 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -40,6 +40,15 @@ let
         sha512 = "IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==";
       };
     };
+    "@aws-crypto/crc32c-3.0.0" = {
+      name = "_at_aws-crypto_slash_crc32c";
+      packageName = "@aws-crypto/crc32c";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz";
+        sha512 = "ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==";
+      };
+    };
     "@aws-crypto/ie11-detection-3.0.0" = {
       name = "_at_aws-crypto_slash_ie11-detection";
       packageName = "@aws-crypto/ie11-detection";
@@ -49,6 +58,15 @@ let
         sha512 = "341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==";
       };
     };
+    "@aws-crypto/sha1-browser-3.0.0" = {
+      name = "_at_aws-crypto_slash_sha1-browser";
+      packageName = "@aws-crypto/sha1-browser";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz";
+        sha512 = "NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==";
+      };
+    };
     "@aws-crypto/sha256-browser-3.0.0" = {
       name = "_at_aws-crypto_slash_sha256-browser";
       packageName = "@aws-crypto/sha256-browser";
@@ -85,193 +103,283 @@ let
         sha512 = "2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==";
       };
     };
-    "@aws-sdk/client-cognito-identity-3.414.0" = {
+    "@aws-sdk/client-cognito-identity-3.427.0" = {
       name = "_at_aws-sdk_slash_client-cognito-identity";
       packageName = "@aws-sdk/client-cognito-identity";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.414.0.tgz";
-        sha512 = "U9J0R/22eftQjY6JeAzXXYSgA+T6vx/jDsBBWBIKTjCZPBmmVOb2A4/d4sxHMxjh6Ms3DolpocE5FCbB9eGBEg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.427.0.tgz";
+        sha512 = "9brRaNnl6haE7R3R43A5CSNw0k1YtB3xjuArbMg/p6NDUpvRSRgOVNWu2R02Yjh/j2ZuaLOCPLuCipb+PHQPKQ==";
       };
     };
-    "@aws-sdk/client-sso-3.414.0" = {
+    "@aws-sdk/client-s3-3.427.0" = {
+      name = "_at_aws-sdk_slash_client-s3";
+      packageName = "@aws-sdk/client-s3";
+      version = "3.427.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.427.0.tgz";
+        sha512 = "YKjJ9zgn0oE393HURKgvjNoX6lxUjb+dkTBE1GymFnGCPl6VxQbKXajXWNqUyN+oPPlZ2osEiljPaN0RserUjA==";
+      };
+    };
+    "@aws-sdk/client-sso-3.427.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.414.0.tgz";
-        sha512 = "GvRwQ7wA3edzsQEKS70ZPhkOUZ62PAiXasjp6GxrsADEb8sV1z4FxXNl9Un/7fQxKkh9QYaK1Wu1PmhLi9MLMg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.427.0.tgz";
+        sha512 = "sFVFEmsQ1rmgYO1SgrOTxE/MTKpeE4hpOkm1WqhLQK7Ij136vXpjCxjH1JYZiHiUzO1wr9t4ex4dlB5J3VS/Xg==";
       };
     };
-    "@aws-sdk/client-sts-3.414.0" = {
+    "@aws-sdk/client-sts-3.427.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.414.0.tgz";
-        sha512 = "xeYH3si6Imp1EWolWn1zuxJJu2AXKwXl1HDftQULwC5AWkm1mNFbXYSJN4hQul1IM+kn+JTRB0XRHByQkKhe+Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.427.0.tgz";
+        sha512 = "le2wLJKILyWuRfPz2HbyaNtu5kEki+ojUkTqCU6FPDRrqUvEkaaCBH9Awo/2AtrCfRkiobop8RuTTj6cAnpiJg==";
       };
     };
-    "@aws-sdk/credential-provider-cognito-identity-3.414.0" = {
+    "@aws-sdk/credential-provider-cognito-identity-3.427.0" = {
       name = "_at_aws-sdk_slash_credential-provider-cognito-identity";
       packageName = "@aws-sdk/credential-provider-cognito-identity";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.414.0.tgz";
-        sha512 = "sAbp5HVy0YmvXUKkkTt8Tr5a5XNQMxshxI+pmXHLCHNpRATS9A6i7YHVNMGmERKGriFWZG0Q8qgKh1E+rvN7fQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.427.0.tgz";
+        sha512 = "BQNzNrMJlBAfXhYNdAUqaVASpT9Aho5swj7glZKxx4Uds1w5Pih2e14JWgnl8XgUWAZ36pchTrV1aA4JT7N8vw==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.413.0" = {
+    "@aws-sdk/credential-provider-env-3.425.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.413.0";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.425.0.tgz";
+        sha512 = "J20etnLvMKXRVi5FK4F8yOCNm2RTaQn5psQTGdDEPWJNGxohcSpzzls8U2KcMyUJ+vItlrThr4qwgpHG3i/N0w==";
+      };
+    };
+    "@aws-sdk/credential-provider-http-3.425.0" = {
+      name = "_at_aws-sdk_slash_credential-provider-http";
+      packageName = "@aws-sdk/credential-provider-http";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.413.0.tgz";
-        sha512 = "yeMOkfG20/RlzfPMtQuDB647AcPEvFEVYOWZzAWVJfldYQ5ybKr0d7sBkgG9sdAzGkK3Aw9dE4rigYI8EIqc1Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.425.0.tgz";
+        sha512 = "aP9nkoVWf+OlNMecrUqe4+RuQrX13nucVbty0HTvuwfwJJj0T6ByWZzle+fo1D+5OxvJmtzTflBWt6jUERdHWA==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.414.0" = {
+    "@aws-sdk/credential-provider-ini-3.427.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.414.0.tgz";
-        sha512 = "rlpLLx70roJL/t40opWC96LbIASejdMbRlgSCRpK8b/hKngYDe5A7SRVacaw08vYrAywxRiybxpQOwOt9b++rA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.427.0.tgz";
+        sha512 = "NmH1cO/w98CKMltYec3IrJIIco19wRjATFNiw83c+FGXZ+InJwReqBnruxIOmKTx2KDzd6fwU1HOewS7UjaaaQ==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.414.0" = {
+    "@aws-sdk/credential-provider-node-3.427.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.414.0.tgz";
-        sha512 = "xlkcOUKeGHInxWKKrZKIPSBCUL/ozyCldJBjmMKEj7ZmBAEiDcjpMe3pZ//LibMkCSy0b/7jtyQBE/eaIT2o0A==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.427.0.tgz";
+        sha512 = "wYYbQ57nKL8OfgRbl8k6uXcdnYml+p3LSSfDUAuUEp1HKlQ8lOXFJ3BdLr5qrk7LhpyppSRnWBmh2c3kWa7ANQ==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.413.0" = {
+    "@aws-sdk/credential-provider-process-3.425.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.413.0.tgz";
-        sha512 = "GFJdgS14GzJ1wc2DEnS44Z/34iBZ05CAkvDsLN2CMwcDgH4eZuif9/x0lwzIJBK3xVFHzYUeVvEzsqRPbCHRsw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.425.0.tgz";
+        sha512 = "YY6tkLdvtb1Fgofp3b1UWO+5vwS14LJ/smGmuGpSba0V7gFJRdcrJ9bcb9vVgAGuMdjzRJ+bUKlLLtqXkaykEw==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.414.0" = {
+    "@aws-sdk/credential-provider-sso-3.427.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.414.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.414.0.tgz";
-        sha512 = "w9g2hlkZn7WekWICRqk+L33py7KrjYMFryVpkKXOx2pjDchCfZDr6pL1ml782GZ0L3qsob4SbNpbtp13JprnWQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.427.0.tgz";
+        sha512 = "c+tXyS/i49erHs4bAp6vKNYeYlyQ0VNMBgoco0LCn1rL0REtHbfhWMnqDLF6c2n3yIWDOTrQu0D73Idnpy16eA==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.413.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.425.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.413.0.tgz";
-        sha512 = "5cdA1Iq9JeEHtg59ERV9fdMQ7cS0JF6gH/BWA7HYEUGdSVPXCuwyEggPtG64QgpNU7SmxH+QdDG+Ldxz09ycIA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.425.0.tgz";
+        sha512 = "/0R65TgRzL01JU3SzloivWNwdkbIhr06uY/F5pBHf/DynQqaspKNfdHn6AiozgSVDfwRHFjKBTUy6wvf3QFkuA==";
       };
     };
-    "@aws-sdk/credential-providers-3.414.0" = {
+    "@aws-sdk/credential-providers-3.427.0" = {
       name = "_at_aws-sdk_slash_credential-providers";
       packageName = "@aws-sdk/credential-providers";
-      version = "3.414.0";
+      version = "3.427.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.427.0.tgz";
+        sha512 = "rKKohSHju462vo+uQnPjcEZPBAfAMgGH6K1XyyCNpuOC0yYLkG87PYpvAQeb8riTrkHPX0dYUHuTHZ6zQgMGjA==";
+      };
+    };
+    "@aws-sdk/middleware-bucket-endpoint-3.425.0" = {
+      name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
+      packageName = "@aws-sdk/middleware-bucket-endpoint";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.425.0.tgz";
+        sha512 = "7UTfA10fmDw9cgHLApxRUNPywZTG4S/1TNZgTxndO/1OM9ZHtIatw1iLbqJD35gHrpEYI8Vo14YvcnD2ITuiMw==";
+      };
+    };
+    "@aws-sdk/middleware-expect-continue-3.425.0" = {
+      name = "_at_aws-sdk_slash_middleware-expect-continue";
+      packageName = "@aws-sdk/middleware-expect-continue";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.414.0.tgz";
-        sha512 = "xv3cN/lu+HRroGWYWtqwBQ+guykyjSKHzYq6FlyfBZyjC6u8hoeNSNilFobIooJOXfrDM0LKr9L+uUlPE+0+lg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.425.0.tgz";
+        sha512 = "CqAmnDST2o7+sKKw2/ffHKiYKE+jZb/Ce9U0P//ZYzqp9R1Wb016ID+W6DoxufyPJAS9dpRMcUDnAssmMIC/EA==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.413.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.425.0" = {
+      name = "_at_aws-sdk_slash_middleware-flexible-checksums";
+      packageName = "@aws-sdk/middleware-flexible-checksums";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.425.0.tgz";
+        sha512 = "BDwn2vVVsC/AzmHXQlaZhEpKXL7GfKFpH7ZFccZuwEQBcyn8lVCcwtfaRe5P1mEe2wklVzOXd1dw8bt0+BOUPA==";
+      };
+    };
+    "@aws-sdk/middleware-host-header-3.425.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.413.0";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.425.0.tgz";
+        sha512 = "E5Gt41LObQ+cr8QnLthwsH3MtVSNXy1AKJMowDr85h0vzqA/FHUkgHyOGntgozzjXT5M0MaSRYxS0xwTR5D4Ew==";
+      };
+    };
+    "@aws-sdk/middleware-location-constraint-3.425.0" = {
+      name = "_at_aws-sdk_slash_middleware-location-constraint";
+      packageName = "@aws-sdk/middleware-location-constraint";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.413.0.tgz";
-        sha512 = "r9PQx468EzPHo9wRzZLfgROpKtVdbkteMrdhsuM12bifVHjU1OHr7yfhc1OdWv39X8Xiv6F8n5r+RBQEM0S6+g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.425.0.tgz";
+        sha512 = "3rt0LpGmL1LCRFuEObS1yERd9OEV+AEIAvhY7b53M7u7SyrjWQtpntWkI365L/QljhgMXQBfps2qO4JtrhQnsA==";
       };
     };
-    "@aws-sdk/middleware-logger-3.413.0" = {
+    "@aws-sdk/middleware-logger-3.425.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.413.0.tgz";
-        sha512 = "jqcXDubcKvoqBy+kkEa0WoNjG6SveDeyNy+gdGnTV+DEtYjkcHrHJei4q0W5zFl0mzc+dP+z8tJF44rv95ZY3Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.425.0.tgz";
+        sha512 = "INE9XWRXx2f4a/r2vOU0tAmgctVp7nEaEasemNtVBYhqbKLZvr9ndLBSgKGgJ8LIcXAoISipaMuFiqIGkFsm7A==";
       };
     };
-    "@aws-sdk/middleware-recursion-detection-3.413.0" = {
+    "@aws-sdk/middleware-recursion-detection-3.425.0" = {
       name = "_at_aws-sdk_slash_middleware-recursion-detection";
       packageName = "@aws-sdk/middleware-recursion-detection";
-      version = "3.413.0";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.425.0.tgz";
+        sha512 = "77gnzJ5b91bgD75L/ugpOyerx6lR3oyS4080X1YI58EzdyBMkDrHM4FbMcY2RynETi3lwXCFzLRyZjWXY1mRlw==";
+      };
+    };
+    "@aws-sdk/middleware-sdk-s3-3.427.0" = {
+      name = "_at_aws-sdk_slash_middleware-sdk-s3";
+      packageName = "@aws-sdk/middleware-sdk-s3";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.413.0.tgz";
-        sha512 = "C6k0IKJk/A4/VBGwUjxEPG+WOjjnmWAZVRBUzaeM7PqRh+g5rLcuIV356ntV3pREVxyiSTePTYVYIHU9YXkLKQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.427.0.tgz";
+        sha512 = "virGCf9vsqYCLpmngLOZOVSYgVr2cCOCvTuRoT9vf5tD/63JwaC173jnbdoJO6CWI7ID5Iz0eNdgITXVQ2mpew==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.413.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.425.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.413.0.tgz";
-        sha512 = "t0u//JUyaEZRVnH5q+Ur3tWnuyIsTdwA0XOdDCZXcSlLYzGp2MI/tScLjn9IydRrceIFpFfmbjk4Nf/Q6TeBTQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.425.0.tgz";
+        sha512 = "JFojrg76oKAoBknnr9EL5N2aJ1mRCtBqXoZYST58GSx8uYdFQ89qS65VNQ8JviBXzsrCNAn4vDhZ5Ch5E6TxGQ==";
       };
     };
-    "@aws-sdk/middleware-signing-3.413.0" = {
+    "@aws-sdk/middleware-signing-3.425.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.413.0";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.425.0.tgz";
+        sha512 = "ZpOfgJHk7ovQ0sSwg3tU4NxFOnz53lJlkJRf7S+wxQALHM0P2MJ6LYBrZaFMVsKiJxNIdZBXD6jclgHg72ZW6Q==";
+      };
+    };
+    "@aws-sdk/middleware-ssec-3.425.0" = {
+      name = "_at_aws-sdk_slash_middleware-ssec";
+      packageName = "@aws-sdk/middleware-ssec";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.413.0.tgz";
-        sha512 = "QFEnVvIKYPCermM+ESxEztgUgXzGSKpnPnohMYNvSZySqmOLu/4VvxiZbRO/BX9J3ZHcUgaw4vKm5VBZRrycxw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.425.0.tgz";
+        sha512 = "9HTuXnHYAZWkwPC8x9tElsQjFPxDT//orbIFauS7VF5HkLCKn9J6O6lW1wKMxrEnDwfN/Vi3nw479MoPj5Ss0Q==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.413.0" = {
+    "@aws-sdk/middleware-user-agent-3.427.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.413.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.413.0.tgz";
-        sha512 = "eVMJyeWxNBqerhfD+sE9sTjDtwQiECrfU6wpUQP5fGPhJD2cVVZPxuTuJGDZCu/4k/V61dF85IYlsPUNLdVQ6w==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.427.0.tgz";
+        sha512 = "y9HxYsNvnA3KqDl8w1jHeCwz4P9CuBEtu/G+KYffLeAMBsMZmh4SIkFFCO9wE/dyYg6+yo07rYcnnIfy7WA0bw==";
       };
     };
-    "@aws-sdk/region-config-resolver-3.413.0" = {
+    "@aws-sdk/region-config-resolver-3.425.0" = {
       name = "_at_aws-sdk_slash_region-config-resolver";
       packageName = "@aws-sdk/region-config-resolver";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.413.0.tgz";
-        sha512 = "h90e6yyOhvoc+1F5vFk3C5mxwB8RSDEMKTO/fxexyur94seczZ1yxyYkTMZv30oc9RUiToABlHNrh/wxL7TZPQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.425.0.tgz";
+        sha512 = "u7uv/iUOapIJdRgRkO3wnpYsUgV6ponsZJQgVg/8L+n+Vo5PQL5gAcIuAOwcYSKQPFaeK+KbmByI4SyOK203Vw==";
       };
     };
-    "@aws-sdk/token-providers-3.413.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.425.0" = {
+      name = "_at_aws-sdk_slash_signature-v4-multi-region";
+      packageName = "@aws-sdk/signature-v4-multi-region";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.425.0.tgz";
+        sha512 = "7n2FRPE9rLaVa26xXQJ8TExrt53dWN824axQd1a0r5va0SmMQYG/iV5LBmwUlAntUSq46Lse4Q5YnbOVedGOmw==";
+      };
+    };
+    "@aws-sdk/token-providers-3.427.0" = {
       name = "_at_aws-sdk_slash_token-providers";
       packageName = "@aws-sdk/token-providers";
-      version = "3.413.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.413.0.tgz";
-        sha512 = "NfP1Ib9LAWVLMTOa/1aJwt4TRrlRrNyukCpVZGfNaMnNNEoP5Rakdbcs8KFVHe/MJzU+GdKVzxQ4TgRkLOGTrA==";
+        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.427.0.tgz";
+        sha512 = "4E5E+4p8lJ69PBY400dJXF06LUHYx5lkKzBEsYqWWhoZcoftrvi24ltIhUDoGVLkrLcTHZIWSdFAWSos4hXqeg==";
       };
     };
-    "@aws-sdk/types-3.413.0" = {
+    "@aws-sdk/types-3.425.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.413.0";
+      version = "3.425.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.425.0.tgz";
+        sha512 = "6lqbmorwerN4v+J5dqbHPAsjynI0mkEF+blf+69QTaKKGaxBBVaXgqoqul9RXYcK5MMrrYRbQIMd0zYOoy90kA==";
+      };
+    };
+    "@aws-sdk/util-arn-parser-3.310.0" = {
+      name = "_at_aws-sdk_slash_util-arn-parser";
+      packageName = "@aws-sdk/util-arn-parser";
+      version = "3.310.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.413.0.tgz";
-        sha512 = "j1xib0f/TazIFc5ySIKOlT1ujntRbaoG4LJFeEezz4ji03/wSJMI8Vi4KjzpBp8J1tTu0oRDnsxRIGixsUBeYQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz";
+        sha512 = "jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==";
       };
     };
-    "@aws-sdk/util-endpoints-3.413.0" = {
+    "@aws-sdk/util-endpoints-3.427.0" = {
       name = "_at_aws-sdk_slash_util-endpoints";
       packageName = "@aws-sdk/util-endpoints";
-      version = "3.413.0";
+      version = "3.427.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.413.0.tgz";
-        sha512 = "VAwr7cITNb1L6/2XUPIbCOuhKGm0VtKCRblurrfUF2bxqG/wtuw/2Fm4ahYJPyxklOSXAMSq+RHdFWcir0YB/g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.427.0.tgz";
+        sha512 = "rSyiAIFF/EVvity/+LWUqoTMJ0a25RAc9iqx0WZ4tf1UjuEXRRXxZEb+jEZg1bk+pY84gdLdx9z5E+MSJCZxNQ==";
       };
     };
     "@aws-sdk/util-locate-window-3.310.0" = {
@@ -283,22 +391,22 @@ let
         sha512 = "qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.413.0" = {
+    "@aws-sdk/util-user-agent-browser-3.425.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.413.0.tgz";
-        sha512 = "7j/qWcRO2OBZBre2fC6V6M0PAS9n7k6i+VtofPkkhxC2DZszLJElqnooF9hGmVGYK3zR47Np4WjURXKIEZclWg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.425.0.tgz";
+        sha512 = "22Y9iMtjGcFjGILR6/xdp1qRezlHVLyXtnpEsbuPTiernRCPk6zfAnK/ATH77r02MUjU057tdxVkd5umUBTn9Q==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.413.0" = {
+    "@aws-sdk/util-user-agent-node-3.425.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.413.0";
+      version = "3.425.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.413.0.tgz";
-        sha512 = "vHm9TVZIzfWMeDvdmoOky6VarqOt8Pr68CESHN0jyuO6XbhCDnr9rpaXiBhbSR+N1Qm7R/AfJgAhQyTMu2G1OA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.425.0.tgz";
+        sha512 = "SIR4F5uQeeVAi8lv4OgRirtdtNi5zeyogTuQgGi9su8F/WP1N6JqxofcwpUY5f8/oJ2UlXr/tx1f09UHfJJzvA==";
       };
     };
     "@aws-sdk/util-utf8-browser-3.259.0" = {
@@ -310,6 +418,15 @@ let
         sha512 = "UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==";
       };
     };
+    "@aws-sdk/xml-builder-3.310.0" = {
+      name = "_at_aws-sdk_slash_xml-builder";
+      packageName = "@aws-sdk/xml-builder";
+      version = "3.310.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz";
+        sha512 = "TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==";
+      };
+    };
     "@azure/abort-controller-1.1.0" = {
       name = "_at_azure_slash_abort-controller";
       packageName = "@azure/abort-controller";
@@ -400,13 +517,13 @@ let
         sha512 = "I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==";
       };
     };
-    "@azure/core-util-1.4.0" = {
+    "@azure/core-util-1.5.0" = {
       name = "_at_azure_slash_core-util";
       packageName = "@azure/core-util";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-util/-/core-util-1.4.0.tgz";
-        sha512 = "eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==";
+        url = "https://registry.npmjs.org/@azure/core-util/-/core-util-1.5.0.tgz";
+        sha512 = "GZBpVFDtQ/15hW1OgBcRdT4Bl7AEpcEZqLfbAvOtm1CQUncKWiYapFHVD588hmlV27NbOOtSm3cnLF3lvoHi4g==";
       };
     };
     "@azure/identity-2.1.0" = {
@@ -481,13 +598,13 @@ let
         sha512 = "jz33rUSUGUB65FgYrTRgRDjG6hdPHwfvHe+g/UrwVG8MsyLqSxg9TaW7Yuhjxu1v1OZ5xam2NU6+IpCN0xJO8Q==";
       };
     };
-    "@babel/runtime-7.22.15" = {
+    "@babel/runtime-7.23.1" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.22.15";
+      version = "7.23.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz";
-        sha512 = "T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz";
+        sha512 = "hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==";
       };
     };
     "@colors/colors-1.5.0" = {
@@ -499,6 +616,15 @@ let
         sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
       };
     };
+    "@colors/colors-1.6.0" = {
+      name = "_at_colors_slash_colors";
+      packageName = "@colors/colors";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz";
+        sha512 = "Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==";
+      };
+    };
     "@cspotcode/source-map-support-0.8.1" = {
       name = "_at_cspotcode_slash_source-map-support";
       packageName = "@cspotcode/source-map-support";
@@ -544,6 +670,15 @@ let
         sha512 = "OU5P5mJyD3OoWYMWY+yIgwvgNS9cFAU10f+DDuvtogcWQOoJIsQ4Hy2McSfUfhKjq8L0FuWVb4Rt7kgA+XK86A==";
       };
     };
+    "@fastify/busboy-2.0.0" = {
+      name = "_at_fastify_slash_busboy";
+      packageName = "@fastify/busboy";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz";
+        sha512 = "JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==";
+      };
+    };
     "@gar/promisify-1.1.3" = {
       name = "_at_gar_slash_promisify";
       packageName = "@gar/promisify";
@@ -652,13 +787,13 @@ let
         sha512 = "FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==";
       };
     };
-    "@grpc/proto-loader-0.7.9" = {
+    "@grpc/proto-loader-0.7.10" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
-      version = "0.7.9";
+      version = "0.7.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.9.tgz";
-        sha512 = "YJsOehVXzgurc+lLAxYnlSMc1p/Gu6VAvnfx0ATi2nzvr0YZcjhmZDeY8SeAKv1M7zE3aEJH0Xo9mK1iZ8GYoQ==";
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz";
+        sha512 = "CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==";
       };
     };
     "@httptoolkit/websocket-stream-6.0.1" = {
@@ -760,13 +895,13 @@ let
         sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==";
       };
     };
-    "@js-joda/core-5.5.3" = {
+    "@js-joda/core-5.6.0" = {
       name = "_at_js-joda_slash_core";
       packageName = "@js-joda/core";
-      version = "5.5.3";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@js-joda/core/-/core-5.5.3.tgz";
-        sha512 = "7dqNYwG8gCt4hfg5PKgM7xLEcgSBcx/UgC92OMnhMmvAnq11QzDFPrxUkNR/u5kn17WWLZ8beZ4A3Qrz4pZcmQ==";
+        url = "https://registry.npmjs.org/@js-joda/core/-/core-5.6.0.tgz";
+        sha512 = "qCVg3pFw3dXiWcO4H0bMWNiJIuqgEKCu7HIqwkqFyuqa1SawWU3yYJDRkhOTBLt7c+tgEZDobzykv7Obj09Erg==";
       };
     };
     "@jsdevtools/ono-7.1.3" = {
@@ -832,22 +967,31 @@ let
         sha512 = "E/ir1Ay8Pmia+b5tvV4KhZ0J0xexz3jJc1w93xx39Iaq5XuZRWC3TNJhJdVp0f2fPti0rVDHnAMHsovBucHBIw==";
       };
     };
-    "@n8n/vm2-3.9.20" = {
+    "@n8n/tournament-1.0.2" = {
+      name = "_at_n8n_slash_tournament";
+      packageName = "@n8n/tournament";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@n8n/tournament/-/tournament-1.0.2.tgz";
+        sha512 = "fTpi7F8ra5flGSVfRzohPyG7czAAKCZPlLjdKdwbLJivLoI/Ekhgodov1jfVSCVFVbwQ06gRQRxLEDzl2jl8ig==";
+      };
+    };
+    "@n8n/vm2-3.9.23" = {
       name = "_at_n8n_slash_vm2";
       packageName = "@n8n/vm2";
-      version = "3.9.20";
+      version = "3.9.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@n8n/vm2/-/vm2-3.9.20.tgz";
-        sha512 = "qk2oJYkuFRVSTxoro4obX/sv/wT1pViZjHh/isjOvFB93D52QIg3TCjMPsHOfHTmkxCKJffjLrUvjIwvWzSMCQ==";
+        url = "https://registry.npmjs.org/@n8n/vm2/-/vm2-3.9.23.tgz";
+        sha512 = "yu+It+L89uljQsCJ2e9cQaXzoXJe9bU69QQIoWUOcUw0u5Zon37DuB7bdNNsjKS1ZdFD+fBWCQpq/FkqHsSjXQ==";
       };
     };
-    "@n8n_io/license-sdk-2.5.1" = {
+    "@n8n_io/license-sdk-2.6.1" = {
       name = "_at_n8n_io_slash_license-sdk";
       packageName = "@n8n_io/license-sdk";
-      version = "2.5.1";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@n8n_io/license-sdk/-/license-sdk-2.5.1.tgz";
-        sha512 = "CL4JVJS8nvI8qPFQ1jSG7CiPnNkeKJSgbDxWOLVX4MRjTKrwL8Cpd1LeYMx5g5StmHzkoxz2TDqL8WT6qyMlrQ==";
+        url = "https://registry.npmjs.org/@n8n_io/license-sdk/-/license-sdk-2.6.1.tgz";
+        sha512 = "N4yBzgNIRrQlhy+BWyEC9cbf86asPxryWbJpmrfeaqkFpBR6Z5yIqmWRGnLs7XKVC9se8cdWlF7EWKtaH6oDPA==";
       };
     };
     "@n8n_io/riot-tmpl-4.0.1" = {
@@ -976,13 +1120,13 @@ let
         sha512 = "l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==";
       };
     };
-    "@oclif/screen-3.0.6" = {
+    "@oclif/screen-3.0.7" = {
       name = "_at_oclif_slash_screen";
       packageName = "@oclif/screen";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.6.tgz";
-        sha512 = "nEv7dFPxCrWrvK6dQ8zya0/Kb54EXVcwIKV9capjSa89ZDoOo+qH0YSo4/eQVECXgW3eUvgKLDIcIt62YBk0HA==";
+        url = "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.7.tgz";
+        sha512 = "jQBPHcMh5rcIPKdqA6xlzioLOmkaVnjg2MVyjMzBKV8hDhLWNSiZqx7NAWXpP70v2LFvGdVoV8BSbK9iID3eHg==";
       };
     };
     "@opentelemetry/api-1.6.0" = {
@@ -1093,13 +1237,13 @@ let
         sha512 = "HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==";
       };
     };
-    "@redis/client-1.5.9" = {
+    "@redis/client-1.5.11" = {
       name = "_at_redis_slash_client";
       packageName = "@redis/client";
-      version = "1.5.9";
+      version = "1.5.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/client/-/client-1.5.9.tgz";
-        sha512 = "SffgN+P1zdWJWSXBvJeynvEnmnZrYmtKSRW00xl8pOPFOMJjxRR9u0frSxJpPR6Y4V+k54blJjGW7FgxbTI7bQ==";
+        url = "https://registry.npmjs.org/@redis/client/-/client-1.5.11.tgz";
+        sha512 = "cV7yHcOAtNQ5x/yQl7Yw1xf53kO0FNDTdDU6bFIMbW6ljB7U7ns0YRM+QIkpoqTAt6zK5k9Fq0QWlUbLcq9AvA==";
       };
     };
     "@redis/graph-1.1.0" = {
@@ -1111,22 +1255,22 @@ let
         sha512 = "16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==";
       };
     };
-    "@redis/json-1.0.4" = {
+    "@redis/json-1.0.6" = {
       name = "_at_redis_slash_json";
       packageName = "@redis/json";
-      version = "1.0.4";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz";
-        sha512 = "LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==";
+        url = "https://registry.npmjs.org/@redis/json/-/json-1.0.6.tgz";
+        sha512 = "rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==";
       };
     };
-    "@redis/search-1.1.3" = {
+    "@redis/search-1.1.5" = {
       name = "_at_redis_slash_search";
       packageName = "@redis/search";
-      version = "1.1.3";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/search/-/search-1.1.3.tgz";
-        sha512 = "4Dg1JjvCevdiCBTZqjhKkGoC5/BcB7k9j99kdMnaXFXg8x4eyOIVg9487CMv7/BUVkFLZCaIh8ead9mU15DNng==";
+        url = "https://registry.npmjs.org/@redis/search/-/search-1.1.5.tgz";
+        sha512 = "hPP8w7GfGsbtYEJdn4n7nXa6xt6hVZnnDktKW4ArMaFQ/m/aR7eFvsLQmG/mn1Upq99btPJk+F27IQ2dYpCoUg==";
       };
     };
     "@redis/time-series-1.0.5" = {
@@ -1147,13 +1291,13 @@ let
         sha512 = "kJYCXv6fRFbQrAp3hMsgRCnAa7RUBdbiGLBT9PcpQURi0VwHmD7mk3Ja7U4HDnL0EHXYJpPyx3oSonkklmPJ9Q==";
       };
     };
-    "@sap/hana-client-2.18.22" = {
+    "@sap/hana-client-2.18.24" = {
       name = "_at_sap_slash_hana-client";
       packageName = "@sap/hana-client";
-      version = "2.18.22";
+      version = "2.18.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sap/hana-client/-/hana-client-2.18.22.tgz";
-        sha512 = "iihhrDk70vg9SYHCDWnFiYSBjS3y5TMojPqEPkcPpkNg7YuYlabcdY7xy4iepLpDP6jqa1EijPxPi33zYAnXzw==";
+        url = "https://registry.npmjs.org/@sap/hana-client/-/hana-client-2.18.24.tgz";
+        sha512 = "CbLXVPYntnHc9EWO2zgJ8hTGje76om7XIPPKpu3kBHTs19f8wHKyhmQkJJTeJix0yAnYuv9sXNinlpvRGujMow==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -1174,121 +1318,193 @@ let
         sha512 = "P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==";
       };
     };
-    "@sentry-internal/tracing-7.69.0" = {
+    "@sentry-internal/tracing-7.73.0" = {
       name = "_at_sentry-internal_slash_tracing";
       packageName = "@sentry-internal/tracing";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.69.0.tgz";
-        sha512 = "4BgeWZUj9MO6IgfO93C9ocP3+AdngqujF/+zB2rFdUe+y9S6koDyUC7jr9Knds/0Ta72N/0D6PwhgSCpHK8s0Q==";
+        url = "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.73.0.tgz";
+        sha512 = "ig3WL/Nqp8nRQ52P205NaypGKNfIl/G+cIqge9xPW6zfRb5kJdM1YParw9GSJ1SPjEZBkBORGAML0on5H2FILw==";
       };
     };
-    "@sentry/core-7.69.0" = {
+    "@sentry/core-7.73.0" = {
       name = "_at_sentry_slash_core";
       packageName = "@sentry/core";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/core/-/core-7.69.0.tgz";
-        sha512 = "V6jvK2lS8bhqZDMFUtvwe2XvNstFQf5A+2LMKCNBOV/NN6eSAAd6THwEpginabjet9dHsNRmMk7WNKvrUfQhZw==";
+        url = "https://registry.npmjs.org/@sentry/core/-/core-7.73.0.tgz";
+        sha512 = "9FEz4Gq848LOgVN2OxJGYuQqxv7cIVw69VlAzWHEm3njt8mjvlTq+7UiFsGRo84+59V2FQuHxzA7vVjl90WfSg==";
       };
     };
-    "@sentry/integrations-7.69.0" = {
+    "@sentry/integrations-7.73.0" = {
       name = "_at_sentry_slash_integrations";
       packageName = "@sentry/integrations";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.69.0.tgz";
-        sha512 = "FEFtFqXuCo9+L7bENZxFpEAlIODwHl6FyW/DwLfniy9jOXHU7BhP/oICLrFE5J7rh1gNY7N/8VlaiQr3hCnS/g==";
+        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.73.0.tgz";
+        sha512 = "IjVpn4d+aSL9L1Ntu/oAdRwujz4BzzavDsZf96Xgc/AjBnjAEUT+wT1dAwluThfuKDXmWOJHhZ2cHHMfqI+7vw==";
       };
     };
-    "@sentry/node-7.69.0" = {
+    "@sentry/node-7.73.0" = {
       name = "_at_sentry_slash_node";
       packageName = "@sentry/node";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/node/-/node-7.69.0.tgz";
-        sha512 = "T0NgPcmDQvEuz5hy6aEhXghTHHTWsiP3IWoeEAakDBHAXmtpT6lYFQZgb5AiEOt9F5KO/G/1yH3YYdpDAnKhPw==";
+        url = "https://registry.npmjs.org/@sentry/node/-/node-7.73.0.tgz";
+        sha512 = "i50bRfmgkRRx0XXUbg9jGD/RuznDJxJXc4rBILhoJuhl+BjRIaoXA3ayplfJn8JLZxsNh75uJaCq4IUK70SORw==";
       };
     };
-    "@sentry/types-7.69.0" = {
+    "@sentry/types-7.73.0" = {
       name = "_at_sentry_slash_types";
       packageName = "@sentry/types";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/types/-/types-7.69.0.tgz";
-        sha512 = "zPyCox0mzitzU6SIa1KIbNoJAInYDdUpdiA+PoUmMn2hFMH1llGU/cS7f4w/mAsssTlbtlBi72RMnWUCy578bw==";
+        url = "https://registry.npmjs.org/@sentry/types/-/types-7.73.0.tgz";
+        sha512 = "/v8++bly8jW7r4cP2wswYiiVpn7eLLcqwnfPUMeCQze4zj3F3nTRIKc9BGHzU0V+fhHa3RwRC2ksqTGq1oJMDg==";
       };
     };
-    "@sentry/utils-7.69.0" = {
+    "@sentry/utils-7.73.0" = {
       name = "_at_sentry_slash_utils";
       packageName = "@sentry/utils";
-      version = "7.69.0";
+      version = "7.73.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.69.0.tgz";
-        sha512 = "4eBixe5Y+0EGVU95R4NxH3jkkjtkE4/CmSZD4In8SCkWGSauogePtq6hyiLsZuP1QHdpPb9Kt0+zYiBb2LouBA==";
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.73.0.tgz";
+        sha512 = "h3ZK/qpf4k76FhJV9uiSbvMz3V/0Ovy94C+5/9UgPMVCJXFmVsdw8n/dwANJ7LupVPfYP23xFGgebDMFlK1/2w==";
       };
     };
-    "@smithy/abort-controller-2.0.8" = {
+    "@smithy/abort-controller-2.0.11" = {
       name = "_at_smithy_slash_abort-controller";
       packageName = "@smithy/abort-controller";
-      version = "2.0.8";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.11.tgz";
+        sha512 = "MSzE1qR2JNyb7ot3blIOT3O3H0Jn06iNDEgHRaqZUwBgx5EG+VIx24Y21tlKofzYryIOcWpIohLrIIyocD6LMA==";
+      };
+    };
+    "@smithy/chunked-blob-reader-2.0.0" = {
+      name = "_at_smithy_slash_chunked-blob-reader";
+      packageName = "@smithy/chunked-blob-reader";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.8.tgz";
-        sha512 = "2SOdVj5y0zE37Y9scSXoizoxgi6mgnDabi7a/SOfhl0p+50I0rIkuJTfyAuTPDtQ7e5dD6tSZPCLB3c/YM6Zig==";
+        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz";
+        sha512 = "k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==";
       };
     };
-    "@smithy/config-resolver-2.0.9" = {
+    "@smithy/chunked-blob-reader-native-2.0.0" = {
+      name = "_at_smithy_slash_chunked-blob-reader-native";
+      packageName = "@smithy/chunked-blob-reader-native";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz";
+        sha512 = "HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==";
+      };
+    };
+    "@smithy/config-resolver-2.0.14" = {
       name = "_at_smithy_slash_config-resolver";
       packageName = "@smithy/config-resolver";
-      version = "2.0.9";
+      version = "2.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.9.tgz";
-        sha512 = "QBkGPLUqyPmis9Erz8v4q5lo/ErnF7+GD5WZHa6JZiXopUPfaaM+B21n8gzS5xCkIXZmnwzNQhObP9xQPu8oqQ==";
+        url = "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.14.tgz";
+        sha512 = "K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg==";
       };
     };
-    "@smithy/credential-provider-imds-2.0.11" = {
+    "@smithy/credential-provider-imds-2.0.16" = {
       name = "_at_smithy_slash_credential-provider-imds";
       packageName = "@smithy/credential-provider-imds";
-      version = "2.0.11";
+      version = "2.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.11.tgz";
-        sha512 = "uJJs8dnM5iXkn8a2GaKvlKMhcOJ+oJPYqY9gY3CM/EieCVObIDjxUtR/g8lU/k/A+OauA78GzScAfulmFjPOYA==";
+        url = "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz";
+        sha512 = "tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA==";
       };
     };
-    "@smithy/eventstream-codec-2.0.8" = {
+    "@smithy/eventstream-codec-2.0.11" = {
       name = "_at_smithy_slash_eventstream-codec";
       packageName = "@smithy/eventstream-codec";
-      version = "2.0.8";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz";
+        sha512 = "BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA==";
+      };
+    };
+    "@smithy/eventstream-serde-browser-2.0.11" = {
+      name = "_at_smithy_slash_eventstream-serde-browser";
+      packageName = "@smithy/eventstream-serde-browser";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.11.tgz";
+        sha512 = "p9IK4uvwT6B3pT1VGlODvcVBfPVikjBFHAcKpvvNF+7lAEI+YiC6d0SROPkpjnvCgVBYyGXa3ciqrWnFze6mwQ==";
+      };
+    };
+    "@smithy/eventstream-serde-config-resolver-2.0.11" = {
+      name = "_at_smithy_slash_eventstream-serde-config-resolver";
+      packageName = "@smithy/eventstream-serde-config-resolver";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.11.tgz";
+        sha512 = "vN32E8yExo0Z8L7kXhlU9KRURrhqOpPdLxQMp3MwfMThrjiqbr1Sk5srUXc1ed2Ygl/l0TEN9vwNG0bQHg6AjQ==";
+      };
+    };
+    "@smithy/eventstream-serde-node-2.0.11" = {
+      name = "_at_smithy_slash_eventstream-serde-node";
+      packageName = "@smithy/eventstream-serde-node";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.11.tgz";
+        sha512 = "Gjqbpg7UmD+YzkpgNShNcDNZcUpBWIkvX2XCGptz5PoxJU/UQbuF9eSc93ZlIb7j4aGjtFfqk23HUMW8Hopg2Q==";
+      };
+    };
+    "@smithy/eventstream-serde-universal-2.0.11" = {
+      name = "_at_smithy_slash_eventstream-serde-universal";
+      packageName = "@smithy/eventstream-serde-universal";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.8.tgz";
-        sha512 = "onO4to8ujCKn4m5XagReT9Nc6FlNG5vveuvjp1H7AtaG7njdet1LOl6/jmUOkskF2C/w+9jNw3r9Ak+ghOvN0A==";
+        url = "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.11.tgz";
+        sha512 = "F8FsxLTbFN4+Esgpo+nNKcEajrgRZJ+pG9c8+MhLM4Odp5ejLHw2GMCXd81cGsgmfcbnzdDEXazPPVzOwj89MQ==";
       };
     };
-    "@smithy/fetch-http-handler-2.1.4" = {
+    "@smithy/fetch-http-handler-2.2.3" = {
       name = "_at_smithy_slash_fetch-http-handler";
       packageName = "@smithy/fetch-http-handler";
-      version = "2.1.4";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.4.tgz";
-        sha512 = "SL24M9W5ERByoXaVicRx+bj9GJVujDnPn+QO7GY7adhY0mPGa6DSF58pVKsgIh4r5Tx/k3SWCPlH4BxxSxA/fQ==";
+        url = "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.3.tgz";
+        sha512 = "0G9sePU+0R+8d7cie+OXzNbbkjnD4RfBlVCs46ZEuQAMcxK8OniemYXSSkOc80CCk8Il4DnlYZcUSvsIs2OB2w==";
       };
     };
-    "@smithy/hash-node-2.0.8" = {
+    "@smithy/hash-blob-browser-2.0.11" = {
+      name = "_at_smithy_slash_hash-blob-browser";
+      packageName = "@smithy/hash-blob-browser";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.11.tgz";
+        sha512 = "/6vq/NiH2EN3mWdwcLdjVohP+VCng+ZA1GnlUdx959egsfgIlLWQvCyjnB2ze9Hr6VHV5XEFLLpLQH2dHA6Sgw==";
+      };
+    };
+    "@smithy/hash-node-2.0.11" = {
       name = "_at_smithy_slash_hash-node";
       packageName = "@smithy/hash-node";
-      version = "2.0.8";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.11.tgz";
+        sha512 = "PbleVugN2tbhl1ZoNWVrZ1oTFFas/Hq+s6zGO8B9bv4w/StTriTKA9W+xZJACOj9X7zwfoTLbscM+avCB1KqOQ==";
+      };
+    };
+    "@smithy/hash-stream-node-2.0.11" = {
+      name = "_at_smithy_slash_hash-stream-node";
+      packageName = "@smithy/hash-stream-node";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.8.tgz";
-        sha512 = "yZL/nmxZzjZV5/QX5JWSgXlt0HxuMTwFO89CS++jOMMPiCMZngf6VYmtNdccs8IIIAMmfQeTzwu07XgUE/Zd3Q==";
+        url = "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.11.tgz";
+        sha512 = "Jn2yl+Dn0kvwKvSavvR1/BFVYa2wIkaJKWeTH48kno89gqHAJxMh1hrtBN6SJ7F8VhodNZTiNOlQVqCSfLheNQ==";
       };
     };
-    "@smithy/invalid-dependency-2.0.8" = {
+    "@smithy/invalid-dependency-2.0.11" = {
       name = "_at_smithy_slash_invalid-dependency";
       packageName = "@smithy/invalid-dependency";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.8.tgz";
-        sha512 = "88VOS7W3KzUz/bNRc+Sl/F/CDIasFspEE4G39YZRHIh9YmsXF7GUyVaAKURfMNulTie62ayk6BHC9O0nOBAVgQ==";
+        url = "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.11.tgz";
+        sha512 = "zazq99ujxYv/NOf9zh7xXbNgzoVLsqE0wle8P/1zU/XdhPi/0zohTPKWUzIxjGdqb5hkkwfBkNkl5H+LE0mvgw==";
       };
     };
     "@smithy/is-array-buffer-2.0.0" = {
@@ -1300,157 +1516,166 @@ let
         sha512 = "z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==";
       };
     };
-    "@smithy/middleware-content-length-2.0.10" = {
+    "@smithy/md5-js-2.0.11" = {
+      name = "_at_smithy_slash_md5-js";
+      packageName = "@smithy/md5-js";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.11.tgz";
+        sha512 = "YBIv+e95qeGvQA05ucwstmTeQ/bUzWgU+nO2Ffmif5awu6IzSR0Jfk3XLYh4mdy7f8DCgsn8qA63u7N9Lu0+5A==";
+      };
+    };
+    "@smithy/middleware-content-length-2.0.13" = {
       name = "_at_smithy_slash_middleware-content-length";
       packageName = "@smithy/middleware-content-length";
-      version = "2.0.10";
+      version = "2.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.10.tgz";
-        sha512 = "EGSbysyA4jH0p3xI6G0jdXoj9Iz9GUnAta6aEaHtXm3wVWtenRf80y2TeVvNkVSr5jwKOdSCjKIRI2l1A/oZLA==";
+        url = "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.13.tgz";
+        sha512 = "Md2kxWpaec3bXp1oERFPQPBhOXCkGSAF7uc1E+4rkwjgw3/tqAXRtbjbggu67HJdwaif76As8AV6XxbD1HzqTQ==";
       };
     };
-    "@smithy/middleware-endpoint-2.0.8" = {
+    "@smithy/middleware-endpoint-2.1.0" = {
       name = "_at_smithy_slash_middleware-endpoint";
       packageName = "@smithy/middleware-endpoint";
-      version = "2.0.8";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.8.tgz";
-        sha512 = "yOpogfG2d2V0cbJdAJ6GLAWkNOc9pVsL5hZUfXcxJu408N3CUCsXzIAFF6+70ZKSE+lCfG3GFErcSXv/UfUbjw==";
+        url = "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.0.tgz";
+        sha512 = "e6HZbfrp9CNTJqIPSgkydB9mNQXiq5pkHF3ZB6rOzPPR9PkJBoGFo9TcM7FaaKFUaH4Kc20AX6WwwVyIlNhXTA==";
       };
     };
-    "@smithy/middleware-retry-2.0.11" = {
+    "@smithy/middleware-retry-2.0.16" = {
       name = "_at_smithy_slash_middleware-retry";
       packageName = "@smithy/middleware-retry";
-      version = "2.0.11";
+      version = "2.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.11.tgz";
-        sha512 = "pknfokumZ+wvBERSuKAI2vVr+aK3ZgPiWRg6+0ZG4kKJogBRpPmDGWw+Jht0izS9ZaEbIobNzueIb4wD33JJVg==";
+        url = "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz";
+        sha512 = "Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA==";
       };
     };
-    "@smithy/middleware-serde-2.0.8" = {
+    "@smithy/middleware-serde-2.0.11" = {
       name = "_at_smithy_slash_middleware-serde";
       packageName = "@smithy/middleware-serde";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.8.tgz";
-        sha512 = "Is0sm+LiNlgsc0QpstDzifugzL9ehno1wXp109GgBgpnKTK3j+KphiparBDI4hWTtH9/7OUsxuspNqai2yyhcg==";
+        url = "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.11.tgz";
+        sha512 = "NuxnjMyf4zQqhwwdh0OTj5RqpnuT6HcH5Xg5GrPijPcKzc2REXVEVK4Yyk8ckj8ez1XSj/bCmJ+oNjmqB02GWA==";
       };
     };
-    "@smithy/middleware-stack-2.0.1" = {
+    "@smithy/middleware-stack-2.0.5" = {
       name = "_at_smithy_slash_middleware-stack";
       packageName = "@smithy/middleware-stack";
-      version = "2.0.1";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.1.tgz";
-        sha512 = "UexsfY6/oQZRjTQL56s9AKtMcR60tBNibSgNYX1I2WXaUaXg97W9JCkFyth85TzBWKDBTyhLfenrukS/kyu54A==";
+        url = "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.5.tgz";
+        sha512 = "bVQU/rZzBY7CbSxIrDTGZYnBWKtIw+PL/cRc9B7etZk1IKSOe0NvKMJyWllfhfhrTeMF6eleCzOihIQympAvPw==";
       };
     };
-    "@smithy/node-config-provider-2.0.11" = {
+    "@smithy/node-config-provider-2.1.1" = {
       name = "_at_smithy_slash_node-config-provider";
       packageName = "@smithy/node-config-provider";
-      version = "2.0.11";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.11.tgz";
-        sha512 = "CaR1dciSSGKttjhcefpytYjsfI/Yd5mqL8am4wfmyFCDxSiPsvnEWHl8UjM/RbcAjX0klt+CeIKPSHEc0wGvJA==";
+        url = "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz";
+        sha512 = "1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA==";
       };
     };
-    "@smithy/node-http-handler-2.1.4" = {
+    "@smithy/node-http-handler-2.1.7" = {
       name = "_at_smithy_slash_node-http-handler";
       packageName = "@smithy/node-http-handler";
-      version = "2.1.4";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.4.tgz";
-        sha512 = "8Rw/AusvWDyC6SK8esAcVBeTlQHf94NMFv805suFUJCQ2gwlh0oLDNh+6s2MDOrxcjvLxjjzv1mytM0Mt+0cPQ==";
+        url = "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.7.tgz";
+        sha512 = "PQIKZXlp3awCDn/xNlCSTFE7aYG/5Tx33M05NfQmWYeB5yV1GZZOSz4dXpwiNJYTXb9jPqjl+ueXXkwtEluFFA==";
       };
     };
-    "@smithy/property-provider-2.0.9" = {
+    "@smithy/property-provider-2.0.12" = {
       name = "_at_smithy_slash_property-provider";
       packageName = "@smithy/property-provider";
-      version = "2.0.9";
+      version = "2.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.9.tgz";
-        sha512 = "25pPZ8f8DeRwYI5wbPRZaoMoR+3vrw8DwbA0TjP+GsdiB2KxScndr4HQehiJ5+WJ0giOTWhLz0bd+7Djv1qpUQ==";
+        url = "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.12.tgz";
+        sha512 = "Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw==";
       };
     };
-    "@smithy/protocol-http-3.0.4" = {
+    "@smithy/protocol-http-3.0.7" = {
       name = "_at_smithy_slash_protocol-http";
       packageName = "@smithy/protocol-http";
-      version = "3.0.4";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.4.tgz";
-        sha512 = "CGfSWk6TRlbwa8YgrSXdn80Yu7pov3EV/h7TSfiCHhq6/LO3WymmqnzgH1f0qV2bdTDipIkTNp5dGCGN3Af/5g==";
+        url = "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.7.tgz";
+        sha512 = "HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA==";
       };
     };
-    "@smithy/querystring-builder-2.0.8" = {
+    "@smithy/querystring-builder-2.0.11" = {
       name = "_at_smithy_slash_querystring-builder";
       packageName = "@smithy/querystring-builder";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.8.tgz";
-        sha512 = "+vzIMwjC8Saz97/ptPn+IJRCRRZ+pP95ZIWDRqEqZV/a6hiKbaFoMSa2iCKsnKzR696U2JZXrDqMu3e/FD1+2g==";
+        url = "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.11.tgz";
+        sha512 = "b4kEbVMxpmfv2VWUITn2otckTi7GlMteZQxi+jlwedoATOGEyrCJPfRcYQJjbCi3fZ2QTfh3PcORvB27+j38Yg==";
       };
     };
-    "@smithy/querystring-parser-2.0.8" = {
+    "@smithy/querystring-parser-2.0.11" = {
       name = "_at_smithy_slash_querystring-parser";
       packageName = "@smithy/querystring-parser";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.8.tgz";
-        sha512 = "ArbanNuR7O/MmTd90ZqhDqGOPPDYmxx3huHxD+R3cuCnazcK/1tGQA+SnnR5307T7ZRb5WTpB6qBggERuibVSA==";
+        url = "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.11.tgz";
+        sha512 = "YXe7jhi7s3dQ0Fu9dLoY/gLu6NCyy8tBWJL/v2c9i7/RLpHgKT+uT96/OqZkHizCJ4kr0ZD46tzMjql/o60KLg==";
       };
     };
-    "@smithy/service-error-classification-2.0.1" = {
+    "@smithy/service-error-classification-2.0.4" = {
       name = "_at_smithy_slash_service-error-classification";
       packageName = "@smithy/service-error-classification";
-      version = "2.0.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.1.tgz";
-        sha512 = "QHa9+t+v4s0cMuDCcbjIJN67mNZ42/+fc3jKe8P6ZMPXZl5ksKk6a8vhZ/m494GZng5eFTc3OePv+NF9cG83yg==";
+        url = "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.4.tgz";
+        sha512 = "77506l12I5gxTZqBkx3Wb0RqMG81bMYLaVQ+EqIWFwQDJRs5UFeXogKxSKojCmz1wLUziHZQXm03MBzPQiumQw==";
       };
     };
-    "@smithy/shared-ini-file-loader-2.0.10" = {
+    "@smithy/shared-ini-file-loader-2.2.0" = {
       name = "_at_smithy_slash_shared-ini-file-loader";
       packageName = "@smithy/shared-ini-file-loader";
-      version = "2.0.10";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.10.tgz";
-        sha512 = "jWASteSezRKohJ7GdA7pHDvmr7Q7tw3b5mu3xLHIkZy/ICftJ+O7aqNaF8wklhI7UNFoQ7flFRM3Rd0KA+1BbQ==";
+        url = "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz";
+        sha512 = "xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA==";
       };
     };
-    "@smithy/signature-v4-2.0.8" = {
+    "@smithy/signature-v4-2.0.11" = {
       name = "_at_smithy_slash_signature-v4";
       packageName = "@smithy/signature-v4";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.8.tgz";
-        sha512 = "qrtiYMzaLlQ5HSJOaFwnyTQ3JLjmPY+3+pr9IBDpCVM6YtVj22cBLVB9bPOiZMIpkdI7ZRdxLBFlIjh5CO1Bhw==";
+        url = "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.11.tgz";
+        sha512 = "EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A==";
       };
     };
-    "@smithy/smithy-client-2.1.5" = {
+    "@smithy/smithy-client-2.1.11" = {
       name = "_at_smithy_slash_smithy-client";
       packageName = "@smithy/smithy-client";
-      version = "2.1.5";
+      version = "2.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.5.tgz";
-        sha512 = "7S865uKzsxApM8W8Q6zkij7tcUFgaG8PuADMFdMt1yL/ku3d0+s6Zwrg3N7iXCPM08Gu/mf0BIfTXIu/9i450Q==";
+        url = "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.11.tgz";
+        sha512 = "okjMbuBBCTiieK665OFN/ap6u9+Z9z55PMphS5FYCsS6Zfp137Q3qlnt0OgBAnUVnH/mNGyoJV0LBX9gkTWptg==";
       };
     };
-    "@smithy/types-2.3.2" = {
+    "@smithy/types-2.3.5" = {
       name = "_at_smithy_slash_types";
       packageName = "@smithy/types";
-      version = "2.3.2";
+      version = "2.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/types/-/types-2.3.2.tgz";
-        sha512 = "iH0cdKi7HQlzfAM3w2shFk/qZYKAqJWswtpmQpPtlruF+uFZeGEpMJjgDRyhWiddfVM4e2oP4nMaOBsMy6lXgg==";
+        url = "https://registry.npmjs.org/@smithy/types/-/types-2.3.5.tgz";
+        sha512 = "ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ==";
       };
     };
-    "@smithy/url-parser-2.0.8" = {
+    "@smithy/url-parser-2.0.11" = {
       name = "_at_smithy_slash_url-parser";
       packageName = "@smithy/url-parser";
-      version = "2.0.8";
+      version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.8.tgz";
-        sha512 = "wQw7j004ScCrBRJ+oNPXlLE9mtofxyadSZ9D8ov/rHkyurS7z1HTNuyaGRj6OvKsEk0SVQsuY0C9+EfM75XTkw==";
+        url = "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.11.tgz";
+        sha512 = "h89yXMCCF+S5k9XIoKltMIWTYj+FcEkU/IIFZ6RtE222fskOTL4Iak6ZRG+ehSvZDt8yKEcxqheTDq7JvvtK3g==";
       };
     };
     "@smithy/util-base64-2.0.0" = {
@@ -1498,22 +1723,22 @@ let
         sha512 = "xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==";
       };
     };
-    "@smithy/util-defaults-mode-browser-2.0.9" = {
+    "@smithy/util-defaults-mode-browser-2.0.15" = {
       name = "_at_smithy_slash_util-defaults-mode-browser";
       packageName = "@smithy/util-defaults-mode-browser";
-      version = "2.0.9";
+      version = "2.0.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.9.tgz";
-        sha512 = "JONLJVQWT8165XoSV36ERn3SVlZLJJ4D6IeGsCSePv65Uxa93pzSLE0UMSR9Jwm4zix7rst9AS8W5QIypZWP8Q==";
+        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.15.tgz";
+        sha512 = "2raMZOYKSuke7QlDg/HDcxQdrp0zteJ8z+S0B9Rn23J55ZFNK1+IjG4HkN6vo/0u3Xy/JOdJ93ibiBSB8F7kOw==";
       };
     };
-    "@smithy/util-defaults-mode-node-2.0.11" = {
+    "@smithy/util-defaults-mode-node-2.0.19" = {
       name = "_at_smithy_slash_util-defaults-mode-node";
       packageName = "@smithy/util-defaults-mode-node";
-      version = "2.0.11";
+      version = "2.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.11.tgz";
-        sha512 = "tmqjNsfj+bgZN6jXBe6efZnukzILA7BUytHkzqikuRLNtR+0VVchQHvawD0w6vManh76rO81ydhioe7i4oBzuA==";
+        url = "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.19.tgz";
+        sha512 = "7pScU4jBFADB2MBYKM3zb5onMh6Nn0X3IfaFVLYPyCarTIZDLUtUl1GtruzEUJPmDzP+uGeqOtU589HDY0Ni6g==";
       };
     };
     "@smithy/util-hex-encoding-2.0.0" = {
@@ -1525,31 +1750,31 @@ let
         sha512 = "c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==";
       };
     };
-    "@smithy/util-middleware-2.0.1" = {
+    "@smithy/util-middleware-2.0.4" = {
       name = "_at_smithy_slash_util-middleware";
       packageName = "@smithy/util-middleware";
-      version = "2.0.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.1.tgz";
-        sha512 = "LnsBMi0Mg3gfz/TpNGLv2Jjcz2ra1OX5HR/4IaCepIYmtPQzqMWDdhX/XTW1LS8OZ0xbQuyQPcHkQ+2XkhWOVQ==";
+        url = "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.4.tgz";
+        sha512 = "Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A==";
       };
     };
-    "@smithy/util-retry-2.0.1" = {
+    "@smithy/util-retry-2.0.4" = {
       name = "_at_smithy_slash_util-retry";
       packageName = "@smithy/util-retry";
-      version = "2.0.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.1.tgz";
-        sha512 = "naj4X0IafJ9yJnVJ58QgSMkCNLjyQOnyrnKh/T0f+0UOUxJiT8vuFn/hS7B/pNqbo2STY7PyJ4J4f+5YqxwNtA==";
+        url = "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.4.tgz";
+        sha512 = "b+n1jBBKc77C1E/zfBe1Zo7S9OXGBiGn55N0apfhZHxPUP/fMH5AhFUUcWaJh7NAnah284M5lGkBKuhnr3yK5w==";
       };
     };
-    "@smithy/util-stream-2.0.11" = {
+    "@smithy/util-stream-2.0.16" = {
       name = "_at_smithy_slash_util-stream";
       packageName = "@smithy/util-stream";
-      version = "2.0.11";
+      version = "2.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.11.tgz";
-        sha512 = "2MeWfqSpZKdmEJ+tH8CJQSgzLWhH5cmdE24X7JB0hiamXrOmswWGGuPvyj/9sQCTclo57pNxLR2p7KrP8Ahiyg==";
+        url = "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.16.tgz";
+        sha512 = "b5ZSRh1KzUzC7LoJcpfk7+iXGoRr3WylEfmPd4FnBLm90OwxSB9VgK1fDZwicfYxSEvWHdYXgvvjPtenEYBBhw==";
       };
     };
     "@smithy/util-uri-escape-2.0.0" = {
@@ -1570,6 +1795,15 @@ let
         sha512 = "rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==";
       };
     };
+    "@smithy/util-waiter-2.0.11" = {
+      name = "_at_smithy_slash_util-waiter";
+      packageName = "@smithy/util-waiter";
+      version = "2.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.11.tgz";
+        sha512 = "8SJWUl9O1YhjC77EccgltI3q4XZQp3vp9DGEW6o0OdkUcwqm/H4qOLnMkA2n+NDojuM5Iia2jWoCdbluIiG7TA==";
+      };
+    };
     "@sqltools/formatter-1.2.5" = {
       name = "_at_sqltools_slash_formatter";
       packageName = "@sqltools/formatter";
@@ -1579,40 +1813,49 @@ let
         sha512 = "Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==";
       };
     };
-    "@swc/core-1.3.85" = {
+    "@swc/core-1.3.92" = {
       name = "_at_swc_slash_core";
       packageName = "@swc/core";
-      version = "1.3.85";
+      version = "1.3.92";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.92.tgz";
+        sha512 = "vx0vUrf4YTEw59njOJ46Ha5i0cZTMYdRHQ7KXU29efN1MxcmJH2RajWLPlvQarOP1ab9iv9cApD7SMchDyx2vA==";
+      };
+    };
+    "@swc/counter-0.1.2" = {
+      name = "_at_swc_slash_counter";
+      packageName = "@swc/counter";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.85.tgz";
-        sha512 = "qnoxp+2O0GtvRdYnXgR1v8J7iymGGYpx6f6yCK9KxipOZOjrlKILFANYlghQxZyPUfXwK++TFxfSlX4r9wK+kg==";
+        url = "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz";
+        sha512 = "9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==";
       };
     };
-    "@swc/helpers-0.5.2" = {
+    "@swc/helpers-0.5.3" = {
       name = "_at_swc_slash_helpers";
       packageName = "@swc/helpers";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz";
-        sha512 = "E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==";
+        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz";
+        sha512 = "FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==";
       };
     };
-    "@swc/types-0.1.4" = {
+    "@swc/types-0.1.5" = {
       name = "_at_swc_slash_types";
       packageName = "@swc/types";
-      version = "0.1.4";
+      version = "0.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/types/-/types-0.1.4.tgz";
-        sha512 = "z/G02d+59gyyUb7KYhKi9jOhicek6QD2oMaotUyG+lUkybpXoV49dY9bj7Ah5Q+y7knK2jU67UTX9FyfGzaxQg==";
+        url = "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz";
+        sha512 = "myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==";
       };
     };
-    "@swc/wasm-1.3.85" = {
+    "@swc/wasm-1.3.92" = {
       name = "_at_swc_slash_wasm";
       packageName = "@swc/wasm";
-      version = "1.3.85";
+      version = "1.3.92";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.85.tgz";
-        sha512 = "lO2QTgKsq/CQSs0fbojiFFmbMo5Nv1cnDdbyLUpl7q+XXkFA/uBh5zF8Bgv5kqJo2Yoo+ydCbTq7GQLrmcjyMQ==";
+        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.92.tgz";
+        sha512 = "hOaY0Nsz3B2b8IdiUF2JKPsa3pH1Aj3E+F+pgfXXgxbsLOgYcdNjWLkuJfHgh/F3TSs8FVs8gCXktO+nAI0fWw==";
       };
     };
     "@techteamer/ocsp-1.0.0" = {
@@ -1741,67 +1984,67 @@ let
         sha512 = "P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==";
       };
     };
-    "@types/duplexify-3.6.1" = {
+    "@types/duplexify-3.6.2" = {
       name = "_at_types_slash_duplexify";
       packageName = "@types/duplexify";
-      version = "3.6.1";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.1.tgz";
-        sha512 = "n0zoEj/fMdMOvqbHxmqnza/kXyoGgJmEpsXjpP+gEqE1Ye4yNqc7xWipKnUoMpWhMuzJQSfK2gMrwlElly7OGQ==";
+        url = "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.6.2.tgz";
+        sha512 = "2/0R4riyD/OS6GNJLIhwRaj+8ZbxHUZl3I0a3PHwH7zhZEEAACUWjzaBrY1qVWckueZ5pouDRP0UxX6P8Hzfww==";
       };
     };
-    "@types/es-aggregate-error-1.0.2" = {
+    "@types/es-aggregate-error-1.0.3" = {
       name = "_at_types_slash_es-aggregate-error";
       packageName = "@types/es-aggregate-error";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.2.tgz";
-        sha512 = "erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==";
+        url = "https://registry.npmjs.org/@types/es-aggregate-error/-/es-aggregate-error-1.0.3.tgz";
+        sha512 = "GmY61WWXQemfJp+qmMu6RsrNev0eoEWeWtg46w9pdXje23jRJrf7yETbAkl7F+CfQJSKW7w3//sTYtQTt+R5Lg==";
       };
     };
-    "@types/eslint-8.44.2" = {
+    "@types/eslint-8.44.4" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
-      version = "8.44.2";
+      version = "8.44.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz";
-        sha512 = "sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==";
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.4.tgz";
+        sha512 = "lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA==";
       };
     };
-    "@types/eslint-scope-3.7.4" = {
+    "@types/eslint-scope-3.7.5" = {
       name = "_at_types_slash_eslint-scope";
       packageName = "@types/eslint-scope";
-      version = "3.7.4";
+      version = "3.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz";
-        sha512 = "9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==";
+        url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.5.tgz";
+        sha512 = "JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==";
       };
     };
-    "@types/estree-1.0.1" = {
+    "@types/estree-1.0.2" = {
       name = "_at_types_slash_estree";
       packageName = "@types/estree";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz";
-        sha512 = "LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==";
+        url = "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz";
+        sha512 = "VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==";
       };
     };
-    "@types/express-4.17.17" = {
+    "@types/express-4.17.19" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.17";
+      version = "4.17.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz";
-        sha512 = "Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.19.tgz";
+        sha512 = "UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==";
       };
     };
-    "@types/express-serve-static-core-4.17.36" = {
+    "@types/express-serve-static-core-4.17.37" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.36";
+      version = "4.17.37";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz";
-        sha512 = "zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz";
+        sha512 = "ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==";
       };
     };
     "@types/http-errors-2.0.2" = {
@@ -1831,13 +2074,13 @@ let
         sha512 = "b0jGiOgHtZ2jqdPgPnP6WLCXZk1T8p06A/vPGzUvxpFGgKMbjXJDjC5m52ErqBnIuWZFgGoIJyRdeG5AyreJjA==";
       };
     };
-    "@types/lodash-4.14.198" = {
+    "@types/lodash-4.14.199" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.198";
+      version = "4.14.199";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz";
-        sha512 = "trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz";
+        sha512 = "Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==";
       };
     };
     "@types/long-4.0.2" = {
@@ -1849,49 +2092,49 @@ let
         sha512 = "MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==";
       };
     };
-    "@types/mime-1.3.2" = {
+    "@types/mime-1.3.3" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
-        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
+        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz";
+        sha512 = "Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==";
       };
     };
-    "@types/multer-1.4.7" = {
+    "@types/multer-1.4.8" = {
       name = "_at_types_slash_multer";
       packageName = "@types/multer";
-      version = "1.4.7";
+      version = "1.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz";
-        sha512 = "/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==";
+        url = "https://registry.npmjs.org/@types/multer/-/multer-1.4.8.tgz";
+        sha512 = "VMZOW6mnmMMhA5m3fsCdXBwFwC+a+27/8gctNMuQC4f7UtWcF79KAFGoIfKZ4iqrElgWIa3j5vhMJDp0iikQ1g==";
       };
     };
-    "@types/node-20.6.2" = {
+    "@types/node-20.8.4" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "20.6.2";
+      version = "20.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz";
-        sha512 = "Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz";
+        sha512 = "ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==";
       };
     };
-    "@types/node-fetch-2.6.5" = {
+    "@types/node-fetch-2.6.6" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
-      version = "2.6.5";
+      version = "2.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.5.tgz";
-        sha512 = "OZsUlr2nxvkqUFLSaY2ZbA+P1q22q+KrlxWOn/38RX+u5kTkYL2mTujEpzUhGkS+K/QCYp9oagfXG39XOzyySg==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz";
+        sha512 = "95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==";
       };
     };
-    "@types/pumpify-1.4.1" = {
+    "@types/pumpify-1.4.2" = {
       name = "_at_types_slash_pumpify";
       packageName = "@types/pumpify";
-      version = "1.4.1";
+      version = "1.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pumpify/-/pumpify-1.4.1.tgz";
-        sha512 = "l7u/Dnh1OG9T7VH6TvulR0g8oE8hgIW5409mSUKi8Vxw2+JV18aTa06Sv5bvNjrD0zbsB/cuZ/iTFQgFNfzIuw==";
+        url = "https://registry.npmjs.org/@types/pumpify/-/pumpify-1.4.2.tgz";
+        sha512 = "UBMrvkSFjQNWy0999fubiO8uFIuDJsbap4KnS+xsi2ax40w6mivT2zRPLywPDervsD6EMdvESHF72YMsgHSpXA==";
       };
     };
     "@types/qs-6.9.8" = {
@@ -1903,40 +2146,40 @@ let
         sha512 = "u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==";
       };
     };
-    "@types/range-parser-1.2.4" = {
+    "@types/range-parser-1.2.5" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
-      version = "1.2.4";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz";
-        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz";
+        sha512 = "xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==";
       };
     };
-    "@types/readable-stream-4.0.2" = {
+    "@types/readable-stream-4.0.3" = {
       name = "_at_types_slash_readable-stream";
       packageName = "@types/readable-stream";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.2.tgz";
-        sha512 = "hhzOsMEISZ+mX1l+01F0duYt9wHEbCGmjARed0PcQoVS5zAdu7u5YbWYuNGhw09M1MgGr3kfsto+ut/MnAdKqA==";
+        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.3.tgz";
+        sha512 = "Z8BOzyIj3UPpn3j5DmDNKIw4wPN9N8a1d1oyteiprWq+wxdgQNC0UfFAQwWjmjyA7uoj7mvoWgxWWH66zYtm4Q==";
       };
     };
-    "@types/send-0.17.1" = {
+    "@types/send-0.17.2" = {
       name = "_at_types_slash_send";
       packageName = "@types/send";
-      version = "0.17.1";
+      version = "0.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz";
-        sha512 = "Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==";
+        url = "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz";
+        sha512 = "aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==";
       };
     };
-    "@types/serve-static-1.15.2" = {
+    "@types/serve-static-1.15.3" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.15.2";
+      version = "1.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz";
-        sha512 = "J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz";
+        sha512 = "yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==";
       };
     };
     "@types/stack-trace-0.0.29" = {
@@ -1975,31 +2218,31 @@ let
         sha512 = "c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==";
       };
     };
-    "@types/uuid-9.0.4" = {
+    "@types/uuid-9.0.5" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "9.0.4";
+      version = "9.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz";
-        sha512 = "zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.5.tgz";
+        sha512 = "xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ==";
       };
     };
-    "@types/validator-13.11.1" = {
+    "@types/validator-13.11.2" = {
       name = "_at_types_slash_validator";
       packageName = "@types/validator";
-      version = "13.11.1";
+      version = "13.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/validator/-/validator-13.11.1.tgz";
-        sha512 = "d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==";
+        url = "https://registry.npmjs.org/@types/validator/-/validator-13.11.2.tgz";
+        sha512 = "nIKVVQKT6kGKysnNt+xLobr+pFJNssJRi2s034wgWeFBUx01fI8BeHTW2TcRp7VcFu9QCYG8IlChTuovcm0oKQ==";
       };
     };
-    "@types/webidl-conversions-7.0.0" = {
+    "@types/webidl-conversions-7.0.1" = {
       name = "_at_types_slash_webidl-conversions";
       packageName = "@types/webidl-conversions";
-      version = "7.0.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz";
-        sha512 = "xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==";
+        url = "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.1.tgz";
+        sha512 = "8hKOnOan+Uu+NgMaCouhg3cT9x5fFZ92Jwf+uDLXLu/MFRbXxlWwGeQY7KVHkeSft6RvY+tdxklUBuyY9eIEKg==";
       };
     };
     "@types/whatwg-url-8.2.2" = {
@@ -2011,13 +2254,13 @@ let
         sha512 = "FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==";
       };
     };
-    "@types/ws-8.5.5" = {
+    "@types/ws-8.5.7" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "8.5.5";
+      version = "8.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz";
-        sha512 = "lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.7.tgz";
+        sha512 = "6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==";
       };
     };
     "@webassemblyjs/ast-1.11.6" = {
@@ -2560,6 +2803,15 @@ let
         sha512 = "Y2LZPOWeZ6qehv698ZgOGGCZXBQShObWnGthTrIFlIQjuV1gg2B8QOhWFRExq/MR1VnPpIIe7P9vX2vElxv+Pg==";
       };
     };
+    "assert-2.1.0" = {
+      name = "assert";
+      packageName = "assert";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz";
+        sha512 = "eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==";
+      };
+    };
     "assert-options-0.8.0" = {
       name = "assert-options";
       packageName = "assert-options";
@@ -2578,22 +2830,22 @@ let
         sha512 = "NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==";
       };
     };
-    "ast-types-0.13.4" = {
+    "ast-types-0.15.2" = {
       name = "ast-types";
       packageName = "ast-types";
-      version = "0.13.4";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz";
-        sha512 = "x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==";
+        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz";
+        sha512 = "c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==";
       };
     };
-    "ast-types-0.15.2" = {
+    "ast-types-0.16.1" = {
       name = "ast-types";
       packageName = "ast-types";
-      version = "0.15.2";
+      version = "0.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz";
-        sha512 = "c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==";
+        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz";
+        sha512 = "6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==";
       };
     };
     "async-2.6.4" = {
@@ -2677,15 +2929,6 @@ let
         sha512 = "H5Vrb/GMzq72+Of2zrW69i/BTQ4gQd3MQvdZ3X3okfppzHdEjSPkdJN6ia8V2/1J1FmFvEtoxaY4nwraHUGQvg==";
       };
     };
-    "aws-sdk-2.1459.0" = {
-      name = "aws-sdk";
-      packageName = "aws-sdk";
-      version = "2.1459.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1459.0.tgz";
-        sha512 = "My45PgQYhRTh6fOeZ94ELUoXzza/6gTy0J22aK4iy0DEA+uE5gjr1VthnIwbLYNMeEqn8xwJZuNJqvi/WaUUcQ==";
-      };
-    };
     "aws4-1.12.0" = {
       name = "aws4";
       packageName = "aws4";
@@ -2722,22 +2965,22 @@ let
         sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
-    "axios-1.5.0" = {
+    "axios-1.5.1" = {
       name = "axios";
       packageName = "axios";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz";
-        sha512 = "D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==";
+        url = "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz";
+        sha512 = "Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==";
       };
     };
-    "axios-retry-3.7.0" = {
+    "axios-retry-3.8.0" = {
       name = "axios-retry";
       packageName = "axios-retry";
-      version = "3.7.0";
+      version = "3.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.7.0.tgz";
-        sha512 = "ZTnCkJbRtfScvwiRnoVskFAfvU0UG3xNcsjwTR0mawSbIJoothxn67gKsMaNAFHRXJ1RmuLhmZBzvyXi3+9WyQ==";
+        url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.8.0.tgz";
+        sha512 = "CfIsQyWNc5/AE7x/UEReRUadiBmQeoBpSEC+4QyGLJMswTsP1tz0GW2YYPnE7w9+ESMef5zOgLDFpHynNyEZ1w==";
       };
     };
     "balanced-match-1.0.2" = {
@@ -2794,13 +3037,13 @@ let
         sha512 = "V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==";
       };
     };
-    "better-sqlite3-8.6.0" = {
+    "better-sqlite3-8.7.0" = {
       name = "better-sqlite3";
       packageName = "better-sqlite3";
-      version = "8.6.0";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.6.0.tgz";
-        sha512 = "jwAudeiTMTSyby+/SfbHDebShbmC2MCH8mU2+DXi0WJfv13ypEJm47cd3kljmy/H130CazEvkf2Li//ewcMJ1g==";
+        url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.7.0.tgz";
+        sha512 = "99jZU4le+f3G6aIl6PmmV0cxUIWqKieHxsiF7G34CVFiE+/UabpYqkU0NJIkY/96mQKikHeBjtR27vFfs5JpEw==";
       };
     };
     "big-integer-1.6.51" = {
@@ -2992,13 +3235,13 @@ let
         sha512 = "YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==";
       };
     };
-    "browserslist-4.21.10" = {
+    "browserslist-4.22.1" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.21.10";
+      version = "4.22.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz";
-        sha512 = "bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz";
+        sha512 = "FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==";
       };
     };
     "bson-4.7.2" = {
@@ -3019,15 +3262,6 @@ let
         sha512 = "B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==";
       };
     };
-    "buffer-4.9.2" = {
-      name = "buffer";
-      packageName = "buffer";
-      version = "4.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
-        sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
-      };
-    };
     "buffer-5.7.1" = {
       name = "buffer";
       packageName = "buffer";
@@ -3145,13 +3379,13 @@ let
         sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
       };
     };
-    "cache-manager-5.2.3" = {
+    "cache-manager-5.2.4" = {
       name = "cache-manager";
       packageName = "cache-manager";
-      version = "5.2.3";
+      version = "5.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cache-manager/-/cache-manager-5.2.3.tgz";
-        sha512 = "9OErI8fksFkxAMJ8Mco0aiZSdphyd90HcKiOMJQncSlU1yq/9lHHxrT8PDayxrmr9IIIZPOAEfXuGSD7g29uog==";
+        url = "https://registry.npmjs.org/cache-manager/-/cache-manager-5.2.4.tgz";
+        sha512 = "gkuCjug16NdGvKm/sydxGVx17uffrSWcEe2xraBtwRCgdYcFxwJAla4OYpASAZT2yhSoxgDiWL9XH6IAChcZJA==";
       };
     };
     "cache-manager-ioredis-yet-1.2.2" = {
@@ -3208,13 +3442,13 @@ let
         sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
-    "caniuse-lite-1.0.30001534" = {
+    "caniuse-lite-1.0.30001547" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001534";
+      version = "1.0.30001547";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz";
-        sha512 = "vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz";
+        sha512 = "W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==";
       };
     };
     "capital-case-1.0.4" = {
@@ -3739,22 +3973,13 @@ let
         sha512 = "QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==";
       };
     };
-    "copy-to-2.0.1" = {
-      name = "copy-to";
-      packageName = "copy-to";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz";
-        sha512 = "3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==";
-      };
-    };
-    "core-js-3.32.2" = {
+    "core-js-3.33.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.32.2";
+      version = "3.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.32.2.tgz";
-        sha512 = "pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.33.0.tgz";
+        sha512 = "HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==";
       };
     };
     "core-util-is-1.0.3" = {
@@ -3874,13 +4099,13 @@ let
         sha512 = "HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==";
       };
     };
-    "csv-parse-5.5.0" = {
+    "csv-parse-5.5.2" = {
       name = "csv-parse";
       packageName = "csv-parse";
-      version = "5.5.0";
+      version = "5.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.0.tgz";
-        sha512 = "RxruSK3M4XgzcD7Trm2wEN+SJ26ChIb903+IWxNOcB5q4jT2Cs+hFr6QP39J05EohshRFEvyzEBoZ/466S2sbw==";
+        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-5.5.2.tgz";
+        sha512 = "YRVtvdtUNXZCMyK5zd5Wty1W6dNTpGKdqQd4EQ8tl/c6KW1aMBB1Kg1ppky5FONKmEqGJ/8WjLlTNLPne4ioVA==";
       };
     };
     "curlconverter-3.21.0" = {
@@ -3919,15 +4144,6 @@ let
         sha512 = "+Q+lChhl5PBogsB7nO/VZFF3X0WJe8y93dyft50HIg2Bg+c765wM/sXkfBz5pjmGoRESkB/GLesQJLTMBbK4dQ==";
       };
     };
-    "data-uri-to-buffer-3.0.1" = {
-      name = "data-uri-to-buffer";
-      packageName = "data-uri-to-buffer";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz";
-        sha512 = "WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==";
-      };
-    };
     "date-fns-2.30.0" = {
       name = "date-fns";
       packageName = "date-fns";
@@ -4027,15 +4243,6 @@ let
         sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
-    "deep-is-0.1.4" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
-        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
-      };
-    };
     "deepmerge-4.3.1" = {
       name = "deepmerge";
       packageName = "deepmerge";
@@ -4045,15 +4252,6 @@ let
         sha512 = "3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==";
       };
     };
-    "default-user-agent-1.0.0" = {
-      name = "default-user-agent";
-      packageName = "default-user-agent";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz";
-        sha512 = "bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==";
-      };
-    };
     "define-data-property-1.1.0" = {
       name = "define-data-property";
       packageName = "define-data-property";
@@ -4081,15 +4279,6 @@ let
         sha512 = "8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==";
       };
     };
-    "degenerator-3.0.4" = {
-      name = "degenerator";
-      packageName = "degenerator";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/degenerator/-/degenerator-3.0.4.tgz";
-        sha512 = "Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw==";
-      };
-    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -4171,15 +4360,6 @@ let
         sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==";
       };
     };
-    "digest-header-1.1.0" = {
-      name = "digest-header";
-      packageName = "digest-header";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/digest-header/-/digest-header-1.1.0.tgz";
-        sha512 = "glXVh42vz40yZb9Cq2oMOt70FIoWiv+vxNvdKdU8CwjLad25qHM3trLxhl9bVjdr6WaslIXhWpn0NO8T/67Qjg==";
-      };
-    };
     "dir-glob-3.0.1" = {
       name = "dir-glob";
       packageName = "dir-glob";
@@ -4360,13 +4540,13 @@ let
         sha512 = "rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==";
       };
     };
-    "electron-to-chromium-1.4.523" = {
+    "electron-to-chromium-1.4.549" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.523";
+      version = "1.4.549";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.523.tgz";
-        sha512 = "9AreocSUWnzNtvLcbpng6N+GkXnCcBR80IQkxRC9Dfdyg4gaWNUPBujAHUpKkiUkoSoR9UlhA4zD/IgBklmhzg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.549.tgz";
+        sha512 = "gpXfJslSi4hYDkA0mTLEpYKRv9siAgSUgZ+UWyk+J5Cttpd1ThCVwdclzIwQSclz3hYn049+M2fgrP1WpvF8xg==";
       };
     };
     "emoji-regex-8.0.0" = {
@@ -4594,15 +4774,6 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "escodegen-1.14.3" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "1.14.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz";
-        sha512 = "qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==";
-      };
-    };
     "eslint-config-riot-1.0.0" = {
       name = "eslint-config-riot";
       packageName = "eslint-config-riot";
@@ -4666,15 +4837,6 @@ let
         sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
     "etag-1.8.1" = {
       name = "etag";
       packageName = "etag";
@@ -4702,15 +4864,6 @@ let
         sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
       };
     };
-    "events-1.1.1" = {
-      name = "events";
-      packageName = "events";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-1.1.1.tgz";
-        sha512 = "kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==";
-      };
-    };
     "events-3.3.0" = {
       name = "events";
       packageName = "events";
@@ -4810,15 +4963,6 @@ let
         sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     };
-    "extend-shallow-2.0.1" = {
-      name = "extend-shallow";
-      packageName = "extend-shallow";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
-        sha512 = "zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==";
-      };
-    };
     "external-editor-3.1.0" = {
       name = "external-editor";
       packageName = "external-editor";
@@ -4855,15 +4999,6 @@ let
         sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
-    "fast-levenshtein-2.0.6" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
-      };
-    };
     "fast-text-encoding-1.0.6" = {
       name = "fast-text-encoding";
       packageName = "fast-text-encoding";
@@ -4936,15 +5071,6 @@ let
         sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
       };
     };
-    "file-uri-to-path-2.0.0" = {
-      name = "file-uri-to-path";
-      packageName = "file-uri-to-path";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz";
-        sha512 = "hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==";
-      };
-    };
     "filelist-1.0.4" = {
       name = "filelist";
       packageName = "filelist";
@@ -5008,13 +5134,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.15.2" = {
+    "follow-redirects-1.15.3" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.15.2";
+      version = "1.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz";
-        sha512 = "VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz";
+        sha512 = "1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==";
       };
     };
     "for-each-0.3.3" = {
@@ -5053,15 +5179,6 @@ let
         sha512 = "WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==";
       };
     };
-    "formstream-1.3.1" = {
-      name = "formstream";
-      packageName = "formstream";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/formstream/-/formstream-1.3.1.tgz";
-        sha512 = "FkW++ub+VbE5dpwukJVDizNWhSgp8FhmhI65pF7BZSVStBqe6Wgxe2Z9/Vhsn7l7nXCPwP+G1cyYlX8VwWOf0g==";
-      };
-    };
     "forwarded-0.2.0" = {
       name = "forwarded";
       packageName = "forwarded";
@@ -5125,15 +5242,6 @@ let
         sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==";
       };
     };
-    "ftp-0.3.10" = {
-      name = "ftp";
-      packageName = "ftp";
-      version = "0.3.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz";
-        sha512 = "faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==";
-      };
-    };
     "function-bind-1.1.1" = {
       name = "function-bind";
       packageName = "function-bind";
@@ -5287,15 +5395,6 @@ let
         sha512 = "zzlgaYnHMIEgHRrfC7x0Qp0Ylhw/sHpM6MHXeVBTYIsvGf5GpbnClB+Q6rAPdn+0gd2oZZIo6Tj3EaWrt4VhDQ==";
       };
     };
-    "get-uri-3.0.2" = {
-      name = "get-uri";
-      packageName = "get-uri";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz";
-        sha512 = "+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==";
-      };
-    };
     "getpass-0.1.7" = {
       name = "getpass";
       packageName = "getpass";
@@ -5314,13 +5413,13 @@ let
         sha512 = "SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==";
       };
     };
-    "glob-10.3.4" = {
+    "glob-10.3.10" = {
       name = "glob";
       packageName = "glob";
-      version = "10.3.4";
+      version = "10.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz";
-        sha512 = "6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==";
+        url = "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz";
+        sha512 = "fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==";
       };
     };
     "glob-7.2.3" = {
@@ -5503,13 +5602,13 @@ let
         sha512 = "vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==";
       };
     };
-    "has-1.0.3" = {
+    "has-1.0.4" = {
       name = "has";
       packageName = "has";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+        url = "https://registry.npmjs.org/has/-/has-1.0.4.tgz";
+        sha512 = "qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==";
       };
     };
     "has-bigints-1.0.2" = {
@@ -5782,15 +5881,6 @@ let
         sha512 = "JeiPjNeWkd7Qri/wfHqjZCtglVwRJRqy1MEFKn9QzatzxUyCOsx4YARPlLkU8UnPxpg4VtEjR+VRUG+Cvj6bDg==";
       };
     };
-    "ieee754-1.1.13" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.1.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
-        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
-      };
-    };
     "ieee754-1.2.1" = {
       name = "ieee754";
       packageName = "ieee754";
@@ -5863,13 +5953,13 @@ let
         sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
       };
     };
-    "infisical-node-1.4.3" = {
+    "infisical-node-1.5.0" = {
       name = "infisical-node";
       packageName = "infisical-node";
-      version = "1.4.3";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/infisical-node/-/infisical-node-1.4.3.tgz";
-        sha512 = "z/gYkctAB6yQoH/9um9znvljsF6WVhsrMw9urZ80O5E1M+/RwZW40mc6LHs2nQpZD90at6SbuzVWQoEwSdEmTw==";
+        url = "https://registry.npmjs.org/infisical-node/-/infisical-node-1.5.0.tgz";
+        sha512 = "mMdhhu50J7pI4Y89M2HMbNWRyRY6ian3oBIXW+pAWz1z8XWn5yT0ge6/YNXwTPKLnBuR1py+GwiNQUaqxkOXZw==";
       };
     };
     "inflight-1.0.6" = {
@@ -5944,15 +6034,6 @@ let
         sha512 = "1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==";
       };
     };
-    "ip-1.1.8" = {
-      name = "ip";
-      packageName = "ip";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz";
-        sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
-      };
-    };
     "ip-2.0.0" = {
       name = "ip";
       packageName = "ip";
@@ -6079,15 +6160,6 @@ let
         sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
       };
     };
-    "is-extendable-0.1.1" = {
-      name = "is-extendable";
-      packageName = "is-extendable";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
-        sha512 = "5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==";
-      };
-    };
     "is-extglob-2.1.1" = {
       name = "is-extglob";
       packageName = "is-extglob";
@@ -6340,13 +6412,13 @@ let
         sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==";
       };
     };
-    "isbot-3.6.13" = {
+    "isbot-3.7.0" = {
       name = "isbot";
       packageName = "isbot";
-      version = "3.6.13";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbot/-/isbot-3.6.13.tgz";
-        sha512 = "uoP4uK5Dc2CrabmK+Gue1jTL+scHiCc1c9rblRpJwG8CPxjLIv8jmGyyGRGkbPOweayhkskdZsEQXG6p+QCQrg==";
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.7.0.tgz";
+        sha512 = "9BcjlI89966BqWJmYdTnRub85sit931MyCthSIPtgoOsTjoW7A2MVa09HzPpYE2+G4vyAxfDvR0AbUGV0FInQg==";
       };
     };
     "isexe-2.0.0" = {
@@ -6376,13 +6448,13 @@ let
         sha512 = "BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==";
       };
     };
-    "jackspeak-2.3.3" = {
+    "jackspeak-2.3.6" = {
       name = "jackspeak";
       packageName = "jackspeak";
-      version = "2.3.3";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.3.tgz";
-        sha512 = "R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==";
+        url = "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz";
+        sha512 = "N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==";
       };
     };
     "jake-10.8.7" = {
@@ -6421,13 +6493,13 @@ let
         sha512 = "bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==";
       };
     };
-    "jose-4.14.6" = {
+    "jose-4.15.2" = {
       name = "jose";
       packageName = "jose";
-      version = "4.14.6";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jose/-/jose-4.14.6.tgz";
-        sha512 = "EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ==";
+        url = "https://registry.npmjs.org/jose/-/jose-4.15.2.tgz";
+        sha512 = "IY73F228OXRl9ar3jJagh7Vnuhj/GzBunPiZP13K0lOl7Am9SoWW3kEzq3MCllJMTtZqHTiDXQvoRd4U95aU6A==";
       };
     };
     "js-base64-3.7.5" = {
@@ -6628,13 +6700,13 @@ let
         sha512 = "jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==";
       };
     };
-    "jwks-rsa-3.0.1" = {
+    "jwks-rsa-3.1.0" = {
       name = "jwks-rsa";
       packageName = "jwks-rsa";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.0.1.tgz";
-        sha512 = "UUOZ0CVReK1QVU3rbi9bC7N5/le8ziUj0A2ef1Q0M7OPD2KvjEYizptqIxGIo6fSLYDkqBrazILS18tYuRc8gw==";
+        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.1.0.tgz";
+        sha512 = "v7nqlfezb9YfHHzYII3ef2a2j1XnGeSE/bK3WfumaYCqONAIstJbrEGapz4kadScZzEt7zYCN7bucj8C0Mv/Rg==";
       };
     };
     "jws-3.2.2" = {
@@ -6709,15 +6781,6 @@ let
         sha512 = "nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==";
       };
     };
-    "levn-0.3.0" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-        sha512 = "0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==";
-      };
-    };
     "libbase64-1.2.1" = {
       name = "libbase64";
       packageName = "libbase64";
@@ -6745,13 +6808,13 @@ let
         sha512 = "A0z9O4+5q+ZTj7QwNe/Juy1KARNb4WaviO4mYeFC4b8dBT2EEqK2pkM+GC8MVnkOjqhl5nYQxRgnPYRRTNmuSQ==";
       };
     };
-    "libphonenumber-js-1.10.44" = {
+    "libphonenumber-js-1.10.47" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.10.44";
+      version = "1.10.47";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.44.tgz";
-        sha512 = "svlRdNBI5WgBjRC20GrCfbFiclbF0Cx+sCcQob/C1r57nsoq0xg8r65QbTyVyweQIlB33P+Uahyho6EMYgcOyQ==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.47.tgz";
+        sha512 = "b4t7VQDV29xx/ni+58yl9KWPGjnDLDXCeCTLrD4V8vDpObXZRZBrg7uX/HWZ7YXiJKqdBDGgc+barUUTNB6Slw==";
       };
     };
     "libpq-1.8.12" = {
@@ -7051,6 +7114,15 @@ let
         sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
       };
     };
+    "lru-cache-10.0.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "10.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz";
+        sha512 = "IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==";
+      };
+    };
     "lru-cache-4.0.2" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -7069,15 +7141,6 @@ let
         sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     };
-    "lru-cache-5.1.1" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
-      };
-    };
     "lru-cache-6.0.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -7096,15 +7159,6 @@ let
         sha512 = "jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==";
       };
     };
-    "lru-cache-9.1.2" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "9.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz";
-        sha512 = "ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==";
-      };
-    };
     "lru-memoizer-2.2.0" = {
       name = "lru-memoizer";
       packageName = "lru-memoizer";
@@ -7267,15 +7321,6 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-2.6.0" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz";
-        sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
-      };
-    };
     "mime-3.0.0" = {
       name = "mime";
       packageName = "mime";
@@ -7393,13 +7438,13 @@ let
         sha512 = "3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==";
       };
     };
-    "minipass-7.0.3" = {
+    "minipass-7.0.4" = {
       name = "minipass";
       packageName = "minipass";
-      version = "7.0.3";
+      version = "7.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz";
-        sha512 = "LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz";
+        sha512 = "jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==";
       };
     };
     "minipass-collect-1.0.2" = {
@@ -7528,13 +7573,13 @@ let
         sha512 = "g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA==";
       };
     };
-    "mongodb-client-encryption-2.9.0" = {
+    "mongodb-client-encryption-2.9.1" = {
       name = "mongodb-client-encryption";
       packageName = "mongodb-client-encryption";
-      version = "2.9.0";
+      version = "2.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-2.9.0.tgz";
-        sha512 = "OGMfTnS+JJ49ksWdExQ5048ynaQJLhPjbOi3i44PbU2sdufKH0Z4YZqn1pvd/eQ4WgLfbmSws3u9kAiFNFxpOg==";
+        url = "https://registry.npmjs.org/mongodb-client-encryption/-/mongodb-client-encryption-2.9.1.tgz";
+        sha512 = "JBWr6CF60sqOdlaVzlywuLOZQ6D0iDrCz2ZjPAM38ZHVvC9WER5jgHl81JOY+EIAKwZVhJakCqlr809jPQeGUA==";
       };
     };
     "mongodb-connection-string-url-2.6.0" = {
@@ -7555,13 +7600,13 @@ let
         sha512 = "ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==";
       };
     };
-    "mqtt-5.0.5" = {
+    "mqtt-5.1.2" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "5.0.5";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-5.0.5.tgz";
-        sha512 = "Ahbzk7nddvYg0aOezbYl/d9o8wcEbZw1NjiH+CmGObxiHsG4HgL7+IaRkph5yxwH679GVMAwtfsyUY2dFBSVSw==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-5.1.2.tgz";
+        sha512 = "jEyrJGj3qkyTWx/7t5p+u6BY1rpikcl0ydlaHPGJ6rjeCkHVCFcTK+ZP5hVqAei5rwn7h4qtjTezhXHWkSZOHg==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -7573,13 +7618,13 @@ let
         sha512 = "ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==";
       };
     };
-    "mqtt-packet-8.2.0" = {
+    "mqtt-packet-8.2.1" = {
       name = "mqtt-packet";
       packageName = "mqtt-packet";
-      version = "8.2.0";
+      version = "8.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-8.2.0.tgz";
-        sha512 = "21Vo7XdRXUw2qhdTfk8GeOl2jtb8Dkwd4dKxn/epvf37mxTxHodvBJoozTPZGVwh57JXlsh2ChsaxMsAfqxp+A==";
+        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-8.2.1.tgz";
+        sha512 = "vrHHjwhmuxzQIe3fJWoOLQHF4H5FETUrQGYD5g1qGfEmpjkQUkPONfygA0cI8Wtb3IUCfu66WmZiVSCgGm8oUw==";
       };
     };
     "ms-2.0.0" = {
@@ -7672,49 +7717,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-1.6.0" = {
+    "n8n-core-1.9.1" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "1.6.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-1.6.0.tgz";
-        sha512 = "VQw8RpmOKQ7xFBB61hb/Te0HT0J5nIRV/LYMwN9YrjzGMh6XuRQkn8el0hlgBR97K52Yo1iyMBR9TKHunAH13Q==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-1.9.1.tgz";
+        sha512 = "XBTVZTW30Ohh+F9IeGFBqhhnj8J5pL9x/i1Ry0ciICEjVjwInxzueFudI93pY3QJwevwAn0vfusw5KV0sx11EQ==";
       };
     };
-    "n8n-editor-ui-1.6.0" = {
+    "n8n-editor-ui-1.9.3" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "1.6.0";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-1.6.0.tgz";
-        sha512 = "hfVWAfJ3zjhQgSOM89RFgkplW7/9RyClHdYR8PaXgNKm1xV6YkF2ofeF2II+yLxgbxqVjTdpRM7AhohKtEowTw==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-1.9.3.tgz";
+        sha512 = "gxme20z+2URuKpupdvfCOPCWJZUCegADO6TGoPSGh0qQLxgN5nWR74Z5V2mM5ceB0Tk4V15cwwO8rB/PIvbUPQ==";
       };
     };
-    "n8n-nodes-base-1.6.0" = {
+    "n8n-nodes-base-1.9.2" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "1.6.0";
+      version = "1.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-1.6.0.tgz";
-        sha512 = "SGWCmh6T8yuQVTEcC2ZaRG1DutYcg8M7EuoloYLftO4IVM/drYsx5fOWHUXPU52C9R6WlQI40K4YMzDNHYCOdg==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-1.9.2.tgz";
+        sha512 = "nAtyNXsIAt/CSdwdRo11QkNa2RSN/FKAcYs4NldnRhiaHHRmt3jtbmy52p9zG4NfIVNctfHPOH/kED8spoQRaw==";
       };
     };
-    "n8n-nodes-base-1.6.1" = {
+    "n8n-nodes-base-1.9.3" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "1.6.1";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-1.6.1.tgz";
-        sha512 = "4mZqwJ+uiUmXlnktBhlydkpRTdiuFkDOQElbctPumhNQ4Xfkhzehd3zjr7IjPBA3M+t8EEerVl7SfLUdoPIAMg==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-1.9.3.tgz";
+        sha512 = "4VoaSFDO71O6j2vO1UX7s4cTuTiTxtfKxTHsbEUMZobjk5XAZuREBGmMdRbb792z5iXzGU8pX8tkhAtZSv4XwA==";
       };
     };
-    "n8n-workflow-1.6.0" = {
+    "n8n-workflow-1.9.1" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "1.6.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-1.6.0.tgz";
-        sha512 = "MkwhM5p0ps3RevX/MWTS1DyFSDZ4p0IJ+gDtU48GZBJGR9nk5HWvmAOFAJJBnyGXCwy+U61d0CQoOZbVKXeGBw==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-1.9.1.tgz";
+        sha512 = "DvzREgrb/k7duALtx1rftxVJDjZUDmbzjwqLdwS8nxyzvs0pOqh5xKpSj3q8NDNbF9xaw2H1PI6getFrpMKLSA==";
       };
     };
     "named-placeholders-1.1.3" = {
@@ -7798,15 +7843,6 @@ let
         sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
       };
     };
-    "netmask-2.0.2" = {
-      name = "netmask";
-      packageName = "netmask";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz";
-        sha512 = "dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==";
-      };
-    };
     "no-case-3.0.4" = {
       name = "no-case";
       packageName = "no-case";
@@ -7816,13 +7852,13 @@ let
         sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
       };
     };
-    "node-abi-3.47.0" = {
+    "node-abi-3.49.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.47.0";
+      version = "3.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz";
-        sha512 = "2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.49.0.tgz";
+        sha512 = "ji8IK8VT2zAQv9BeOqwnpuvJnCivxPCe2HNiPe8P1z1SDhqEFpm7GqctqTWkujb8mLfZ1PWDrjMeiq6l9TN7fA==";
       };
     };
     "node-abort-controller-3.1.1" = {
@@ -7960,13 +7996,13 @@ let
         sha512 = "fy9v3NgTzBngrMFkDsKEj0r02U7jm6XfC3b52eoNV+GCrGj+s8pt5OqhiJdWKuw51zCTdiNR/IUD1z33LIIGpg==";
       };
     };
-    "nodemailer-6.9.5" = {
+    "nodemailer-6.9.6" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.9.5";
+      version = "6.9.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.5.tgz";
-        sha512 = "/dmdWo62XjumuLc5+AYQZeiRj+PRR8y8qKtFCOyuOl1k/hckZd8durUUHs/ucKx6/8kN+wFxqKJlQ/LK/qR5FA==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.6.tgz";
+        sha512 = "s7pDtWwe5fLMkQUhw8TkWB/wnZ7SRdd9HRZslq/s24hlZvBP3j32N/ETLmnqTpmj4xoBZL9fOWyCIZ7r2HORHg==";
       };
     };
     "nopt-5.0.0" = {
@@ -8212,15 +8248,6 @@ let
         sha512 = "d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==";
       };
     };
-    "optionator-0.8.3" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
-        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
-      };
-    };
     "oracledb-5.5.0" = {
       name = "oracledb";
       packageName = "oracledb";
@@ -8230,15 +8257,6 @@ let
         sha512 = "i5cPvMENpZP8nnqptB6l0pjiOyySj1IISkbM4Hr3yZEDdANo2eezarwZb9NQ8fTh5pRjmgpZdSyIbnn9N3AENw==";
       };
     };
-    "os-name-1.0.3" = {
-      name = "os-name";
-      packageName = "os-name";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz";
-        sha512 = "f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==";
-      };
-    };
     "os-tmpdir-1.0.2" = {
       name = "os-tmpdir";
       packageName = "os-tmpdir";
@@ -8248,22 +8266,13 @@ let
         sha512 = "D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==";
       };
     };
-    "osx-release-1.1.0" = {
-      name = "osx-release";
-      packageName = "osx-release";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz";
-        sha512 = "ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==";
-      };
-    };
-    "otpauth-9.1.4" = {
+    "otpauth-9.1.5" = {
       name = "otpauth";
       packageName = "otpauth";
-      version = "9.1.4";
+      version = "9.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otpauth/-/otpauth-9.1.4.tgz";
-        sha512 = "T6T0E1WlzwKWESq8K0Ja47u01XjmDmRY/AiUoMAc6xZI/OsTsD4cqBrfpt2WfJ29W5pRiWkuUuyHdNQl0/Ic+Q==";
+        url = "https://registry.npmjs.org/otpauth/-/otpauth-9.1.5.tgz";
+        sha512 = "mnic91MZxvj04Ir7FN8Xi6wF3FU8D+s6M5p6FQaSS91/csKswoOI9Dk7kKSnGFAoBYgGTTO+OWScV0nJuzrbPg==";
       };
     };
     "p-cancelable-2.1.1" = {
@@ -8338,24 +8347,6 @@ let
         sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==";
       };
     };
-    "pac-proxy-agent-5.0.0" = {
-      name = "pac-proxy-agent";
-      packageName = "pac-proxy-agent";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz";
-        sha512 = "CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==";
-      };
-    };
-    "pac-resolver-5.0.1" = {
-      name = "pac-resolver";
-      packageName = "pac-resolver";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz";
-        sha512 = "cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==";
-      };
-    };
     "packet-reader-1.0.0" = {
       name = "packet-reader";
       packageName = "packet-reader";
@@ -8581,15 +8572,6 @@ let
         sha512 = "KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==";
       };
     };
-    "pause-stream-0.0.11" = {
-      name = "pause-stream";
-      packageName = "pause-stream";
-      version = "0.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
-        sha512 = "e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==";
-      };
-    };
     "pdfjs-dist-2.16.105" = {
       name = "pdfjs-dist";
       packageName = "pdfjs-dist";
@@ -8833,15 +8815,6 @@ let
         sha512 = "jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==";
       };
     };
-    "prelude-ls-1.1.2" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha512 = "ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==";
-      };
-    };
     "pretty-bytes-5.6.0" = {
       name = "pretty-bytes";
       packageName = "pretty-bytes";
@@ -8986,15 +8959,6 @@ let
         sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
       };
     };
-    "proxy-agent-5.0.0" = {
-      name = "proxy-agent";
-      packageName = "proxy-agent";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz";
-        sha512 = "gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==";
-      };
-    };
     "proxy-from-env-1.1.0" = {
       name = "proxy-from-env";
       packageName = "proxy-from-env";
@@ -9049,15 +9013,6 @@ let
         sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
       };
     };
-    "punycode-1.3.2" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
-      };
-    };
     "punycode-2.3.0" = {
       name = "punycode";
       packageName = "punycode";
@@ -9103,15 +9058,6 @@ let
         sha512 = "hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==";
       };
     };
-    "querystring-0.2.0" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
-      };
-    };
     "querystringify-2.2.0" = {
       name = "querystringify";
       packageName = "querystringify";
@@ -9265,6 +9211,15 @@ let
         sha512 = "hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==";
       };
     };
+    "recast-0.22.0" = {
+      name = "recast";
+      packageName = "recast";
+      version = "0.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/recast/-/recast-0.22.0.tgz";
+        sha512 = "5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==";
+      };
+    };
     "rechoir-0.6.2" = {
       name = "rechoir";
       packageName = "rechoir";
@@ -9292,13 +9247,13 @@ let
         sha512 = "grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==";
       };
     };
-    "redis-4.6.8" = {
+    "redis-4.6.10" = {
       name = "redis";
       packageName = "redis";
-      version = "4.6.8";
+      version = "4.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis/-/redis-4.6.8.tgz";
-        sha512 = "S7qNkPUYrsofQ0ztWlTHSaK0Qqfl1y+WMIxrzeAGNG+9iUZB4HGeBgkHxE6uJJ6iXrkvLd1RVJ2nvu6H1sAzfQ==";
+        url = "https://registry.npmjs.org/redis/-/redis-4.6.10.tgz";
+        sha512 = "mmbyhuKgDiJ5TWUhiKhBssz+mjsuSI/lSZNPI9QvZOYzWvYGejtb+W3RlDDf8LD6Bdl5/mZeG8O1feUGhXTxEg==";
       };
     };
     "redis-commands-1.7.0" = {
@@ -9409,13 +9364,13 @@ let
         sha512 = "KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==";
       };
     };
-    "resolve-1.22.6" = {
+    "resolve-1.22.8" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.22.6";
+      version = "1.22.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz";
-        sha512 = "njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz";
+        sha512 = "oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==";
       };
     };
     "restore-cursor-3.1.0" = {
@@ -9616,22 +9571,13 @@ let
         sha512 = "g2M1Qq2uL7GHtmBRaTVYcJD0Vb+XOyvXHsPARHCoqQ54Vp7m5h3NMUGzvLEIFGujxaamyM3BhEi9fdVAkJMvHw==";
       };
     };
-    "sax-1.2.1" = {
+    "sax-1.3.0" = {
       name = "sax";
       packageName = "sax";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
-        sha512 = "8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==";
-      };
-    };
-    "sax-1.2.4" = {
-      name = "sax";
-      packageName = "sax";
-      version = "1.2.4";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
-        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+        url = "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz";
+        sha512 = "0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==";
       };
     };
     "sb-promise-queue-2.1.0" = {
@@ -9679,15 +9625,6 @@ let
         sha512 = "mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw==";
       };
     };
-    "semver-5.7.2" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz";
-        sha512 = "cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==";
-      };
-    };
     "semver-6.3.1" = {
       name = "semver";
       packageName = "semver";
@@ -9886,13 +9823,13 @@ let
         sha512 = "brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==";
       };
     };
-    "simple-git-3.19.1" = {
+    "simple-git-3.20.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.19.1";
+      version = "3.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.19.1.tgz";
-        sha512 = "Ck+rcjVaE1HotraRAS8u/+xgTvToTuoMkT9/l9lvuP5jftwnYUp6DwuJzsKErHgfyRk8IB8pqGHWEbM3tLgV1w==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.20.0.tgz";
+        sha512 = "ozK8tl2hvLts8ijTs18iFruE+RoqmC/mqZhjs/+V7gS5W68JpJ3+FCTmLVqmR59MaUQ52MfGQuWsIqfsTbbJ0Q==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -9949,13 +9886,13 @@ let
         sha512 = "iADMq1kY0v3vJmGTuKcFWSXt15qYUz7wFkArOrsSg0IFfI3nJqIJvK2/ZbEIndg7erIJLtAVX2nSOqPz7DcwbA==";
       };
     };
-    "snowflake-sdk-1.8.0" = {
+    "snowflake-sdk-1.9.0" = {
       name = "snowflake-sdk";
       packageName = "snowflake-sdk";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.8.0.tgz";
-        sha512 = "zdU1c+ytIZclF4K6D4XPPHa5II6l6cOQdsLdvKP95IwSdTYJz324ESA7fPcg/rwYV7vUKnIZJ9OCjB1mE7D2IQ==";
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.9.0.tgz";
+        sha512 = "RtFRV2KC+ebQk/kOUg8WV42LnAu9puoan2wMXykgrAj1u4sGP/GgQyQhsAfLGwXWzn+J9JAwij07h3+6HYBmFw==";
       };
     };
     "socks-2.7.1" = {
@@ -9967,15 +9904,6 @@ let
         sha512 = "7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==";
       };
     };
-    "socks-proxy-agent-5.0.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz";
-        sha512 = "vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==";
-      };
-    };
     "socks-proxy-agent-6.2.1" = {
       name = "socks-proxy-agent";
       packageName = "socks-proxy-agent";
@@ -10165,15 +10093,6 @@ let
         sha512 = "qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==";
       };
     };
-    "statuses-1.5.0" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
-        sha512 = "OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==";
-      };
-    };
     "statuses-2.0.1" = {
       name = "statuses";
       packageName = "statuses";
@@ -10444,13 +10363,13 @@ let
         sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     };
-    "swagger-ui-dist-5.7.1" = {
+    "swagger-ui-dist-5.9.0" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "5.7.1";
+      version = "5.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.7.1.tgz";
-        sha512 = "mY+htL+asLQTrwbCOcbzOtgch2TA5A4IqMleEtVleegFAIgzd2w0jyY2IvA8upDOR/AmftudyiI1/h+VBPIc7A==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.9.0.tgz";
+        sha512 = "NUHSYoe5XRTk/Are8jPJ6phzBh3l9l33nEyXosM17QInoV95/jng8+PuSGtbD407QoPf93MH3Bkh773OgesJpA==";
       };
     };
     "swagger-ui-express-4.6.3" = {
@@ -10561,13 +10480,13 @@ let
         sha512 = "jJZpA5He2y52yUhA7pyAGZlgQpcB+xLjcN0eUFxr9c8hP/H7uOXbBNVo/O0C/xVfJLJs680jvkFgVJEEvk9+ww==";
       };
     };
-    "terser-5.19.4" = {
+    "terser-5.21.0" = {
       name = "terser";
       packageName = "terser";
-      version = "5.19.4";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz";
-        sha512 = "6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz";
+        sha512 = "WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==";
       };
     };
     "terser-webpack-plugin-5.3.9" = {
@@ -10831,15 +10750,6 @@ let
         sha512 = "RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==";
       };
     };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha512 = "ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==";
-      };
-    };
     "type-fest-0.21.3" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -10966,22 +10876,22 @@ let
         sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
-    "undici-5.24.0" = {
+    "undici-5.26.0" = {
       name = "undici";
       packageName = "undici";
-      version = "5.24.0";
+      version = "5.26.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-5.24.0.tgz";
-        sha512 = "OKlckxBjFl0oXxcj9FU6oB8fDAaiRUq+D8jrFWGmOfI/gIyjk/IeS75LMzgYKUaeHzLUcYvf9bbJGSrUwTfwwQ==";
+        url = "https://registry.npmjs.org/undici/-/undici-5.26.0.tgz";
+        sha512 = "MLqGMyaJk2ubSl7FrmWuV7ZOsYWmdF7gcBHDRxm4AR8NoodQhgy3vO/D1god79HoetxR0uAeVNB65yj2lNRQnQ==";
       };
     };
-    "unescape-1.0.1" = {
-      name = "unescape";
-      packageName = "unescape";
-      version = "1.0.1";
+    "undici-types-5.25.3" = {
+      name = "undici-types";
+      packageName = "undici-types";
+      version = "5.25.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz";
-        sha512 = "O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==";
+        url = "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz";
+        sha512 = "Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==";
       };
     };
     "unique-filename-1.1.1" = {
@@ -11029,13 +10939,13 @@ let
         sha512 = "pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==";
       };
     };
-    "update-browserslist-db-1.0.11" = {
+    "update-browserslist-db-1.0.13" = {
       name = "update-browserslist-db";
       packageName = "update-browserslist-db";
-      version = "1.0.11";
+      version = "1.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz";
-        sha512 = "dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==";
+        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz";
+        sha512 = "xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==";
       };
     };
     "upper-case-2.0.2" = {
@@ -11065,15 +10975,6 @@ let
         sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
-    "url-0.10.3" = {
-      name = "url";
-      packageName = "url";
-      version = "0.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.10.3.tgz";
-        sha512 = "hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==";
-      };
-    };
     "url-parse-1.5.10" = {
       name = "url-parse";
       packageName = "url-parse";
@@ -11092,15 +10993,6 @@ let
         sha512 = "yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==";
       };
     };
-    "urllib-2.41.0" = {
-      name = "urllib";
-      packageName = "urllib";
-      version = "2.41.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/urllib/-/urllib-2.41.0.tgz";
-        sha512 = "pNXdxEv52L67jahLT+/7QE+Fup1y2Gc6EdmrAhQ6OpQIC2rl14oWwv9hvk1GXOZqEnJNwRXHABuwgPOs1CtL7g==";
-      };
-    };
     "utf-8-validate-5.0.10" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
@@ -11155,15 +11047,6 @@ let
         sha512 = "PBdZ03m1kBnQ5cjjO0ZvJMJS+QsbyIcFwi4hY4U76OQsCO9JrOYjbCFgIF76ccFg9xnJo7ZHPkqyj1GqmdS7MA==";
       };
     };
-    "utility-1.18.0" = {
-      name = "utility";
-      packageName = "utility";
-      version = "1.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/utility/-/utility-1.18.0.tgz";
-        sha512 = "PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==";
-      };
-    };
     "utils-merge-1.0.1" = {
       name = "utils-merge";
       packageName = "utils-merge";
@@ -11182,24 +11065,6 @@ let
         sha512 = "yEEhCuCi5wRV7Z5ZVf9iV2gWMvUZqKJhAs1ecFdKJ0qzbyaVelmsE3QjYAamehfp9FKLiZbKldd+jklG3O0LfA==";
       };
     };
-    "uuid-3.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
-      };
-    };
-    "uuid-8.0.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz";
-        sha512 = "jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==";
-      };
-    };
     "uuid-8.3.2" = {
       name = "uuid";
       packageName = "uuid";
@@ -11245,15 +11110,6 @@ let
         sha512 = "BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==";
       };
     };
-    "vm2-3.9.19" = {
-      name = "vm2";
-      packageName = "vm2";
-      version = "3.9.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz";
-        sha512 = "J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==";
-      };
-    };
     "watchpack-2.4.0" = {
       name = "watchpack";
       packageName = "watchpack";
@@ -11389,22 +11245,13 @@ let
         sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     };
-    "win-release-1.1.1" = {
-      name = "win-release";
-      packageName = "win-release";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz";
-        sha512 = "iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==";
-      };
-    };
-    "winston-3.10.0" = {
+    "winston-3.11.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.10.0";
+      version = "3.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.10.0.tgz";
-        sha512 = "nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.11.0.tgz";
+        sha512 = "L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g==";
       };
     };
     "winston-transport-4.5.0" = {
@@ -11416,15 +11263,6 @@ let
         sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
-    "word-wrap-1.2.5" = {
-      name = "word-wrap";
-      packageName = "word-wrap";
-      version = "1.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz";
-        sha512 = "BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==";
-      };
-    };
     "wordwrap-1.0.0" = {
       name = "wordwrap";
       packageName = "wordwrap";
@@ -11497,13 +11335,13 @@ let
         sha512 = "F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==";
       };
     };
-    "ws-8.14.1" = {
+    "ws-8.14.2" = {
       name = "ws";
       packageName = "ws";
-      version = "8.14.1";
+      version = "8.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz";
-        sha512 = "4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==";
+        url = "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz";
+        sha512 = "wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==";
       };
     };
     "xlsx-https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz" = {
@@ -11606,15 +11444,6 @@ let
         sha512 = "ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==";
       };
     };
-    "yallist-3.1.1" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
-      };
-    };
     "yallist-4.0.0" = {
       name = "yallist";
       packageName = "yallist";
@@ -11711,10 +11540,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "1.6.1";
+    version = "1.9.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-1.6.1.tgz";
-      sha512 = "sksFExGzsnwKLzuP7y+VfGaCVFz/1r6eliY8dl/l8hVqmhtBF+sOShZB5GNm1N5oha12C1xbTK14cP+d7fkVaQ==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-1.9.3.tgz";
+      sha512 = "+7DknxJzcLwuqwXnXgt627BM0Ve37QAnioy6f/qhhsQUAPEZ0e78lCHyb4yE62Zmf87fskFSCXl61rMXPFpdjw==";
     };
     dependencies = [
       (sources."@acuminous/bitsyntax-0.1.2" // {
@@ -11734,11 +11563,21 @@ in
           sources."tslib-1.14.1"
         ];
       })
+      (sources."@aws-crypto/crc32c-3.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       (sources."@aws-crypto/ie11-detection-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
+      (sources."@aws-crypto/sha1-browser-3.0.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       (sources."@aws-crypto/sha256-browser-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -11759,31 +11598,42 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/client-cognito-identity-3.414.0"
-      sources."@aws-sdk/client-sso-3.414.0"
-      sources."@aws-sdk/client-sts-3.414.0"
-      sources."@aws-sdk/credential-provider-cognito-identity-3.414.0"
-      sources."@aws-sdk/credential-provider-env-3.413.0"
-      sources."@aws-sdk/credential-provider-ini-3.414.0"
-      sources."@aws-sdk/credential-provider-node-3.414.0"
-      sources."@aws-sdk/credential-provider-process-3.413.0"
-      sources."@aws-sdk/credential-provider-sso-3.414.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.413.0"
-      sources."@aws-sdk/credential-providers-3.414.0"
-      sources."@aws-sdk/middleware-host-header-3.413.0"
-      sources."@aws-sdk/middleware-logger-3.413.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.413.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.413.0"
-      sources."@aws-sdk/middleware-signing-3.413.0"
-      sources."@aws-sdk/middleware-user-agent-3.413.0"
-      sources."@aws-sdk/region-config-resolver-3.413.0"
-      sources."@aws-sdk/token-providers-3.413.0"
-      sources."@aws-sdk/types-3.413.0"
-      sources."@aws-sdk/util-endpoints-3.413.0"
+      sources."@aws-sdk/client-cognito-identity-3.427.0"
+      sources."@aws-sdk/client-s3-3.427.0"
+      sources."@aws-sdk/client-sso-3.427.0"
+      sources."@aws-sdk/client-sts-3.427.0"
+      sources."@aws-sdk/credential-provider-cognito-identity-3.427.0"
+      sources."@aws-sdk/credential-provider-env-3.425.0"
+      sources."@aws-sdk/credential-provider-http-3.425.0"
+      sources."@aws-sdk/credential-provider-ini-3.427.0"
+      sources."@aws-sdk/credential-provider-node-3.427.0"
+      sources."@aws-sdk/credential-provider-process-3.425.0"
+      sources."@aws-sdk/credential-provider-sso-3.427.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.425.0"
+      sources."@aws-sdk/credential-providers-3.427.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.425.0"
+      sources."@aws-sdk/middleware-expect-continue-3.425.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.425.0"
+      sources."@aws-sdk/middleware-host-header-3.425.0"
+      sources."@aws-sdk/middleware-location-constraint-3.425.0"
+      sources."@aws-sdk/middleware-logger-3.425.0"
+      sources."@aws-sdk/middleware-recursion-detection-3.425.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.427.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.425.0"
+      sources."@aws-sdk/middleware-signing-3.425.0"
+      sources."@aws-sdk/middleware-ssec-3.425.0"
+      sources."@aws-sdk/middleware-user-agent-3.427.0"
+      sources."@aws-sdk/region-config-resolver-3.425.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.425.0"
+      sources."@aws-sdk/token-providers-3.427.0"
+      sources."@aws-sdk/types-3.425.0"
+      sources."@aws-sdk/util-arn-parser-3.310.0"
+      sources."@aws-sdk/util-endpoints-3.427.0"
       sources."@aws-sdk/util-locate-window-3.310.0"
-      sources."@aws-sdk/util-user-agent-browser-3.413.0"
-      sources."@aws-sdk/util-user-agent-node-3.413.0"
+      sources."@aws-sdk/util-user-agent-browser-3.425.0"
+      sources."@aws-sdk/util-user-agent-node-3.425.0"
       sources."@aws-sdk/util-utf8-browser-3.259.0"
+      sources."@aws-sdk/xml-builder-3.310.0"
       sources."@azure/abort-controller-1.1.0"
       sources."@azure/core-auth-1.5.0"
       sources."@azure/core-client-1.7.3"
@@ -11802,7 +11652,7 @@ in
         ];
       })
       sources."@azure/core-tracing-1.0.1"
-      sources."@azure/core-util-1.4.0"
+      sources."@azure/core-util-1.5.0"
       (sources."@azure/identity-2.1.0" // {
         dependencies = [
           sources."jwa-2.0.0"
@@ -11828,17 +11678,18 @@ in
           sources."@azure/core-tracing-1.0.0-preview.13"
         ];
       })
-      (sources."@babel/runtime-7.22.15" // {
+      (sources."@babel/runtime-7.23.1" // {
         dependencies = [
           sources."regenerator-runtime-0.14.0"
         ];
       })
-      sources."@colors/colors-1.5.0"
+      sources."@colors/colors-1.6.0"
       sources."@cspotcode/source-map-support-0.8.1"
       sources."@curlconverter/yargs-0.0.2"
       sources."@curlconverter/yargs-parser-0.0.1"
       sources."@dabh/diagnostics-2.0.3"
       sources."@ewoudenberg/difflib-0.1.0"
+      sources."@fastify/busboy-2.0.0"
       sources."@gar/promisify-1.1.3"
       sources."@google-cloud/common-3.10.0"
       sources."@google-cloud/paginator-3.0.7"
@@ -11872,7 +11723,7 @@ in
       })
       (sources."@grpc/grpc-js-1.6.12" // {
         dependencies = [
-          sources."@grpc/proto-loader-0.7.9"
+          sources."@grpc/proto-loader-0.7.10"
           sources."cliui-8.0.1"
           sources."long-5.2.3"
           sources."protobufjs-7.2.5"
@@ -11915,7 +11766,7 @@ in
       sources."@jridgewell/source-map-0.3.5"
       sources."@jridgewell/sourcemap-codec-1.4.15"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@js-joda/core-5.5.3"
+      sources."@js-joda/core-5.6.0"
       sources."@jsdevtools/ono-7.1.3"
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
@@ -11923,8 +11774,18 @@ in
       sources."@mapbox/node-pre-gyp-1.0.11"
       sources."@mongodb-js/zstd-1.2.0"
       sources."@n8n/client-oauth2-0.7.0"
-      sources."@n8n/vm2-3.9.20"
-      sources."@n8n_io/license-sdk-2.5.1"
+      (sources."@n8n/tournament-1.0.2" // {
+        dependencies = [
+          sources."ast-types-0.16.1"
+          (sources."recast-0.22.0" // {
+            dependencies = [
+              sources."ast-types-0.15.2"
+            ];
+          })
+        ];
+      })
+      sources."@n8n/vm2-3.9.23"
+      sources."@n8n_io/license-sdk-2.6.1"
       sources."@n8n_io/riot-tmpl-4.0.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -11958,7 +11819,7 @@ in
       })
       sources."@oclif/linewrap-1.0.0"
       sources."@oclif/parser-3.8.17"
-      sources."@oclif/screen-3.0.6"
+      sources."@oclif/screen-3.0.7"
       sources."@opentelemetry/api-1.6.0"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
@@ -11971,14 +11832,14 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@redis/bloom-1.2.0"
-      (sources."@redis/client-1.5.9" // {
+      (sources."@redis/client-1.5.11" // {
         dependencies = [
           sources."yallist-4.0.0"
         ];
       })
       sources."@redis/graph-1.1.0"
-      sources."@redis/json-1.0.4"
-      sources."@redis/search-1.1.3"
+      sources."@redis/json-1.0.6"
+      sources."@redis/search-1.1.5"
       sources."@redis/time-series-1.0.5"
       (sources."@rudderstack/rudder-sdk-node-1.0.6" // {
         dependencies = [
@@ -11986,7 +11847,7 @@ in
           sources."ioredis-4.28.5"
         ];
       })
-      (sources."@sap/hana-client-2.18.22" // {
+      (sources."@sap/hana-client-2.18.24" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."ms-2.0.0"
@@ -11998,55 +11859,66 @@ in
           sources."domhandler-5.0.3"
         ];
       })
-      sources."@sentry-internal/tracing-7.69.0"
-      sources."@sentry/core-7.69.0"
-      sources."@sentry/integrations-7.69.0"
-      sources."@sentry/node-7.69.0"
-      sources."@sentry/types-7.69.0"
-      sources."@sentry/utils-7.69.0"
-      sources."@smithy/abort-controller-2.0.8"
-      sources."@smithy/config-resolver-2.0.9"
-      sources."@smithy/credential-provider-imds-2.0.11"
-      sources."@smithy/eventstream-codec-2.0.8"
-      sources."@smithy/fetch-http-handler-2.1.4"
-      sources."@smithy/hash-node-2.0.8"
-      sources."@smithy/invalid-dependency-2.0.8"
+      sources."@sentry-internal/tracing-7.73.0"
+      sources."@sentry/core-7.73.0"
+      sources."@sentry/integrations-7.73.0"
+      sources."@sentry/node-7.73.0"
+      sources."@sentry/types-7.73.0"
+      sources."@sentry/utils-7.73.0"
+      sources."@smithy/abort-controller-2.0.11"
+      sources."@smithy/chunked-blob-reader-2.0.0"
+      sources."@smithy/chunked-blob-reader-native-2.0.0"
+      sources."@smithy/config-resolver-2.0.14"
+      sources."@smithy/credential-provider-imds-2.0.16"
+      sources."@smithy/eventstream-codec-2.0.11"
+      sources."@smithy/eventstream-serde-browser-2.0.11"
+      sources."@smithy/eventstream-serde-config-resolver-2.0.11"
+      sources."@smithy/eventstream-serde-node-2.0.11"
+      sources."@smithy/eventstream-serde-universal-2.0.11"
+      sources."@smithy/fetch-http-handler-2.2.3"
+      sources."@smithy/hash-blob-browser-2.0.11"
+      sources."@smithy/hash-node-2.0.11"
+      sources."@smithy/hash-stream-node-2.0.11"
+      sources."@smithy/invalid-dependency-2.0.11"
       sources."@smithy/is-array-buffer-2.0.0"
-      sources."@smithy/middleware-content-length-2.0.10"
-      sources."@smithy/middleware-endpoint-2.0.8"
-      sources."@smithy/middleware-retry-2.0.11"
-      sources."@smithy/middleware-serde-2.0.8"
-      sources."@smithy/middleware-stack-2.0.1"
-      sources."@smithy/node-config-provider-2.0.11"
-      sources."@smithy/node-http-handler-2.1.4"
-      sources."@smithy/property-provider-2.0.9"
-      sources."@smithy/protocol-http-3.0.4"
-      sources."@smithy/querystring-builder-2.0.8"
-      sources."@smithy/querystring-parser-2.0.8"
-      sources."@smithy/service-error-classification-2.0.1"
-      sources."@smithy/shared-ini-file-loader-2.0.10"
-      sources."@smithy/signature-v4-2.0.8"
-      sources."@smithy/smithy-client-2.1.5"
-      sources."@smithy/types-2.3.2"
-      sources."@smithy/url-parser-2.0.8"
+      sources."@smithy/md5-js-2.0.11"
+      sources."@smithy/middleware-content-length-2.0.13"
+      sources."@smithy/middleware-endpoint-2.1.0"
+      sources."@smithy/middleware-retry-2.0.16"
+      sources."@smithy/middleware-serde-2.0.11"
+      sources."@smithy/middleware-stack-2.0.5"
+      sources."@smithy/node-config-provider-2.1.1"
+      sources."@smithy/node-http-handler-2.1.7"
+      sources."@smithy/property-provider-2.0.12"
+      sources."@smithy/protocol-http-3.0.7"
+      sources."@smithy/querystring-builder-2.0.11"
+      sources."@smithy/querystring-parser-2.0.11"
+      sources."@smithy/service-error-classification-2.0.4"
+      sources."@smithy/shared-ini-file-loader-2.2.0"
+      sources."@smithy/signature-v4-2.0.11"
+      sources."@smithy/smithy-client-2.1.11"
+      sources."@smithy/types-2.3.5"
+      sources."@smithy/url-parser-2.0.11"
       sources."@smithy/util-base64-2.0.0"
       sources."@smithy/util-body-length-browser-2.0.0"
       sources."@smithy/util-body-length-node-2.1.0"
       sources."@smithy/util-buffer-from-2.0.0"
       sources."@smithy/util-config-provider-2.0.0"
-      sources."@smithy/util-defaults-mode-browser-2.0.9"
-      sources."@smithy/util-defaults-mode-node-2.0.11"
+      sources."@smithy/util-defaults-mode-browser-2.0.15"
+      sources."@smithy/util-defaults-mode-node-2.0.19"
       sources."@smithy/util-hex-encoding-2.0.0"
-      sources."@smithy/util-middleware-2.0.1"
-      sources."@smithy/util-retry-2.0.1"
-      sources."@smithy/util-stream-2.0.11"
+      sources."@smithy/util-middleware-2.0.4"
+      sources."@smithy/util-retry-2.0.4"
+      sources."@smithy/util-stream-2.0.16"
       sources."@smithy/util-uri-escape-2.0.0"
       sources."@smithy/util-utf8-2.0.0"
+      sources."@smithy/util-waiter-2.0.11"
       sources."@sqltools/formatter-1.2.5"
-      sources."@swc/core-1.3.85"
-      sources."@swc/helpers-0.5.2"
-      sources."@swc/types-0.1.4"
-      sources."@swc/wasm-1.3.85"
+      sources."@swc/core-1.3.92"
+      sources."@swc/counter-0.1.2"
+      sources."@swc/helpers-0.5.3"
+      sources."@swc/types-0.1.5"
+      sources."@swc/wasm-1.3.92"
       sources."@techteamer/ocsp-1.0.0"
       sources."@tediousjs/connection-string-0.5.0"
       sources."@tokenizer/token-0.3.0"
@@ -12059,40 +11931,40 @@ in
       sources."@types/big.js-6.2.0"
       sources."@types/body-parser-1.19.3"
       sources."@types/connect-3.4.36"
-      sources."@types/duplexify-3.6.1"
-      sources."@types/es-aggregate-error-1.0.2"
-      sources."@types/eslint-8.44.2"
-      sources."@types/eslint-scope-3.7.4"
-      sources."@types/estree-1.0.1"
-      sources."@types/express-4.17.17"
-      sources."@types/express-serve-static-core-4.17.36"
+      sources."@types/duplexify-3.6.2"
+      sources."@types/es-aggregate-error-1.0.3"
+      sources."@types/eslint-8.44.4"
+      sources."@types/eslint-scope-3.7.5"
+      sources."@types/estree-1.0.2"
+      sources."@types/express-4.17.19"
+      sources."@types/express-serve-static-core-4.17.37"
       sources."@types/http-errors-2.0.2"
       sources."@types/json-schema-7.0.13"
       sources."@types/jsonwebtoken-9.0.3"
-      sources."@types/lodash-4.14.198"
+      sources."@types/lodash-4.14.199"
       sources."@types/long-4.0.2"
-      sources."@types/mime-1.3.2"
-      sources."@types/multer-1.4.7"
-      sources."@types/node-20.6.2"
-      sources."@types/node-fetch-2.6.5"
-      sources."@types/pumpify-1.4.1"
+      sources."@types/mime-1.3.3"
+      sources."@types/multer-1.4.8"
+      sources."@types/node-20.8.4"
+      sources."@types/node-fetch-2.6.6"
+      sources."@types/pumpify-1.4.2"
       sources."@types/qs-6.9.8"
-      sources."@types/range-parser-1.2.4"
-      (sources."@types/readable-stream-4.0.2" // {
+      sources."@types/range-parser-1.2.5"
+      (sources."@types/readable-stream-4.0.3" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."@types/send-0.17.1"
-      sources."@types/serve-static-1.15.2"
+      sources."@types/send-0.17.2"
+      sources."@types/serve-static-1.15.3"
       sources."@types/stack-trace-0.0.29"
       sources."@types/triple-beam-1.3.3"
       sources."@types/tunnel-0.0.3"
-      sources."@types/uuid-9.0.4"
-      sources."@types/validator-13.11.1"
-      sources."@types/webidl-conversions-7.0.0"
+      sources."@types/uuid-9.0.5"
+      sources."@types/validator-13.11.2"
+      sources."@types/webidl-conversions-7.0.1"
       sources."@types/whatwg-url-8.2.2"
-      sources."@types/ws-8.5.5"
+      sources."@types/ws-8.5.7"
       sources."@webassemblyjs/ast-1.11.6"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.6"
       sources."@webassemblyjs/helper-api-error-1.11.6"
@@ -12167,9 +12039,10 @@ in
       })
       sources."asn1.js-rfc2560-5.0.1"
       sources."asn1.js-rfc5280-3.0.0"
+      sources."assert-2.1.0"
       sources."assert-options-0.8.0"
       sources."assert-plus-1.0.0"
-      sources."ast-types-0.13.4"
+      sources."ast-types-0.15.2"
       sources."async-3.2.4"
       (sources."async-retry-1.3.3" // {
         dependencies = [
@@ -12190,19 +12063,9 @@ in
           sources."axios-0.24.0"
         ];
       })
-      (sources."aws-sdk-2.1459.0" // {
-        dependencies = [
-          sources."buffer-4.9.2"
-          sources."events-1.1.1"
-          sources."ieee754-1.1.13"
-          sources."isarray-1.0.0"
-          sources."sax-1.2.1"
-          sources."uuid-8.0.0"
-        ];
-      })
       sources."aws4-1.12.0"
       sources."axios-0.21.4"
-      sources."axios-retry-3.7.0"
+      sources."axios-retry-3.8.0"
       sources."balanced-match-1.0.2"
       sources."base-64-1.0.0"
       sources."base64-js-1.5.1"
@@ -12217,7 +12080,7 @@ in
         ];
       })
       sources."bcryptjs-2.4.3"
-      sources."better-sqlite3-8.6.0"
+      sources."better-sqlite3-8.7.0"
       sources."big-integer-1.6.51"
       sources."big.js-6.2.1"
       sources."bignumber.js-9.1.2"
@@ -12247,7 +12110,7 @@ in
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."browser-request-0.3.3"
-      sources."browserslist-4.21.10"
+      sources."browserslist-4.22.1"
       sources."bson-5.5.0"
       sources."buffer-6.0.3"
       sources."buffer-equal-constant-time-1.0.1"
@@ -12272,14 +12135,14 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      sources."cache-manager-5.2.3"
+      sources."cache-manager-5.2.4"
       sources."cache-manager-ioredis-yet-1.2.2"
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.2"
       sources."callsites-3.1.0"
       sources."camel-case-4.1.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001534"
+      sources."caniuse-lite-1.0.30001547"
       sources."capital-case-1.0.4"
       sources."cardinal-2.1.1"
       sources."chalk-4.1.2"
@@ -12351,15 +12214,14 @@ in
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.5"
       sources."convict-6.2.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       (sources."cookie-parser-1.4.6" // {
         dependencies = [
           sources."cookie-0.4.1"
         ];
       })
       sources."cookie-signature-1.0.6"
-      sources."copy-to-2.0.1"
-      sources."core-js-3.32.2"
+      sources."core-js-3.33.0"
       sources."core-util-is-1.0.3"
       sources."create-require-1.1.1"
       sources."cron-1.7.2"
@@ -12370,12 +12232,15 @@ in
       sources."csrf-3.1.0"
       sources."css-select-4.3.0"
       sources."css-what-6.1.0"
-      sources."csv-parse-5.5.0"
-      sources."curlconverter-3.21.0"
+      sources."csv-parse-5.5.2"
+      (sources."curlconverter-3.21.0" // {
+        dependencies = [
+          sources."cookie-0.4.2"
+        ];
+      })
       sources."currency-codes-2.1.0"
       sources."dashdash-1.14.1"
       sources."data-api-client-1.3.0"
-      sources."data-uri-to-buffer-3.0.1"
       sources."date-fns-2.30.0"
       sources."debug-4.3.4"
       sources."debuglog-1.0.1"
@@ -12383,13 +12248,10 @@ in
       sources."decompress-response-6.0.0"
       sources."deep-equal-2.2.2"
       sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
       sources."deepmerge-4.3.1"
-      sources."default-user-agent-1.0.0"
       sources."define-data-property-1.1.0"
       sources."define-lazy-prop-2.0.0"
       sources."define-properties-1.2.1"
-      sources."degenerator-3.0.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."denque-1.5.1"
@@ -12398,7 +12260,6 @@ in
       sources."detect-libc-2.0.2"
       sources."dezalgo-1.0.4"
       sources."diff-4.0.2"
-      sources."digest-header-1.1.0"
       sources."dir-glob-3.0.1"
       sources."dom-serializer-1.4.1"
       sources."domelementtype-2.3.0"
@@ -12418,7 +12279,7 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.9"
-      sources."electron-to-chromium-1.4.523"
+      sources."electron-to-chromium-1.4.549"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enabled-2.0.0"
@@ -12441,7 +12302,6 @@ in
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      sources."escodegen-1.14.3"
       sources."eslint-config-riot-1.0.0"
       sources."eslint-scope-5.1.1"
       sources."esprima-4.0.1"
@@ -12452,7 +12312,6 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."event-target-shim-5.0.1"
       sources."eventemitter3-4.0.7"
@@ -12463,7 +12322,6 @@ in
       sources."expand-tilde-2.0.2"
       (sources."express-4.18.2" // {
         dependencies = [
-          sources."cookie-0.5.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
@@ -12482,7 +12340,6 @@ in
       })
       sources."express-prom-bundle-6.6.0"
       sources."extend-3.0.2"
-      sources."extend-shallow-2.0.1"
       (sources."external-editor-3.1.0" // {
         dependencies = [
           sources."iconv-lite-0.4.24"
@@ -12491,7 +12348,6 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.3.1"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
       sources."fast-text-encoding-1.0.6"
       sources."fast-xml-parser-4.2.5"
       sources."fastq-1.15.0"
@@ -12520,16 +12376,11 @@ in
       sources."first-match-0.0.1"
       sources."flatted-3.2.9"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.15.2"
+      sources."follow-redirects-1.15.3"
       sources."for-each-0.3.3"
       sources."foreground-child-3.1.1"
       sources."form-data-4.0.0"
       sources."formidable-3.5.1"
-      (sources."formstream-1.3.1" // {
-        dependencies = [
-          sources."mime-2.6.0"
-        ];
-      })
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
@@ -12541,13 +12392,6 @@ in
         ];
       })
       sources."fs.realpath-1.0.0"
-      (sources."ftp-0.3.10" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.6"
       sources."functions-have-names-1.2.3"
@@ -12566,17 +12410,9 @@ in
       sources."get-port-5.1.1"
       sources."get-symbol-description-1.0.0"
       sources."get-system-fonts-2.0.2"
-      (sources."get-uri-3.0.2" // {
-        dependencies = [
-          sources."file-uri-to-path-2.0.0"
-          sources."fs-extra-8.1.0"
-          sources."jsonfile-4.0.0"
-          sources."universalify-0.1.2"
-        ];
-      })
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
-      (sources."glob-10.3.4" // {
+      (sources."glob-10.3.10" // {
         dependencies = [
           sources."minimatch-9.0.3"
         ];
@@ -12618,7 +12454,7 @@ in
         ];
       })
       sources."handlebars-4.7.7"
-      sources."has-1.0.3"
+      sources."has-1.0.4"
       sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
@@ -12675,9 +12511,9 @@ in
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
-      (sources."infisical-node-1.4.3" // {
+      (sources."infisical-node-1.5.0" // {
         dependencies = [
-          sources."axios-1.5.0"
+          sources."axios-1.5.1"
           sources."dotenv-16.3.1"
         ];
       })
@@ -12706,7 +12542,6 @@ in
       sources."is-core-module-2.13.0"
       sources."is-date-object-1.0.5"
       sources."is-docker-2.2.1"
-      sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-generator-function-1.0.10"
@@ -12733,11 +12568,11 @@ in
       sources."is-weakset-2.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-2.0.5"
-      sources."isbot-3.6.13"
+      sources."isbot-3.7.0"
       sources."isexe-2.0.0"
       sources."iso-639-1-2.1.15"
       sources."isomorphic-ws-4.0.1"
-      sources."jackspeak-2.3.3"
+      sources."jackspeak-2.3.6"
       sources."jake-10.8.7"
       (sources."jest-worker-27.5.1" // {
         dependencies = [
@@ -12746,7 +12581,7 @@ in
       })
       sources."jmespath-0.16.0"
       sources."join-component-1.1.0"
-      sources."jose-4.14.6"
+      sources."jose-4.15.2"
       sources."js-base64-3.7.5"
       sources."js-md4-0.3.2"
       sources."js-nacl-1.4.0"
@@ -12766,7 +12601,7 @@ in
       sources."jsonwebtoken-9.0.2"
       sources."jssha-3.3.1"
       sources."jwa-1.4.1"
-      sources."jwks-rsa-3.0.1"
+      sources."jwks-rsa-3.1.0"
       sources."jws-3.2.2"
       sources."kafkajs-1.16.0"
       (sources."kerberos-2.0.3" // {
@@ -12782,10 +12617,9 @@ in
       })
       sources."leac-0.6.0"
       sources."leven-2.1.0"
-      sources."levn-0.3.0"
       sources."libbase64-1.2.1"
       sources."libmime-5.2.1"
-      sources."libphonenumber-js-1.10.44"
+      sources."libphonenumber-js-1.10.47"
       sources."libpq-1.8.12"
       sources."libqp-2.0.1"
       sources."lie-3.1.1"
@@ -12822,11 +12656,15 @@ in
       sources."lodash.uniq-4.5.0"
       sources."lodash.uniqby-4.7.0"
       sources."lodash.zipobject-4.1.3"
-      sources."logform-2.5.1"
+      (sources."logform-2.5.1" // {
+        dependencies = [
+          sources."@colors/colors-1.5.0"
+        ];
+      })
       sources."long-4.0.0"
       sources."lossless-json-1.0.5"
       sources."lower-case-2.0.2"
-      sources."lru-cache-9.1.2"
+      sources."lru-cache-10.0.1"
       (sources."lru-memoizer-2.2.0" // {
         dependencies = [
           sources."lru-cache-4.0.2"
@@ -12882,7 +12720,7 @@ in
         ];
       })
       sources."minimist-1.2.8"
-      sources."minipass-7.0.3"
+      sources."minipass-7.0.4"
       (sources."minipass-collect-1.0.2" // {
         dependencies = [
           sources."minipass-3.3.6"
@@ -12924,7 +12762,7 @@ in
       sources."moment-2.29.4"
       sources."moment-timezone-0.5.43"
       sources."mongodb-5.9.0"
-      (sources."mongodb-client-encryption-2.9.0" // {
+      (sources."mongodb-client-encryption-2.9.1" // {
         dependencies = [
           sources."gaxios-5.1.3"
           sources."gcp-metadata-5.3.0"
@@ -12966,7 +12804,7 @@ in
         ];
       })
       sources."mz-2.7.0"
-      (sources."n8n-core-1.6.0" // {
+      (sources."n8n-core-1.9.1" // {
         dependencies = [
           sources."@tediousjs/connection-string-0.3.0"
           (sources."bl-5.1.0" // {
@@ -12985,15 +12823,15 @@ in
           sources."lru-cache-7.18.3"
           sources."minimatch-5.1.6"
           sources."mongodb-4.17.1"
-          (sources."mqtt-5.0.5" // {
+          (sources."mqtt-5.1.2" // {
             dependencies = [
               sources."buffer-6.0.3"
               sources."readable-stream-4.4.2"
             ];
           })
-          sources."mqtt-packet-8.2.0"
+          sources."mqtt-packet-8.2.1"
           sources."mssql-8.1.4"
-          sources."n8n-nodes-base-1.6.0"
+          sources."n8n-nodes-base-1.9.2"
           sources."readable-stream-3.6.2"
           sources."redis-3.1.2"
           sources."sprintf-js-1.1.3"
@@ -13001,8 +12839,8 @@ in
           sources."tedious-14.7.0"
         ];
       })
-      sources."n8n-editor-ui-1.6.0"
-      (sources."n8n-nodes-base-1.6.1" // {
+      sources."n8n-editor-ui-1.9.3"
+      (sources."n8n-nodes-base-1.9.3" // {
         dependencies = [
           sources."@tediousjs/connection-string-0.3.0"
           (sources."bl-5.1.0" // {
@@ -13030,8 +12868,8 @@ in
           sources."lru-cache-7.18.3"
           sources."minimatch-5.1.6"
           sources."mongodb-4.17.1"
-          sources."mqtt-5.0.5"
-          sources."mqtt-packet-8.2.0"
+          sources."mqtt-5.1.2"
+          sources."mqtt-packet-8.2.1"
           sources."mssql-8.1.4"
           (sources."readable-stream-4.4.2" // {
             dependencies = [
@@ -13045,11 +12883,7 @@ in
           sources."xlsx-https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz"
         ];
       })
-      (sources."n8n-workflow-1.6.0" // {
-        dependencies = [
-          sources."ast-types-0.15.2"
-        ];
-      })
+      sources."n8n-workflow-1.9.1"
       (sources."named-placeholders-1.1.3" // {
         dependencies = [
           sources."lru-cache-7.18.3"
@@ -13063,9 +12897,8 @@ in
       sources."natural-orderby-2.0.3"
       sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
-      sources."netmask-2.0.2"
       sources."no-case-3.0.4"
-      sources."node-abi-3.47.0"
+      sources."node-abi-3.49.0"
       sources."node-abort-controller-3.1.1"
       sources."node-addon-api-4.3.0"
       sources."node-fetch-2.7.0"
@@ -13096,7 +12929,7 @@ in
       sources."node-rsa-1.1.1"
       sources."node-ssh-12.0.5"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.9.5"
+      sources."nodemailer-6.9.6"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."npmlog-5.0.1"
@@ -13122,12 +12955,9 @@ in
       sources."open-7.4.2"
       sources."openapi-types-10.0.0"
       sources."openurl-1.1.1"
-      sources."optionator-0.8.3"
       sources."oracledb-5.5.0"
-      sources."os-name-1.0.3"
       sources."os-tmpdir-1.0.2"
-      sources."osx-release-1.1.0"
-      sources."otpauth-9.1.4"
+      sources."otpauth-9.1.5"
       sources."p-cancelable-2.1.1"
       sources."p-finally-1.0.0"
       sources."p-lazy-3.1.0"
@@ -13135,16 +12965,6 @@ in
       sources."p-map-2.1.0"
       sources."p-queue-6.6.2"
       sources."p-timeout-3.2.0"
-      (sources."pac-proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."socks-proxy-agent-5.0.1"
-        ];
-      })
-      (sources."pac-resolver-5.0.1" // {
-        dependencies = [
-          sources."ip-1.1.8"
-        ];
-      })
       sources."packet-reader-1.0.0"
       sources."pako-1.0.11"
       sources."param-case-3.0.4"
@@ -13172,7 +12992,6 @@ in
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."pause-0.0.1"
-      sources."pause-stream-0.0.11"
       sources."pdfjs-dist-2.16.105"
       sources."peberminta-0.9.0"
       sources."peek-readable-4.1.0"
@@ -13217,7 +13036,6 @@ in
           sources."pump-3.0.0"
         ];
       })
-      sources."prelude-ls-1.1.2"
       sources."pretty-bytes-5.6.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
@@ -13232,13 +13050,6 @@ in
       sources."proto3-json-serializer-0.1.9"
       sources."protobufjs-6.11.4"
       sources."proxy-addr-2.0.7"
-      (sources."proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."lru-cache-5.1.1"
-          sources."socks-proxy-agent-5.0.1"
-          sources."yallist-3.1.1"
-        ];
-      })
       sources."proxy-from-env-1.1.0"
       sources."pseudomap-1.0.2"
       sources."psl-1.9.0"
@@ -13253,7 +13064,6 @@ in
       sources."python-struct-1.1.3"
       sources."qs-6.11.0"
       sources."query-string-7.1.3"
-      sources."querystring-0.2.0"
       sources."querystringify-2.2.0"
       sources."queue-microtask-1.2.3"
       sources."quoted-printable-1.0.1"
@@ -13279,14 +13089,10 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."recast-0.21.5" // {
-        dependencies = [
-          sources."ast-types-0.15.2"
-        ];
-      })
+      sources."recast-0.21.5"
       sources."rechoir-0.6.2"
       sources."redeyed-2.1.1"
-      sources."redis-4.6.8"
+      sources."redis-4.6.10"
       sources."redis-commands-1.7.0"
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
@@ -13302,7 +13108,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.22.6"
+      sources."resolve-1.22.8"
       (sources."restore-cursor-3.1.0" // {
         dependencies = [
           sources."signal-exit-3.0.7"
@@ -13342,7 +13148,7 @@ in
       sources."safe-stable-stringify-2.4.3"
       sources."safer-buffer-2.1.2"
       sources."samlify-2.8.10"
-      sources."sax-1.2.4"
+      sources."sax-1.3.0"
       sources."sb-promise-queue-2.1.0"
       sources."sb-scandir-3.1.0"
       sources."schema-utils-3.3.0"
@@ -13388,22 +13194,21 @@ in
       sources."signal-exit-4.1.0"
       sources."simple-concat-1.0.1"
       sources."simple-get-4.0.1"
-      sources."simple-git-3.19.1"
+      sources."simple-git-3.20.0"
       sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
       sources."snake-case-3.0.4"
       sources."snappy-7.2.2"
-      (sources."snowflake-sdk-1.8.0" // {
+      (sources."snowflake-sdk-1.9.0" // {
         dependencies = [
-          sources."axios-0.27.2"
+          sources."axios-1.5.1"
           sources."bignumber.js-2.4.0"
           sources."debug-3.2.7"
           sources."glob-7.2.3"
           sources."mkdirp-1.0.4"
           sources."tmp-0.2.1"
-          sources."uuid-3.4.0"
         ];
       })
       sources."socks-2.7.1"
@@ -13468,7 +13273,7 @@ in
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.3.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."swagger-ui-dist-5.7.1"
+      sources."swagger-ui-dist-5.9.0"
       sources."swagger-ui-express-4.6.3"
       sources."syslog-client-1.1.1"
       sources."tapable-2.2.1"
@@ -13505,7 +13310,7 @@ in
           sources."http-proxy-agent-5.0.0"
         ];
       })
-      (sources."terser-5.19.4" // {
+      (sources."terser-5.21.0" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -13554,7 +13359,6 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typed-array-buffer-1.0.0"
@@ -13581,33 +13385,18 @@ in
       sources."uc.micro-1.0.6"
       sources."uid-safe-2.1.5"
       sources."unbox-primitive-1.0.2"
-      sources."undici-5.24.0"
-      sources."unescape-1.0.1"
+      sources."undici-5.26.0"
+      sources."undici-types-5.25.3"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
-      sources."update-browserslist-db-1.0.11"
+      sources."update-browserslist-db-1.0.13"
       sources."upper-case-2.0.2"
       sources."upper-case-first-2.0.2"
       sources."uri-js-4.4.1"
-      (sources."url-0.10.3" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
       sources."url-parse-1.5.10"
       sources."url-value-parser-2.2.0"
-      (sources."urllib-2.41.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."iconv-lite-0.4.24"
-          sources."ip-1.1.8"
-          sources."ms-2.0.0"
-          sources."pump-3.0.0"
-          sources."statuses-1.5.0"
-        ];
-      })
       sources."utf-8-validate-5.0.10"
       (sources."utf7-1.0.2" // {
         dependencies = [
@@ -13618,14 +13407,12 @@ in
       sources."util-0.12.5"
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.1.2"
-      sources."utility-1.18.0"
       sources."utils-merge-1.0.1"
       sources."uuencode-0.0.4"
       sources."uuid-8.3.2"
       sources."v8-compile-cache-lib-3.0.1"
       sources."validator-13.7.0"
       sources."vary-1.1.2"
-      sources."vm2-3.9.19"
       sources."watchpack-2.4.0"
       sources."web-streams-polyfill-3.2.1"
       sources."webidl-conversions-3.0.1"
@@ -13638,12 +13425,7 @@ in
       sources."which-typed-array-1.1.11"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
-      (sources."win-release-1.1.1" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
-      (sources."winston-3.10.0" // {
+      (sources."winston-3.11.0" // {
         dependencies = [
           sources."readable-stream-3.6.2"
         ];
@@ -13653,13 +13435,12 @@ in
           sources."readable-stream-3.6.2"
         ];
       })
-      sources."word-wrap-1.2.5"
       sources."wordwrap-1.0.0"
       sources."worker-loader-3.0.8"
       sources."wrap-ansi-6.2.0"
       sources."wrap-ansi-cjs-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-8.14.1"
+      sources."ws-8.14.2"
       sources."xlsx-https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz"
       sources."xml-1.0.1"
       sources."xml-crypto-3.2.0"
diff --git a/pkgs/applications/networking/nload/default.nix b/pkgs/applications/networking/nload/default.nix
index e46a95d71e49f..a2b2731b3b033 100644
--- a/pkgs/applications/networking/nload/default.nix
+++ b/pkgs/applications/networking/nload/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, ncurses }:
+{ lib, stdenv, fetchurl, fetchpatch, ncurses, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   version = "0.7.4";
@@ -20,8 +20,23 @@ stdenv.mkDerivation rec {
       name = "nload-0.7.4-Eliminate-flicker-on-some-terminals.patch";
       sha256 = "10yppy5l50wzpcvagsqkbyf1rcan6aj30am4rw8hmkgnbidf4zbq";
     })
+    # Patches configure.in file to make configure compile on macOS.
+    # Patch taken from MacPorts.
+    (fetchpatch {
+      url = "https://github.com/macports/macports-ports/raw/28814c34711e7545929fd391feb6ce079bd73fd4/net/nload/files/patch-configure.in.diff";
+      extraPrefix = "";
+      hash = "sha256-lGbBG5ZOgMVnrwlwXVFGbUZx6RkmQwYSVLB3oqkAWRs=";
+    })
+    # Fixes crash on F2 and garbage in adapter name.
+    # Patch taken from Homebrew.
+    (fetchpatch {
+      url = "https://sourceforge.net/p/nload/bugs/_discuss/thread/c9b68d8e/4a65/attachment/devreader-bsd.cpp.patch";
+      extraPrefix = "";
+      hash = "sha256-umRQDqcRUOGELOx5iB6CPFRkjaD8HXkMCWiKsYdaUa0=";
+    })
   ];
 
+  nativeBuildInputs = lib.optional stdenv.isDarwin autoreconfHook;
   buildInputs = [ ncurses ];
 
   meta = {
@@ -34,7 +49,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.roland-riegel.de/nload/index.html";
     license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.devhell ];
     mainProgram = "nload";
   };
diff --git a/pkgs/applications/networking/p2p/libutp/3.4.nix b/pkgs/applications/networking/p2p/libutp/3.4.nix
index 4ea4ebbb2dc4e..ff9415e9434eb 100644
--- a/pkgs/applications/networking/p2p/libutp/3.4.nix
+++ b/pkgs/applications/networking/p2p/libutp/3.4.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libutp";
-  version = "unstable-2023-03-05";
+  version = "unstable-2023-08-04";
 
   src = fetchFromGitHub {
     # Use transmission fork from post-3.4-transmission branch
     owner = "transmission";
     repo = pname;
-    rev = "9cb9f9c4f0073d78b08d6542cebaea6564ecadfe";
-    hash = "sha256-dpbX1h/gpuVIAXC4hwwuRwQDJ0pwVVEsgemOVN0Dv9Q=";
+    rev = "09ef1be66397873516c799b4ec070690ff7365b2";
+    hash = "sha256-DlEbU7uAcQOiBf7QS/1kiw3E0nk3xKhlzhAi8buQNCI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/networking/p2p/pyrosimple/default.nix b/pkgs/applications/networking/p2p/pyrosimple/default.nix
index 4522ad35ecab1..41eedcc1b445c 100644
--- a/pkgs/applications/networking/p2p/pyrosimple/default.nix
+++ b/pkgs/applications/networking/p2p/pyrosimple/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pyrosimple";
-  version = "2.11.1";
+  version = "2.11.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "kannibalox";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-J3eRuQK53Tsh1vhIgEUYBv08c6v3fSMzgK2PIhA13Qw=";
+    hash = "sha256-P12Tx9lEGp9OINL6vJIdyL3+pJbR/uaYe8k7v9kSz/A=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/networking/p2p/transmission/4.nix b/pkgs/applications/networking/p2p/transmission/4.nix
index 07cdbcd25d575..78f5b6cf25434 100644
--- a/pkgs/applications/networking/p2p/transmission/4.nix
+++ b/pkgs/applications/networking/p2p/transmission/4.nix
@@ -21,7 +21,7 @@
 , dht
 , libnatpmp
 , libiconv
-, darwin
+, Foundation
   # Build options
 , enableGTK3 ? false
 , gtkmm3
@@ -37,14 +37,14 @@
 , apparmorRulesFromClosure
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "transmission";
   version = "4.0.4";
 
   src = fetchFromGitHub {
     owner = "transmission";
     repo = "transmission";
-    rev = version;
+    rev = finalAttrs.version;
     hash = "sha256-Sz3+5VvfOgET1aiormEnBOrF+yN79tiSQvjLAoGqTLw=";
     fetchSubmodules = true;
   };
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
   ++ lib.optionals enableGTK3 [ gtkmm3 xorg.libpthreadstubs ]
   ++ lib.optionals enableSystemd [ systemd ]
   ++ lib.optionals stdenv.isLinux [ inotify-tools ]
-  ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Foundation ];
+  ++ lib.optionals stdenv.isDarwin [ libiconv Foundation ];
 
   postInstall = ''
     mkdir $apparmor
@@ -164,7 +164,5 @@ stdenv.mkDerivation rec {
     license = with lib.licenses; [ gpl2Plus mit ];
     maintainers = with lib.maintainers; [ astsmtl ];
     platforms = lib.platforms.unix;
-    # Needs macOS >= 10.14.6
-    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
-}
+})
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 1cfa057a73eeb..58de6fa9754f3 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -32,17 +32,14 @@
 , apparmorRulesFromClosure
 }:
 
-let
-  version = "3.00";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "transmission";
-  inherit version;
+  version = "3.00";
 
   src = fetchFromGitHub {
     owner = "transmission";
     repo = "transmission";
-    rev = version;
+    rev = finalAttrs.version;
     sha256 = "0ccg0km54f700x9p0jsnncnwvfnxfnxf7kcm7pcx1cj0vw78924z";
     fetchSubmodules = true;
   };
@@ -147,4 +144,4 @@ in stdenv.mkDerivation {
     platforms = lib.platforms.unix;
   };
 
-}
+})
diff --git a/pkgs/applications/networking/remote/wayvnc/default.nix b/pkgs/applications/networking/remote/wayvnc/default.nix
index c5095d8fd43e9..77d72060c1e22 100644
--- a/pkgs/applications/networking/remote/wayvnc/default.nix
+++ b/pkgs/applications/networking/remote/wayvnc/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wayvnc";
-  version = "0.6.2";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "any1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yNWTTjlmMCMTed1SiRep3iUxchQya1GnTVoub1cpR14=";
+    sha256 = "sha256-hmlzv1WaT+KucR7RGPC3bKcIdTxPOvK2s17nDucdu7c=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/networking/sync/celeste/default.nix b/pkgs/applications/networking/sync/celeste/default.nix
index b3b69571ade21..e3234af43da8e 100644
--- a/pkgs/applications/networking/sync/celeste/default.nix
+++ b/pkgs/applications/networking/sync/celeste/default.nix
@@ -1,6 +1,5 @@
 { lib
 , stdenv
-, rust
 , rustPlatform
 , fetchFromGitHub
 , substituteAll
@@ -22,23 +21,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "celeste";
-  version = "0.5.8";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "hwittenborn";
     repo = "celeste";
     rev = "v${version}";
-    hash = "sha256-U/6aqQig+uuWj/B9CODnV6chxY+KfMH7DqnPtSTDSA0=";
+    hash = "sha256-fqPAQCbuPnFyn3wioWDETmcXu53808nvnlEzcdUevI4=";
   };
 
-  cargoHash = "sha256-69LK/oicfmSPbUGGzWV9kvXkHqMvEzCG8xCu61MxSdk=";
-
-  patches = [
-    (substituteAll {
-      src = ./target-dir.patch;
-      rustTarget = rust.toRustTarget stdenv.hostPlatform;
-    })
-  ];
+  cargoHash = "sha256-mVl7CsCX7HMlGC2EIKEfHnPNjmrexjsrpDK/Uq/GwpY=";
 
   postPatch = ''
     pushd $cargoDepsCopy/librclone-sys
@@ -61,14 +53,6 @@ rustPlatform.buildRustPackage rec {
     cargo update --offline
   '';
 
-  # We need to build celeste-tray first because celeste/src/launch.rs reads that file at build time.
-  # Upstream does the same: https://github.com/hwittenborn/celeste/blob/765dfa2/justfile#L1-L3
-  cargoBuildFlags = [ "--bin" "celeste-tray" ];
-  postConfigure = ''
-    cargoBuildHook
-    cargoBuildFlags=
-  '';
-
   RUSTC_BOOTSTRAP = 1;
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/sync/celeste/target-dir.patch b/pkgs/applications/networking/sync/celeste/target-dir.patch
deleted file mode 100644
index a8da72e77f772..0000000000000
--- a/pkgs/applications/networking/sync/celeste/target-dir.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/celeste/src/launch.rs b/celeste/src/launch.rs
-index 5227170..e3cf189 100644
---- a/celeste/src/launch.rs
-+++ b/celeste/src/launch.rs
-@@ -172,10 +172,7 @@ impl TrayApp {
-         perms.set_mode(0o755);
-         file.set_permissions(perms).unwrap();
- 
--        #[cfg(debug_assertions)]
--        let tray_file = include_bytes!("../../target/debug/celeste-tray");
--        #[cfg(not(debug_assertions))]
--        let tray_file = include_bytes!("../../target/release/celeste-tray");
-+        let tray_file = include_bytes!(concat!("../../target/@rustTarget@/", env!("cargoBuildType"), "/celeste-tray"));
- 
-         file.write_all(tray_file).unwrap();
-         drop(file);
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index 7d9346c153b76..c6570414040bc 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -242,7 +242,7 @@ python.pkgs.buildPythonApplication rec {
 
   nativeCheckInputs = with python.pkgs; [
     daphne
-    factory_boy
+    factory-boy
     imagehash
     pdfminer-six
     pytest-django
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 66df0d26ac97b..cf7b59f6fa1af 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.65.3";
+  version = "0.65.4";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    hash = "sha256-xAbfyjQ0MPNDC6UJthCLtu8nfI/AdtludvejA32/dIQ=";
+    hash = "sha256-2+1lwaO2+kq/EjJoA4EvGCMLH6iErR9KtWINLoO17+w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/roam-research/common.nix b/pkgs/applications/office/roam-research/common.nix
new file mode 100644
index 0000000000000..8e63b111ad2af
--- /dev/null
+++ b/pkgs/applications/office/roam-research/common.nix
@@ -0,0 +1,22 @@
+{ fetchurl }:
+let
+  pname = "roam-research";
+  version = "0.0.18";
+in
+{
+  inherit pname version;
+  sources = {
+    x86_64-darwin = fetchurl {
+      url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}.dmg";
+      hash = "sha256-jyFNH3qrgrsftExL/b2t8bY3W3fYVz+Gp11AuaIMxbg=";
+    };
+    aarch64-darwin = fetchurl {
+      url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/Roam+Research-${version}-arm64.dmg";
+      hash = "sha256-AnyvFCbyUi6tcgxYQAj+zPLl4/kVh9ZeupetRhzH0PU=";
+    };
+    x86_64-linux = fetchurl {
+      url = "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/${pname}_${version}_amd64.deb";
+      hash = "sha256-veDWBFZbODsdaO1UdfuC4w6oGCkeVBe+fqKn5XVHKDQ=";
+    };
+  };
+}
diff --git a/pkgs/applications/office/roam-research/darwin.nix b/pkgs/applications/office/roam-research/darwin.nix
new file mode 100644
index 0000000000000..2c736c0c1a7fc
--- /dev/null
+++ b/pkgs/applications/office/roam-research/darwin.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, undmg, fetchurl }:
+let
+  common = import ./common.nix { inherit fetchurl; };
+  inherit (stdenv.hostPlatform) system;
+in
+stdenv.mkDerivation rec {
+  inherit (common) pname version;
+  src = common.sources.${system} or (throw "Source for ${pname} is not available for ${system}");
+
+  appName = "Roam Research";
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ undmg ];
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p "$out/Applications"
+    cp -R *.app "$out/Applications"
+
+    mkdir -p $out/bin
+    ln -s "$out/Applications/${appName}.app/Contents/MacOS/${appName}" "$out/bin/${appName}"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A note-taking tool for networked thought";
+    homepage = "https://roamresearch.com/";
+    maintainers = with lib.maintainers; [ dbalan ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-darwin" "aarch64-darwin" ];
+  };
+}
diff --git a/pkgs/applications/office/roam-research/default.nix b/pkgs/applications/office/roam-research/default.nix
index e1ca9bb47e808..408f026bc57a1 100644
--- a/pkgs/applications/office/roam-research/default.nix
+++ b/pkgs/applications/office/roam-research/default.nix
@@ -1,81 +1,8 @@
-{ stdenv, lib, fetchurl, alsa-lib, atk, cairo, cups, dbus, dpkg, expat
-, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
-, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libdrm
-, libpulseaudio, libxcb, libxkbcommon, libxshmfence, mesa, nspr, nss, pango
-, udev, }:
-
+{ stdenv, callPackage, ... }@args:
 let
-  libPath = lib.makeLibraryPath [
-    alsa-lib
-    atk
-    cairo
-    cups
-    dbus
-    expat
-    gdk-pixbuf
-    glib
-    gtk3
-    libX11
-    libXcomposite
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libdrm
-    libxcb
-    libxkbcommon
-    libxshmfence
-    mesa
-    nspr
-    nss
-    pango
-    stdenv.cc.cc
-    libXScrnSaver
-    libXcursor
-    libXrender
-    libXtst
-    libpulseaudio
-    udev
-  ];
-in stdenv.mkDerivation rec {
-  pname = "roam-research";
-  version = "0.0.18";
-
-  src = fetchurl {
-    url =
-      "https://roam-electron-deploy.s3.us-east-2.amazonaws.com/${pname}_${version}_amd64.deb";
-    sha256 = "sha256-veDWBFZbODsdaO1UdfuC4w6oGCkeVBe+fqKn5XVHKDQ=";
-  };
-
-  nativeBuildInputs = [ dpkg ];
-
-  unpackPhase = ''
-    mkdir pkg
-    dpkg-deb -x $src pkg
-    sourceRoot=pkg
-  '';
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    mv opt "$out/"
-
-    ln -s "$out/opt/Roam Research/roam-research" "$out/bin/roam-research"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Roam Research:\$ORIGIN" "$out/opt/Roam Research/roam-research"
-
-    mv usr/* "$out/"
-
-    substituteInPlace $out/share/applications/roam-research.desktop \
-      --replace "/opt/Roam Research/roam-research" "roam-research"
-  '';
-
-  dontPatchELF = true;
-  meta = with lib; {
-    description = "A note-taking tool for networked thought.";
-    homepage = "https://roamresearch.com/";
-    maintainers = with lib.maintainers; [ dbalan ];
-    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-  };
-}
+  extraArgs = removeAttrs args [ "callPackage" ];
+in
+if stdenv.isDarwin then
+  callPackage ./darwin.nix (extraArgs // { })
+else
+  callPackage ./linux.nix (extraArgs // { })
diff --git a/pkgs/applications/office/roam-research/linux.nix b/pkgs/applications/office/roam-research/linux.nix
new file mode 100644
index 0000000000000..5873bcfdd190a
--- /dev/null
+++ b/pkgs/applications/office/roam-research/linux.nix
@@ -0,0 +1,73 @@
+{ stdenv, lib, fetchurl, alsa-lib, atk, cairo, cups, dbus, dpkg, expat
+, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
+, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libdrm
+, libpulseaudio, libxcb, libxkbcommon, libxshmfence, mesa, nspr, nss, pango
+, udev, }:
+
+let
+  common = import ./common.nix { inherit fetchurl; };
+  inherit (stdenv.hostPlatform) system;
+  libPath = lib.makeLibraryPath [
+    alsa-lib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    gdk-pixbuf
+    glib
+    gtk3
+    libX11
+    libXcomposite
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libdrm
+    libxcb
+    libxkbcommon
+    libxshmfence
+    mesa
+    nspr
+    nss
+    pango
+    stdenv.cc.cc
+    libXScrnSaver
+    libXcursor
+    libXrender
+    libXtst
+    libpulseaudio
+    udev
+  ];
+in stdenv.mkDerivation rec {
+  inherit (common) pname version;
+  src = common.sources.${system} or (throw "Source for ${pname} is not available for ${system}");
+
+  nativeBuildInputs = [ dpkg ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv opt "$out/"
+
+    ln -s "$out/opt/Roam Research/roam-research" "$out/bin/roam-research"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Roam Research:\$ORIGIN" "$out/opt/Roam Research/roam-research"
+
+    mv usr/* "$out/"
+
+    substituteInPlace $out/share/applications/roam-research.desktop \
+      --replace "/opt/Roam Research/roam-research" "roam-research"
+  '';
+
+  # autoPatchelfHook/patchelf are not used because they cause the binary to coredump.
+  dontPatchELF = true;
+
+  meta = with lib; {
+    description = "A note-taking tool for networked thought";
+    homepage = "https://roamresearch.com/";
+    maintainers = with lib.maintainers; [ dbalan ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 35178fd4a9a1f..9be6994d6a0d4 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -41,12 +41,12 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "6.0.26";
+  version = "6.0.27";
 
   src = fetchurl {
     url =
       "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    hash = "sha256-Btrzv9trUFjCrQ+OEc7MUOzq7x3XW7jtgUJMitmPK0A=";
+    hash = "sha256-+nCPLVVBkEu0g2Kxt/XYAt6sYxYm05nPcmPNS2OejRs=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix
index e10d3df374e22..3113915bce8d6 100644
--- a/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/pkgs/applications/radio/gnuradio/3.8.nix
@@ -40,11 +40,7 @@
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
-, versionAttr ? {
-  major = "3.8";
-  minor = "5";
-  patch = "0";
-}
+, version ? "3.8.5.0"
 }:
 
 let
@@ -204,6 +200,11 @@ let
     gr-zeromq = {
       runtime = [ cppzmq ];
       cmakeEnableFlag = "GR_ZEROMQ";
+      pythonRuntime = [
+        # Will compile without this, but it is required by tests, and by some
+        # gr blocks.
+        python.pkgs.pyzmq
+      ];
     };
   };
   shared = (import ./shared.nix {
@@ -214,7 +215,7 @@ let
       removeReferencesTo
       featuresInfo
       features
-      versionAttr
+      version
       sourceSha256
       overrideSrc
       fetchFromGitHub
@@ -222,23 +223,28 @@ let
     qt = qt5;
     gtk = gtk3;
   });
-  inherit (shared) hasFeature; # function
+  inherit (shared.passthru) hasFeature; # function
 in
 
-stdenv.mkDerivation {
-  inherit pname;
-  inherit (shared)
-    version
-    src
-    nativeBuildInputs
-    buildInputs
-    disallowedReferences
-    stripDebugList
-    doCheck
-    dontWrapPythonPrograms
-    dontWrapQtApps
-    meta
-  ;
+stdenv.mkDerivation (finalAttrs: (shared // {
+  inherit pname version;
+  # Will still evaluate correctly if not used here. It only helps nix-update
+  # find the right file in which version is defined.
+  inherit (shared) src;
+  # Remove failing tests
+  preConfigure = (shared.preConfigure or "") + ''
+    # https://github.com/gnuradio/gnuradio/issues/3801
+    rm gr-blocks/python/blocks/qa_cpp_py_binding.py
+    rm gr-blocks/python/blocks/qa_cpp_py_binding_set.py
+    rm gr-blocks/python/blocks/qa_ctrlport_probes.py
+    # Tests that fail due to numpy deprecations upstream hasn't accomodated to yet.
+    rm gr-fec/python/fec/qa_polar_decoder_sc.py
+    rm gr-fec/python/fec/qa_polar_decoder_sc_list.py
+    rm gr-fec/python/fec/qa_polar_decoder_sc_systematic.py
+    rm gr-fec/python/fec/qa_polar_encoder.py
+    rm gr-fec/python/fec/qa_polar_encoder_systematic.py
+    rm gr-filter/python/filter/qa_freq_xlating_fft_filter.py
+  '';
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.3_8.patch
@@ -291,4 +297,4 @@ stdenv.mkDerivation {
       ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
     ''
   ;
-}
+}))
diff --git a/pkgs/applications/radio/gnuradio/3.9.nix b/pkgs/applications/radio/gnuradio/3.9.nix
index a393cd5528d57..4d10851b7e13a 100644
--- a/pkgs/applications/radio/gnuradio/3.9.nix
+++ b/pkgs/applications/radio/gnuradio/3.9.nix
@@ -42,11 +42,7 @@
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
-, versionAttr ? {
-  major = "3.9";
-  minor = "8";
-  patch = "0";
-}
+, version ? "3.9.8.0"
 }:
 
 let
@@ -231,6 +227,11 @@ let
     gr-zeromq = {
       runtime = [ cppzmq ];
       cmakeEnableFlag = "GR_ZEROMQ";
+      pythonRuntime = [
+        # Will compile without this, but it is required by tests, and by some
+        # gr blocks.
+        python.pkgs.pyzmq
+      ];
     };
     gr-network = {
       cmakeEnableFlag = "GR_NETWORK";
@@ -250,7 +251,7 @@ let
       removeReferencesTo
       featuresInfo
       features
-      versionAttr
+      version
       sourceSha256
       overrideSrc
       fetchFromGitHub
@@ -258,24 +259,21 @@ let
     qt = qt5;
     gtk = gtk3;
   });
-  inherit (shared) hasFeature; # function
+  inherit (shared.passthru) hasFeature; # function
 in
 
-stdenv.mkDerivation {
-  inherit pname;
-  inherit (shared)
-    version
-    src
-    nativeBuildInputs
-    buildInputs
-    cmakeFlags
-    disallowedReferences
-    stripDebugList
-    doCheck
-    dontWrapPythonPrograms
-    dontWrapQtApps
-    meta
-  ;
+stdenv.mkDerivation (finalAttrs: (shared // {
+  inherit pname version;
+  # Will still evaluate correctly if not used here. It only helps nix-update
+  # find the right file in which version is defined.
+  inherit (shared) src;
+  # Remove failing tests
+  preConfigure = (shared.preConfigure or "") + ''
+    # https://github.com/gnuradio/gnuradio/issues/3801
+    rm gr-blocks/python/blocks/qa_cpp_py_binding.py
+    rm gr-blocks/python/blocks/qa_cpp_py_binding_set.py
+    rm gr-blocks/python/blocks/qa_ctrlport_probes.py
+  '';
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.patch
@@ -303,4 +301,4 @@ stdenv.mkDerivation {
       ${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake
     ''
   ;
-}
+}))
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index a443aec53678f..d1f0a3fd6fb66 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -45,11 +45,7 @@
 # If one wishes to use a different src or name for a very custom build
 , overrideSrc ? {}
 , pname ? "gnuradio"
-, versionAttr ? {
-  major = "3.10";
-  minor = "7";
-  patch = "0";
-}
+, version ? "3.10.7.0"
 }:
 
 let
@@ -252,6 +248,11 @@ let
     gr-zeromq = {
       runtime = [ cppzmq ];
       cmakeEnableFlag = "GR_ZEROMQ";
+      pythonRuntime = [
+        # Will compile without this, but it is required by tests, and by some
+        # gr blocks.
+        python.pkgs.pyzmq
+      ];
     };
     gr-network = {
       cmakeEnableFlag = "GR_NETWORK";
@@ -271,7 +272,7 @@ let
       removeReferencesTo
       featuresInfo
       features
-      versionAttr
+      version
       sourceSha256
       overrideSrc
       fetchFromGitHub
@@ -279,24 +280,14 @@ let
     qt = qt5;
     gtk = gtk3;
   });
-  inherit (shared) hasFeature; # function
+  inherit (shared.passthru) hasFeature; # function
 in
 
-stdenv.mkDerivation {
-  inherit pname;
-  inherit (shared)
-    version
-    src
-    nativeBuildInputs
-    buildInputs
-    cmakeFlags
-    disallowedReferences
-    stripDebugList
-    doCheck
-    dontWrapPythonPrograms
-    dontWrapQtApps
-    meta
-  ;
+stdenv.mkDerivation (finalAttrs: (shared // {
+  inherit pname version;
+  # Will still evaluate correctly if not used here. It only helps nix-update
+  # find the right file in which version is defined.
+  inherit (shared) src;
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.patch
@@ -332,4 +323,4 @@ stdenv.mkDerivation {
       ${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake
     ''
   ;
-}
+}))
diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix
index bdbc22cb787d3..fbb4960dc8fa2 100644
--- a/pkgs/applications/radio/gnuradio/shared.nix
+++ b/pkgs/applications/radio/gnuradio/shared.nix
@@ -5,7 +5,7 @@
 , removeReferencesTo
 , featuresInfo
 , features
-, versionAttr
+, version
 , sourceSha256
 # If overridden. No need to set default values, as they are given defaults in
 # the main expressions
@@ -13,10 +13,21 @@
 , fetchFromGitHub
 }:
 
-rec {
-  version = builtins.concatStringsSep "." (
-    lib.attrVals [ "major" "minor" "patch" ] versionAttr
+let
+  # Check if a feature is enabled, while defaulting to true if feat is not
+  # specified.
+  hasFeature = feat: (
+    if builtins.hasAttr feat features then
+      features.${feat}
+    else
+      true
   );
+  versionAttr = {
+    major = builtins.concatStringsSep "." (lib.take 2 (lib.splitVersion version));
+    minor = builtins.elemAt (lib.splitVersion version) 2;
+    patch = builtins.elemAt (lib.splitVersion version) 3;
+  };
+in {
   src = if overrideSrc != {} then
     overrideSrc
   else
@@ -27,14 +38,6 @@ rec {
       sha256 = sourceSha256;
     }
   ;
-  # Check if a feature is enabled, while defaulting to true if feat is not
-  # specified.
-  hasFeature = feat: (
-    if builtins.hasAttr feat features then
-      features.${feat}
-    else
-      true
-  );
   nativeBuildInputs = lib.flatten (lib.mapAttrsToList (
     feat: info: (
       lib.optionals (hasFeature feat) (
@@ -109,9 +112,14 @@ rec {
   # Wrapping is done with an external wrapper
   dontWrapPythonPrograms = true;
   dontWrapQtApps = true;
-  # Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order
-  # for it to happen.
-  doCheck = false;
+  # On darwin, it requires playing with DYLD_FALLBACK_LIBRARY_PATH to make if
+  # find libgnuradio-runtim.3.*.dylib .
+  doCheck = !stdenv.isDarwin;
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    export QT_QPA_PLATFORM=offscreen
+    export QT_PLUGIN_PATH="${qt.qtbase.bin}/${qt.qtbase.qtPluginPrefix}"
+  '';
 
   meta = with lib; {
     description = "Software Defined Radio (SDR) software";
diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix
index 1610d5e0f9f32..074f46a7fa630 100644
--- a/pkgs/applications/radio/gqrx/default.nix
+++ b/pkgs/applications/radio/gqrx/default.nix
@@ -27,13 +27,13 @@ assert !(pulseaudioSupport && portaudioSupport);
 
 gnuradioMinimal.pkgs.mkDerivation rec {
   pname = "gqrx";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchFromGitHub {
     owner = "gqrx-sdr";
     repo = "gqrx";
     rev = "v${version}";
-    hash = "sha256-14MVimOxM7upq6vpEhvVRnrverBuFToE2ktNhG59LKE=";
+    hash = "sha256-QnwkiH8KqoHa2Q3knh0OAyGBySAArEtdpO+lTzqJ4j0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/uhd/3.5.nix b/pkgs/applications/radio/uhd/3.5.nix
deleted file mode 100644
index 5f34597ea2743..0000000000000
--- a/pkgs/applications/radio/uhd/3.5.nix
+++ /dev/null
@@ -1,160 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, fetchFromGitHub
-, cmake
-, pkg-config
-# See https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html for dependencies explanations
-, boost
-, enableLibuhd_C_api ? true
-# requires numpy
-, enableLibuhd_Python_api ? false
-, python3
-, enableExamples ? false
-, enableUtils ? false
-, enableLiberio ? false
-, liberio
-, libusb1
-, enableDpdk ? false
-, dpdk
-# Devices
-, enableOctoClock ? true
-, enableMpmd ? true
-, enableB100 ? true
-, enableB200 ? true
-, enableUsrp1 ? true
-, enableUsrp2 ? true
-, enableX300 ? true
-, enableN230 ? true
-, enableN300 ? true
-, enableN320 ? true
-, enableE300 ? true
-, enableE320 ? true
-}:
-
-let
-  onOffBool = b: if b then "ON" else "OFF";
-  inherit (lib) optionals;
-in
-
-stdenv.mkDerivation rec {
-  pname = "uhd";
-  # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz
-  # and xxx.yyy.zzz. Hrmpf... style keeps changing
-  version = "3.15.0.0";
-
-  src = fetchFromGitHub {
-    owner = "EttusResearch";
-    repo = "uhd";
-    rev = "v${version}";
-    sha256 = "0jknln88a69fh244670nb7qrflbyv0vvdxfddb5g8ncpb6hcg8qf";
-  };
-  # Firmware images are downloaded (pre-built) from the respective release on Github
-  uhdImagesSrc = fetchurl {
-    url = "https://github.com/EttusResearch/uhd/releases/download/v${version}/uhd-images_${version}.tar.xz";
-    sha256 = "1fir1a13ac07mqhm4sr34cixiqj2difxq0870qv1wr7a7cbfw6vp";
-  };
-
-  cmakeFlags = [
-    "-DENABLE_LIBUHD=ON"
-    "-DENABLE_USB=ON"
-    "-DENABLE_TESTS=ON" # This installs tests as well so we delete them via postPhases
-    "-DENABLE_EXAMPLES=${onOffBool enableExamples}"
-    "-DENABLE_UTILS=${onOffBool enableUtils}"
-    "-DENABLE_LIBUHD_C_API=${onOffBool enableLibuhd_C_api}"
-    "-DENABLE_LIBUHD_PYTHON_API=${onOffBool enableLibuhd_Python_api}"
-    "-DENABLE_LIBERIO=${onOffBool enableLiberio}"
-    "-DENABLE_DPDK=${onOffBool enableDpdk}"
-    # Devices
-    "-DENABLE_OCTOCLOCK=${onOffBool enableOctoClock}"
-    "-DENABLE_MPMD=${onOffBool enableMpmd}"
-    "-DENABLE_B100=${onOffBool enableB100}"
-    "-DENABLE_B200=${onOffBool enableB200}"
-    "-DENABLE_USRP1=${onOffBool enableUsrp1}"
-    "-DENABLE_USRP2=${onOffBool enableUsrp2}"
-    "-DENABLE_X300=${onOffBool enableX300}"
-    "-DENABLE_N230=${onOffBool enableN230}"
-    "-DENABLE_N300=${onOffBool enableN300}"
-    "-DENABLE_N320=${onOffBool enableN320}"
-    "-DENABLE_E300=${onOffBool enableE300}"
-    "-DENABLE_E320=${onOffBool enableE320}"
-  ]
-    # TODO: Check if this still needed
-    # ABI differences GCC 7.1
-    # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1
-    ++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]
-  ;
-
-  # Python + mako are always required for the build itself but not necessary for runtime.
-  pythonEnv = python3.withPackages (ps: with ps; [ mako ]
-    ++ optionals (enableLibuhd_Python_api) [ numpy setuptools ]
-    ++ optionals (enableUtils) [ requests six ]
-  );
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-  ]
-    # If both enableLibuhd_Python_api and enableUtils are off, we don't need
-    # pythonEnv in buildInputs as it's a 'build' dependency and not a runtime
-    # dependency
-    ++ optionals (!enableLibuhd_Python_api && !enableUtils) [ pythonEnv ]
-  ;
-  buildInputs = [
-    boost
-    libusb1
-  ]
-    # However, if enableLibuhd_Python_api *or* enableUtils is on, we need
-    # pythonEnv for runtime as well. The utilities' runtime dependencies are
-    # handled at the environment
-    ++ optionals (enableLibuhd_Python_api || enableUtils) [ pythonEnv ]
-    ++ optionals (enableLiberio) [ liberio ]
-    ++ optionals (enableDpdk) [ dpdk ]
-  ;
-
-  doCheck = true;
-
-  # Build only the host software
-  preConfigure = "cd host";
-  # TODO: Check if this still needed, perhaps relevant:
-  # https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html#build_instructions_unix_arm
-  patches = if stdenv.isAarch32 then ./neon.patch else null;
-
-  postPhases = [ "installFirmware" "removeInstalledTests" ]
-    ++ optionals (enableUtils) [ "moveUdevRules" ]
-  ;
-
-  # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images`
-  installFirmware = ''
-    mkdir -p "$out/share/uhd/images"
-    tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out/share/uhd/images"
-  '';
-
-  # -DENABLE_TESTS=ON installs the tests, we don't need them in the output
-  removeInstalledTests = ''
-    rm -r $out/lib/uhd/tests
-  '';
-
-  # Moves the udev rules to the standard location, needed only if utils are
-  # enabled
-  moveUdevRules = ''
-    mkdir -p $out/lib/udev/rules.d
-    mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/
-  '';
-
-  meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
-    description = "USRP Hardware Driver (for Software Defined Radio)";
-    longDescription = ''
-      The USRP Hardware Driver (UHD) software is the hardware driver for all
-      USRP (Universal Software Radio Peripheral) devices.
-
-      USRP devices are designed and sold by Ettus Research, LLC and its parent
-      company, National Instruments.
-    '';
-    homepage = "https://uhd.ettus.com/";
-    license = licenses.gpl3Plus;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ bjornfor fpletz tomberek ];
-  };
-}
diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix
index 23c0a7285868c..5dbed65484de3 100644
--- a/pkgs/applications/radio/uhd/default.nix
+++ b/pkgs/applications/radio/uhd/default.nix
@@ -8,13 +8,19 @@
 , boost
 , ncurses
 , enableCApi ? true
-# requires numpy
+# Although we handle the Python API's dependencies in pythonEnvArg, this
+# feature is currently disabled as upstream attempts to run `python setup.py
+# install` by itself, and it fails because the Python's environment's prefix is
+# not a writable directly. Adding support for this feature would require using
+# python's pypa/build nad pypa/install hooks directly, and currently it is hard
+# to do that because it all happens after a long buildPhase of the C API.
 , enablePythonApi ? false
 , python3
 , buildPackages
 , enableExamples ? false
-, enableUtils ? false
+, enableUtils ? true
 , libusb1
+# Disable dpdk for now due to compilation issues.
 , enableDpdk ? false
 , dpdk
 # Devices
@@ -144,6 +150,10 @@ stdenv.mkDerivation (finalAttrs: {
     mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/
   '';
 
+  disallowedReferences = optionals (!enablePythonApi && !enableUtils) [
+    python3
+  ];
+
   meta = with lib; {
     description = "USRP Hardware Driver (for Software Defined Radio)";
     longDescription = ''
diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix
index 92eda1d1dd135..1c39d209c34e1 100644
--- a/pkgs/applications/science/biology/delly/default.nix
+++ b/pkgs/applications/science/biology/delly/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "delly";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "dellytools";
     repo = "delly";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-/I//7MhsC/CcBeIJblzbjXp/yOSBm83KWJsrYpl6UJk=";
+    hash = "sha256-oBIY8s/ippf+Xw+3QzMwP0Esc/QpiT6yWeAnqpMix6s=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/biology/truvari/default.nix b/pkgs/applications/science/biology/truvari/default.nix
index e626af56278fa..946f4be606326 100644
--- a/pkgs/applications/science/biology/truvari/default.nix
+++ b/pkgs/applications/science/biology/truvari/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , python3Packages
 , runtimeShell
 , bcftools
@@ -16,37 +15,28 @@ let
   };
 in python3Packages.buildPythonApplication rec {
   pname = "truvari";
-  version = "4.0.0";
+  version = "4.1.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ACEnglish";
     repo = "truvari";
     rev = "v${version}";
-    hash = "sha256-UJNMKEV5m2jFqnWvkVAtymkcE2TjPIXp7JqRZpMSqsE=";
+    hash = "sha256-HFVAv1TTL/nMjr62tQKhMdwh25P/y4nBGzSbxoJxMmo=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-anno-trf-on-darwin.patch";
-      url = "https://github.com/ACEnglish/truvari/commit/f9f36305e8eaa88f951562210e3672a4d4f71265.patch";
-      hash = "sha256-7O9jTQDCC2b8hUBm0qJQCYMzTC9NFtn/E0dTHSfJALU=";
-    })
-    (fetchpatch {
-      name = "fix-anno-grm-on-darwin.patch";
-      url = "https://github.com/ACEnglish/truvari/commit/31416552008a506204ed4e2add55474f10392357.patch";
-      hash = "sha256-42u0ewZU38GCoSfff+XQFv9hEFeO3WlJufTHcl6vkN4=";
-    })
-  ];
-
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "rich==" "rich>="
     substituteInPlace truvari/utils.py \
       --replace "/bin/bash" "${runtimeShell}"
     patchShebangs repo_utils/test_files
   '';
 
+  nativeBuildInputs = [
+    python3Packages.setuptools
+  ];
+
   propagatedBuildInputs = with python3Packages; [
+    pywfa
     rich
     edlib
     pysam
@@ -83,6 +73,7 @@ in python3Packages.buildPythonApplication rec {
   meta = with lib; {
     description = "Structural variant comparison tool for VCFs";
     homepage = "https://github.com/ACEnglish/truvari";
+    changelog = "https://github.com/ACEnglish/truvari/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ natsukium scalavision ];
     longDescription = ''
diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix
index e34810a3982b7..bb306fa322fee 100644
--- a/pkgs/applications/science/chemistry/cp2k/default.nix
+++ b/pkgs/applications/science/chemistry/cp2k/default.nix
@@ -1,15 +1,53 @@
-{ lib, stdenv, fetchFromGitHub, mpiCheckPhaseHook, python3, gfortran, blas, lapack
-, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper
-, libxsmm, spglib, which, pkg-config, plumed, zlib
+{ lib
+, stdenv
+, fetchFromGitHub
+, mpiCheckPhaseHook
+, python3
+, gfortran
+, blas
+, lapack
+, fftw
+, libint
+, libvori
+, libxc
+, mpi
+, gsl
+, scalapack
+, openssh
+, makeWrapper
+, libxsmm
+, spglib
+, which
+, pkg-config
+, plumed
+, zlib
+, hdf5-fortran
+, sirius
+, libvdwxc
+, spla
+, spfft
 , enableElpa ? false
 , elpa
-} :
+, gpuBackend ? "none"
+, cudaPackages
+# gpuVersion needs to be set for both CUDA as well as ROCM hardware.
+# gpuArch is only required for the ROCM stack.
+# Change to a value suitable for your target GPU.
+# For AMD values see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2v-rocmhip-support-for-amd-gpu
+# and for Nvidia see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2i-cuda-optional-improved-performance-on-gpu-systems
+, gpuVersion ? "Mi100"
+, gpuArch ? "gfx908"
+, rocmPackages
+}:
+
+assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
 
 let
   cp2kVersion = "psmp";
   arch = "Linux-x86-64-gfortran";
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "cp2k";
   version = "2023.2";
 
@@ -36,7 +74,22 @@ in stdenv.mkDerivation rec {
     lapack
     plumed
     zlib
-  ] ++ lib.optional enableElpa elpa;
+    hdf5-fortran
+    sirius
+    spla
+    spfft
+    libvdwxc
+  ]
+  ++ lib.optional enableElpa elpa
+  ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
+  ++ lib.optional (gpuBackend == "rocm") [
+    rocmPackages.clr
+    rocmPackages.rocm-core
+    rocmPackages.hipblas
+    rocmPackages.hipfft
+    rocmPackages.rocblas
+  ]
+  ;
 
   propagatedBuildInputs = [ mpi ];
   propagatedUserEnvPkgs = [ mpi ];
@@ -46,7 +99,7 @@ in stdenv.mkDerivation rec {
     "VERSION=${cp2kVersion}"
   ];
 
-  doCheck = true;
+  doCheck = gpuBackend == "none";
 
   enableParallelBuilding = true;
 
@@ -64,25 +117,46 @@ in stdenv.mkDerivation rec {
     FC         = mpif90
     LD         = mpif90
     AR         = ar -r
+    ${lib.strings.optionalString (gpuBackend == "cuda") ''
+    OFFLOAD_CC = nvcc
+    OFFLOAD_FLAGS = -O3 -g -w --std=c++11
+    OFFLOAD_TARGET = cuda
+    GPUVER = ${gpuVersion}
+    CXX = mpicxx
+    CXXFLAGS = -std=c++11 -fopenmp
+    ''}
+    ${lib.strings.optionalString (gpuBackend == "rocm") ''
+    GPUVER = ${gpuVersion}
+    OFFLOAD_CC = hipcc
+    OFFLOAD_FLAGS = -fopenmp -m64 -pthread -fPIC -D__GRID_HIP -O2 --offload-arch=${gpuArch} --rocm-path=${rocmPackages.rocm-core}
+    OFFLOAD_TARGET = hip
+    CXX = mpicxx
+    CXXFLAGS = -std=c++11 -fopenmp -D__HIP_PLATFORM_AMD__
+    ''}
     DFLAGS     = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \
                  -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \
                  -D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} \
-                 -D__PLUMED2
-    CFLAGS    = -fopenmp
+                 -D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \
+                 ${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__DBCSR_ACC"} \
+                 ${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"}
+    CFLAGS    = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include
     FCFLAGS    = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
                  -ftree-vectorize -funroll-loops -msse2 \
                  -std=f2008 \
                  -fopenmp -ftree-vectorize -funroll-loops \
-                 -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \
-                 -I${libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"}
+                 -I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
+                 -I${lib.getDev sirius}/include/sirius \
+                 -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include
     LIBS       = -lfftw3 -lfftw3_threads \
                  -lscalapack -lblas -llapack \
                  -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \
                  -lint2 -lstdc++ -lvori \
                  -lgomp -lpthread -lm \
                  -fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} \
-                 -lz -ldl -lstdc++ ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \
-                 -lplumed
+                 -lz -ldl ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \
+                 -lplumed -lhdf5_fortran -lhdf5_hl -lhdf5 -lgsl -lsirius -lspla -lspfft -lvdwxc \
+                 ${lib.strings.optionalString (gpuBackend == "cuda") "-lcudart -lnvrtc -lcuda -lcublas"} \
+                 ${lib.strings.optionalString (gpuBackend == "rocm") "-lamdhip64 -lhipfft -lhipblas -lrocblas"}
     LDFLAGS    = \$(FCFLAGS) \$(LIBS)
     include ${plumed}/lib/plumed/src/lib/Plumed.inc
     EOF
diff --git a/pkgs/applications/science/chemistry/nwchem/default.nix b/pkgs/applications/science/chemistry/nwchem/default.nix
index d5c97aa17f926..062c61fa5c9e0 100644
--- a/pkgs/applications/science/chemistry/nwchem/default.nix
+++ b/pkgs/applications/science/chemistry/nwchem/default.nix
@@ -54,13 +54,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "nwchem";
-  version = "7.2.0";
+  version = "7.2.1";
 
   src = fetchFromGitHub {
     owner = "nwchemgit";
     repo = "nwchem";
     rev = "v${version}-release";
-    hash = "sha256-/biwHOSMGpdnYRGrGlDounKKLVaG2XkBgCmpE0IKR/Y=";
+    hash = "sha256-nnNTZ+c7VVGAqwOBMkBlW3rImNjs08Ne35XRkI3ssGo=";
   };
 
   nativeBuildInputs = [
@@ -106,6 +106,9 @@ stdenv.mkDerivation rec {
     # Overwrite script, skipping the download
     echo -e '#!/bin/sh\n cd ga-${versionGA};autoreconf -ivf' > src/tools/get-tools-github
 
+    # /usr/bin/env bash fails in sandbox/Makefile setting
+    substituteInPlace src/config/makefile.h --replace '/usr/bin/env bash' "${stdenv.shell}"
+
     patchShebangs ./
   '';
 
diff --git a/pkgs/applications/science/chemistry/wxmacmolplt/default.nix b/pkgs/applications/science/chemistry/wxmacmolplt/default.nix
index 4e8dbb6f07683..13bcf2d1dc662 100644
--- a/pkgs/applications/science/chemistry/wxmacmolplt/default.nix
+++ b/pkgs/applications/science/chemistry/wxmacmolplt/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     xorg.libX11.dev
   ];
 
+  configureFlags = [ "LDFLAGS=-lGL" ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/applications/science/geometry/gama/default.nix b/pkgs/applications/science/geometry/gama/default.nix
index 728cbe62292db..790a9b2d216eb 100644
--- a/pkgs/applications/science/geometry/gama/default.nix
+++ b/pkgs/applications/science/geometry/gama/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, lib, expat, octave, libxml2, texinfo, zip }:
 stdenv.mkDerivation rec {
   pname = "gama";
-  version = "2.25";
+  version = "2.26";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1j4fsPQEaftqmrdk6ZPWKSl7ywA/UPN8bdddGVlPxDQ=";
+    sha256 = "sha256-8zKPPpbp66tD2zMmcv2H5xeCSdDhUk0uYPhqwpGqx9Y=";
   };
 
   buildInputs = [ expat ];
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 1062582d82c40..1d4a11bfb3f28 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "abc-verifier";
-  version = "unstable-2023-06-28";
+  version = "unstable-2023-09-13";
 
   src = fetchFromGitHub {
     owner = "yosyshq";
     repo  = "abc";
-    rev   = "bb64142b07794ee685494564471e67365a093710";
-    hash  = "sha256-Qkk61Lh84ervtehWskSB9GKh+JPB7mI1IuG32OSZMdg=";
+    rev   = "daad9ede0137dc58487a0abc126253e671a85b14";
+    hash  = "sha256-5XeFYvdqT08xduFUDC5yK1jEOV1fYzyQD7N9ZmG3mpQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/cadical/default.nix b/pkgs/applications/science/logic/cadical/default.nix
index a49aea8d40c89..9bfadc41f6099 100644
--- a/pkgs/applications/science/logic/cadical/default.nix
+++ b/pkgs/applications/science/logic/cadical/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cadical";
-  version = "1.5.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "arminbiere";
     repo = "cadical";
     rev = "rel-${version}";
-    sha256 = "sha256-3H/vowWfE1jfomYg2hOi3B3zjWa4CaLHAJXnoKWzskU=";
+    sha256 = "sha256-hY7+gTwBqQegbm5RjLKhM2vfBOjIRz797Z6wd6usj9s=";
   };
 
   outputs = [ "out" "dev" "lib" ];
diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix
index f056b3e433fbc..66ba807c8dd81 100644
--- a/pkgs/applications/science/logic/cryptoverif/default.nix
+++ b/pkgs/applications/science/logic/cryptoverif/default.nix
@@ -2,31 +2,42 @@
 
 stdenv.mkDerivation rec {
   pname = "cryptoverif";
-  version = "2.05";
+  version = "2.07";
 
   src = fetchurl {
     url    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
-    sha256 = "sha256-F5eVN5ATYo9Ivpi2eYh96ktuTWUeoqgWMR4BqHu8EFs=";
+    hash   = "sha256-GXXql4+JZ396BM6W2I3kN0u59xos7UCAtzR0IjMIETY=";
   };
 
-  strictDeps = true;
-
-  nativeBuildInputs = [ ocaml ];
-
   /* Fix up the frontend to load the 'default' cryptoverif library
   ** from under $out/libexec. By default, it expects to find the files
   ** in $CWD which doesn't work. */
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace ./src/syntax.ml \
       --replace \"default\" \"$out/libexec/default\"
   '';
 
-  buildPhase = "./build";
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./build
+
+    runHook postBuild
+  '';
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/libexec
     cp ./cryptoverif   $out/bin
     cp ./default.cvl   $out/libexec
     cp ./default.ocvl  $out/libexec
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/applications/science/logic/dafny/default.nix b/pkgs/applications/science/logic/dafny/default.nix
index 2b30d3aeeb45b..7da1958af3866 100644
--- a/pkgs/applications/science/logic/dafny/default.nix
+++ b/pkgs/applications/science/logic/dafny/default.nix
@@ -8,28 +8,36 @@
 
 buildDotnetModule rec {
   pname = "Dafny";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "dafny-lang";
     repo = "dafny";
     rev = "v${version}";
-    sha256 = "sha256-RSGaOgGf3m94t3SKnvSPqz0VHhWr6NmIMtGsmOynMaM=";
+    hash = "sha256-bnKaaqh1/921SRwnwqgYb31SJ8vguEBtzywPTz79S6I=";
   };
 
-  postPatch = ''
-    cp ${writeScript "fake-gradlew-for-dafny" ''
-      mkdir -p build/libs/
-      javac $(find -name "*.java" | grep "^./src/main") -d classes
-      jar cf build/libs/DafnyRuntime-${version}.jar -C classes dafny
-    ''} Source/DafnyRuntime/DafnyRuntimeJava/gradlew
-
-    # Needed to fix
-    # "error NETSDK1129: The 'Publish' target is not supported without specifying a target framework. The current project targets multiple frameworks, you must specify the framework for the published application."
-    substituteInPlace Source/DafnyRuntime/DafnyRuntime.csproj \
-      --replace TargetFrameworks TargetFramework \
-      --replace "netstandard2.0;net452" net6.0
-  '';
+  postPatch =
+    # This version number seems to be hardcoded and didn't get updated with the
+    # version bump from 4.2.0 to 4.3.0.
+    let dafnyRuntimeJarVersion = "4.2.0";
+    in ''
+      cp ${
+        writeScript "fake-gradlew-for-dafny" ''
+          mkdir -p build/libs/
+          javac $(find -name "*.java" | grep "^./src/main") -d classes
+          jar cf build/libs/DafnyRuntime-${dafnyRuntimeJarVersion}.jar -C classes dafny
+        ''} Source/DafnyRuntime/DafnyRuntimeJava/gradlew
+
+      # Needed to fix
+      # "error NETSDK1129: The 'Publish' target is not supported without
+      # specifying a target framework. The current project targets multiple
+      # frameworks, you must specify the framework for the published
+      # application."
+      substituteInPlace Source/DafnyRuntime/DafnyRuntime.csproj \
+        --replace TargetFrameworks TargetFramework \
+        --replace "netstandard2.0;net452" net6.0
+    '';
 
   buildInputs = [ jdk11 ];
   nugetDeps = ./deps.nix;
diff --git a/pkgs/applications/science/logic/kissat/default.nix b/pkgs/applications/science/logic/kissat/default.nix
index 5f982508c8c61..2941952287bef 100644
--- a/pkgs/applications/science/logic/kissat/default.nix
+++ b/pkgs/applications/science/logic/kissat/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kissat";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "arminbiere";
     repo = "kissat";
     rev = "rel-${version}";
-    sha256 = "sha256-AFUVkkD+toOfVEvIKfz3ncEdABLRxs9yQ8aJx6Q0ETM=";
+    sha256 = "sha256-zK20/vhbVihrxmd52DjByDUO99pBAr8SlJtQpX5fmwY=";
   };
 
   outputs = [ "out" "dev" "lib" ];
diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix
deleted file mode 100644
index 91d208a56ede8..0000000000000
--- a/pkgs/applications/science/math/cntk/default.nix
+++ /dev/null
@@ -1,134 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake
-, fetchpatch
-, openblas, blas, lapack, opencv3, libzip, boost, protobuf, mpi
-, onebitSGDSupport ? false
-, config
-, cudaSupport ? config.cudaSupport, cudaPackages ? { }, addOpenGLRunpath, cudatoolkit, nvidia_x11
-, cudnnSupport ? cudaSupport
-}:
-
-let
-  inherit (cudaPackages) cudatoolkit cudnn;
-in
-
-assert cudnnSupport -> cudaSupport;
-assert blas.implementation == "openblas" && lapack.implementation == "openblas";
-
-let
-  # Old specific version required for CNTK.
-  cub = fetchFromGitHub {
-    owner = "NVlabs";
-    repo = "cub";
-    rev = "1.7.4";
-    sha256 = "0ksd5n1lxqhm5l5cd2lps4cszhjkf6gmzahaycs7nxb06qci8c66";
-  };
-
-in stdenv.mkDerivation rec {
-  pname = "CNTK";
-  version = "2.7";
-
-  src = fetchFromGitHub {
-    owner = "Microsoft";
-    repo = "CNTK";
-    rev = "v${version}";
-    sha256 = "sha256-2rIrPJyvZhnM5EO6tNhF6ARTocfUHce4N0IZk/SZiaI=";
-    fetchSubmodules = true;
-  };
-
-  patches = [
-    # Fix build with protobuf 3.18+
-    # Remove with onnx submodule bump to 1.9+
-    (fetchpatch {
-      url = "https://github.com/onnx/onnx/commit/d3bc82770474761571f950347560d62a35d519d7.patch";
-      extraPrefix = "Source/CNTKv2LibraryDll/proto/onnx/onnx_repo/";
-      stripLen = 1;
-      sha256 = "00raqj8wx30b06ky6cdp5vvc1mrzs7hglyi6h58hchw5lhrwkzxp";
-    })
-  ];
-
-  postPatch = ''
-    # Fix build with protobuf 3.18+
-    substituteInPlace Source/CNTKv2LibraryDll/Serialization.cpp \
-      --replace 'SetTotalBytesLimit(INT_MAX, INT_MAX)' \
-                'SetTotalBytesLimit(INT_MAX)' \
-      --replace 'SetTotalBytesLimit(limit, limit)' \
-                'SetTotalBytesLimit(limit)'
-  '';
-
-  nativeBuildInputs = [ cmake ] ++ lib.optional cudaSupport addOpenGLRunpath;
-
-  # Force OpenMPI to use g++ in PATH.
-  OMPI_CXX = "g++";
-
-  # Uses some deprecated tensorflow functions
-  env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
-  buildInputs = [ openblas opencv3 libzip boost protobuf mpi ]
-             ++ lib.optional cudaSupport cudatoolkit
-             ++ lib.optional cudnnSupport cudnn;
-
-  configureFlags = [
-    "--with-opencv=${opencv3}"
-    "--with-libzip=${libzip.dev}"
-    "--with-openblas=${openblas.dev}"
-    "--with-boost=${boost.dev}"
-    "--with-protobuf=${protobuf}"
-    "--with-mpi=${mpi}"
-    "--cuda=${if cudaSupport then "yes" else "no"}"
-    # FIXME
-    "--asgd=no"
-  ] ++ lib.optionals cudaSupport [
-    "--with-cuda=${cudatoolkit}"
-    "--with-gdk-include=${cudatoolkit}/include"
-    "--with-gdk-nvml-lib=${nvidia_x11}/lib"
-    "--with-cub=${cub}"
-  ] ++ lib.optional onebitSGDSupport "--1bitsgd=yes";
-
-  configurePhase = ''
-    sed -i \
-      -e 's,^GIT_STATUS=.*,GIT_STATUS=,' \
-      -e 's,^GIT_COMMIT=.*,GIT_COMMIT=v${version},' \
-      -e 's,^GIT_BRANCH=.*,GIT_BRANCH=v${version},' \
-      -e 's,^BUILDER=.*,BUILDER=nixbld,' \
-      -e 's,^BUILDMACHINE=.*,BUILDMACHINE=machine,' \
-      -e 's,^BUILDPATH=.*,BUILDPATH=/homeless-shelter,' \
-      -e '/git does not exist/d' \
-      Tools/generate_build_info
-
-    patchShebangs .
-    mkdir build
-    cd build
-    ${lib.optionalString cudnnSupport ''
-      mkdir cuda
-      ln -s ${cudnn}/include cuda
-      export configureFlags="$configureFlags --with-cudnn=$PWD"
-    ''}
-
-    ../configure $configureFlags
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    # Moving to make patchelf remove references later.
-    mv lib $out
-    cp bin/cntk $out/bin
-  '';
-
-  postFixup = lib.optionalString cudaSupport ''
-    for lib in $out/lib/*; do
-      addOpenGLRunpath "$lib"
-    done
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/Microsoft/CNTK";
-    description = "An open source deep-learning toolkit";
-    license = if onebitSGDSupport then licenses.unfreeRedistributable else licenses.mit;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ abbradar ];
-    # Newer cub is included with cudatoolkit now and it breaks the build.
-    # https://github.com/Microsoft/CNTK/issues/3191
-    # broken = cudaSupport;
-    broken = true; # at 2022-11-23
-  };
-}
diff --git a/pkgs/applications/terminal-emulators/iterm2/default.nix b/pkgs/applications/terminal-emulators/iterm2/default.nix
index 4b62044ba2a14..4431784db2b33 100644
--- a/pkgs/applications/terminal-emulators/iterm2/default.nix
+++ b/pkgs/applications/terminal-emulators/iterm2/default.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "iterm2";
-  version = "3.4.20";
+  version = "3.4.21";
 
   src = fetchzip {
     url = "https://iterm2.com/downloads/stable/iTerm2-${lib.replaceStrings ["."] ["_"] version}.zip";
-    hash = "sha256-RXBv3RXd2Kq8k7rbOE3HPEf6vI64VZCo1IX03gDy7l0=";
+    hash = "sha256-hx2d08U4AeRCLtSV3QBcnRu1QS0RblLx/LUH6HHdQvw=";
   };
 
   dontFixup = true;
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 1c1f87e1a4072..f120b5290ec15 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -29,20 +29,20 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.30.0";
+  version = "0.30.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "refs/tags/v${version}";
-    hash = "sha256-M6qFkeUp2rBudO2PiLN2VSrmut68c9mjjUr07WEX9VY=";
+    hash = "sha256-zjXwiRo6Jw3K0iDf05f04MCtg1qKABah7x07CwvW0/0=";
   };
 
   goModules = (buildGoModule {
     pname = "kitty-go-modules";
     inherit src version;
-    vendorHash = "sha256-53Y2S/P2fWT9STZFTdlkESxHNpoAggifZJ0+WXCzbkU=";
+    vendorHash = "sha256-KDqzcJbI2f91wlrjVWgUmut4nhXA/rO9q5q3FaDWnfc=";
   }).goModules;
 
   buildInputs = [
diff --git a/pkgs/applications/terminal-emulators/kitty/themes.nix b/pkgs/applications/terminal-emulators/kitty/themes.nix
index 07563345bd1a0..6ca522e4090f4 100644
--- a/pkgs/applications/terminal-emulators/kitty/themes.nix
+++ b/pkgs/applications/terminal-emulators/kitty/themes.nix
@@ -5,13 +5,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "kitty-themes";
-  version = "unstable-2023-06-01";
+  version = "unstable-2023-09-15";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty-themes";
-    rev = "f765eb1715d79c6cb3ad3d571342d612f21b810e";
-    hash = "sha256-Y3N8cyqEsY/kB2xMIlPYnbuYUs8grzepPx/11maG4bo=";
+    rev = "c9c12d20f83b9536febb21e4b53e176c0ccccb51";
+    hash = "sha256-dhzYTHaaTrbE5k+xEC01Y9jGb+ZmEyvWMb4a2WWKGCw=";
   };
 
   dontConfigure = true;
@@ -30,7 +30,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/kovidgoyal/kitty-themes";
     description = "Themes for the kitty terminal emulator";
     license = lib.licenses.gpl3Only;
-    maintainers = with lib.maintainers; [ AndersonTorres nelsonjeppesen ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix
index f6f4ea9191962..afd3205343e5c 100644
--- a/pkgs/applications/terminal-emulators/rio/default.nix
+++ b/pkgs/applications/terminal-emulators/rio/default.nix
@@ -103,5 +103,6 @@ rustPlatform.buildRustPackage rec {
     maintainers = with lib.maintainers; [ otavio oluceps ];
     platforms = lib.platforms.unix;
     changelog = "https://github.com/raphamorim/rio/blob/v${version}/CHANGELOG.md";
+    mainProgram = "rio";
   };
 }
diff --git a/pkgs/applications/terminal-emulators/roxterm/default.nix b/pkgs/applications/terminal-emulators/roxterm/default.nix
index 72b40c8cd2de3..031dfc27f2067 100644
--- a/pkgs/applications/terminal-emulators/roxterm/default.nix
+++ b/pkgs/applications/terminal-emulators/roxterm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "roxterm";
-  version = "3.12.1";
+  version = "3.14.1";
 
   src = fetchFromGitHub {
     owner = "realh";
     repo = "roxterm";
     rev = version;
-    sha256 = "sha256-jVcf/nrEq8dM8rw40ZhXGJjt3DQLroCePtIAdAsVIfs=";
+    sha256 = "sha256-IHJ30qXNVv9tUdePskHl1hd5kPivBb2kH1oOstBr/9s=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook libxslt ];
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
index 7824fa2a814b8..ac2a5f09fb0f1 100644
--- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Change the urxvt font size on the fly";
     homepage = "https://github.com/majutsushi/urxvt-font-size";
     license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix
index 9ecaffb185cc3..f30507483fac1 100644
--- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     description = "Perl extensions for the rxvt-unicode terminal emulator";
     homepage = "https://github.com/effigies/urxvt-perl";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index 9c896ec87652a..b10e9d432ce7c 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -39,14 +39,14 @@ let
 in
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.20.4-1";
+  version = "1.20.5-0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "forgejo";
     repo = "forgejo";
     rev = "v${version}";
-    hash = "sha256-Fxlj+ckw1LSgiQDex3ZizHakIKd52U6JcdTurJj8YWg=";
+    hash = "sha256-tuwMvSWaMUc/GghmrbGLtyjixwOwiapWEOMD9QmMLic=";
   };
 
   vendorHash = "sha256-dgtZjsLBwblhdge3BvdbK/mN/TeZKps9K5dJbqomtjo=";
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 981b583817744..22edc08e65554 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.35.0";
+  version = "2.36.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-ddVszWyfu9BsP4yvOtVTHhZ51D8j4Vf1pdyahF0gjVk=";
+    hash = "sha256-ya+Iuhe+vXNqt6mfpZ3h8jq++82AGMj+Zd4ozGFjuqY=";
   };
 
-  vendorHash = "sha256-iql/CEWwg6t5k8qOFEQotMUUJd4VQ/H4JcuL2Eunqg0=";
+  vendorHash = "sha256-tJDn3pyX5iTIa61OQXbErdBprqxu1N2LXqyJtpDQnBE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-codereview/default.nix b/pkgs/applications/version-management/git-codereview/default.nix
index 9606b9e15d073..07813b849f716 100644
--- a/pkgs/applications/version-management/git-codereview/default.nix
+++ b/pkgs/applications/version-management/git-codereview/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-codereview";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "review";
     rev = "v${version}";
-    hash = "sha256-oHW73Y31z+0jOJdSJJa550mJYV8IP2fN+oNwT+3sySM=";
+    hash = "sha256-vq/rrDOZUn/apHgk6YPnfG7hmKRSapuw49ZyFVMWNqs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/git-credential-oauth/default.nix b/pkgs/applications/version-management/git-credential-oauth/default.nix
index b7f6aa7bff29a..9b46a0c501b17 100644
--- a/pkgs/applications/version-management/git-credential-oauth/default.nix
+++ b/pkgs/applications/version-management/git-credential-oauth/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "git-credential-oauth";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "hickford";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0sgoBvNVQZI8mOfKI5XWVQ6+615gKi1pO/4DPI6/fKA=";
+    hash = "sha256-Zxdd4JhSoaAFx8neZqdOZSZEOTtupZHnX+5ziYxbw6s=";
   };
 
   ldflags = [
@@ -17,7 +17,7 @@ buildGoModule rec {
     "-X main.version=${version}"
   ];
 
-  vendorHash = "sha256-STwBiqdUwiyhTySPENqfJLUTMwxaq5nYtrAX6+pcKoc=";
+  vendorHash = "sha256-cCqbEv4kBnF6FWvfaXCOxadPVXR/AxXS3nXHf6WmsSs=";
 
   meta = {
     description = "Git credential helper that securely authenticates to GitHub, GitLab and BitBucket using OAuth";
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index 7e7de848ecad3..634f27115878d 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "5.12.155";
+  version = "5.12.157";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-Hz/FGPnrY3EqlVuSks82UO6/7uHGEgnGgTddFKnj3AQ=";
+    hash = "sha256-Okb+HOCgtGLKSbhmhwA63BxS43ulZlSkHDOPsYzO2ZE=";
   };
 
-  cargoHash = "sha256-SiYj05OMUWn0hpJeMLEz846QQLTJuv4dtiSG/ow2yHI=";
+  cargoHash = "sha256-I3sP6nhjMBXnANRrPT3+3HlY62TvfX6lFea7tHefOV8=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index 21f4d870894eb..64efc4731a17c 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
-  version = "0.29.0";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    hash = "sha256-Ry5QvOoj4iSQZr1O+Y6qSHzhmm77nbkLjCcdPOhxR18=";
+    hash = "sha256-VJZwNLFePUNIRHEyiEr1tiLaB2tuL6Ah81LNuM/1H14=";
   };
 
-  cargoHash = "sha256-WZctsAxGojrGufF8CwUiw1xWzn9qVZUphDE3KmGTGy4=";
+  cargoHash = "sha256-vEp0wLxmmmv33oRO7eOxOoOsV87/7DQ8db5RUfqUb88=";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/pkgs/applications/version-management/glab/default.nix b/pkgs/applications/version-management/glab/default.nix
index d0e6a1018ad9c..833bd1523d1db 100644
--- a/pkgs/applications/version-management/glab/default.nix
+++ b/pkgs/applications/version-management/glab/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.32.0";
+  version = "1.33.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-7XFekLlWcifqGJL6IIONpixdMAyGBJJmqo+l6RKCfC8=";
+    hash = "sha256-sBovwqL+3UmOdGf5pnAVzAiAbu69PJi7YhfcJqdejTY=";
   };
 
   vendorHash = "sha256-HiU6Kx/du8QLNKUDsSMm349msxSxyNRppxadtIpglBg=";
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
index b9eb870b43adc..c86cd6e6b303f 100644
--- a/pkgs/applications/version-management/jujutsu/default.nix
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -20,23 +20,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jujutsu";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "martinvonz";
     repo = "jj";
     rev = "v${version}";
-    sha256 = "sha256-5RN2xaH591/83iNXRcW9i/TyU5ndPZq3P/BesHM9I6w=";
+    hash = "sha256-LJW4Px3K5cz6RJ4sUbwUXsp2+rzEW5wowi+DALHajYA=";
   };
 
-  cargoHash = "sha256-G4W3GeTWTuIZO1PupuZ0hACwhNoNBQhULyT9f6qVckg=";
-
-  buildNoDefaultFeatures = true;
-  buildFeatures = [
-    # enable 'packaging' feature, which enables extra features such as support
-    # for watchman
-    "packaging"
-  ];
+  cargoHash = "sha256-fs1cWhBFp2u3HiEx/mMnbwvgwKo97KmftA/sr4dGsiM=";
 
   cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
   useNextest = true; # nextest is the upstream integration framework
diff --git a/pkgs/applications/version-management/lefthook/default.nix b/pkgs/applications/version-management/lefthook/default.nix
index b5cb93e71ea6c..62ea51f5e73e7 100644
--- a/pkgs/applications/version-management/lefthook/default.nix
+++ b/pkgs/applications/version-management/lefthook/default.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "lefthook";
-  version = "1.4.8";
+  version = "1.5.2";
 in
 buildGoModule rec {
   inherit pname version;
@@ -15,7 +15,7 @@ buildGoModule rec {
     owner = "evilmartians";
     repo = "lefthook";
     rev = "v${version}";
-    hash = "sha256-lK2JGENCqfNXXzZBHirEoOB5+ktea38ypb2VD7GWxhg=";
+    hash = "sha256-9lAgKHcUAhg3Z8fMNYu3JrjfSd0HaT7YhvjKlpLMi0E=";
   };
 
   vendorHash = "sha256-/VLS7+nPERjIU7V2CzqXH69Z3/y+GKZbAFn+KcRKRuA=";
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index cee340e0d2b15..6b00d3793d93b 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -7,7 +7,7 @@
 , alembic
 , pystache
 , pytest
-, factory_boy
+, factory-boy
 , python
 , unzip
 }:
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   # pytest tests fail
   nativeCheckInputs = [
     pytest
-    factory_boy
+    factory-boy
   ];
 
   dontUseSetuptoolsCheck = true;
diff --git a/pkgs/applications/version-management/vcprompt/default.nix b/pkgs/applications/version-management/vcprompt/default.nix
index d98f94477256e..d4a4889f4a3f9 100644
--- a/pkgs/applications/version-management/vcprompt/default.nix
+++ b/pkgs/applications/version-management/vcprompt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       about the current working directory for various version control systems
     '';
     homepage    = "http://hg.gerg.ca/vcprompt";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms   = with platforms; linux ++ darwin;
     license = licenses.gpl2Plus;
   };
diff --git a/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch b/pkgs/applications/video/anilibria-winmaclinux/0001-fix-installation-paths.patch
index 14f9799e46bdc..14f9799e46bdc 100644
--- a/pkgs/applications/video/anilibria-winmaclinux/0001-fix-instalation-paths.patch
+++ b/pkgs/applications/video/anilibria-winmaclinux/0001-fix-installation-paths.patch
diff --git a/pkgs/applications/video/anilibria-winmaclinux/default.nix b/pkgs/applications/video/anilibria-winmaclinux/default.nix
index f1c2b13d73a20..76cc3565d1fd1 100644
--- a/pkgs/applications/video/anilibria-winmaclinux/default.nix
+++ b/pkgs/applications/video/anilibria-winmaclinux/default.nix
@@ -28,7 +28,7 @@ mkDerivation rec {
   qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   patches = [
-    ./0001-fix-instalation-paths.patch
+    ./0001-fix-installation-paths.patch
     ./0002-disable-version-check.patch
   ];
 
diff --git a/pkgs/applications/video/bilibili/default.nix b/pkgs/applications/video/bilibili/default.nix
index 71d8ef75e213c..a4fe957099284 100644
--- a/pkgs/applications/video/bilibili/default.nix
+++ b/pkgs/applications/video/bilibili/default.nix
@@ -7,10 +7,10 @@
 
 stdenv.mkDerivation rec {
   pname = "bilibili";
-  version = "1.12.0-2";
+  version = "1.12.1-2";
   src = fetchurl {
     url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
-    hash = "sha256-LnTRznIUXU7h0SyOCfVjfqhNv2OCRujNoM1PtGUVJeU=";
+    hash = "sha256-vYoVHVT/Deooxq/0WVzPebR68N9KBJfgLU30lJPB89M=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index 524e081dc286a..9fffd01019e8a 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -10,11 +10,11 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "filebot";
-  version = "5.0.3";
+  version = "5.1.1";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20230418205553/https://get.filebot.net/filebot/FileBot_${finalAttrs.version}/FileBot_${finalAttrs.version}-portable.tar.xz";
-    hash = "sha256-8FTmR+ztR2ugPcgHvfwyh9yfxPiUJdeAVvjjl5cQCy0=";
+    url = "https://web.archive.org/web/20230917142929/https://get.filebot.net/filebot/FileBot_${finalAttrs.version}/FileBot_${finalAttrs.version}-portable.tar.xz";
+    hash = "sha256-BCsZBRtT2Ka7WZw7WFnagwoJwIO1L3qpFk/6nlGdpmQ=";
   };
 
   unpackPhase = "tar xvf $src";
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index 33034d9ef97a8..75f3cc910953a 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "0yr5k9s3r4yvcx85bzwn6y4m03964ljnmhz7nf068zj87m9q8rcc";
+    sha256 = "add96ad3509d4d5c6d8658b005dfd046963cd6bb0a4e1f3e88f726a86c05810f";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/kodi/addons/keymap/default.nix b/pkgs/applications/video/kodi/addons/keymap/default.nix
index a98b8d2d76687..ff710cdedef3d 100644
--- a/pkgs/applications/video/kodi/addons/keymap/default.nix
+++ b/pkgs/applications/video/kodi/addons/keymap/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "keymap";
   namespace = "script.keymap";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-eWzMqsE8H0wUvPyd3wvjiaXEg4+sgkQ3CQYjE0VS+9g=";
+    sha256 = "sha256-wSztipTEGIqw1icsz+ziNxYuRZOFt3C66T1Ifap/ta0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
index 652dd3a40219a..5817b49e5edee 100644
--- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
+++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-hts";
   namespace = "pvr.hts";
-  version = "20.6.2";
+  version = "20.6.3";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.hts";
     rev = "${version}-${rel}";
-    sha256 = "sha256-AQI7s6PAro+CZ6IoKGm8ii1ZKibfNc2oVVeCCZP+DTg=";
+    sha256 = "sha256-lfFCcmLvdvlY3NvHmF+JDcnA6zGsIKvX8BUg9GwYPs4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 42f356aac46df..bc6fec4c59159 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -39,6 +39,10 @@ in mkDerivation {
 
   sourceRoot = "makemkv-oss-${version}";
 
+  patches = [ ./r13y.patch ];
+
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ autoPatchelfHook pkg-config ];
 
   buildInputs = [ ffmpeg openssl qtbase zlib ];
@@ -80,7 +84,7 @@ in mkDerivation {
       expiration date.
     '';
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    license = licenses.unfree;
+    license = [ licenses.unfree licenses.lgpl21 ];
     homepage = "http://makemkv.com";
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ titanous ];
diff --git a/pkgs/applications/video/makemkv/r13y.patch b/pkgs/applications/video/makemkv/r13y.patch
new file mode 100644
index 0000000000000..fa980611997bf
--- /dev/null
+++ b/pkgs/applications/video/makemkv/r13y.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index 61c47fc..e08ffac 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -27,7 +27,7 @@ INSTALL=@INSTALL@
+ OBJCOPY=@OBJCOPY@
+ LD=@LD@
+ BUILDINFO_ARCH_NAME=$(shell $(GCC) -dumpmachine)
+-BUILDINFO_BUILD_DATE=$(shell date)
++BUILDINFO_BUILD_DATE=$(shell date -d @${SOURCE_DATE_EPOCH})
+ 
+ top_srcdir ?= .
+ INCF=-I$(top_srcdir)/
diff --git a/pkgs/applications/video/media-downloader/default.nix b/pkgs/applications/video/media-downloader/default.nix
index 05f5a69f75f3c..b3c7fd7c8d0b4 100644
--- a/pkgs/applications/video/media-downloader/default.nix
+++ b/pkgs/applications/video/media-downloader/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "media-downloader";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "mhogomchungu";
     repo = "media-downloader";
     rev = finalAttrs.version;
-    hash = "sha256-UmNaosunkNUTm4rsf4q29H+0cJAccUDx+ulcS2octIo=";
+    hash = "sha256-FTfkVD2uBfCBbP7fjjfG21bOGDVd2j6bhPLHGPm3xh4=";
   };
 
   nativeBuildInputs = [
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   meta = {
-    description = "A Qt/C++ GUI front end to youtube-dl";
+    description = "A Qt/C++ GUI front end for yt-dlp and others";
     homepage = "https://github.com/mhogomchungu/media-downloader";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ zendo ];
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 3fe81cb14c6da..07c9b4bb69d37 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -6,12 +6,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "streamlink";
-  version = "6.2.0";
+  version = "6.2.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rq4beEhEb5CZjGIyTnEHyPQfjAgmbbxBm4HhzBs1VZo=";
+    hash = "sha256-64Jmkva7L0oaik1UcCTQlUricL2us+O5CEc6pVsgnRI=";
   };
 
   nativeCheckInputs = with python3Packages; [
diff --git a/pkgs/applications/virtualization/colima/default.nix b/pkgs/applications/virtualization/colima/default.nix
index 14f18551224fc..153a227126652 100644
--- a/pkgs/applications/virtualization/colima/default.nix
+++ b/pkgs/applications/virtualization/colima/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "colima";
-  version = "0.5.5";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "abiosoft";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-i+JveX9cXF+2Po5NFM8HTmwcSJJ/iSPrlwbA/7aNhc0=";
+    sha256 = "sha256-1Tvh1K/jdJoCHeDO1ckbd793UqB6pn4Qvts3vk8PFTM=";
     # We need the git revision
     leaveDotGit = true;
     postFetch = ''
@@ -35,7 +35,7 @@ buildGoModule rec {
   nativeBuildInputs = [ installShellFiles makeWrapper ]
     ++ lib.optionals stdenv.isDarwin [ darwin.DarwinTools ];
 
-  vendorHash = "sha256-lsTvzGFoC3Brnr1Q0Hl0ZqEDfcTeQ8vWGe+xylTyvts=";
+  vendorHash = "sha256-IQKfv+bwDQMuDytfYvirBfrmGexj3LGnIQjoJv1NEoU=";
 
   # disable flaky Test_extractZones
   # https://hydra.nixos.org/build/212378003/log
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 7d7a2730cd24e..2370eda34b649 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.5";
+  version = "1.7.7";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-g+1JfXO1k0ijPpVTo+WxmXro4p4MbRCIZdgtgy58M60=";
+    hash = "sha256-5Tw7xltrsp+yGrdJ0O4MoFUvIaEiCQpMip5X1kfV/iM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 392bb4dacc505..e987396164112 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -106,12 +106,6 @@ rec {
           url = "https://github.com/moby/moby/pull/43136.patch";
           hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8=";
         })
-      ] ++ lib.optionals (lib.versionOlder version "23.0.5") [
-        (fetchpatch {
-          name = "fix-issue-with-go-1.20.6.patch";
-          url = "https://github.com/moby/moby/pull/45972.patch";
-          hash = "sha256-zxFh/bI6+INOYSg6QFs0S9rdl9Z21KUIZFmzpNVjpSA=";
-        })
       ];
 
       postPatch = ''
@@ -190,14 +184,6 @@ rec {
       glibc.static
     ];
 
-    patches = lib.optionals (lib.versionOlder version "23.0.5") [
-      (fetchpatch {
-        name = "fix-issue-with-go-1.20.6.patch";
-        url = "https://github.com/docker/cli/pull/4441.patch";
-        hash = "sha256-F4ueSbdBk1w8OqC4Dgh8+4Ql4zTjehaM368ET7k6Yx8=";
-      })
-    ];
-
     postPatch = ''
       patchShebangs man scripts/build/
       substituteInPlace ./scripts/build/.variables --replace "set -eu" ""
@@ -283,15 +269,15 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.25";
+    version = "20.10.26";
     cliRev = "v${version}";
-    cliHash = "sha256-Wi/NHn8erqvKEVEJqkc99cO/sfPHptwMT44Savcuw2M=";
+    cliHash = "sha256-EPhsng0kLnweVbC8ZnH0NK1/yHlYSA5Sred4rWJX/Gs=";
     mobyRev = "v${version}";
-    mobyHash = "sha256-trJjQMYF/Uog7nvUlELyUYbsTPGz8Rn21v1/V5xhu+A=";
-    runcRev = "v1.1.5";
-    runcHash = "sha256-r5as3hb0zt+XPfxAPeH+YIc/n6IRlscPOZMGfhVE5C4=";
-    containerdRev = "v1.6.20";
-    containerdHash = "sha256-Nd3S6hmvA8LBFUN4XaQJMApbmwGIp6GTnFQimnYagZg=";
+    mobyHash = "sha256-IJ7m2mQnsLiom0EuZLpuLY6fYEko7rEy35igJv1AY04=";
+    runcRev = "v1.1.8";
+    runcHash = "sha256-rDJYEc64KW4Qa3Eg2oUjJqIKrg6THb5hxQFFbvb9Zp4=";
+    containerdRev = "v1.6.22";
+    containerdHash = "sha256-In7OkK3xm7Cz3H1jzG9b4tsZbmo44QCq8pNU+PPy8dY=";
     tiniRev = "v0.19.0";
     tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
   };
diff --git a/pkgs/applications/virtualization/docker/distribution.nix b/pkgs/applications/virtualization/docker/distribution.nix
index 89c029e5e94e6..9a63309b9c761 100644
--- a/pkgs/applications/virtualization/docker/distribution.nix
+++ b/pkgs/applications/virtualization/docker/distribution.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "distribution";
-  version = "2.8.2";
+  version = "2.8.3";
   rev = "v${version}";
 
   goPackagePath = "github.com/docker/distribution";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "docker";
     repo = "distribution";
     inherit rev;
-    sha256 = "sha256-aBAUyM+MtRZAA6Jxu4cFyRIo5OU+7IdLKdQqgm0AFPI=";
+    sha256 = "sha256-6/clOTkI1JnDjb+crcHmjbQlaqffP/sntGqUB2ftajU=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/ecs-agent/default.nix b/pkgs/applications/virtualization/ecs-agent/default.nix
index 218c50fb1ee5f..983e788adc855 100644
--- a/pkgs/applications/virtualization/ecs-agent/default.nix
+++ b/pkgs/applications/virtualization/ecs-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "amazon-ecs-agent";
-  version = "1.75.3";
+  version = "1.76.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aws";
     repo = pname;
-    hash = "sha256-30KDmbT46K5/jE2aSFkX2TZZvWDtzudazTyqFiyLTds=";
+    hash = "sha256-Ex+vYbOdD/AyCMgYF0xBKSxEM3lhBSRR80bx35t6tSA=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/window-managers/lesbar/default.nix b/pkgs/applications/window-managers/lesbar/default.nix
new file mode 100644
index 0000000000000..791f61c4670aa
--- /dev/null
+++ b/pkgs/applications/window-managers/lesbar/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, pkg-config
+, scdoc
+, libX11
+, cairo
+, pango
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "lesbar";
+  version = "1.1.0";
+
+  src = fetchFromSourcehut {
+    owner = "~salmiak";
+    repo = "lesbar";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-uggIoO6rgotkLi6lSJTR4d3NtidXsAC1Kjay9YsT9ps=";
+  };
+
+  nativeBuildInputs = [ pkg-config scdoc ];
+
+  buildInputs = [ libX11 cairo pango ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    description = "A programming language agnostic view layer for creating desktop widgets and status bars";
+    homepage = "https://git.sr.ht/~salmiak/lesbar";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jpentland ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/applications/window-managers/picom/picom-allusive.nix b/pkgs/applications/window-managers/picom/picom-allusive.nix
new file mode 100644
index 0000000000000..820609884d75b
--- /dev/null
+++ b/pkgs/applications/window-managers/picom/picom-allusive.nix
@@ -0,0 +1,24 @@
+{ picom, lib, fetchFromGitHub }:
+
+picom.overrideAttrs (oldAttrs: rec {
+  pname = "picom-allusive";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "allusive-dev";
+    repo = "picom-allusive";
+    rev = version;
+    hash = "sha256-lk4Ll0mi9h3BAqwgOzFQw4WYKnSW9XTl3PjoK2E4WKg=";
+  };
+
+  postInstall = ''
+    chmod +x $out/bin/picom-trans
+  '' + (lib.optionalString (oldAttrs ? postInstall) oldAttrs.postInstall);
+
+  meta = {
+    description = "A fork of picom featuring improved animations and other features";
+    homepage = "https://github.com/allusive-dev/picom-allusive";
+    license = with lib.licenses; [ mit mpl20 ];
+    maintainers = with lib.maintainers; [ allusive ];
+  };
+})
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 6e11d842fe926..a830a6a5752da 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -44,6 +44,8 @@ stdenv.mkDerivation (finalAttrs: {
     # Use /run/current-system/sw/share and /etc instead of /nix/store
     # references:
     ./sway-config-nixos-paths.patch
+    # Drop ambient capabilities after getting SCHED_RR
+    ./drop_ambient_capabilities.patch
   ];
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/sway/drop_ambient_capabilities.patch b/pkgs/applications/window-managers/sway/drop_ambient_capabilities.patch
new file mode 100644
index 0000000000000..17010ede25a77
--- /dev/null
+++ b/pkgs/applications/window-managers/sway/drop_ambient_capabilities.patch
@@ -0,0 +1,41 @@
+From e7d9098e81289ae99d07ec3eac1fec1d303b8fe4 Mon Sep 17 00:00:00 2001
+From: Thiago Kenji Okada <thiagokokada@gmail.com>
+Date: Thu, 5 Oct 2023 15:23:35 +0100
+Subject: [PATCH] drop ambient capabilities
+
+Within NixOS the only possibility to gain cap_sys_nice is using the
+security.wrapper infrastructure. However to pass the capabilities to the
+wrapped program, they are raised to the ambient set. To fix this we make
+sure to drop the ambient capabilities during sway startup and realtime
+setup. Otherwise all programs started by sway also gain cap_sys_nice,
+which is not something we want.
+
+Co-authored-by: Rouven Czerwinski <rouven@czerwinskis.de>
+---
+ sway/realtime.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/sway/realtime.c b/sway/realtime.c
+index 11154af0..06f872a8 100644
+--- a/sway/realtime.c
++++ b/sway/realtime.c
+@@ -3,6 +3,7 @@
+ #include <unistd.h>
+ #include <pthread.h>
+ #include "sway/server.h"
++#include "sys/prctl.h"
+ #include "log.h"
+ 
+ static void child_fork_callback(void) {
+@@ -10,6 +11,8 @@ static void child_fork_callback(void) {
+ 
+ 	param.sched_priority = 0;
+ 
++	prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_CLEAR_ALL, 0, 0, 0);
++
+ 	int ret = pthread_setschedparam(pthread_self(), SCHED_OTHER, &param);
+ 	if (ret != 0) {
+ 		sway_log(SWAY_ERROR, "Failed to reset scheduler policy on fork");
+-- 
+2.42.0
+
diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix
index e28c26c528742..467396a6d8ae8 100644
--- a/pkgs/applications/window-managers/weston/default.nix
+++ b/pkgs/applications/window-managers/weston/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchurl, fetchpatch2
 , meson, ninja, pkg-config, python3, wayland-scanner
-, cairo, dbus, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland
+, cairo, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland
 , wayland-protocols, xcbutilcursor
 
 , demoSupport ? true
@@ -26,6 +26,16 @@ stdenv.mkDerivation rec {
     hash = "sha256-62hqfPAJkqI7F/GS/KmohzE+ksNG7jXYV1GWmD1la0o=";
   };
 
+  patches = [
+    # ci, backend-vnc: update to Neat VNC 0.7.0
+    # part of https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1051
+    (fetchpatch2 {
+      url = "https://gitlab.freedesktop.org/wayland/weston/-/commit/8895b15f3dfc555a869e310ff6e16ff5dced1336.patch";
+      hash = "sha256-PGAmQhzG8gZcYRaZwhKPlgzfbILIXGAHLSd9dCHAP1A=";
+      excludes = [ ".gitlab-ci.yml" ];
+    })
+  ];
+
   depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
   buildInputs = [
diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
index f4942290af4ba..3500e5e9216f0 100644
--- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
+++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix
@@ -223,6 +223,7 @@ let
 
   bin = writeShellScript "${name}-bwrap" (bwrapCmd { initArgs = ''"$@"''; });
 in runCommandLocal name {
+  inherit pname version;
   inherit meta;
 
   passthru = passthru // {
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 1ac0a69f74512..70fd3635b7454 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -446,7 +446,7 @@ rec {
       '';
 
       postMount = ''
-        mkdir -p mnt/{dev,proc,sys} mnt${storeDir}
+        mkdir -p mnt/{dev,proc,sys,tmp} mnt${storeDir}
 
         # Mount /dev, /sys and the nix store as shared folders.
         mount --rbind /dev mnt/dev
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 1194b39dafd74..018cf692b8802 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -417,6 +417,7 @@ fi
 tmpHomePath="$(mktemp -d "${TMPDIR:-/tmp}/nix-prefetch-git-tmp-home-XXXXXXXXXX")"
 exit_handlers+=(remove_tmpHomePath)
 HOME="$tmpHomePath"
+ln -s "$NIX_BUILD_TOP/.netrc" "$HOME/"
 unset XDG_CONFIG_HOME
 export GIT_CONFIG_NOSYSTEM=1
 
diff --git a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
index 64ddcbd567fce..79e2c4b26860d 100644
--- a/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
+++ b/pkgs/build-support/node/build-npm-package/hooks/npm-install-hook.sh
@@ -16,9 +16,19 @@ npmInstallHook() {
         cp "${npmWorkspace-.}/$file" "$dest"
     done < <(@jq@ --raw-output '.[0].files | map(.path) | join("\n")' <<< "$(npm pack --json --dry-run ${npmWorkspace+--workspace=$npmWorkspace} $npmPackFlags "${npmPackFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}")")
 
+    # Based on code from Python's buildPythonPackage wrap.sh script, for
+    # supporting both the case when makeWrapperArgs is an array and a
+    # IFS-separated string.
+    #
+    # TODO: remove the string branch when __structuredAttrs are used.
+    if [[ "${makeWrapperArgs+defined}" == "defined" && "$(declare -p makeWrapperArgs)" =~ ^'declare -a makeWrapperArgs=' ]]; then
+        local -a user_args=("${makeWrapperArgs[@]}")
+    else
+        local -a user_args="(${makeWrapperArgs:-})"
+    fi
     while IFS=" " read -ra bin; do
         mkdir -p "$out/bin"
-        makeWrapper @hostNode@ "$out/bin/${bin[0]}" --add-flags "$packageOut/${bin[1]}"
+        makeWrapper @hostNode@ "$out/bin/${bin[0]}" --add-flags "$packageOut/${bin[1]}" "${user_args[@]}"
     done < <(@jq@ --raw-output '(.bin | type) as $typ | if $typ == "string" then
         .name + " " + .bin
         elif $typ == "object" then .bin | to_entries | map(.key + " " + .value) | join("\n")
@@ -34,7 +44,16 @@ npmInstallHook() {
 
     if [ ! -d "$nodeModulesPath" ]; then
         if [ -z "${dontNpmPrune-}" ]; then
-            npm prune --omit=dev --no-save ${npmWorkspace+--workspace=$npmWorkspace} $npmPruneFlags "${npmPruneFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"
+            if ! npm prune --omit=dev --no-save ${npmWorkspace+--workspace=$npmWorkspace} $npmPruneFlags "${npmPruneFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"; then
+              echo
+              echo
+              echo "ERROR: npm prune step failed"
+              echo
+              echo 'If npm tried to download additional dependencies above, try setting `dontNpmPrune = true`.'
+              echo
+
+              exit 1
+            fi
         fi
 
         find node_modules -maxdepth 1 -type d -empty -delete
diff --git a/pkgs/build-support/php/hooks/composer-repository-hook.sh b/pkgs/build-support/php/hooks/composer-repository-hook.sh
index 779f07347548a..3aae1f9fa85d8 100644
--- a/pkgs/build-support/php/hooks/composer-repository-hook.sh
+++ b/pkgs/build-support/php/hooks/composer-repository-hook.sh
@@ -17,6 +17,7 @@ composerRepositoryConfigureHook() {
     fi
 
     if [[ ! -f "composer.lock" ]]; then
+        COMPOSER_ROOT_VERSION="${version}" \
         composer \
             --no-ansi \
             --no-install \
diff --git a/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix
index d81f30f4baa40..b18f422dbfaf7 100644
--- a/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix
+++ b/pkgs/build-support/php/pkgs/composer-local-repo-plugin.nix
@@ -1,7 +1,9 @@
-{ callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
+{ php, callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
 
 let
-  composer = callPackage ./composer-phar.nix { };
+  composer = callPackage ./composer-phar.nix {
+    inherit (php.packages.composer) version pharHash;
+  };
 
   composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
     pname = "composer-keys";
diff --git a/pkgs/build-support/php/pkgs/composer-phar.nix b/pkgs/build-support/php/pkgs/composer-phar.nix
index 7269d3029b6b6..f281334ab2d9f 100644
--- a/pkgs/build-support/php/pkgs/composer-phar.nix
+++ b/pkgs/build-support/php/pkgs/composer-phar.nix
@@ -10,15 +10,17 @@
   , stdenvNoCC
   , unzip
   , xz
+  , version
+  , pharHash
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "composer-phar";
-  version = "2.6.4";
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar";
-    hash = "sha256-Wjnz4s5bo5HuP+yyJ/ryE5D1t+1cVvFMq54cMEi8+Lg=";
+    hash = pharHash;
   };
 
   dontUnpack = true;
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index f6079b7316d61..4e3e2045e8ec4 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -353,6 +353,10 @@ crate_: lib.makeOverridable
           extraRustcOpts buildTests codegenUnits;
       };
       dontStrip = !release;
+
+      # We need to preserve metadata in .rlib, which might get stripped on macOS. See https://github.com/NixOS/nixpkgs/issues/218712
+      stripExclude = [ "*.rlib" ];
+
       installPhase = installCrate crateName metadata buildTests;
 
       # depending on the test setting we are either producing something with bins
diff --git a/pkgs/by-name/README.md b/pkgs/by-name/README.md
index ba1bd8cb98618..fbb8b0dc05c1e 100644
--- a/pkgs/by-name/README.md
+++ b/pkgs/by-name/README.md
@@ -3,6 +3,10 @@
 The structure of this directory maps almost directly to top-level package attributes.
 This is the recommended way to add new top-level packages to Nixpkgs [when possible](#limitations).
 
+Packages found in the named-based structure do not need to be explicitly added to the
+`top-level/all-packages.nix` file unless they require overriding the default value
+of an implicit attribute (see below).
+
 ## Example
 
 The top-level package `pkgs.some-package` may be declared by setting up this file structure:
diff --git a/pkgs/by-name/_9/_9base/config-substitutions.patch b/pkgs/by-name/_9/_9base/config-substitutions.patch
new file mode 100644
index 0000000000000..f95083c99b4e9
--- /dev/null
+++ b/pkgs/by-name/_9/_9base/config-substitutions.patch
@@ -0,0 +1,56 @@
+diff --git a/config.mk b/config.mk
+index 1ebfd49..ec076b3 100644
+--- a/config.mk
++++ b/config.mk
+@@ -1,25 +1,17 @@
+ # Customize to fit your system
+
+ # paths
+-PREFIX      = /usr/local/plan9
+ MANPREFIX   = ${PREFIX}/share/man
+
+ VERSION     = 7
+-OBJTYPE     = 386
+-#OBJTYPE     = arm
+-#OBJTYPE     = x86_64
+-#OBJTYPE     = sun4u
+
+ # Linux/BSD
+ #CFLAGS      += -Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -c -I. -DPREFIX="\"${PREFIX}\""
+ CFLAGS      += -c -I. -DPLAN9PORT -DPREFIX="\"${PREFIX}\""
+-LDFLAGS     += -static
+
+ # Solaris
+ #CFLAGS      = -fast -xtarget=ultra -D__sun__ -c -I. -DPREFIX="\"${PREFIX}\""
+ #LDFLAGS     = -dn
+
+ # compiler
+-AR          = ar rc
+-CC          = cc
+ YACC        = ../yacc/9yacc
+diff --git a/lib9/Makefile b/lib9/Makefile
+index b83ab2b..e3744a4 100644
+--- a/lib9/Makefile
++++ b/lib9/Makefile
+@@ -221,7 +221,7 @@ uninstall:
+
+ ${LIB}: ${OFILES}
+ 	@echo AR ${TARG}
+-	@${AR} ${LIB} ${OFILES}
++	@${AR} rc ${LIB} ${OFILES}
+
+ .c.o:
+ 	@echo CC $<
+diff --git a/troff/Makefile b/troff/Makefile
+index b4e3d88..3aac6bf 100644
+--- a/troff/Makefile
++++ b/troff/Makefile
+@@ -6,7 +6,7 @@ TARG      = troff
+ OFILES    = n1.o n2.o n3.o n4.o n5.o t6.o n6.o n7.o n8.o n9.o t10.o\
+             n10.o t11.o ni.o hytab.o suftab.o dwbinit.o mbwc.o
+ MANFILES  = troff.1
+-TROFFDIR  = ${PREFIX}/lib/troff
++TROFFDIR  = ${PREFIX_TROFF}/lib/troff
+
+ include ../std.mk
+
diff --git a/pkgs/by-name/_9/_9base/dont-strip.patch b/pkgs/by-name/_9/_9base/dont-strip.patch
new file mode 100644
index 0000000000000..9385f70b79be8
--- /dev/null
+++ b/pkgs/by-name/_9/_9base/dont-strip.patch
@@ -0,0 +1,12 @@
+diff --git a/sam/Makefile b/sam/Makefile
+index 17ada1f..1e9e9b8 100644
+--- a/sam/Makefile
++++ b/sam/Makefile
+@@ -10,7 +10,6 @@ MANFILES  = sam.1
+ include ../config.mk
+ 
+ all: ${TARG}
+-	@strip ${TARG}
+ 	@echo built ${TARG}
+ 
+ install: ${TARG}
diff --git a/pkgs/by-name/_9/_9base/getcallerpc-use-macro-or-stub.patch b/pkgs/by-name/_9/_9base/getcallerpc-use-macro-or-stub.patch
new file mode 100644
index 0000000000000..d7047a9a997b9
--- /dev/null
+++ b/pkgs/by-name/_9/_9base/getcallerpc-use-macro-or-stub.patch
@@ -0,0 +1,115 @@
+diff --git a/lib9/Makefile b/lib9/Makefile
+index b83ab2b..2836b38 100644
+--- a/lib9/Makefile
++++ b/lib9/Makefile
+@@ -145,7 +145,7 @@ LIB9OFILES=\
+ 	exitcode.o\
+ 	fcallfmt.o\
+ 	get9root.o\
+-	getcallerpc-$(OBJTYPE).o\
++	getcallerpc.o\
+ 	getenv.o\
+ 	getfields.o\
+ 	getnetconn.o\
+diff --git a/lib9/getcallerpc-386.c b/lib9/getcallerpc-386.c
+deleted file mode 100644
+index 1367370..0000000
+--- a/lib9/getcallerpc-386.c
++++ /dev/null
+@@ -1,7 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	return (((ulong*)(x))[-1]);
+-}
+diff --git a/lib9/getcallerpc-PowerMacintosh.c b/lib9/getcallerpc-PowerMacintosh.c
+deleted file mode 100644
+index 679a72c..0000000
+--- a/lib9/getcallerpc-PowerMacintosh.c
++++ /dev/null
+@@ -1,7 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	return (((ulong*)(x))[-4]);
+-}
+diff --git a/lib9/getcallerpc-arm.c b/lib9/getcallerpc-arm.c
+deleted file mode 100644
+index 9bb4a95..0000000
+--- a/lib9/getcallerpc-arm.c
++++ /dev/null
+@@ -1,8 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	return ((ulong*)x)[-2];
+-}
+-
+diff --git a/lib9/getcallerpc-power.c b/lib9/getcallerpc-power.c
+deleted file mode 100644
+index b4bf698..0000000
+--- a/lib9/getcallerpc-power.c
++++ /dev/null
+@@ -1,11 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	ulong *lp;
+-
+-	lp = x;
+-
+-	return lp[-1];
+-}
+diff --git a/lib9/getcallerpc-ppc.c b/lib9/getcallerpc-ppc.c
+deleted file mode 100644
+index 679a72c..0000000
+--- a/lib9/getcallerpc-ppc.c
++++ /dev/null
+@@ -1,7 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	return (((ulong*)(x))[-4]);
+-}
+diff --git a/lib9/getcallerpc-x86_64.c b/lib9/getcallerpc-x86_64.c
+deleted file mode 100644
+index 1367370..0000000
+--- a/lib9/getcallerpc-x86_64.c
++++ /dev/null
+@@ -1,7 +0,0 @@
+-#include <lib9.h>
+-
+-ulong
+-getcallerpc(void *x)
+-{
+-	return (((ulong*)(x))[-1]);
+-}
+diff --git a/lib9/getcallerpc.c b/lib9/getcallerpc.c
+new file mode 100644
+index 0000000..7d2cdd7
+--- /dev/null
++++ b/lib9/getcallerpc.c
+@@ -0,0 +1,12 @@
++#include <lib9.h>
++
++/*
++ * On gcc and clang, getcallerpc is a macro invoking a compiler builtin.
++ * If the macro in libc.h did not trigger, there's no implementation.
++ */
++#undef getcallerpc
++ulong
++getcallerpc(void *v)
++{
++	return 1;
++}
+\ No newline at end of file
diff --git a/pkgs/by-name/_9/_9base/package.nix b/pkgs/by-name/_9/_9base/package.nix
new file mode 100644
index 0000000000000..809b9da39af45
--- /dev/null
+++ b/pkgs/by-name/_9/_9base/package.nix
@@ -0,0 +1,77 @@
+{ lib
+, stdenv
+, fetchgit
+, pkg-config
+, patches ? [ ]
+, pkgsBuildHost
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
+
+stdenv.mkDerivation {
+  pname = "9base";
+  version = "unstable-2019-09-11";
+
+  src = fetchgit {
+    url = "https://git.suckless.org/9base";
+    rev = "63916da7bd6d73d9a405ce83fc4ca34845667cce";
+    hash = "sha256-CNK7Ycmcl5vkmtA5VKwKxGZz8AoIG1JH/LTKoYmWSBI=";
+  };
+
+  patches = [
+    # expects to be used with getcallerpc macro or stub patch
+    # AR env var is now the location of `ar` not including the arg (`ar rc`)
+    ./config-substitutions.patch
+    ./dont-strip.patch
+    # plan9port dropped their own getcallerpc implementations
+    # in favour of using gcc/clang's macros or a stub
+    # we can do this here too to extend platform support
+    # https://github.com/9fans/plan9port/commit/540caa5873bcc3bc2a0e1896119f5b53a0e8e630
+    # https://github.com/9fans/plan9port/commit/323e1a8fac276f008e6d5146a83cbc88edeabc87
+    ./getcallerpc-use-macro-or-stub.patch
+  ] ++ patches;
+
+  # the 9yacc script needs to be executed to build other items
+  preBuild = lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    substituteInPlace ./yacc/9yacc \
+      --replace "../yacc/yacc" "${lib.getExe' pkgsBuildHost._9base "yacc"}"
+  '';
+
+  enableParallelBuilding = true;
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config ];
+  NIX_CFLAGS_COMPILE = [
+    # workaround build failure on -fno-common toolchains like upstream
+    # gcc-10. Otherwise build fails as:
+    #   ld: diffio.o:(.bss+0x16): multiple definition of `bflag'; diffdir.o:(.bss+0x6): first defined here
+    "-fcommon"
+    # hide really common warning that floods the logs:
+    #   warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+    "-D_DEFAULT_SOURCE"
+  ];
+  LDFLAGS = lib.optionalString enableStatic "-static";
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+  installFlags = [
+    "PREFIX_TROFF=${placeholder "troff"}"
+  ];
+
+  outputs = [ "out" "man" "troff" ];
+
+  meta = with lib; {
+    homepage = "https://tools.suckless.org/9base/";
+    description = "9base is a port of various original Plan 9 tools for Unix, based on plan9port";
+    longDescription = ''
+      9base is a port of various original Plan 9 tools for Unix, based on plan9port.
+      It also contains the Plan 9 libc, libbio, libregexp, libfmt and libutf.
+      The overall SLOC is about 66kSLOC, so this userland + all libs is much smaller than, e.g. bash.
+      9base can be used to run werc instead of the full blown plan9port.
+    '';
+    license = with licenses; [ mit /* and */ lpl-102 ];
+    maintainers = with maintainers; [ jk ];
+    platforms = platforms.unix;
+    # needs additional work to support aarch64-darwin
+    # due to usage of _DARWIN_NO_64_BIT_INODE
+    broken = stdenv.isAarch64 && stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/tools/misc/a4term/default.nix b/pkgs/by-name/a4/a4/package.nix
index 689caa396981b..5d33e8077dd08 100644
--- a/pkgs/tools/misc/a4term/default.nix
+++ b/pkgs/by-name/a4/a4/package.nix
@@ -5,14 +5,14 @@
 , libvterm-neovim
 }:
 
-stdenv.mkDerivation rec {
-  pname = "a4term";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "a4";
   version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "rpmohn";
     repo = "a4";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-AX5psz9+bLdFFeDR55TIrAWDAkhDygw6289OgIfOJTg=";
   };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     libvterm-neovim
   ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = {
     description = "A dynamic terminal window manager";
@@ -31,4 +31,4 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.linux;
     mainProgram = "a4";
   };
-}
+})
diff --git a/pkgs/by-name/ac/action-validator/package.nix b/pkgs/by-name/ac/action-validator/package.nix
new file mode 100644
index 0000000000000..724e2337b007e
--- /dev/null
+++ b/pkgs/by-name/ac/action-validator/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "action-validator";
+  version = "0.5.3";
+
+  src = fetchFromGitHub {
+    owner = "mpalmer";
+    repo = "action-validator";
+    rev = "v${version}";
+    hash = "sha256-22oYPYGnNp4K68pbNMolGcIGDYqjT/3FibO/jv3IEvg=";
+    fetchSubmodules = true;
+  };
+
+  cargoHash = "sha256-CVDqXuAxI1vCZV4w8DS3fOrsYFvJoI35fbe+hnSahLc=";
+
+  meta = with lib; {
+    description = "Tool to validate GitHub Action and Workflow YAML files";
+    homepage = "https://github.com/mpalmer/action-validator";
+    license = licenses.gpl3Plus;
+    mainProgram = "action-validator";
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/pkgs/by-name/ao/aocl-utils/package.nix b/pkgs/by-name/ao/aocl-utils/package.nix
new file mode 100644
index 0000000000000..622c62ee96d65
--- /dev/null
+++ b/pkgs/by-name/ao/aocl-utils/package.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, cmake } :
+
+stdenv.mkDerivation rec {
+  pname = "aocl-utils";
+  version = "4.1";
+
+  src = fetchFromGitHub {
+    owner = "amd";
+    repo = "aocl-utils";
+    rev = version;
+    hash = "sha256-7Vc3kE+YfqIt6VfvSamsVQRemolzs1sNJUVUZFKk/O8=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Interface to all AMD AOCL libraries to access CPU features";
+    homepage = "https://github.com/amd/aocl-utils";
+    license = licenses.bsd3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.markuskowa ];
+  };
+}
diff --git a/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix b/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix
new file mode 100644
index 0000000000000..c1f4a8a3d75b4
--- /dev/null
+++ b/pkgs/by-name/ar/arxiv-latex-cleaner/package.nix
@@ -0,0 +1,36 @@
+{ lib
+, python3
+, python3Packages
+, fetchFromGitHub
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "arxiv-latex-cleaner";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "google-research";
+    repo = "arxiv-latex-cleaner";
+    rev = "v${version}";
+    hash = "sha256-1IWSDKEoAM4hBKAEEcPq7X89WYDprifDL2GTEJQtdcQ=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pillow
+    pyyaml
+    regex
+    absl-py
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python3.interpreter} -m unittest arxiv_latex_cleaner.tests.arxiv_latex_cleaner_test
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/google-research/arxiv-latex-cleaner";
+    description = "Easily clean the LaTeX code of your paper to submit to arXiv";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ arkivm ];
+  };
+}
diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix
index d275939e87ccf..3ac77c214afc2 100644
--- a/pkgs/by-name/as/ast-grep/package.nix
+++ b/pkgs/by-name/as/ast-grep/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.12.2";
+  version = "0.12.4";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-N9hfHgzqwV/G3/xNY2Vx1i2dW6BcABJ/4lkhnLuvIns=";
+    hash = "sha256-rWfuPk8PWxOmy/WDXGnqBCuGPEI7tBwuOc0IP2FhAq8=";
   };
 
-  cargoHash = "sha256-3ntsPC6OWtSN3MH+3wN2BgOqH69jiW93/xfLY+niARI=";
+  cargoHash = "sha256-M3eNvY8UwsnV9mvkGD//u1zTiJzV1ce7ODyQjnDSZTo=";
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/by-name/bi/bitmagnet/package.nix b/pkgs/by-name/bi/bitmagnet/package.nix
new file mode 100644
index 0000000000000..a34802c5de1ef
--- /dev/null
+++ b/pkgs/by-name/bi/bitmagnet/package.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "bitmagnet";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "bitmagnet-io";
+    repo = "bitmagnet";
+    rev = "v${version}";
+    hash = "sha256-+KAIHg8M2CM+GRRv+htmev8MFe/Y1sJ8p+um/c7kI7c=";
+  };
+
+  vendorHash = "sha256-ydiZ3KMEiVkmdzhHjYYLJ7wuiKmwlMEn4OWrKSOnaSo=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = {
+    description = "A self-hosted BitTorrent indexer, DHT crawler, and torrent search engine";
+    longDescription = ''
+      A self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with web UI, GraphQL API and Servarr stack integration.
+    '';
+    homepage = "https://bitmagnet.io/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ eclairevoyant ];
+    mainProgram = "bitmagnet";
+  };
+}
diff --git a/pkgs/by-name/cd/cdk/package.nix b/pkgs/by-name/cd/cdk/package.nix
new file mode 100644
index 0000000000000..410e341cf0fc7
--- /dev/null
+++ b/pkgs/by-name/cd/cdk/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "cdk";
+  version = "5.0-20230201";
+
+  src = fetchurl {
+    url = "https://invisible-mirror.net/archives/cdk/cdk-${finalAttrs.version}.tgz";
+    hash = "sha256-oxJ7Wf5QX16Jjao90VsM9yShJ0zmgWW3eb4vKdTE8vY=";
+  };
+
+  buildInputs = [
+    ncurses
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Curses development kit";
+    homepage = "https://invisible-island.net/cdk/";
+    changelog = "https://invisible-island.net/cdk/CHANGES.html";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ raskin AndersonTorres ];
+    inherit (ncurses.meta) platforms;
+  };
+})
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/by-name/ci/cimg/package.nix
index 4ef014bfa521f..fdc8724af6148 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/by-name/ci/cimg/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "cimg";
-  version = "3.2.6";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "GreycLab";
     repo = "CImg";
     rev = "v.${finalAttrs.version}";
-    hash = "sha256-HEqjvL16Ca3Al3I6VK50CU6zHFj9Nn/SAXXCfRU4rgo=";
+    hash = "sha256-Y3UPfBH+Sa1f529J1JXx8Ul0zi3b1mkOvo1tbxBSYRk=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/networking/connman/connman-gtk/default.nix b/pkgs/by-name/co/connman-gtk/package.nix
index c75254a27b158..c75254a27b158 100644
--- a/pkgs/tools/networking/connman/connman-gtk/default.nix
+++ b/pkgs/by-name/co/connman-gtk/package.nix
diff --git a/pkgs/tools/networking/connman/connman-ncurses/default.nix b/pkgs/by-name/co/connman-ncurses/package.nix
index 9d638c48000a9..9d638c48000a9 100644
--- a/pkgs/tools/networking/connman/connman-ncurses/default.nix
+++ b/pkgs/by-name/co/connman-ncurses/package.nix
diff --git a/pkgs/tools/networking/connman/connman-notify/default.nix b/pkgs/by-name/co/connman-notify/package.nix
index cbf500913038c..cbf500913038c 100644
--- a/pkgs/tools/networking/connman/connman-notify/default.nix
+++ b/pkgs/by-name/co/connman-notify/package.nix
diff --git a/pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch b/pkgs/by-name/co/connman/create-libppp-compat.h.patch
index dde8a174ca2a6..dde8a174ca2a6 100644
--- a/pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch
+++ b/pkgs/by-name/co/connman/create-libppp-compat.h.patch
diff --git a/pkgs/by-name/co/connman/package.nix b/pkgs/by-name/co/connman/package.nix
new file mode 100644
index 0000000000000..a90fb1ffd727a
--- /dev/null
+++ b/pkgs/by-name/co/connman/package.nix
@@ -0,0 +1,176 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, dbus
+, file
+, glib
+, gnutls
+, iptables
+, libmnl
+, libnftnl # for nftables
+, nixosTests
+, openconnect
+, openvpn
+, pkg-config
+, polkit
+, ppp
+, pptp
+, readline
+, vpnc
+, dnsType ? "internal" # or "systemd-resolved"
+, enableBluetooth ? true
+, enableClient ? true
+, enableDatafiles ? true
+, enableDundee ? true
+, enableEthernet ? true
+, enableGadget ? true
+, enableHh2serialGps ? false
+, enableIospm ? false
+, enableL2tp ? false
+, enableLoopback ? true
+, enableNeard ? true
+, enableNetworkManager ? null
+, enableNetworkManagerCompatibility ?
+  if enableNetworkManager == null
+  then false
+  else lib.warn "enableNetworkManager option is deprecated; use enableNetworkManagerCompatibility instead" enableNetworkManager
+, enableOfono ? true
+, enableOpenconnect ? true
+, enableOpenvpn ? true
+, enablePacrunner ? true
+, enablePolkit ? true
+, enablePptp ? true
+, enableStats ? true
+, enableTist ? false
+, enableTools ? true
+, enableVpnc ? true
+, enableWifi ? true
+, enableWireguard ? true
+, enableWispr ? true
+, firewallType ? "iptables" # or "nftables"
+}:
+
+let
+  inherit (lib)
+    enableFeature
+    enableFeatureAs
+    optionals
+    withFeatureAs;
+in
+assert lib.asserts.assertOneOf "firewallType" firewallType [ "iptables" "nftables" ];
+assert lib.asserts.assertOneOf "dnsType" dnsType [ "internal" "systemd-resolved" ];
+stdenv.mkDerivation (finalAttrs: {
+  pname = "connman";
+  version = "1.42";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/network/connman/connman-${finalAttrs.version}.tar.xz";
+    hash = "sha256-o+a65G/Age8una48qk92Sd6JLD3mIsICg6wMqBQjwqo=";
+  };
+
+  patches = [
+    # simply the middle section of upstream commit a48864a2e5d2a725dfc6eef567108bc13b43857f
+    # dist tarball is broken, hence this patch as a workaround
+    ./create-libppp-compat.h.patch
+  ] ++ optionals stdenv.hostPlatform.isMusl [
+    # Fix Musl build by avoiding a Glibc-only API.
+    (fetchurl {
+      url = "https://git.alpinelinux.org/aports/plain/community/connman/libresolv.patch?id=e393ea84386878cbde3cccadd36a30396e357d1e";
+      hash = "sha256-7Q1bp8rD/gGVYUqnIXqjr9vypR8jlC926p3KYWl9kLw=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    file
+    pkg-config
+  ];
+
+  buildInputs = [
+    glib
+    dbus
+    libmnl
+    gnutls
+    readline
+  ]
+  ++ optionals (firewallType == "iptables") [ iptables ]
+  ++ optionals (firewallType == "nftables") [ libnftnl ]
+  ++ optionals (enableOpenconnect) [ openconnect ]
+  ++ optionals (enablePolkit) [ polkit ]
+  ++ optionals (enablePptp) [ pptp ppp ]
+  ;
+
+  postPatch = ''
+    sed -i "s@/usr/bin/file@file@g" ./configure
+  '';
+
+  configureFlags = [
+    # directories flags
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ] ++ [
+    # production build flags
+    (enableFeature false "maintainer-mode")
+    (enableFeatureAs true "session-policy-local" "builtin")
+    # for building and running tests
+    # (enableFeature true "tests") # installs the tests, we don't want that
+    (enableFeature true "tools")
+    (enableFeature enableLoopback "loopback")
+    (enableFeature enableEthernet "ethernet")
+    (enableFeature enableWireguard "wireguard")
+    (enableFeature enableGadget "gadget")
+    (enableFeature enableWifi "wifi")
+    # enable IWD support for wifi as it doesn't require any new dependencies and
+    # it's easier for the NixOS module to use only one connman package when IWD
+    # is requested
+    (enableFeature enableWifi "iwd")
+    (enableFeature enableBluetooth "bluetooth")
+    (enableFeature enableOfono "ofono")
+    (enableFeature enableDundee "dundee")
+    (enableFeature enablePacrunner "pacrunner")
+    (enableFeature enableNeard "neard")
+    (enableFeature enableWispr "wispr")
+    (enableFeature enableTools "tools")
+    (enableFeature enableStats "stats")
+    (enableFeature enableClient "client")
+    (enableFeature enableDatafiles "datafiles")
+    (enableFeature enablePolkit "polkit")
+    (enableFeature enablePptp "pptp")
+    (enableFeature enableWireguard "wireguard")
+    (enableFeature enableNetworkManagerCompatibility "nmcompat")
+    (enableFeature enableHh2serialGps "hh2serial-gps")
+    (enableFeature enableL2tp "l2tp")
+    (enableFeature enableIospm "iospm")
+    (enableFeature enableTist "tist")
+  ] ++ [
+    (enableFeatureAs enableOpenconnect "openconnect" "builtin")
+    (enableFeatureAs enableOpenvpn "openvpn" "builtin")
+    (enableFeatureAs enableVpnc "vpnc" "builtin")
+  ] ++ [
+    (withFeatureAs true "dbusconfdir" "${placeholder "out"}/share")
+    (withFeatureAs true "dbusdatadir" "${placeholder "out"}/share")
+    (withFeatureAs true "tmpfilesdir" "${placeholder "out"}/tmpfiles.d")
+    (withFeatureAs true "systemdunitdir" "${placeholder "out"}/systemd/system")
+    (withFeatureAs true "dns-backend" "${dnsType}")
+    (withFeatureAs true "firewall" "${firewallType}")
+    (withFeatureAs enableOpenconnect "openconnect" "${openconnect}/sbin/openconnect")
+    (withFeatureAs enableOpenvpn "openvpn" "${openvpn}/sbin/openvpn")
+    (withFeatureAs enableVpnc "vpnc" "${vpnc}/sbin/vpnc")
+    (withFeatureAs enablePptp "pptp" "${pptp}/sbin/pptp")
+  ];
+
+  doCheck = true;
+
+  passthru.tests.connman = nixosTests.connman;
+
+  meta = {
+    description = "A daemon for managing internet connections";
+    homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/about/";
+    license = lib.licenses.gpl2Only;
+    mainProgram = "connmanctl";
+    maintainers = with lib.maintainers; [ eclairevoyant AndersonTorres ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/tools/networking/connman/connman_dmenu/default.nix b/pkgs/by-name/co/connman_dmenu/package.nix
index 86e5a62fb8dec..86e5a62fb8dec 100644
--- a/pkgs/tools/networking/connman/connman_dmenu/default.nix
+++ b/pkgs/by-name/co/connman_dmenu/package.nix
diff --git a/pkgs/by-name/co/costa/package.nix b/pkgs/by-name/co/costa/package.nix
new file mode 100644
index 0000000000000..3dacce6550559
--- /dev/null
+++ b/pkgs/by-name/co/costa/package.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, mpi
+, scalapack
+, llvmPackages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "COSTA";
+  version = "2.2.2";
+
+  src = fetchFromGitHub {
+    owner = "eth-cscs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-jiAyZXC7wiuEnOLsQFFLxhN3AsGXN09q/gHC2Hrb2gg=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ scalapack ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
+
+  propagatedBuildInputs = [ mpi ];
+
+  cmakeFlags = [
+    "-DCOSTA_SCALAPACK=CUSTOM"
+    "-DSCALAPACK_ROOT=${scalapack}"
+  ];
+
+
+  meta = with lib; {
+    description = "Distributed Communication-Optimal Shuffle and Transpose Algorithm";
+    homepage = "https://github.com/eth-cscs/COSTA";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/by-name/co/cowsql/package.nix b/pkgs/by-name/co/cowsql/package.nix
new file mode 100644
index 0000000000000..f88c18521c99b
--- /dev/null
+++ b/pkgs/by-name/co/cowsql/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libuv
+, raft-cowsql
+, sqlite
+, incus
+, unstableGitUpdater
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cowsql";
+  version = "unstable-2023-09-21";
+
+  src = fetchFromGitHub {
+    owner = "cowsql";
+    repo = "cowsql";
+    rev = "b728f0a43b9ad416f9c5fa1fda8b205c7a469d80";
+    hash = "sha256-B4ORrsUTfk/7glSpDndw1fCfFmd72iFr+2Xm5CryeZQ=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  buildInputs = [
+    libuv
+    raft-cowsql.dev
+    sqlite
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  outputs = [ "dev" "out" ];
+
+  passthru = {
+    tests = {
+      inherit incus;
+    };
+
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Embeddable, replicated and fault tolerant SQL engine";
+    homepage = "https://github.com/cowsql/cowsql";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ adamcstephens ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch b/pkgs/by-name/ct/ctx/0001-fix-detections.diff
index 5e4297ea70402..d2580d0fde1d5 100644
--- a/pkgs/applications/terminal-emulators/ctx/0001-Make-arch-detection-optional-and-fix-targets.patch
+++ b/pkgs/by-name/ct/ctx/0001-fix-detections.diff
@@ -1,78 +1,41 @@
-From 5c41e49b79ef85e7e23748fbeeaf65df8b769263 Mon Sep 17 00:00:00 2001
-From: Tobias Mayer <tobim@fastmail.fm>
-Date: Sat, 10 Jun 2023 14:17:16 +0200
-Subject: [PATCH] Make arch detection optional and fix targets
-
----
- Makefile     |  6 +++---
- configure.sh | 22 +++++++++++++---------
- 2 files changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index d21c53bf..fe982b24 100644
---- a/Makefile
-+++ b/Makefile
-@@ -205,8 +205,8 @@ stuff/%.o: stuff/%.c ctx.h stuff/*.h stuff/*.inc Makefile build.conf
- libctx.a: itk.o deps.o $(CTX_OBJS) build.conf Makefile
- 	$(AR) rcs $@ $(CTX_OBJS) deps.o itk.o
- libctx.so: $(CTX_OBJS) deps.o itk.o build.conf Makefile
--	$(LD) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
--	#$(LD) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
-+	$(CCC) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
-+	#$(CCC) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
- 
- ctx: main.c ctx.h  build.conf Makefile $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) libctx.a
- 	$(CCC) main.c $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) -o $@ $(CFLAGS) libctx.a $(LIBS) $(CTX_CFLAGS)  $(OFLAGS_LIGHT) -lpthread  $(CTX_LIBS)
-@@ -276,5 +276,5 @@ itk/w3c-constants.h: itk/css.h Makefile squoze/squoze
- 	for a in `cat itk/css.h | tr ';' ' ' | tr ',' ' ' | tr ')' ' '|tr ':' ' ' | tr '{' ' ' | tr ' ' '\n' | grep 'SQZ_[a-z][0-9a-zA-Z_]*'| sort | uniq`;do b=`echo $$a|tail -c+5|tr '_' '-'`;echo "#define $$a `./squoze/squoze -33 $$b`u // \"$$b\"";done \
- 		>> $@
- 	echo '#endif' >> $@
--static.inc: static/* static/*/* tools/gen_fs.sh
-+static.inc: static/* tools/gen_fs.sh
- 	./tools/gen_fs.sh static > $@
-diff --git a/configure.sh b/configure.sh
-index ad388a5d..fd9d3b96 100755
---- a/configure.sh
-+++ b/configure.sh
-@@ -43,16 +43,20 @@ ENABLE_FAST_FILL_RECT=1
+diff -Naur --no-dereference ctx-source-old/configure.sh ctx-source-new/configure.sh
+--- ctx-source-old/configure.sh	1969-12-31 21:00:01.000000000 -0300
++++ ctx-source-new/configure.sh	2023-09-27 19:26:05.403569888 -0300
+@@ -42,15 +42,18 @@
  ENABLE_SWITCH_DISPATCH=1
  
  pkg-config sdl2    && HAVE_SDL=1
 -pkg-config babl    && HAVE_BABL=1
--pkg-config cairo   && HAVE_CAIRO=1
--pkg-config libcurl && HAVE_LIBCURL=1
--pkg-config alsa    && HAVE_ALSA=1
--pkg-config libdrm  && HAVE_KMS=1
-+# https://github.com/GNOME/gimp/blob/828a8a7fe7ecd1825387f37a42922bc50fa32be9/meson.build#L349
++
 +pkg-config babl-0.1 && { HAVE_BABL=1; BABL_NAME=babl-0.1; }
-+if [ $HAVE_BABL  != 1 ];then
-+   pkg-config babl  && { HAVE_BABL=1; BABL_NAME=babl; }
++if [ $HAVE_BABL  != 1 ]; then
++    pkg-config babl && { HAVE_BABL=1; BABL_NAME=babl; }
 +fi
-+pkg-config cairo    && HAVE_CAIRO=1
-+pkg-config libcurl  && HAVE_LIBCURL=1
-+pkg-config alsa     && HAVE_ALSA=1
-+pkg-config libdrm   && HAVE_KMS=1
++
+ pkg-config libcurl && HAVE_LIBCURL=1
+ pkg-config alsa    && HAVE_ALSA=1
+ pkg-config libdrm  && HAVE_KMS=1
  #pkg-config harfbuzz && HAVE_HARFBUZZ=1
  
- 
- 
+-
+-
 -ARCH=`uname -m`
 +: "${ARCH:="$(uname -m)"}"
  
  case "$ARCH" in
     "x86_64")  HAVE_SIMD=1 ;;
-@@ -229,8 +233,8 @@ echo >> build.conf
+@@ -224,8 +227,8 @@
  if [ $HAVE_BABL  = 1 ];then
    echo "#define CTX_BABL 1 " >> local.conf
    echo "#define CTX_ENABLE_CM 1 " >> local.conf
 -  echo "CTX_CFLAGS+= `pkg-config babl  --cflags`" >> build.conf
 -  echo "CTX_LIBS+= `pkg-config babl  --libs` " >> build.conf
-+  echo "CTX_CFLAGS+= `pkg-config "$BABL_NAME" --cflags`" >> build.conf
-+  echo "CTX_LIBS+= `pkg-config "$BABL_NAME" --libs` " >> build.conf
++  echo "CTX_CFLAGS+= `pkg-config "${BABL_NAME}" --cflags`" >> build.conf
++  echo "CTX_LIBS+= `pkg-config "${BABL_NAME}" --libs` " >> build.conf
  else
    echo "#define CTX_BABL 0 " >> local.conf
    echo "#define CTX_ENABLE_CM 0 " >> local.conf
-@@ -348,7 +352,7 @@ echo "LIBS=$LIBS" >> build.conf
+@@ -335,7 +338,7 @@
  #echo "Generating build.deps"
  #make build.deps 2>/dev/null
  
@@ -81,6 +44,24 @@ index ad388a5d..fd9d3b96 100755
  [ $HAVE_SIMD = 1 ]  && echo " SIMD multi-pass"
  echo ""
  echo "Backends:"
--- 
-2.40.1
-
+diff -Naur --no-dereference ctx-source-old/Makefile ctx-source-new/Makefile
+--- ctx-source-old/Makefile	1969-12-31 21:00:01.000000000 -0300
++++ ctx-source-new/Makefile	2023-09-27 19:37:23.779830320 -0300
+@@ -206,8 +206,8 @@
+ libctx.a: itk.o deps.o $(CTX_OBJS) build.conf Makefile
+ 	$(AR) rcs $@ $(CTX_OBJS) deps.o itk.o
+ libctx.so: $(CTX_OBJS) deps.o itk.o build.conf Makefile
+-	$(LD) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
+-	#$(LD) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
++	$(CCC) -shared $(LIBS) $(CTX_OBJS) deps.o itk.o $(CTX_LIBS) -o $@
++	#$(CCC) --retain-symbols-file=symbols -shared $(LIBS) $? $(CTX_LIBS)  -o $@
+ 
+ ctx: main.c ctx.h  build.conf Makefile $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) libctx.a
+ 	$(CCC) main.c $(TERMINAL_OBJS) $(MEDIA_HANDLERS_OBJS) -o $@ $(CFLAGS) libctx.a $(LIBS) $(CTX_CFLAGS)  $(OFLAGS_LIGHT) -lpthread  $(CTX_LIBS)
+@@ -277,5 +277,5 @@
+ 	for a in `cat itk/css.h | tr ';' ' ' | tr ',' ' ' | tr ')' ' '|tr ':' ' ' | tr '{' ' ' | tr ' ' '\n' | grep 'SQZ_[a-z][0-9a-zA-Z_]*'| sort | uniq`;do b=`echo $$a|tail -c+5|tr '_' '-'`;echo "#define $$a `./squoze/squoze -33 $$b`u // \"$$b\"";done \
+ 		>> $@
+ 	echo '#endif' >> $@
+-static.inc: static/* static/*/* tools/gen_fs.sh
++static.inc: static/* tools/gen_fs.sh
+ 	./tools/gen_fs.sh static > $@
diff --git a/pkgs/applications/terminal-emulators/ctx/default.nix b/pkgs/by-name/ct/ctx/package.nix
index 47f0fd702fa35..b329fd221247b 100644
--- a/pkgs/applications/terminal-emulators/ctx/default.nix
+++ b/pkgs/by-name/ct/ctx/package.nix
@@ -1,42 +1,42 @@
 { lib
 , stdenv
 , fetchgit
-, pkg-config
-, xxd
 , SDL2
 , alsa-lib
 , babl
 , bash
-, cairo
 , curl
 , libdrm # Not documented
+, pkg-config
+, xxd
 , enableFb ? false
 , nixosTests
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ctx";
-  version = "unstable-2023-06-05";
+  version = "unstable-2023-09-03";
 
   src = fetchgit {
     name = "ctx-source"; # because of a dash starting the directory
     url = "https://ctx.graphics/.git/";
-    rev = "2eb3886919d0a0b8c305e4f9e18428dad5e73ca0";
-    sha256 = "sha256-PLUyGArxLU742IKIgpzxdBdc94mWWSkHNFoXGW8L/Zo=";
+    rev = "1bac18c152eace3ca995b3c2b829a452085d46fb";
+    hash = "sha256-fOcQJ2XCeomdtAUmy0A+vU7Vt325OSwrb1+ccW+gZ38=";
   };
 
   patches = [
-    ./0001-Make-arch-detection-optional-and-fix-targets.patch
+    # Many problematic things fixed - it should be upstreamed somehow:
+    # - babl changed its name in pkg-config files
+    # - arch detection made optional
+    # - LD changed to CCC
+    # - remove inexistent reference to static/*/*
+    ./0001-fix-detections.diff
   ];
 
   postPatch = ''
     patchShebangs ./tools/gen_fs.sh
   '';
 
-  strictDeps = true;
-
-  env.ARCH = stdenv.hostPlatform.parsed.cpu.arch;
-
   nativeBuildInputs = [
     pkg-config
     xxd
@@ -47,11 +47,14 @@ stdenv.mkDerivation {
     alsa-lib
     babl
     bash # for ctx-audioplayer
-    cairo
     curl
     libdrm
   ];
 
+  strictDeps = true;
+
+  env.ARCH = stdenv.hostPlatform.parsed.cpu.arch;
+
   configureScript = "./configure.sh";
   configureFlags = lib.optional enableFb "--enable-fb";
   configurePlatforms = [];
@@ -64,16 +67,16 @@ stdenv.mkDerivation {
 
   passthru.tests.test = nixosTests.terminal-emulators.ctx;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://ctx.graphics/";
     description = "Vector graphics terminal";
-    longDescription= ''
+    longDescription = ''
       ctx is an interactive 2D vector graphics, audio, text- canvas and
       terminal, with escape sequences that enable a 2D vector drawing API using
       a vector graphics protocol.
     '';
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres];
-    platforms = platforms.unix;
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
diff --git a/pkgs/tools/misc/dialog/default.nix b/pkgs/by-name/di/dialog/package.nix
index fc494445e82f0..23f75bb1c994f 100644
--- a/pkgs/tools/misc/dialog/default.nix
+++ b/pkgs/by-name/di/dialog/package.nix
@@ -3,23 +3,24 @@
 , fetchurl
 , libtool
 , ncurses
-, enableShared ? !stdenv.isDarwin
+, enableShared ? !stdenv.isDarwin && !stdenv.hostPlatform.isStatic
 , unicodeSupport ? true
-, withLibrary ? false
+, withLibrary ? true
 }:
 
 assert unicodeSupport -> ncurses.unicodeSupport;
-
 stdenv.mkDerivation (finalAttrs: {
   pname = "dialog";
-  version = "1.3-20230209";
+  version = "1.3-20231002";
 
   src = fetchurl {
     url = "https://invisible-island.net/archives/dialog/dialog-${finalAttrs.version}.tgz";
-    hash = "sha256-DCYoIwUmS+IhfzNfN5j0ix3OPPEsWgdr8jHK33em1qg=";
+    hash = "sha256-MVZAqwcZIl1cvKsTBYXAXweR/PBzBypf6UeZaaorgzs=";
   };
 
-  nativeBuildInputs = lib.optional withLibrary libtool;
+  nativeBuildInputs = lib.optionals withLibrary [
+    libtool
+  ];
 
   buildInputs = [
     ncurses
@@ -42,6 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://invisible-island.net/dialog/dialog.html";
     description = "Display dialog boxes from shell";
     license = lib.licenses.lgpl21Plus;
+    mainProgram = "dialog";
     maintainers = with lib.maintainers; [ AndersonTorres spacefrogg ];
     inherit (ncurses.meta) platforms;
   };
diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix
new file mode 100644
index 0000000000000..2aaefe75a6c82
--- /dev/null
+++ b/pkgs/by-name/do/dorion/package.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, dpkg
+, glib-networking
+, gst_all_1
+, libappindicator
+, libayatana-appindicator
+, webkitgtk
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  name = "dorion";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "https://github.com/SpikeHD/Dorion/releases/download/v${finalAttrs.version }/Dorion_${finalAttrs.version}_amd64.deb";
+    hash = "sha256-FghJM34GMt8+4b6jsQQSsfmHIyua/pjRHKNErGyK/kw=";
+  };
+
+  unpackCmd = ''
+    dpkg -X $curSrc .
+  '';
+
+  runtimeDependencies = [
+    glib-networking
+    libappindicator
+    libayatana-appindicator
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    dpkg
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib-networking
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    webkitgtk
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -pv $out
+    mv -v {bin,lib,share} $out
+
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "https://github.com/SpikeHD/Dorion";
+    description = "Tiny alternative Discord client";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "dorion";
+    maintainers = with lib.maintainers; [ ];
+    platforms = lib.intersectLists (lib.platforms.linux) (lib.platforms.x86_64);
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/misc/dxvk/default.nix b/pkgs/by-name/dx/dxvk/package.nix
index 88b7e5b104fb3..88b7e5b104fb3 100644
--- a/pkgs/misc/dxvk/default.nix
+++ b/pkgs/by-name/dx/dxvk/package.nix
diff --git a/pkgs/misc/dxvk/setup_dxvk.sh b/pkgs/by-name/dx/dxvk/setup_dxvk.sh
index 4926acd3ba899..4926acd3ba899 100644
--- a/pkgs/misc/dxvk/setup_dxvk.sh
+++ b/pkgs/by-name/dx/dxvk/setup_dxvk.sh
diff --git a/pkgs/misc/dxvk/darwin-dxvk-compat.patch b/pkgs/by-name/dx/dxvk_1/darwin-dxvk-compat.patch
index 99833a020cda5..99833a020cda5 100644
--- a/pkgs/misc/dxvk/darwin-dxvk-compat.patch
+++ b/pkgs/by-name/dx/dxvk_1/darwin-dxvk-compat.patch
diff --git a/pkgs/misc/dxvk/darwin-thread-primitives.patch b/pkgs/by-name/dx/dxvk_1/darwin-thread-primitives.patch
index c008099407c57..c008099407c57 100644
--- a/pkgs/misc/dxvk/darwin-thread-primitives.patch
+++ b/pkgs/by-name/dx/dxvk_1/darwin-thread-primitives.patch
diff --git a/pkgs/by-name/dx/dxvk_1/package.nix b/pkgs/by-name/dx/dxvk_1/package.nix
new file mode 100644
index 0000000000000..44a39eeaba255
--- /dev/null
+++ b/pkgs/by-name/dx/dxvk_1/package.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, glslang
+, meson
+, ninja
+, windows
+, pkgsBuildHost
+, enableMoltenVKCompat ? false
+}:
+
+let
+  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
+in
+stdenv.mkDerivation (finalAttrs:  {
+  pname = "dxvk";
+  version = "1.10.3";
+
+  src = fetchFromGitHub {
+    owner = "doitsujin";
+    repo = "dxvk";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-T93ZylxzJGprrP+j6axZwl2d3hJowMCUOKNjIyNzkmE=";
+  };
+
+  # These patches are required when using DXVK with Wine on Darwin.
+  patches = lib.optionals enableMoltenVKCompat [
+    # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
+    # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
+    ./darwin-dxvk-compat.patch
+    # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
+    # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
+    ./darwin-thread-primitives.patch
+  ];
+
+  nativeBuildInputs = [ glslang meson ninja ];
+  buildInputs = [ windows.pthreads ];
+
+  mesonFlags =
+    let
+      arch = if stdenv.is32bit then "32" else "64";
+    in
+    [
+      "--buildtype" "release"
+      "--prefix" "${placeholder "out"}"
+    ]
+    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ];
+
+  meta = {
+    description = "A Vulkan-based translation layer for Direct3D 9/10/11";
+    homepage = "https://github.com/doitsujin/dxvk";
+    changelog = "https://github.com/doitsujin/dxvk/releases";
+    maintainers = [ lib.maintainers.reckenrode ];
+    license = lib.licenses.zlib;
+    platforms = lib.platforms.windows;
+  };
+})
diff --git a/pkgs/by-name/dx/dxvk_2/package.nix b/pkgs/by-name/dx/dxvk_2/package.nix
new file mode 100644
index 0000000000000..e1fa64ffee05b
--- /dev/null
+++ b/pkgs/by-name/dx/dxvk_2/package.nix
@@ -0,0 +1,77 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkgsBuildHost
+, glslang
+, meson
+, ninja
+, windows
+, spirv-headers
+, vulkan-headers
+, SDL2
+, glfw
+, gitUpdater
+, sdl2Support ? true
+, glfwSupport ? false
+}:
+
+# SDL2 and GLFW support are mutually exclusive.
+assert !sdl2Support || !glfwSupport;
+
+let
+  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
+  isWindows = stdenv.hostPlatform.uname.system == "Windows";
+in
+stdenv.mkDerivation (finalAttrs:  {
+  pname = "dxvk";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "doitsujin";
+    repo = "dxvk";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-RU+B0XfphD5HHW/vSzqHLUaGS3E31d5sOLp3lMmrCB8=";
+    fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info
+  };
+
+  postPatch = ''
+    substituteInPlace "subprojects/libdisplay-info/tool/gen-search-table.py" \
+      --replace "/usr/bin/env python3" "${lib.getBin pkgsBuildHost.python3}/bin/python3"
+  '';
+
+  nativeBuildInputs = [ glslang meson ninja ];
+  buildInputs = [ spirv-headers vulkan-headers ]
+    ++ lib.optionals (!isWindows && sdl2Support) [ SDL2 ]
+    ++ lib.optionals (!isWindows && glfwSupport) [ glfw ]
+    ++ lib.optionals isWindows [ windows.pthreads ];
+
+  # Build with the Vulkan SDK in nixpkgs.
+  preConfigure = ''
+    rm -rf include/spirv/include include/vulkan/include
+    mkdir -p include/spirv/include include/vulkan/include
+  '';
+
+  mesonFlags =
+    let
+      arch = if stdenv.is32bit then "32" else "64";
+    in
+    [
+      "--buildtype" "release"
+      "--prefix" "${placeholder "out"}"
+    ]
+    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ]
+    ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
+
+  doCheck = !isCross;
+
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+
+  meta = {
+    description = "A Vulkan-based translation layer for Direct3D 9/10/11";
+    homepage = "https://github.com/doitsujin/dxvk";
+    changelog = "https://github.com/doitsujin/dxvk/releases";
+    maintainers = [ lib.maintainers.reckenrode ];
+    license = lib.licenses.zlib;
+    platforms = lib.platforms.windows ++ lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/ec/ecc/package.nix b/pkgs/by-name/ec/ecc/package.nix
new file mode 100644
index 0000000000000..733e7a1f3cc4a
--- /dev/null
+++ b/pkgs/by-name/ec/ecc/package.nix
@@ -0,0 +1,124 @@
+{ lib
+, makeWrapper
+, fetchFromGitHub
+, rustPackages
+, pkg-config
+, elfutils
+, zlib
+}:
+let
+  inherit (rustPackages.rustc) llvmPackages;
+  inherit (rustPackages) rustPlatform;
+  bpftool = llvmPackages.stdenv.mkDerivation {
+    pname = "bpftool";
+    version = "unstable-2023-03-11";
+
+    # this fork specialized for some functions
+    # and has eventually been embedded into the ecc binary
+    src = fetchFromGitHub {
+      owner = "eunomia-bpf";
+      repo = "bpftool";
+      rev = "05940344f5db18d0cb1bc1c42e628f132bc93123";
+      hash = "sha256-g2gjixfuGwVnFlqCMGLWVPbtKOSpQI+vZwIZciXFPTc=";
+      fetchSubmodules = true;
+    };
+
+    buildInputs = [
+      llvmPackages.libllvm
+      elfutils
+      zlib
+    ];
+
+    buildPhase = ''
+      make -C src
+    '';
+
+    installPhase = ''
+      # We don't use the default `make install` because we are looking to create a
+      # directory structure compatible with `build.rs` of `ecc`.
+      mkdir -p $out/src/libbpf
+      # some headers are required
+      cp -r src/libbpf/include $out/src/libbpf
+      cp src/bpftool $out/src
+    '';
+  };
+
+  vmlinux-headers = fetchFromGitHub {
+    owner = "eunomia-bpf";
+    repo = "vmlinux";
+    rev = "933f83becb45f5586ed5fd089e60d382aeefb409";
+    hash = "sha256-CVEmKkzdFNLKCbcbeSIoM5QjYVLQglpz6gy7+ZFPgCY=";
+  };
+
+in
+rustPlatform.buildRustPackage rec {
+  pname = "ecc";
+  version = "1.0.11";
+
+  src = fetchFromGitHub {
+    owner = "eunomia-bpf";
+    repo = "eunomia-bpf";
+    rev = "v${version}";
+    hash = "sha256-UiwS+osyC3gtbQH0bWNsx1p3xYr993/FAZ5d5NKnaBM=";
+  };
+
+  sourceRoot = "${src.name}/compiler/cmd";
+
+  cargoHash = "sha256-j2HPSmU/JARfw2mE1IiXFT/dcdxxnp+agC2DN0Kc5nw=";
+
+  nativeBuildInputs = [
+    pkg-config
+    makeWrapper
+    rustPlatform.bindgenHook
+  ];
+
+  buildInputs = [
+    elfutils
+    zlib
+  ];
+
+  CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER = "gcc";
+
+  preBuild = ''
+    # `SANDBOX` defined by upstream to disable build-time network access
+    export SANDBOX=1
+    # specify dependencies' location
+    export VMLINUX_DIR=${vmlinux-headers}
+    export BPFTOOL_DIR=${bpftool}
+  '';
+
+  preCheck = ''
+    export HOME=$NIX_BUILD_TOP
+  '';
+
+  checkFlags = [
+    # requires network access
+    "--skip=bpf_compiler::tests::test_generate_custom_btf"
+
+    # FIXME: requires dynamic link `libclang` or clang binary which are not found in check env
+    "--skip=bpf_compiler::tests::test_compile_bpf"
+    "--skip=bpf_compiler::tests::test_export_multi_and_pack"
+    "--skip=document_parser::test::test_parse_empty"
+    "--skip=document_parser::test::test_parse_maps"
+    "--skip=document_parser::test::test_parse_progss"
+    "--skip=document_parser::test::test_parse_variables"
+  ];
+
+  passthru = {
+    inherit bpftool;
+  };
+
+  postFixup = ''
+    wrapProgram $out/bin/ecc-rs \
+      --prefix LIBCLANG_PATH : ${llvmPackages.libclang.lib}/lib \
+      --prefix PATH : ${lib.makeBinPath (with llvmPackages; [clang bintools-unwrapped])}
+  '';
+
+  meta = with lib; {
+    homepage = "https://eunomia.dev";
+    description = "the eBPF compile toolchain for eunomia-bpf";
+    maintainers = with maintainers; [ oluceps ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/by-name/ek/eksctl/package.nix b/pkgs/by-name/ek/eksctl/package.nix
index 8b26b891829f2..91f98463a85cb 100644
--- a/pkgs/by-name/ek/eksctl/package.nix
+++ b/pkgs/by-name/ek/eksctl/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.160.0";
+  version = "0.161.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    hash = "sha256-fhsv4iiUO69TenK4MIGfQcVCBeYkKBcAEVZJPoNAixk=";
+    hash = "sha256-hlHwzZ0U3G6IGJjeHZPlO2+thJ1UKxHhRb28EQ39pZk=";
   };
 
-  vendorHash = "sha256-LiRzPJ7DBV0gsE9pJQ18l2grgk2WLkD8i83Fvr9asMM=";
+  vendorHash = "sha256-9rT2zkgwxDQlxTWF1zHpYOOI7uK5Q/GYFWIrKgP2GaQ=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/eu/eudev/package.nix b/pkgs/by-name/eu/eudev/package.nix
new file mode 100644
index 0000000000000..abac72290ca5e
--- /dev/null
+++ b/pkgs/by-name/eu/eudev/package.nix
@@ -0,0 +1,85 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gperf
+, kmod
+, pkg-config
+, util-linux
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "eudev";
+  version = "3.2.14";
+
+  src = fetchFromGitHub {
+    owner = "eudev-project";
+    repo = "eudev";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-v/szzqrBedQPRGYkZ0lV9rslCH//uqGp4PHEF0/51Lg=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    gperf
+    pkg-config
+  ];
+
+  buildInputs = [
+    kmod
+    util-linux
+  ];
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ];
+
+  makeFlags = [
+    "hwdb_bin=/var/lib/udev/hwdb.bin"
+    "udevrulesdir=/etc/udev/rules.d"
+  ];
+
+  preInstall = ''
+    # Disable install-exec-hook target, as it conflicts with our move-sbin
+    # setup-hook
+
+    sed -i 's;$(MAKE) $(AM_MAKEFLAGS) install-exec-hook;$(MAKE) $(AM_MAKEFLAGS);g' src/udev/Makefile
+  '';
+
+  installFlags = [
+    "localstatedir=$(TMPDIR)/var"
+    "sysconfdir=$(out)/etc"
+    "udevconfdir=$(out)/etc/udev"
+    "udevhwdbbin=$(out)/var/lib/udev/hwdb.bin"
+    "udevhwdbdir=$(out)/var/lib/udev/hwdb.d"
+    "udevrulesdir=$(out)/var/lib/udev/rules.d"
+  ];
+
+  meta = {
+    homepage = "https://github.com/eudev-project/eudev";
+    description = "A fork of udev with the aim of isolating it from init";
+    longDescription = ''
+      eudev is a standalone dynamic and persistent device naming support (aka
+      userspace devfs) daemon that runs independently from the init
+      system. eudev strives to remain init system and linux distribution
+      neutral. It is currently used as the devfs manager for more than a dozen
+      different linux distributions.
+
+      This git repo is a fork of systemd repository with the aim of isolating
+      udev from any particular flavor of system initialization. In this case,
+      the isolation is from systemd.
+
+      This is a project started by Gentoo developers and testing was initially
+      being done mostly on OpenRC. We welcome contribution from others using a
+      variety of system initializations to ensure eudev remains system
+      initialization and distribution neutral. On 2021-08-20 Gentoo decided to
+      abandon eudev and a new project was established on 2021-09-14 by Alpine,
+      Devuan and Gentoo contributors.
+    '';
+    changelog = "https://github.com/eudev-project/eudev/releases/tag/${finalAttrs.src.rev}";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ raskin AndersonTorres ];
+    inherit (kmod.meta) platforms;
+  };
+})
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 63eb8fbb62009..04f68bbd9f30e 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-T/3JUjeBw5r1E0hnMRWbMsuqKKHSVSC12HIgOAU0Gi4=";
+    hash = "sha256-6Hb+Zt9brnmxVXVUPhJa6yh8fccrD56UXoCw/wZGowI=";
   };
 
-  cargoHash = "sha256-Wao9J684kSZT/StCNtBDJCdx9tiWTlU+WxCYHD6oeqw=";
+  cargoHash = "sha256-01LuDse7bbq8jT7q8P9ncyQUqCAXR9pK6GmsaDUNYck=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/by-name/fo/fortune-kind/package.nix b/pkgs/by-name/fo/fortune-kind/package.nix
new file mode 100644
index 0000000000000..86e37562bf52d
--- /dev/null
+++ b/pkgs/by-name/fo/fortune-kind/package.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, darwin
+, libiconv
+, makeBinaryWrapper
+, installShellFiles
+, fortuneAlias ? true
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fortune-kind";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "cafkafk";
+    repo = "fortune-kind";
+    rev = "v${version}";
+    hash = "sha256-q4r1Qdyh2L1vTi+CKln+a9lKGgyRAhvg1aJRd0CIEJs=";
+  };
+
+  cargoHash = "sha256-ArVOGWaKbge8nxxGpAT8TttFZYJpuFF5u/tHYC9Qkeo=";
+
+  nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+
+  buildNoDefaultFeatures = true;
+
+  MAN_OUT = "./man";
+
+  preBuild = ''
+    mkdir -p "./$MAN_OUT";
+  '';
+
+  preInstall = ''
+    installManPage man/fortune-kind.1
+    installShellCompletion \
+      --fish man/fortune-kind.fish \
+      --bash man/fortune-kind.bash \
+      --zsh  man/_fortune-kind
+    mkdir -p $out
+    cp -r $src/fortunes $out/fortunes;
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/fortune-kind \
+      --prefix FORTUNE_DIR : "$out/fortunes"
+  ''+ lib.optionalString fortuneAlias ''
+    ln -s fortune-kind $out/bin/fortune
+  '';
+
+  meta = with lib; {
+    description = "A kinder, curated fortune, written in rust";
+    longDescription = ''
+      Historically, contributions to fortune-mod have had a less-than ideal
+      quality control process, and as such, many of the fortunes that a user may
+      receive from the program read more like cryptic inside jokes, or at the
+      very worst, locker-room banter. One of the major goals of fortune-kind is
+      defining and applying a somewhat more rigorous moderation and editing
+      process to the fortune adoption workflow.
+    '';
+    homepage = "https://github.com/cafkafk/fortune-kind";
+    changelog = "https://github.com/cafkafk/fortune-kind/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    mainProgram = "fortune-kind";
+    maintainers = with maintainers; [ cafkafk ];
+    platforms = platforms.unix ++ platforms.windows;
+  };
+}
diff --git a/pkgs/by-name/gb/gbar/package.nix b/pkgs/by-name/gb/gbar/package.nix
new file mode 100644
index 0000000000000..faa930e9aee81
--- /dev/null
+++ b/pkgs/by-name/gb/gbar/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, cmake
+, pkg-config
+, libdbusmenu-gtk3
+, gtk-layer-shell
+, stb
+, wayland-protocols
+, wayland-scanner
+, bluez
+, gtk3
+, libpulseaudio
+, wayland
+}:
+
+stdenv.mkDerivation {
+  pname = "gbar";
+  version = "unstable-2023-09-21";
+
+  src = fetchFromGitHub {
+    owner = "scorpion-26";
+    repo = "gBar";
+    rev = "96485f408efe411f281fa27dceb6d86399ec7804";
+    hash = "sha256-4zPvo0JBQOV1qn2X2iI8/JWYEQjFf9sDEICIWSCeaWk=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    wayland
+    wayland-protocols
+    wayland-scanner
+    bluez
+    gtk3
+    gtk-layer-shell
+    libpulseaudio
+    stb
+    libdbusmenu-gtk3
+  ];
+
+  meta = with lib; {
+    description = "Blazingly fast status bar written with GTK";
+    homepage = "https://github.com/scorpion-26/gBar";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ocfox ];
+    mainProgram = "gBar";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/by-name/gm/gmic/package.nix
index 59022bcca5057..d505faa8f4b64 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/by-name/gm/gmic/package.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gmic";
-  version = "3.2.6";
+  version = "3.3.1";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "GreycLab";
     repo = "gmic";
     rev = "v.${finalAttrs.version}";
-    hash = "sha256-kaI5rcAz3Cw/xzWgJhMRu/cQwVrvLRAPiB5BhzPMOHY=";
+    hash = "sha256-HagGabJ1jkg5SkMlr0Y5rGFw64jPW8QLuR0I2idM1N0=";
   };
 
   # TODO: build this from source
diff --git a/pkgs/by-name/ic/icewm/package.nix b/pkgs/by-name/ic/icewm/package.nix
index 4bf4d2293c421..4df2536516f3c 100644
--- a/pkgs/by-name/ic/icewm/package.nix
+++ b/pkgs/by-name/ic/icewm/package.nix
@@ -41,13 +41,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "ice-wm";
     repo = "icewm";
     rev = finalAttrs.version;
-    hash = "sha256-s1gupU5AOQOMqz8YRMIBc2Oe7DMnlGgXitcq7CFWwSE=";
+    hash = "sha256-SgSbcWNib2BXyTOBDI1J2TzXhnXoRH0GK3rJvyLID7w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/imhex/default.nix b/pkgs/by-name/im/imhex/package.nix
index 528723878efdd..2f1a6b927df24 100644
--- a/pkgs/applications/editors/imhex/default.nix
+++ b/pkgs/by-name/im/imhex/package.nix
@@ -22,12 +22,15 @@
 }:
 
 let
-  version = "1.30.1";
+  # FIXME: unstable, stable needs #252945 (details in #258964)
+  # Next version bump should be stabilized
+  version = "unstable-2023-10-01";
+  patterns_version = "1.31.0";
 
   patterns_src = fetchFromGitHub {
     owner = "WerWolv";
     repo = "ImHex-Patterns";
-    rev = "ImHex-v${version}";
+    rev = "ImHex-v${patterns_version}";
     hash = "sha256-lTTXu9RxoD582lXWI789gNcWvJmxmBIlBRIiyY3DseM=";
   };
 
@@ -40,8 +43,8 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
     owner = "WerWolv";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-3s9Dgdhl+k2KjMoSHNl59YOoCEwqK+37DOzKdGP88/4=";
+    rev = "a62ede784018f9d5aaf40587f71a1271429ab50b";
+    hash = "sha256-L3ncmM7Ro60DvOF/Y0fjo2Smlw2LL8cPa8H6yVGdGAk=";
   };
 
   nativeBuildInputs = [ cmake llvm python3 perl pkg-config rsync ];
@@ -81,7 +84,7 @@ stdenv.mkDerivation rec {
     description = "Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM";
     homepage = "https://github.com/WerWolv/ImHex";
     license = with licenses; [ gpl2Only ];
-    maintainers = with maintainers; [ luis kashw2 ];
+    maintainers = with maintainers; [ luis kashw2 cafkafk ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/by-name/im/impression/package.nix b/pkgs/by-name/im/impression/package.nix
new file mode 100644
index 0000000000000..5a196f3b41fbc
--- /dev/null
+++ b/pkgs/by-name/im/impression/package.nix
@@ -0,0 +1,69 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, blueprint-compiler
+, cargo
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, rustPlatform
+, rustc
+, wrapGAppsHook4
+, cairo
+, dbus
+, gdk-pixbuf
+, glib
+, gtk4
+, libadwaita
+, pango
+}:
+
+stdenv.mkDerivation rec {
+  pname = "impression";
+  version = "2.1";
+
+  src = fetchFromGitLab {
+    owner = "adhami3310";
+    repo = "Impression";
+    rev = "v${version}";
+    hash = "sha256-Pq1Pz/uNBsk4UdtCwA5gmZoS+kiDrCbpum4ABW7oocA=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-eIfDuz4ewTzmLDKShro3VkoXAZEUOKu133eD/z75jjY=";
+  };
+
+  nativeBuildInputs = [
+    blueprint-compiler
+    cargo
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    rustPlatform.cargoSetupHook
+    rustc
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    cairo
+    dbus
+    gdk-pixbuf
+    glib
+    gtk4
+    libadwaita
+    pango
+  ];
+
+  meta = {
+    description = "Straight-forward and modern application to create bootable drives";
+    homepage = "https://gitlab.com/adhami3310/Impression";
+    license = lib.licenses.gpl3Only;
+    mainProgram = "impression";
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/in/incus-unwrapped/package.nix b/pkgs/by-name/in/incus-unwrapped/package.nix
new file mode 100644
index 0000000000000..dd23b6c0a3b87
--- /dev/null
+++ b/pkgs/by-name/in/incus-unwrapped/package.nix
@@ -0,0 +1,97 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, acl
+, cowsql
+, hwdata
+, libcap
+, lxc
+, pkg-config
+, sqlite
+, udev
+, installShellFiles
+, gitUpdater
+}:
+
+buildGoModule rec {
+  pname = "incus-unwrapped";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "lxc";
+    repo = "incus";
+    rev = "refs/tags/incus-${version}";
+    hash = "sha256-DCNMhfSzIpu5Pdg2TiFQ7GgLEScqt/Xqm2X+VSdeaME=";
+  };
+
+  vendorHash = "sha256-Pk0/SfGCqXdXvNHbokSV8ajFHeOv0+Et0JytRCoBLU4=";
+
+  postPatch = ''
+    substituteInPlace internal/usbid/load.go \
+      --replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids"
+  '';
+
+  excludedPackages = [
+    "cmd/incus-agent"
+    "cmd/incus-migrate"
+    "cmd/lxd-to-incus"
+  ];
+
+  nativeBuildInputs = [
+    installShellFiles
+    pkg-config
+  ];
+
+  buildInputs = [
+    lxc
+    acl
+    libcap
+    cowsql.dev
+    sqlite
+    udev.dev
+  ];
+
+  ldflags = [ "-s" "-w" ];
+  tags = [ "libsqlite3" ];
+
+  preBuild = ''
+    # required for go-cowsql.
+    export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
+  '';
+
+  postBuild = ''
+    make incus-agent incus-migrate
+  '';
+
+  preCheck =
+    let skippedTests = [
+      "TestValidateConfig"
+      "TestConvertNetworkConfig"
+      "TestConvertStorageConfig"
+      "TestSnapshotCommon"
+      "TestContainerTestSuite"
+    ]; in
+    ''
+      # Disable tests requiring local operations
+      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
+    '';
+
+  postInstall = ''
+    installShellCompletion --bash --name incus ./scripts/bash/incus
+  '';
+
+  passthru = {
+    updateScript = gitUpdater {
+      rev-prefix = "incus-";
+    };
+  };
+
+  meta = {
+    description = "Powerful system container and virtual machine manager";
+    homepage = "https://linuxcontainers.org/incus";
+    changelog = "https://github.com/lxc/incus/releases/tag/incus-${version}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ adamcstephens ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/in/incus/package.nix b/pkgs/by-name/in/incus/package.nix
new file mode 100644
index 0000000000000..1eda9cf3ea72c
--- /dev/null
+++ b/pkgs/by-name/in/incus/package.nix
@@ -0,0 +1,115 @@
+{ lib
+, incus-unwrapped
+, linkFarm
+, makeWrapper
+, stdenv
+, symlinkJoin
+, writeShellScriptBin
+, acl
+, apparmor-parser
+, apparmor-profiles
+, attr
+, bash
+, btrfs-progs
+, criu
+, dnsmasq
+, gnutar
+, gptfdisk
+, gzip
+, iproute2
+, iptables
+, OVMF
+, qemu_kvm
+, qemu-utils
+, rsync
+, spice-gtk
+, squashfsTools
+, virtiofsd
+, xz
+}:
+let
+  binPath = lib.makeBinPath [
+    acl
+    attr
+    bash
+    btrfs-progs
+    criu
+    dnsmasq
+    gnutar
+    gptfdisk
+    gzip
+    iproute2
+    iptables
+    qemu_kvm
+    qemu-utils
+    rsync
+    squashfsTools
+    virtiofsd
+    xz
+
+    (writeShellScriptBin "apparmor_parser" ''
+      exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
+    '')
+  ];
+
+  clientBinPath = [
+    spice-gtk
+  ];
+
+  ovmf-2mb = OVMF.override {
+    secureBoot = true;
+    csmSupport = false;
+    fdSize2MB = true;
+  };
+
+  ovmf-4mb = OVMF.override {
+    secureBoot = true;
+    csmSupport = false;
+    fdSize4MB = true;
+  };
+
+  ovmf-4mb-csm = OVMF.override {
+    secureBoot = true;
+    csmSupport = false;
+    fdSize2MB = false;
+    fdSize4MB = true;
+  };
+
+  ovmf-prefix = if stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF";
+
+  # mimic ovmf from https://github.com/canonical/incus-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378
+  # also found in /snap/incus/current/share/qemu/ on a snap install
+  ovmf = linkFarm "incus-ovmf" [
+    { name = "OVMF_CODE.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
+    { name = "OVMF_CODE.4MB.CSM.fd"; path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_CODE.fd"; }
+    { name = "OVMF_CODE.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
+    { name = "OVMF_CODE.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; }
+
+    { name = "OVMF_VARS.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.2MB.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.4MB.CSM.fd"; path = "${ovmf-4mb-csm.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.4MB.ms.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+    { name = "OVMF_VARS.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; }
+  ];
+in
+symlinkJoin {
+  name = "incus-${incus-unwrapped.version}";
+
+  paths = [ incus-unwrapped ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram $out/bin/incusd --prefix PATH : ${lib.escapeShellArg binPath}:${qemu_kvm}/libexec:$out/bin --set INCUS_OVMF_PATH ${ovmf}
+
+    wrapProgram $out/bin/incus --prefix PATH : ${lib.makeBinPath clientBinPath}
+  '';
+
+  passthru = {
+    inherit (incus-unwrapped) tests;
+  };
+
+  inherit (incus-unwrapped) meta pname version;
+}
diff --git a/pkgs/by-name/le/lexmark-aex/package.nix b/pkgs/by-name/le/lexmark-aex/package.nix
new file mode 100644
index 0000000000000..cfb02f70d6f3e
--- /dev/null
+++ b/pkgs/by-name/le/lexmark-aex/package.nix
@@ -0,0 +1,78 @@
+{ lib
+, stdenv
+, cups
+, fetchurl
+, patchPpdFilesHook
+, autoPatchelfHook
+, dpkg
+, perl
+, avahi
+}:
+
+stdenv.mkDerivation {
+  pname = "lexmark-aex";
+  version = "1.0";
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src = fetchurl {
+    url = "https://downloads.lexmark.com/downloads/drivers/Lexmark-AEX-PPD-Files-1.0-01242019.amd64.deb";
+    hash = "sha256-igrJEeFLArGbncOwk/WttnWfPjOokD0/IzpJ4VSOtHk=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    patchPpdFilesHook
+    dpkg
+  ];
+
+  buildInputs = [
+    # Needed for autoPatchelfHook.
+    avahi
+    cups
+    # Needed for patchShebangs.
+    perl
+  ];
+
+  # Needed for autoPatchelfHook.
+  runtimeDependencies = [ (lib.getLib cups) ];
+
+  ppdFileCommands = [ "CommandFileFilterG2" "rerouteprintoption" ];
+
+  installPhase = let
+    libdir =
+      if stdenv.system == "x86_64-linux"    then "lib64"
+      else if stdenv.system == "i686_linux" then "lib"
+      else throw "other platforms than i686_linux and x86_64-linux are not yet supported";
+  in ''
+    runHook preInstall
+
+    prefix=usr/local/Lexmark/ppd/Lexmark-AEX-PPD-Files/GlobalPPD_1.4
+
+    # Install raster image filter.
+    install -Dm755 "$prefix/rerouteprintoption" "$out/lib/cups/filter/rerouteprintoption"
+    patchShebangs "$out/lib/cups/filter/rerouteprintoption"
+
+    # Install additional binary filters.
+    for i in CommandFileFilterG2 LexHBPFilter; do
+      install -Dm755 "$prefix/${libdir}/$i" "$out/lib/cups/filter/$i"
+    done
+
+    # Install PPD.
+    install -Dm 0644 -t "$out/share/cups/model/Lexmark" "$prefix"/*.ppd
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "CUPS drivers for Lexmark B2200 and MB2200 Series printers";
+    homepage = "https://support.lexmark.com/en_xm/drivers-downloads.html";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    maintainers = [ maintainers.tobim ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/by-name/lx/lxd-to-incus/package.nix b/pkgs/by-name/lx/lxd-to-incus/package.nix
new file mode 100644
index 0000000000000..0b9c34fb046d1
--- /dev/null
+++ b/pkgs/by-name/lx/lxd-to-incus/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, gitUpdater
+}:
+
+buildGoModule rec {
+  pname = "lxd-to-incus";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "lxc";
+    repo = "incus";
+    # use commit which fixes 0.1 versioning, use tags for > 0.1
+    rev = "253a06bd8506bf42628d32ccbca6409d051465ec";
+    hash = "sha256-LXCTrZEDnFTJpqVH+gnG9HaV1wcvTFsVv2tAWabWYmg=";
+  };
+
+  modRoot = "cmd/lxd-to-incus";
+
+  vendorHash = "sha256-Kk5sx8UYuip/qik5ez/pxi+DmzjkPIHNYUHVvBm9f9g=";
+
+  # required for go-cowsql.
+  CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)";
+
+  passthru = {
+    updateScript = gitUpdater {
+      rev-prefix = "incus-";
+    };
+  };
+
+  meta = {
+    description = "LXD to Incus migration tool";
+    homepage = "https://linuxcontainers.org/incus";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ adamcstephens ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ne/netclient/package.nix b/pkgs/by-name/ne/netclient/package.nix
new file mode 100644
index 0000000000000..33d72747be66d
--- /dev/null
+++ b/pkgs/by-name/ne/netclient/package.nix
@@ -0,0 +1,34 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, libX11
+, stdenv
+, darwin
+}:
+
+buildGoModule rec {
+  pname = "netclient";
+  version = "0.21.0";
+
+  src = fetchFromGitHub {
+    owner = "gravitl";
+    repo = "netclient";
+    rev = "v${version}";
+    hash = "sha256-68/BmVoAFaIg4vgjzhedSBqm6H9VDu3M7JemfPEcpjQ=";
+  };
+
+  vendorHash = "sha256-CsW4tW6+INw93A7uXtHeVnxRrE5unHXhm2SOmQkJwYA=";
+
+  buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional stdenv.isLinux libX11;
+
+  hardeningEnabled = [ "pie" ];
+
+  meta = with lib; {
+    description = "Automated WireGuard® Management Client";
+    homepage = "https://netmaker.io";
+    changelog = "https://github.com/gravitl/netclient/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wexder ];
+  };
+}
diff --git a/pkgs/by-name/nf/nfft/package.nix b/pkgs/by-name/nf/nfft/package.nix
new file mode 100644
index 0000000000000..86acd30d5da8e
--- /dev/null
+++ b/pkgs/by-name/nf/nfft/package.nix
@@ -0,0 +1,52 @@
+{ autoconf
+, automake
+, cunit
+, fetchFromGitHub
+, fftw
+, lib
+, libtool
+, llvmPackages
+, stdenv
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nfft";
+  version = "3.5.3";
+
+  src = fetchFromGitHub {
+    owner = "NFFT";
+    repo = "nfft";
+    rev = finalAttrs.version;
+    hash = "sha256-HR8ME9PVC+RAv1GIgV2vK6eLU8Wk28+rSzbutThBv3w=";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    cunit
+    libtool
+  ];
+
+  preConfigure = ''
+    bash bootstrap.sh
+  '';
+
+  configureFlags = [
+    "--enable-all"
+    "--enable-openmp"
+    "--enable-portable-binary"
+  ];
+
+  buildInputs = lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ];
+
+  propagatedBuildInputs = [ fftw ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Nonequispaced fast Fourier transform";
+    homepage = "https://www-user.tu-chemnitz.de/~potts/nfft/";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ hmenke ];
+  };
+})
diff --git a/pkgs/by-name/po/poethepoet/package.nix b/pkgs/by-name/po/poethepoet/package.nix
index 7505fb4531d59..be4dc7159a3e1 100644
--- a/pkgs/by-name/po/poethepoet/package.nix
+++ b/pkgs/by-name/po/poethepoet/package.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "poethepoet";
-  version = "0.24.0";
+  version = "0.24.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nat-n";
     repo = "poethepoet";
     rev = "v${version}";
-    hash = "sha256-fW457R8DvkHdgNcPatEf1nJNjMYTmliiRHrYyAAoZuo=";
+    hash = "sha256-cIIMwQF0jqGQhNyX2qDBeKZlUNvdC6sBTv5LCxk8MMQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch b/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch
new file mode 100644
index 0000000000000..ddfec9b22e14a
--- /dev/null
+++ b/pkgs/by-name/ra/raft-cowsql/disable-missing-dir-test.patch
@@ -0,0 +1,23 @@
+diff --git a/test/unit/test_uv_fs.c b/test/unit/test_uv_fs.c
+index 638c39c..c8758d2 100644
+--- a/test/unit/test_uv_fs.c
++++ b/test/unit/test_uv_fs.c
+@@ -40,18 +40,6 @@ TEST(UvFsCheckDir, exists, DirSetUp, DirTearDown, 0, NULL)
+     return MUNIT_OK;
+ }
+ 
+-/* If the directory doesn't exist, it an error is returned. */
+-TEST(UvFsCheckDir, doesNotExist, DirSetUp, DirTearDown, 0, NULL)
+-{
+-    const char *parent = data;
+-    char errmsg[RAFT_ERRMSG_BUF_SIZE];
+-    char dir[128];
+-    sprintf(errmsg, "%s/sub", parent);
+-    sprintf(errmsg, "directory '%s' does not exist", dir);
+-    CHECK_DIR_ERROR(dir, RAFT_NOTFOUND, errmsg);
+-    return MUNIT_OK;
+-}
+-
+ /* If the process can't access the directory, an error is returned. */
+ TEST(UvFsCheckDir, permissionDenied, NULL, NULL, 0, NULL)
+ {
diff --git a/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch b/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch
new file mode 100644
index 0000000000000..7c8be29feafd3
--- /dev/null
+++ b/pkgs/by-name/ra/raft-cowsql/disable-net-tests.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile.am b/Makefile.am
+index 2137932..93abdb6 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -198,11 +198,7 @@ test_integration_uv_SOURCES = \
+   test/integration/test_uv_bootstrap.c \
+   test/integration/test_uv_load.c \
+   test/integration/test_uv_recover.c \
+-  test/integration/test_uv_recv.c \
+-  test/integration/test_uv_send.c \
+   test/integration/test_uv_set_term.c \
+-  test/integration/test_uv_tcp_connect.c \
+-  test/integration/test_uv_tcp_listen.c \
+   test/integration/test_uv_snapshot_put.c \
+   test/integration/test_uv_truncate.c \
+   test/integration/test_uv_work.c
diff --git a/pkgs/by-name/ra/raft-cowsql/package.nix b/pkgs/by-name/ra/raft-cowsql/package.nix
new file mode 100644
index 0000000000000..34c7d72726d7b
--- /dev/null
+++ b/pkgs/by-name/ra/raft-cowsql/package.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libuv
+, lz4
+, pkg-config
+, incus
+, gitUpdater
+}:
+
+stdenv.mkDerivation rec {
+  pname = "raft-cowsql";
+  version = "0.17.3";
+
+  src = fetchFromGitHub {
+    owner = "cowsql";
+    repo = "raft";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Ad09giGVsAVtm/0GRU/OaZx7BGjL5TlU8BrzFaFlE9k=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libuv lz4 ];
+
+  enableParallelBuilding = true;
+
+  patches = [
+    # network tests either hang indefinitely, or fail outright
+    ./disable-net-tests.patch
+
+    # missing dir check is flaky
+    ./disable-missing-dir-test.patch
+  ];
+
+  preConfigure = ''
+    substituteInPlace configure --replace /usr/bin/ " "
+  '';
+
+  doCheck = true;
+
+  outputs = [ "dev" "out" ];
+
+  passthru.tests = {
+    inherit incus;
+    updateScript = gitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "Asynchronous C implementation of the Raft consensus protocol";
+    homepage = "https://github.com/cowsql/raft";
+    license = licenses.lgpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ adamcstephens ];
+  };
+}
diff --git a/pkgs/by-name/re/regols/package.nix b/pkgs/by-name/re/regols/package.nix
new file mode 100644
index 0000000000000..3b62c387d40f8
--- /dev/null
+++ b/pkgs/by-name/re/regols/package.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "regols";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "kitagry";
+    repo = "regols";
+    rev = "v${version}";
+    hash = "sha256-2ZwmIlv3kJ26p15t7NvB9sX2GO+B3ypeNl50b7XA0Iw=";
+  };
+
+  vendorHash = "sha256-N6gtkZSNLXz3B961grM3xHzm7x4/kzcLkDOgiFLGp8U=";
+
+  meta = with lib; {
+    description = "OPA Rego language server";
+    homepage = "https://github.com/kitagry/regols";
+    license = licenses.mit;
+    maintainers = with maintainers; [ alias-dev ];
+  };
+}
diff --git a/pkgs/by-name/ri/rimgo/package.nix b/pkgs/by-name/ri/rimgo/package.nix
new file mode 100644
index 0000000000000..1f8ca9b8459d2
--- /dev/null
+++ b/pkgs/by-name/ri/rimgo/package.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  fetchFromGitea,
+  buildGoModule,
+  tailwindcss,
+}:
+buildGoModule rec {
+  pname = "rimgo";
+  version = "1.2.0";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "rimgo";
+    repo = "rimgo";
+    rev = "v${version}";
+    hash = "sha256-C878ABs978viVtIuv3fPn2F2anOg2GB/+f5jaCO13tc=";
+  };
+
+  vendorHash = "sha256-u5N7aI9RIQ3EmiyHv0qhMcKkvmpp+5G7xbzdQcbhybs=";
+
+  nativeBuildInputs = [ tailwindcss ];
+
+  preBuild = ''
+    tailwindcss -i static/tailwind.css -o static/app.css -m
+  '';
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X codeberg.org/rimgo/rimgo/pages.VersionInfo=${version}"
+  ];
+
+  meta = with lib; {
+    description = "An alternative frontend for Imgur";
+    homepage = "https://codeberg.org/rimgo/rimgo";
+    license = licenses.agpl3Only;
+    mainProgram = "rimgo";
+    maintainers = with maintainers; [ quantenzitrone ];
+  };
+}
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/by-name/sc/scdoc/package.nix
index 7ab2a82ed320f..3d8d759a769a9 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/by-name/sc/scdoc/package.nix
@@ -6,20 +6,20 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "scdoc";
-  version = "1.11.2";
+  version = "1.11.2-unstable-2023-03-08";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "scdoc";
-    rev = finalAttrs.version;
-    hash = "sha256-2NVC+1in1Yt6/XGcHXP+V4AAz8xW/hSq9ctF/Frdgh0=";
+    rev = "afeda241f3f9b2c27e461f32d9c2a704ab82ef61";
+    hash = "sha256-jIYygjUXP/6o5d9drlZjdr25KjEQx8oy4TaQwQEu8fM=";
   };
 
   outputs = [ "out" "man" "dev" ];
 
   postPatch = ''
     substituteInPlace Makefile \
-      --replace "-static" ""
+      --replace "LDFLAGS+=-static" "LDFLAGS+="
   '';
 
   makeFlags = [
@@ -33,10 +33,10 @@ stdenv.mkDerivation (finalAttrs: {
   meta = {
     description = "A simple man page generator written in C99 for POSIX systems";
     homepage = "https://git.sr.ht/~sircmpwn/scdoc";
-    changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.version}";
+    changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.src.rev}";
     license = lib.licenses.mit;
+    mainProgram = "scdoc";
     maintainers = with lib.maintainers; [ primeos AndersonTorres ];
     platforms = lib.platforms.unix;
-    mainProgram = "scdoc";
   };
 })
diff --git a/pkgs/servers/web-apps/searxng/default.nix b/pkgs/by-name/se/searxng/package.nix
index 37fd2317bb7ca..db5c9f6b34191 100644
--- a/pkgs/servers/web-apps/searxng/default.nix
+++ b/pkgs/by-name/se/searxng/package.nix
@@ -3,15 +3,15 @@
 , fetchFromGitHub
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3.pkgs.toPythonModule (python3.pkgs.buildPythonApplication rec {
   pname = "searxng";
-  version = "unstable-2023-07-19";
+  version = "unstable-2023-10-01";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "a446dea1bb492eac417de9a900fae7cdf94aeec0";
-    sha256 = "sha256-iZDaKCkDlp3O3IixWdXVykNRIxas+irG0dWAOU4wycI=";
+    rev = "d56b31d67473e0970bc457469b0cbec2e35f8b10";
+    hash = "sha256-/lMjL2dl7UVYRjafFKmV3XsIH6QehUWCozCuBuxFgpQ=";
   };
 
   postPatch = ''
@@ -73,6 +73,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/searxng/searxng";
     description = "A fork of Searx, a privacy-respecting, hackable metasearch engine";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 _999eagle ];
   };
-}
+})
diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix
index adbe013805ea4..c89935687b9a2 100644
--- a/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/pkgs/by-name/sh/shopware-cli/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.3.4";
+  version = "0.3.5";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-1lOcr3XiQCh1T07iYRlGwMzsmQx1QYgkrStWlUM1XCo=";
+    hash = "sha256-xjeko2aFnz3vjQqqn/VimYGg9lZaz5trDX5HC8a+XgE=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   nativeCheckInputs = [ git dart-sass ];
 
-  vendorHash = "sha256-j133hlcfRKTkIcNdZQmGn5yiWfKHp/5UVwLAs1njNdM=";
+  vendorHash = "sha256-QZ/zU67oUW75T8DOzjQwmEAr6gjIg/6ZO4Vm/47Lc40=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/by-name/si/sirius/package.nix b/pkgs/by-name/si/sirius/package.nix
new file mode 100644
index 0000000000000..2af3c28de9221
--- /dev/null
+++ b/pkgs/by-name/si/sirius/package.nix
@@ -0,0 +1,118 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, mpi
+, mpiCheckPhaseHook
+, openssh
+, gfortran
+, blas
+, lapack
+, gsl
+, libxc
+, hdf5
+, spglib
+, spfft
+, spla
+, costa
+, scalapack
+, boost
+, eigen
+, libvdwxc
+, llvmPackages
+, gpuBackend ? "none"
+, cudaPackages
+, rocmPackages
+}:
+
+assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
+
+stdenv.mkDerivation rec {
+  pname = "SIRIUS";
+  version = "7.4.3";
+
+  src = fetchFromGitHub {
+    owner = "electronic-structure";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-s4rO+dePvtvn41wxCvbqgQGrEckWmfng7sPX2M8OPB0=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/gpu/acc_blas_api.hpp \
+      --replace '#include <rocblas.h>' '#include <rocblas/rocblas.h>'
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    gfortran
+    pkg-config
+  ];
+
+  buildInputs = [
+    blas
+    lapack
+    gsl
+    libxc
+    hdf5
+    spglib
+    spfft
+    spla
+    costa
+    scalapack
+    boost
+    eigen
+    libvdwxc
+  ]
+  ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
+  ++ lib.optionals (gpuBackend == "rocm") [
+    rocmPackages.clr
+    rocmPackages.rocblas
+  ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
+  ;
+
+  propagatedBuildInputs = [ mpi ];
+
+  cmakeFlags = [
+    "-DUSE_SCALAPACK=ON"
+    "-DBUILD_TESTING=ON"
+    "-DUSE_VDWXC=ON"
+    "-DCREATE_FORTRAN_BINDINGS=ON"
+    "-DUSE_OPENMP=ON"
+    "-DBUILD_TESTING=ON"
+  ]
+  ++ lib.optionals (gpuBackend == "cuda") [
+    "-DUSE_CUDA=ON"
+    "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}"
+  ]
+  ++ lib.optionals (gpuBackend == "rocm") [
+    "-DUSE_ROCM=ON"
+    "-DHIP_ROOT_DIR=${rocmPackages.clr}"
+  ];
+
+  doCheck = true;
+
+  # Can not run parallel checks generally as it requires exactly multiples of 4 MPI ranks
+  checkPhase = ''
+    runHook preCheck
+
+    ctest --output-on-failure --label-exclude integration_test
+    ctest --output-on-failure -L cpu_serial
+
+    runHook postCheck
+  '';
+
+  nativeCheckInputs = [
+    mpiCheckPhaseHook
+    openssh
+  ];
+
+  meta = with lib; {
+    description = "Domain specific library for electronic structure calculations";
+    homepage = "https://github.com/electronic-structure/SIRIUS";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/by-name/sp/spfft/package.nix b/pkgs/by-name/sp/spfft/package.nix
new file mode 100644
index 0000000000000..72ae473d14a5f
--- /dev/null
+++ b/pkgs/by-name/sp/spfft/package.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fftw
+, cmake
+, mpi
+, gfortran
+, llvmPackages
+, gpuBackend ? "none"
+, cudaPackages
+, rocmPackages
+}:
+
+assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
+
+stdenv.mkDerivation rec {
+  pname = "SpFFT";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "eth-cscs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-70fPbIYbW50CoMdRS93hZKSbMEIQvZGFNE+eiRvuw0o=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    gfortran
+  ];
+
+  buildInputs = [
+    fftw
+  ]
+  ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
+  ++ lib.optionals (gpuBackend == "rocm") [
+    rocmPackages.clr
+    rocmPackages.rocfft
+    rocmPackages.hipfft
+  ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
+  ;
+
+  propagatedBuildInputs = [ mpi ];
+
+  cmakeFlags = [
+    "-DSPFFT_OMP=ON"
+    "-DSPFFT_MPI=ON"
+    "-DSPFFT_SINGLE_PRECISION=OFF"
+    "-DSPFFT_FORTRAN=ON"
+    # Required due to broken CMake files
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ]
+  ++ lib.optional (gpuBackend == "cuda") "-DSPFFT_GPU_BACKEND=CUDA"
+  ++ lib.optionals (gpuBackend == "rocm") [
+    "-DSPFFT_GPU_BACKEND=ROCM"
+    "-DHIP_ROOT_DIR=${rocmPackages.clr}"
+  ];
+
+
+  meta = with lib; {
+    description = "Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support";
+    homepage = "https://github.com/eth-cscs/SpFFT";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.sheepforce ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/sp/spla/package.nix b/pkgs/by-name/sp/spla/package.nix
new file mode 100644
index 0000000000000..1f8abde4b7230
--- /dev/null
+++ b/pkgs/by-name/sp/spla/package.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, mpi
+, blas
+, gfortran
+, llvmPackages
+, gpuBackend ? "none"
+, cudaPackages
+, rocmPackages
+}:
+
+assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
+
+stdenv.mkDerivation rec {
+  pname = "spla";
+  version = "1.5.5";
+
+  src = fetchFromGitHub {
+    owner = "eth-cscs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-71QpwTsRogH+6Bik9DKwezl9SqwoLxQt4SZ7zw5X6DE=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/gpu_util/gpu_blas_api.hpp \
+      --replace '#include <rocblas.h>' '#include <rocblas/rocblas.h>'
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    gfortran
+  ];
+
+  buildInputs = [
+    blas
+  ]
+  ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
+  ++ lib.optionals (gpuBackend == "rocm") [
+    rocmPackages.clr
+    rocmPackages.rocblas
+  ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp
+  ;
+
+  propagatedBuildInputs = [ mpi ];
+
+  cmakeFlags = [
+    "-DSPLA_OMP=ON"
+    "-DSPLA_FORTRAN=ON"
+    "-DSPLA_INSTALL=ON"
+    # Required due to broken CMake files
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ]
+  ++ lib.optional (gpuBackend == "cuda") "-DSPLA_GPU_BACKEND=CUDA"
+  ++ lib.optional (gpuBackend == "rocm") [ "-DSPLA_GPU_BACKEND=ROCM" ]
+  ;
+
+  meta = with lib; {
+    description = "Specialized Parallel Linear Algebra, providing distributed GEMM functionality for specific matrix distributions with optional GPU acceleration";
+    homepage = "https://github.com/eth-cscs/spla";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.sheepforce ];#
+  };
+}
diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix
new file mode 100644
index 0000000000000..0c2f34cf5fee9
--- /dev/null
+++ b/pkgs/by-name/su/supersonic/package.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, pkg-config
+, xorg
+, libglvnd
+, mpv
+, glfw3
+, waylandSupport ? false
+}:
+
+buildGoModule rec {
+  pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "dweymouth";
+    repo = "supersonic";
+    rev = "v${version}";
+    hash = "sha256-4SLAUqLMoUxTSi4I/QeHqudO62Gmhpm1XbCGf+3rPlc=";
+  };
+
+  vendorHash = "sha256-6Yp5OoybFpoBuIKodbwnyX3crLCl8hJ2r4plzo0plsY=";
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    pkg-config
+  ];
+
+  # go-glfw doesn't support both X11 and Wayland in single build
+  tags = lib.optionals waylandSupport [ "wayland" ];
+
+  buildInputs = [
+    libglvnd
+    mpv
+    xorg.libXxf86vm
+    xorg.libX11
+  ] ++ (glfw3.override { inherit waylandSupport; }).buildInputs;
+
+  postInstall = ''
+    for dimension in 128 256 512;do
+        dimensions=''${dimension}x''${dimension}
+        mkdir -p $out/share/icons/hicolor/$dimensions/apps
+        cp res/appicon-$dimension.png $out/share/icons/hicolor/$dimensions/apps/${meta.mainProgram}.png
+    done
+  '' + lib.optionalString waylandSupport ''
+    mv $out/bin/supersonic $out/bin/${meta.mainProgram}
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = meta.mainProgram;
+      exec = meta.mainProgram;
+      icon = meta.mainProgram;
+      desktopName = "Supersonic" + lib.optionalString waylandSupport " (Wayland)";
+      genericName = "Subsonic Client";
+      comment = meta.description;
+      type = "Application";
+      categories = [ "Audio" "AudioVideo" ];
+    })
+  ];
+
+  meta = with lib; {
+    mainProgram = "supersonic" + lib.optionalString waylandSupport "-wayland";
+    description = "A lightweight cross-platform desktop client for Subsonic music servers";
+    homepage = "https://github.com/dweymouth/supersonic";
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ zane sochotnicky ];
+  };
+}
diff --git a/pkgs/by-name/tr/trealla/package.nix b/pkgs/by-name/tr/trealla/package.nix
index 7adbe87e9bec3..1a9d5569f2351 100644
--- a/pkgs/by-name/tr/trealla/package.nix
+++ b/pkgs/by-name/tr/trealla/package.nix
@@ -17,13 +17,13 @@
 assert lib.elem lineEditingLibrary [ "isocline" "readline" ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "trealla";
-  version = "2.28.1";
+  version = "2.28.12";
 
   src = fetchFromGitHub {
     owner = "trealla-prolog";
     repo = "trealla";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-Wy4FPvBQY2CvpR9QiFbI1wI2ztUAc1XvaOGaGH7SkKs=";
+    hash = "sha256-uWCpCjYFtK2pNeHHZWhWI6YZ+cllQpkKz//nHracl5s=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ud/udev-gothic-nf/package.nix b/pkgs/by-name/ud/udev-gothic-nf/package.nix
new file mode 100644
index 0000000000000..5a993276cad17
--- /dev/null
+++ b/pkgs/by-name/ud/udev-gothic-nf/package.nix
@@ -0,0 +1,25 @@
+{ lib, stdenvNoCC, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "udev-gothic-nf";
+  version = "1.3.1";
+
+  src = fetchzip {
+    url = "https://github.com/yuru7/udev-gothic/releases/download/v${version}/UDEVGothic_NF_v${version}.zip";
+    hash = "sha256-4392vZX5CWg+tEpti1N+WQSx4ES5ZXoSiow6ufxqmsY=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm644 *.ttf -t $out/share/fonts/${pname}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A programming font that combines BIZ UD Gothic, JetBrains Mono and nerd-fonts";
+    homepage = "https://github.com/yuru7/udev-gothic";
+    license = licenses.ofl;
+    maintainers = with maintainers; [ haruki7049 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/ud/udev-gothic/package.nix b/pkgs/by-name/ud/udev-gothic/package.nix
new file mode 100644
index 0000000000000..ef50de5d6000d
--- /dev/null
+++ b/pkgs/by-name/ud/udev-gothic/package.nix
@@ -0,0 +1,25 @@
+{ lib, stdenvNoCC, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "udev-gothic";
+  version = "1.3.1";
+
+  src = fetchzip {
+    url = "https://github.com/yuru7/udev-gothic/releases/download/v${version}/UDEVGothic_v${version}.zip";
+    hash = "sha256-W1ekR3fWuS/ks1reCBAvZ5lR+aGh9qfaxn80Q2KlRM0=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm644 *.ttf -t $out/share/fonts/${pname}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A programming font that combines BIZ UD Gothic and JetBrains Mono";
+    homepage = "https://github.com/yuru7/udev-gothic";
+    license = licenses.ofl;
+    maintainers = with maintainers; [ haruki7049 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index 9f405a88f7ea6..cb8137b38f51b 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -1,25 +1,29 @@
-{
-  lib,
-  stdenv,
-  rustPlatform,
-  fetchFromGitHub,
-  audioSupport ? true,
-  darwin,
-  alsa-lib,
-  pkg-config
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, audioSupport ? true
+, darwin
+, alsa-lib
+
+# passthru.tests.run
+, runCommand
+, uiua
 }:
-rustPlatform.buildRustPackage {
+
+rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "unstable-2023-09-28";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
-    rev = "9b8c65332396f521f170b0ed3ce104b7a8bcf7c0";
-    hash = "sha256-+pleCEEwgRj+p+k9oKIvbsGUWC49qByV/juv76ZdBcc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-EXOBEvUAS0jCj9BAmy63dh0Dy30VOW0PBdsoa/2Jcx0=";
   };
 
-  cargoHash = "sha256-L8TCMe6eHS3QRy6HuTc1WvMfzsDhKx9YYupAkNeBwpk=";
+  cargoHash = "sha256-8Cbks0oo8fgWj9Lxp0bwydYXkJD+fz3y+dZ7ne+RXdU=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
@@ -37,7 +41,11 @@ rustPlatform.buildRustPackage {
 
   buildFeatures = lib.optional audioSupport "audio";
 
-  doCheck = true;
+  passthru.tests.run = runCommand "uiua-test-run" {nativeBuildInputs = [uiua];} ''
+    uiua init;
+    diff -U3 --color=auto <(uiua run main.ua) <(echo '"Hello, World!"')
+    touch $out;
+  '';
 
   meta = with lib; {
     description = "A stack-oriented array programming language with a focus on simplicity, beauty, and tacit code";
@@ -49,6 +57,6 @@ rustPlatform.buildRustPackage {
     homepage = "https://www.uiua.org/";
     license = licenses.mit;
     mainProgram = "uiua";
-    maintainers = with maintainers; [ cafkafk ];
+    maintainers = with maintainers; [ cafkafk tomasajt ];
   };
 }
diff --git a/pkgs/by-name/wa/waycheck/package.nix b/pkgs/by-name/wa/waycheck/package.nix
new file mode 100644
index 0000000000000..b736f0c20edc0
--- /dev/null
+++ b/pkgs/by-name/wa/waycheck/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, qt6
+, wayland
+, glib
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "waycheck";
+  version = "0.1.3";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "serebit";
+    repo = "waycheck";
+    rev = "v${version}";
+    hash = "sha256-DbXc1Q/ZIqlIMocFld3fOmUp44rU3fEzazHKSDdqMNs=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    qt6.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    wayland
+    qt6.qtwayland
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  preInstall = ''
+    substituteInPlace ../scripts/mesonPostInstall.sh \
+      --replace "update-desktop-database -q" "update-desktop-database $out/share/applications"
+  '';
+
+  meta = with lib; {
+    description = "Simple GUI that displays the protocols implemented by a Wayland compositor";
+    homepage = "https://gitlab.freedesktop.org/serebit/waycheck";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ julienmalka ];
+    mainProgram = "waycheck";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/text/xml/xmldiff/default.nix b/pkgs/by-name/xm/xmldiff/package.nix
index d9dbd70b6483c..05911ad2acd15 100644
--- a/pkgs/tools/text/xml/xmldiff/default.nix
+++ b/pkgs/by-name/xm/xmldiff/package.nix
@@ -1,29 +1,27 @@
 { lib
-, buildPythonApplication
+, python3
 , fetchFromGitHub
-, lxml
-, setuptools
-, six
 }:
 
-buildPythonApplication rec {
-  pname = "xmldiff";
-  version = "2.4";
-
+let
+  version = "2.6.3";
   src = fetchFromGitHub {
     owner = "Shoobx";
-    repo = pname;
+    repo = "xmldiff";
     rev = version;
-    hash = "sha256-xqudHYfwOce2C0pcFzId0JDIIC6R5bllmVKsH+CvTdE=";
+    hash = "sha256-qn8gGultTSNKPUro6Ap4xJGcbpxV+lKgZFpKvyPdhtc=";
   };
+in
+python3.pkgs.buildPythonApplication {
+  pname = "xmldiff";
+  inherit version src;
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     lxml
     setuptools
-    six
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "https://xmldiff.readthedocs.io/en/stable/";
     description = "A library and command line utility for diffing xml";
     longDescription = ''
@@ -37,7 +35,7 @@ buildPythonApplication rec {
       would not be be readable by a human. xmldiff provides tools to make human
       readable diffs in those situations.
     '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres anpryl ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ AndersonTorres anpryl ];
   };
 }
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index dc7d132884c4e..fa1787d8f7fc8 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "27.0.1";
+  version = "27.2.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
@@ -33,7 +33,6 @@ in stdenv.mkDerivation rec {
   meta = {
     inherit (iosevka.meta) homepage downloadPage description license platforms;
     maintainers = with lib.maintainers; [
-      cstrahan
       montchr
     ];
   };
diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix
index fbe2f9533bac9..fb788b2876356 100644
--- a/pkgs/data/fonts/iosevka/comfy.nix
+++ b/pkgs/data/fonts/iosevka/comfy.nix
@@ -1,4 +1,4 @@
-{ lib, iosevka, fetchFromSourcehut, fetchFromGitHub, buildNpmPackage }:
+{ lib, iosevka, fetchFromGitHub, buildNpmPackage }:
 
 let
   sets = [
@@ -20,17 +20,17 @@ let
     "comfy-wide-motion-fixed" # Slab   | Wide    | Monospaced | No        |
     "comfy-wide-motion-duo"   # Slab   | Wide    | Duospaced  | Yes       |
   ];
-  version = "1.3.0";
-  src = fetchFromSourcehut {
-    owner = "~protesilaos";
+  version = "1.4.0";
+  src = fetchFromGitHub {
+    owner = "protesilaos";
     repo = "iosevka-comfy";
     rev = version;
-    sha256 = "sha256-ajzUbobNf+Je8ls9htOCLPsB0OPSiqZzrc8bO6hQvio=";
+    sha256 = "sha256-kfEEJ6F1/dsG9CSLWcr0QOOnQxHPgPgb4QhgFrHTklE=";
   };
   privateBuildPlan = src.outPath + "/private-build-plans.toml";
   makeIosevkaFont = set:
     let superBuildNpmPackage = buildNpmPackage; in
-    (iosevka.override rec {
+    (iosevka.override {
       inherit set privateBuildPlan;
       buildNpmPackage = args: superBuildNpmPackage
         (args // {
@@ -39,11 +39,11 @@ let
           src = fetchFromGitHub {
             owner = "be5invis";
             repo = "iosevka";
-            rev = "7ef24b8d87fe50793444f9f84b140767f7e47029";
-            hash = "sha256-RVBgJVMNyxV1KeNniwySsJUOmLDh6sFZju8szvzKlH4=";
+            rev = "f6e57fbf0b1242ad3069d45c815d79b9d68871a2";
+            hash = "sha256-cS3SCKzUjVXF+n0Rt5eBLzieATB7W+hwEbzh6OQrMo4=";
           };
 
-          npmDepsHash = "sha256-yogUBf+yfjfK8DE4gGgoGaTaYZagW8R1pCn7y0rEPt4=";
+          npmDepsHash = "sha256-c+ltdh5e3+idclYfqp0Xh9IUwoj7XYP1uzJG6+a5gFU=";
 
           meta = with lib; {
             inherit (src.meta) homepage;
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 8e33e721f9718..8630b13db7ac9 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
   pname = if set != null then "iosevka-${set}" else "iosevka";
-  version = "27.1.0";
+  version = "27.2.0";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-KXF+ePMEwEUh0fs0cOELRmxOp9hHibDLfRdbffLcZDs=";
+    hash = "sha256-jRUwXnsYzM4BH+tEM6xuoB3/MFqbnR0deT3Slgkemvs=";
   };
 
-  npmDepsHash = "sha256-NfR7OUVguMZVmeumf8oRaQK28G42zy6p6K+Hx4e1Kgw=";
+  npmDepsHash = "sha256-6ikjJScy6iL8lZ9eE2JBz7+egRCNli4XC9hnEalX408=";
 
   nativeBuildInputs = [
     remarshal
@@ -136,7 +136,6 @@ buildNpmPackage rec {
     license = licenses.ofl;
     platforms = platforms.all;
     maintainers = with maintainers; [
-      cstrahan
       jfrankenau
       ttuegel
       babariviere
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 6b3d3d53c82d8..0094fc3e6fe14 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "131bxglkns15zan0xzk8k781458ig34jijzp0k27wdpw8dgblykh";
-  iosevka-aile = "0xyxjj3kr0sb8s40kl1lyzmkd18w2m4qnarfbrssxcbafgs6hd3f";
-  iosevka-curly = "0vgmynf2d2b0vxvksgsiss02was60zb7bavrffddh3fklrarkil8";
-  iosevka-curly-slab = "1gg95wccw82v7xdgibajmf312lw1c8bdpk3jl1vvp4xmig06gnfs";
-  iosevka-etoile = "1k928f9mj1fyjwxmn5iddb0p067mji408va96hcm7wy396gmh40j";
-  iosevka-slab = "06kl8y0jpbirdpx7ga09icdsjp9x3hm1552h5sq4wgy8m2prlvja";
-  iosevka-ss01 = "18dywa48mhfzaf3y4vq8509fk9sff1w7ddda6ldglvba15qj56q8";
-  iosevka-ss02 = "0f1iqbvdrdvlk6z0mykm1f095jljni9xkbkc5pnxz5ahv6lxmx6g";
-  iosevka-ss03 = "0bd50by3zlbph859g2fw5ly4lv8ywv4x1qmf1ja5ay02g5b41ail";
-  iosevka-ss04 = "0gxfma9fl6q49i6ymk84a7pz4r4wnik0ixccx478i2pdbbmyvads";
-  iosevka-ss05 = "0ms52v7y5sj579hghj8gc9rl736lpymslpbs3lfkx5p26kxwk3ny";
-  iosevka-ss06 = "0qky2yplvfln3nhclbfzdl6hn0pyjra43by8pwqzx43ai87sz4rl";
-  iosevka-ss07 = "17d0m773plnd3v8sj5j9sb5mb9qnqjnii43r0md8f0iwa3icp406";
-  iosevka-ss08 = "1rx7jv8hhy55gajx4y2741zbrl212qgx7lslgd8y924gxspkfaxq";
-  iosevka-ss09 = "1mz4sc7qn3nmq7l7cm3lh0i1pysqzns8pmqa9a7l6c8llzk8n9xa";
-  iosevka-ss10 = "1z5wa5ja205z3zyw1jdw9l59fzvfw1bifvqn9qxlnbjrkrn5kdsf";
-  iosevka-ss11 = "1lhw4ynk3wxp7bl4w2hg4vydj4y64nhi5cxn8mvamv9j7qqjyfdm";
-  iosevka-ss12 = "1gya74qfzql3y2j820yihy5hhm9hqf7ip7qnv9mhdymwzpc5swb2";
-  iosevka-ss13 = "0rr3nwwwvwh9q6fpkzxlxxw21gp8zsd611kx9m5igb6yx6wmm9z7";
-  iosevka-ss14 = "0p7wha20va30834z2y55s89g00z19587bbv7z6id64lvdwyki3fk";
-  iosevka-ss15 = "1bq707bkp5zyhjwdzadv9aaf8xnnxlzrqircgm56xbdc6j1y3zj2";
-  iosevka-ss16 = "03pb7hr5ncvlsmg48xasycsmcqwwy831xq7f747pzn0pvfbpzbcm";
-  iosevka-ss17 = "1scbnvd6wj9cm6ahxw5qa4cnq6ld118kmlzmd73fqram3l9m3w06";
-  iosevka-ss18 = "0xq9cypwdpg13s7swvhhiazkw8fpsf85c8salbg4wp8j1lq6lcrm";
-  sgr-iosevka = "1ha7n2liqkxlwiaz5r1zxv5ivchiyqrlahwd7w90w1z5sqwzmy3p";
-  sgr-iosevka-aile = "0cp9nj3z9kc3fax1z0zrv3x725pl2m5w7sfz0idpfaiwa0593n10";
-  sgr-iosevka-curly = "1lygvbjrg8lzbrqx7yznpc89r37farkk00dxnwjvc2v8r9796lv5";
-  sgr-iosevka-curly-slab = "0cz3wsldvsqyq3lxm579zimch118pr5cbvgyq6x4437nykk0jm9c";
-  sgr-iosevka-etoile = "0zxnpk0i8qkk8cq49sb2c6lr08j1y3pdj2560qcs7l64q4fzzr1v";
-  sgr-iosevka-fixed = "08ha4khxz8pskj051hjv3rvzlg6ry3gxwlc2q1ajf2j4viyw8245";
-  sgr-iosevka-fixed-curly = "1v4isscbgc6qya41znfnglply9rj7q6rmvn260r4rbj2hx99j5wy";
-  sgr-iosevka-fixed-curly-slab = "0smw0anc9rljarr4c4szvyjbd0ajj7pl001pi69cjpx0xb8zrcsz";
-  sgr-iosevka-fixed-slab = "0iffpdk35dkvczarn4y778k23rdicl0yr613w3z3alx1sajg02q4";
-  sgr-iosevka-fixed-ss01 = "056xmr3688lhpvbn2sqii1p8py6smkpar6jl5bls529cmd8zcfwi";
-  sgr-iosevka-fixed-ss02 = "0qrirgskr8xmcrbi3xvskb29xlq4sxhr67grin5m957nckqi257f";
-  sgr-iosevka-fixed-ss03 = "12hxqax5b02iswpwmfv1kp08gdcxjijsl3a6fwl2gm2ciwvhc4mj";
-  sgr-iosevka-fixed-ss04 = "0xlgxsrirkrwy0rrgiib5ahsqv9kcnfckcb02gkdn4w3bhlkydbr";
-  sgr-iosevka-fixed-ss05 = "1v2a97kw5zpw8q46v59jsmm7y4s4b1ksfk3kjnm92c8vbysmkm1z";
-  sgr-iosevka-fixed-ss06 = "1z3xb2jvgjg58kjipsvjkcc5pfsqs4pd86hvkjfbng2jjl0lvcjl";
-  sgr-iosevka-fixed-ss07 = "1g2fzzylj0g4bz9zrf9mj42h0wrwg27zdq0njgj78wp4fspmllrl";
-  sgr-iosevka-fixed-ss08 = "0qb8x8rxyq13yrv62hw7vx8bvl4nwdzdharxf6c34njsg0nafnw0";
-  sgr-iosevka-fixed-ss09 = "07dhlnh3ismw8ixdnw73xam0jji6kha5h10cqjl3jbqxlghdm873";
-  sgr-iosevka-fixed-ss10 = "0gas1ms88cd5fqajqa89vn87pnqlpy2kry418arwy9c3h5fpdw70";
-  sgr-iosevka-fixed-ss11 = "15zpzv45m5fc7vb2apz6jywc0ip0ykxzb16qdj8qf8j4rq0ajyw0";
-  sgr-iosevka-fixed-ss12 = "00pj11pkhkv72223mv0bhdj0qqv13ywc0gmdkfnmd9cbl0ml1yk8";
-  sgr-iosevka-fixed-ss13 = "1c6qffagjn3qy87gszh0cfm2xz3bnyz8gf4aqbpxyjg55abd1jx0";
-  sgr-iosevka-fixed-ss14 = "1pixg3sjaqc7m1nxcs5alczkk3axhscbgl3x599d5by02z7m1pxq";
-  sgr-iosevka-fixed-ss15 = "0x0k5i3pd4dhbkpb427lmayrvj6bbbr3gp262asckhcsq093wh7c";
-  sgr-iosevka-fixed-ss16 = "0rgv1cl5261bfhx50bkhz8276jbshzf8sz421nmz4qpmxzdalk1p";
-  sgr-iosevka-fixed-ss17 = "1g1w7zirrl9gjky8nbgbh9qjdq03r6sdh9hxcli1wz5qv09zwmh0";
-  sgr-iosevka-fixed-ss18 = "1igfnc9gl5wa06qaw3pisq4ppvd5nwzlh2f34r3xrzmiak9ljwlc";
-  sgr-iosevka-slab = "17mpfvcf4wa2kql8024pdmdf23qm17ch9cr6s1a2pgwf0hn2b3nh";
-  sgr-iosevka-ss01 = "14chhyysy66z01jq9j3d40765sz4d0v3ivzf319clv82q80gkm92";
-  sgr-iosevka-ss02 = "1c8wdcz0f8c9jdc0nyia60m785pblvcd62ag4d329dli8fp0c4kg";
-  sgr-iosevka-ss03 = "1jhl0pcwmvwkify2fdv5ml6l26106xnphxrqn11wsvg4dln3afjl";
-  sgr-iosevka-ss04 = "1wj5nbdnb3n5vfc3y41cwbqqxnhd7p2b55qd05ij85b5a9cgsflj";
-  sgr-iosevka-ss05 = "0zw7ryr7mf7c1njfin66yycg4lalrdvhdd4ycf031qj07v5py5cn";
-  sgr-iosevka-ss06 = "1ka2l4mk0ahn4alnlhyspifg2qnm7cb3ydmndy3q249aidp58bzs";
-  sgr-iosevka-ss07 = "085ghsjwysvzqpksj95x91yz0fyzc5pfj9lhpa8li0x2wjba2jsh";
-  sgr-iosevka-ss08 = "0054z74wk3wbaj3nqnkp7h6fj0zqggnhi21wwfpq52knk8ffc00s";
-  sgr-iosevka-ss09 = "0rbmhq7qix0v4ff8x9j6cgxnjfp80ck2gfww8a7k3nld9z4dn6v8";
-  sgr-iosevka-ss10 = "1ckaiqw677fi195ah496zhhs678bc4xzh31hhwsmvp92y7mfy5na";
-  sgr-iosevka-ss11 = "0zqv2qmvp07j430vbym6552zqky04dx2bnn66r40ndjsz96g8081";
-  sgr-iosevka-ss12 = "10srsjb10qwhm9hgzm56aq58wgy3r9nrcyrvj7jq1q32s5r7jv16";
-  sgr-iosevka-ss13 = "1aaikjri6xkhg6585r6079c41iqhdr94nlismk0zcdygy3ln6vbx";
-  sgr-iosevka-ss14 = "01p421bprrsrddc0f8yxgfg0db8gxs7zgass4p8smainq3zym7v7";
-  sgr-iosevka-ss15 = "0fping8ssj32rsacj7b8a13l0jcmmhznx0phv28x76hkcwagh674";
-  sgr-iosevka-ss16 = "1nzk6hf689v7s81qi1nb7vdg2xvd7v2gv2id9xgdjbfmf3bld10j";
-  sgr-iosevka-ss17 = "01cr9bw4cfyw7i4fim1xdcj5qn2l1dzccnakbqndycmnx4k1134v";
-  sgr-iosevka-ss18 = "10i5qv9ans24mjymq9jh7i3ygdkjvr38y0xc44sn7fb5l72miz1l";
-  sgr-iosevka-term = "02qaa9g0q1d66ha5391xm2vh24hr1vjqw6h6j05a9z2a0y712j71";
-  sgr-iosevka-term-curly = "1xjv9n7dimrsn0dcz9jz6p810bdx7bhcrwnh6m5mvxcf7bpj8341";
-  sgr-iosevka-term-curly-slab = "0sbj3s6ig6410092lsls7mq7h98cipmnabd1fcqxn6dszvhqq6q9";
-  sgr-iosevka-term-slab = "101m8cgjr6s8c42xas2dqyzbl44ab0y1s4cx1rqr8bgr5zxp3jsc";
-  sgr-iosevka-term-ss01 = "0b0i2gs1cv45b5ki8lgiclrly1sg2kh3r82gqbsh4scijv3md9m1";
-  sgr-iosevka-term-ss02 = "0vsldgiscl74jmj55mzqg5zz5pbg6f2fqksfyfyjdps5f584dqq7";
-  sgr-iosevka-term-ss03 = "10czljsmga2nvjix9lca84p271hx2i612984b2hbcz8cip4v2my6";
-  sgr-iosevka-term-ss04 = "06fwjgkqmhngnsljklxz2ab9dpr4sqhn8pxrkhhqka4r5srpn454";
-  sgr-iosevka-term-ss05 = "0lk1k89kjr7ld3bh8pcc8gagjgxv90bwgsgjmn7gqq7nj0kknh4j";
-  sgr-iosevka-term-ss06 = "1apfrkfxq8xbc8hry7x5l8bx87zv13asyw03hirrvzvqrl6q76lw";
-  sgr-iosevka-term-ss07 = "05rvnm17f7qgy4zq3chp12dqvdxwvfv7rld7axccyikqh3b63kn8";
-  sgr-iosevka-term-ss08 = "1y0n2dl6vknvpxhn5d2zsnjj2vgpd9saqs0kmvlbd7lpjsz8d7i0";
-  sgr-iosevka-term-ss09 = "0qkn7syk2wrk14nhwnkbbavsi518pi7qzppiq56y5z1l119dwhrg";
-  sgr-iosevka-term-ss10 = "04b78kk5mggb5xdpigkbkgvcl9q5v41mpx466isqwgxa3p6bp2b4";
-  sgr-iosevka-term-ss11 = "01wsf0qbybnw3bg7iy6yigamg31dhvl6k1gb8jsg4ylllpy7aip3";
-  sgr-iosevka-term-ss12 = "079sbibpsa3xvp8v0pdcacfpck4s01xkczbrbzpnrwiha4b5dqj4";
-  sgr-iosevka-term-ss13 = "1py76ly8wppb0q05mhv91q2x7slidwbbycm86q225yx8hgl0wjdi";
-  sgr-iosevka-term-ss14 = "0sq49yvl03w56dzxpzvfr18bah964g93fg42n31q5bbybmgykd8j";
-  sgr-iosevka-term-ss15 = "0x8kksl8k7zj0hh0fjlqmc5g2jwzdl8ylx6ljzdhfs6y9kdgf04r";
-  sgr-iosevka-term-ss16 = "1kh0m87j4nghgpixh213zs8b626yy5vbmjd4ng17jvvdj98faxzn";
-  sgr-iosevka-term-ss17 = "14rwlw0y8fv7ykyvxhpdhzycmi3j0zx3zrsvph61mnsk33p05vb9";
-  sgr-iosevka-term-ss18 = "19m3f6sgn8ivdhy7nagym6c0nwfd9yyqjdn6q6lxd8hp751jzlf9";
+  iosevka = "1jn883s4vvpfih31yxap2hg6xya9jfjnqa8f7iqkqyxxqrnx7zzm";
+  iosevka-aile = "1p2s5nslifmdbjbqqlk02kl0rvpmr5pkq71hr9xim2dqb11kmcdl";
+  iosevka-curly = "0rs7jmgpl1ki7b9i3l78fn63xbgd02wraixqb1yjc3lmxi9jbhxn";
+  iosevka-curly-slab = "09rf82w41fbw7pm1ak9vv1i9450h2ia7x434gn9czx01wnb3s2zb";
+  iosevka-etoile = "1621a74z378rz4l1gn9dr7fqqvnd1g7ipr5bw13qhwl5ljf170xs";
+  iosevka-slab = "06x3hbi05bzlaci7hr3wk8j92zn97i41bw8xjnj8sh63mla36w9p";
+  iosevka-ss01 = "1plp7lk9yzizfz9c5k4m51ynvp0zkz7r7vgx416rkwb3yh23fjpv";
+  iosevka-ss02 = "0zpl9a8nccnrywaxj61glj4x7ai1fas9x463xqpy38w686n0jjyn";
+  iosevka-ss03 = "1xrxvsj2ja9miwvgq7p6kxysn8858gk8qh2pp1bw1n67vppvhkp9";
+  iosevka-ss04 = "1y0ac2dq8xmrbw84nar2jsxbyf9nck8fxh3dbl8vhvpnbwan150w";
+  iosevka-ss05 = "1z722m5chr8jq24i7czph1qgkasah7y7i4wv2wv0n2j89mc2fbc2";
+  iosevka-ss06 = "1fzsj9389cah6zp23vlr375j107jxfabqxaa7iv1hjbw3fa2vmdk";
+  iosevka-ss07 = "18psmz6kfhdmpac408w1fsqfarahn60bypm8ci8y3gd8bk8js13c";
+  iosevka-ss08 = "0hjlrly98hd4w5l6cm361h4cyvkdrlf3bp1g6f438aip0bj2y94w";
+  iosevka-ss09 = "13jdlmamfbxnkqii6bkh0xm71fgqdvgnqs88dnq8pjyqhbl32sca";
+  iosevka-ss10 = "15ak510q6di9hsy2p8k7gkp5d1kzgrmk2m55zh90w5irbr5fmbjp";
+  iosevka-ss11 = "0x42pjik0iy2v11iq8i83wa88f6b6qymc3v2sih28rjhijxl7lsm";
+  iosevka-ss12 = "15s7imcm4w61555crah1pxzc9yn3zffkj13zk8zidgk6v7jzb6rs";
+  iosevka-ss13 = "1q3d3fyjsk6iwq1w6dv9rc7ivk021i3v2px574dfbqlswvb2sg86";
+  iosevka-ss14 = "0r1fkrcqcccx4zz9qgzgq9si8xcbn7y1f2821cjs6cbfaxmrkwmc";
+  iosevka-ss15 = "0vgwgkfnch5rn7kc9rblg1km4pzqwsglb31zqnx3rxhszm66j9q6";
+  iosevka-ss16 = "009whnydn5rb6dj06scnc3722y8sddsv4jl42r70x2zzra14qdgk";
+  iosevka-ss17 = "01j1gqrmlx3b6rlv6sg3kv9j39s2dwqvj35h4v0v7min2vn1hydj";
+  iosevka-ss18 = "1pbwqgrkv560237marp5msq1y93llxvjrpixka15a79a7lmpd36i";
+  sgr-iosevka = "0p31qdby1znrsz4hplrq81ngv1l2pxbn9x26hcpjxrbgv2mmvhfq";
+  sgr-iosevka-aile = "00zapw8mk0z40jw69ynvdzhpd67rvi9lp509hf3vb7x3cq1ka1wz";
+  sgr-iosevka-curly = "1rgxkc2ps8pmp3mgi2b51lv4j5cc5q7m6iizw8gbfl36qmzlfdlh";
+  sgr-iosevka-curly-slab = "1fdxr0mkb40fa0605i8b8h51pg8p3cskjsggil9gp1376wzhr42q";
+  sgr-iosevka-etoile = "1r91042avgn0f0p2rf09pam4wfjndkj7wml9vs082kc40aqgh9m5";
+  sgr-iosevka-fixed = "13b5nkyxpm9izj0dmwc97lqbfvbxqyjg3677hpi6ywl3c6m1h542";
+  sgr-iosevka-fixed-curly = "06r0lzcrhf9897yi9h6xh5n1mfb8j4v21nz81igs616w7gjlz0dk";
+  sgr-iosevka-fixed-curly-slab = "1l9qaialwq2xygznylbwkizbqwghzl4625d845f8kwyl9krd92na";
+  sgr-iosevka-fixed-slab = "199s1cdn22rjirrh1f9xhqbh77namriw077g11hykr4ibwy6sc6n";
+  sgr-iosevka-fixed-ss01 = "1y51qk0pfq9r8hpcgmcykrvddl8rw5rjfysrbsjvf6zi59z5rk02";
+  sgr-iosevka-fixed-ss02 = "12x3qrw6baxfwbj2wgawf9qpbk8nv7ccd9grqgw7b4qmy5j31n39";
+  sgr-iosevka-fixed-ss03 = "1sf8xybh8l76dbm8vgk0y4lgdm5lb5pb4kgnipygqj9z0kasj07d";
+  sgr-iosevka-fixed-ss04 = "0pbpqnv6kdnnl4yix3ysfrnxg3ainsl9m0pnkb1i21q5sav20ph5";
+  sgr-iosevka-fixed-ss05 = "1vgfiqxwfg3m68dlk4s1x5ms293nbwgdq34y80hysp8pfzl7d07z";
+  sgr-iosevka-fixed-ss06 = "17f3rxsh2nla6a8fhim88vxqj1kzafvcfbara1iwzsw3fw9gz2ai";
+  sgr-iosevka-fixed-ss07 = "1j3r197jx51b7l5cpm2g5b7mzq53wp05f8ra3cz04r69qc0dj8i5";
+  sgr-iosevka-fixed-ss08 = "1gj784bi4wy0282xbq3f24sqlm7b2s1gz2f8sna4bd5bgci8avb7";
+  sgr-iosevka-fixed-ss09 = "0hhqvghq0mxbjzfhfcjgij94b40129vhg6x4slgk579kdfmr21y4";
+  sgr-iosevka-fixed-ss10 = "044dam3cg2s29j0zbq03ypyyskws31dfvyyp01smds7njf8f2w39";
+  sgr-iosevka-fixed-ss11 = "1xxmcai145rfjhlx4n5hcs7kdz298pxn9b3if85cpmdd9qhdmy48";
+  sgr-iosevka-fixed-ss12 = "13rbsql91z2ndbx121j1yb3m10a2fwil0jilhfjj17rn0kh0a5qi";
+  sgr-iosevka-fixed-ss13 = "19y6x2jln772afqy7y2k97kzpin73y5wq72fh7c9n9cmh1n24628";
+  sgr-iosevka-fixed-ss14 = "0ndm0yk95a10qv95c9d5qhjx4vzc28wkahlxjadndxh82hn8zlqm";
+  sgr-iosevka-fixed-ss15 = "107lwn4d01hry6jyk2blxdy7gx80ka6wrgxs80l5czx4jsk6kr66";
+  sgr-iosevka-fixed-ss16 = "0ka5rp7svqp5hs2zdf0bq5lfhgfmqij93f53q1a0snispx1qnsn6";
+  sgr-iosevka-fixed-ss17 = "18kvws3r66b1lqqpyphpf1nk6qdv6pv9c36zf0kpi7hpfcp1dvaa";
+  sgr-iosevka-fixed-ss18 = "1s9gzh2ghs66rjjz7317x163072gy2fxbqmvhghngd7bpvbajdd6";
+  sgr-iosevka-slab = "0b78y7pikcrlilzn2xlvg5f7liqp0zvzcknx9l47nh32sqn11f5j";
+  sgr-iosevka-ss01 = "1nrj6dl3znakj3h0fvd37k71gcp2l0yfgqggdn6ms4cyyrq16z38";
+  sgr-iosevka-ss02 = "0mhn1jx2ibllp8h05lm9ms8wh960yyncblx4pkj95sswm5kdv8vv";
+  sgr-iosevka-ss03 = "0xxanqcpqh5fvhfad6cyk89yr2nza9lpig6dralizi8b1vxl7bnl";
+  sgr-iosevka-ss04 = "1566hvq2lwnh6p7v55j8khi56y61cg88g7vnb306a0rakg5jv17y";
+  sgr-iosevka-ss05 = "111pwbwp8fkiph6mrzblbx1nzdnzv9d6aphmkxlmrf1cs19jv71k";
+  sgr-iosevka-ss06 = "0p57cqqfhyhri2r1ss8pcd2hdn4pvp0dwr8ls1iws5gaj2s5zbjx";
+  sgr-iosevka-ss07 = "0clchkildx4vmk4xpd3xjx0xbihfkn61pcha00md4qf471ysnpmp";
+  sgr-iosevka-ss08 = "17ici8in0sh2zy1ya9319k9qqjzg5nl7ky6mbb2skpgmh85figfp";
+  sgr-iosevka-ss09 = "0fcwxcvzpc9l5dvmkqxf1g32xr4fk5rr389d6s3qbkdxdlc2vx63";
+  sgr-iosevka-ss10 = "1d59vw8caj9nlpmfijwpgkbb6kxphgdrw2hd5ldcvxs0ny0r8fcd";
+  sgr-iosevka-ss11 = "0d60zpdq7n73cn0lgnwhddxzw3x0i2cpqwpc1k78s8r8h36qmd05";
+  sgr-iosevka-ss12 = "15sc20f2kf6i0wlcfy60ss2j6dyg6figd18g22zmm7msz2lda1b0";
+  sgr-iosevka-ss13 = "0qi8ala5dm3r9gljwf5i84624h6arasd9mhww8nk3822cx8c8jd0";
+  sgr-iosevka-ss14 = "0i9p2rz8ppwl6x9d2j4gry7l386nbv4g2jrrna6bwgk4nh12izg0";
+  sgr-iosevka-ss15 = "0d4s197v96ka5c4b63kisiy8j694vskspc5vry4bgj4pbl7vl6lg";
+  sgr-iosevka-ss16 = "1a02r483ihfnlzx0kir6p84q6bscrs798i5qaw7qiz3zi8kxdrgb";
+  sgr-iosevka-ss17 = "1hi7dikls7x5zn79waki77bcp4w5hzx12mqmh0zx77aah3ghcax1";
+  sgr-iosevka-ss18 = "1mkjyn5mjnlwrxfhxr1f3ja2fd6lbv54fxx0xy9zm1banz0pp3y1";
+  sgr-iosevka-term = "0cmycg6vygxi3c1pdqddmh8mqpcrnkmn9y5c8xjzd1lygm41668q";
+  sgr-iosevka-term-curly = "1q7r3qclmkniin8hx8digwk1rfgfcm4jz6mvjay5sfi5wa6g9fd0";
+  sgr-iosevka-term-curly-slab = "07bf92s5zf9vny3560dr8zwxdg1jpdvz5ksmqcm74ib1024yk17r";
+  sgr-iosevka-term-slab = "1am42m5jggfy0fv3580rsksklaiq8827da1s20ngiyxfzcgbgwf3";
+  sgr-iosevka-term-ss01 = "09igqk8b4hmgmh1q1idvcjpz0vj15yzrsmcqhyrs1ygxyl2d6g5v";
+  sgr-iosevka-term-ss02 = "143czw61bilpim4lqqzp9d2gz4igijyl2p87iy3f5pvh75qzk8fx";
+  sgr-iosevka-term-ss03 = "02s7dsjxsm6dgp2rcz6n9dyi6priz9k5q5wd1rajfs6rgb01j1h7";
+  sgr-iosevka-term-ss04 = "10paacm4gb0823pqacj1ps8s79k6zbayrqqqnhvklkqki2iiay4g";
+  sgr-iosevka-term-ss05 = "0nn49fgxciwpfddcksb5krhvyqbr2zfx2zq1m5nswb70nzwwk8sj";
+  sgr-iosevka-term-ss06 = "1r6xlbf9si5ycg96av2pjjak82qgj1sqdq634wkl41x4mj39zkjl";
+  sgr-iosevka-term-ss07 = "1sfjv2ggqrgxjqykgycia62xa2g523yf61gix9dp79gyg6ga25nr";
+  sgr-iosevka-term-ss08 = "0rk66nzjc4d7bjx9sfgnlzsx52mdrdmgl4xri6jd0ad3543j43bh";
+  sgr-iosevka-term-ss09 = "0y12s0ynb5fda8kprwlbw6a9kkb7fwjfna2axgz5rxlz0ja14gs1";
+  sgr-iosevka-term-ss10 = "0hy31v083cd9lcb7xfvh6lj4nvzlqkbm8lni092sp21iv43xpp4f";
+  sgr-iosevka-term-ss11 = "0wb1c4l8327vsnkpj34grplw1v1mlr3wdavi7i0z5383qx4l3cn0";
+  sgr-iosevka-term-ss12 = "0x8zgm1yl37ij1hq6bcdf0whfbyv4gdkqk94yi3xm74a744pzsvx";
+  sgr-iosevka-term-ss13 = "1ia9q4gn9a6mr0n4vb6d8mnnp9s6l5v5y4fgi6ip0g49n0n8fw4r";
+  sgr-iosevka-term-ss14 = "0ipfjn23jaz6xjb0v2pbirrvi18czir6nijh79kxrrs1k83mc4yq";
+  sgr-iosevka-term-ss15 = "0pdlsd8qsp80y5rgp3vrhl1wjbj4b3bgqyavz1ayqccg939dvzqv";
+  sgr-iosevka-term-ss16 = "0bz3i0cnijq84skhsjgy0p6p6ww364gnkrny1hgcw7w21d69n2x5";
+  sgr-iosevka-term-ss17 = "1sfpaqviv1gqz4c29kmrm1v3zbr3615w90w96s5yxh2lr6zqxi7v";
+  sgr-iosevka-term-ss18 = "02f7i400qk9pbyid4dr6p690sqphz52pvgprqp54q1lw07jksqa6";
 }
diff --git a/pkgs/data/fonts/last-resort/default.nix b/pkgs/data/fonts/last-resort/default.nix
index 1932fd6da8a94..b42316dc0270a 100644
--- a/pkgs/data/fonts/last-resort/default.nix
+++ b/pkgs/data/fonts/last-resort/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "last-resort";
-  version = "15.000";
+  version = "15.100";
 
   src = fetchurl {
     url = "https://github.com/unicode-org/last-resort-font/releases/download/${version}/LastResortHE-Regular.ttf";
-    hash = "sha256-Qyo/tuBvBHnG/LW8sUAy62xpeqlXfyfwjUCbr4vJEag=";
+    hash = "sha256-dPk6j7Orh1bg6GyzwsB4P9oQvepvl51YF4abpyhOVso=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/data/fonts/sketchybar-app-font/default.nix
index 58ae313542d05..c66d649de187f 100644
--- a/pkgs/data/fonts/sketchybar-app-font/default.nix
+++ b/pkgs/data/fonts/sketchybar-app-font/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "sketchybar-app-font";
-  version = "1.0.14";
+  version = "1.0.16";
 
   src = fetchurl {
     url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
-    hash = "sha256-GPxNMlG6a7newSXorh2RULZ5XHYFmQbcB46C0RytTTU=";
+    hash = "sha256-58gRCEJix9pnZEcoo6bm2zWduP0xXl3WWC6mt36SGuo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/source-han/default.nix b/pkgs/data/fonts/source-han/default.nix
index 0174324b016ae..573cfd6c5b94f 100644
--- a/pkgs/data/fonts/source-han/default.nix
+++ b/pkgs/data/fonts/source-han/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  makePackage =
+  makeSuperOTC =
     { family
     , description
     , rev
@@ -13,9 +13,10 @@ let
     , zip ? ""
     , prefix ? ""
     }:
-    let Family =
-      lib.toUpper (lib.substring 0 1 family) +
-      lib.substring 1 (lib.stringLength family) family;
+    let
+      Family =
+        lib.toUpper (lib.substring 0 1 family) +
+        lib.substring 1 (lib.stringLength family) family;
     in
     stdenvNoCC.mkDerivation rec {
       pname = "source-han-${family}";
@@ -49,9 +50,36 @@ let
         maintainers = with lib.maintainers; [ taku0 emily ];
       };
     };
+
+  makeVariable =
+    { family
+    , version
+    , hash
+    , format
+    }:
+    let
+      Family =
+        lib.toUpper (lib.substring 0 1 family) +
+        lib.substring 1 (lib.stringLength family) family;
+    in
+    fetchurl {
+      pname = "source-han-${family}-vf-${format}";
+      inherit version hash;
+      url = "https://raw.githubusercontent.com/adobe-fonts/source-han-${family}/${version}R/Variable/OTC/SourceHan${Family}-VF.${format}.ttc";
+      recursiveHash = true;
+      downloadToTemp = true;
+      postFetch = "install -Dm444 $downloadedFile $out/share/fonts/variable/SourceHan${Family}-VF.${format}.ttc";
+
+      meta = {
+        description = "An open source Pan-CJK ${Family} typeface";
+        homepage = "https://github.com/adobe-fonts/source-han-${family}";
+        license = lib.licenses.ofl;
+        maintainers = with lib.maintainers; [ taku0 emily ];
+      };
+    };
 in
 {
-  sans = makePackage {
+  sans = makeSuperOTC {
     family = "sans";
     description = "sans-serif";
     rev = "2.004R";
@@ -59,7 +87,7 @@ in
     zip = ".zip";
   };
 
-  serif = makePackage {
+  serif = makeSuperOTC {
     family = "serif";
     description = "serif";
     rev = "2.001R";
@@ -68,10 +96,38 @@ in
     prefix = "01_";
   };
 
-  mono = makePackage {
+  mono = makeSuperOTC {
     family = "mono";
     description = "monospaced";
     rev = "1.002";
     hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME=";
   };
+
+  sans-vf-otf = makeVariable {
+    family = "sans";
+    version = "2.004";
+    hash = "sha256-V7PE09c7h4RDS8Ij4PSI36Gy+LM+PVDi73Rcs+4DfHo=";
+    format = "otf";
+  };
+
+  sans-vf-ttf = makeVariable {
+    family = "sans";
+    version = "2.004";
+    hash = "sha256-mXTG/d30gUxzxkJpaH4vOawRXMSxxTXlHCvHEsfGqbc=";
+    format = "ttf";
+  };
+
+  serif-vf-otf = makeVariable {
+    family = "serif";
+    version = "2.002";
+    hash = "sha256-8sD4bU6w7HBm4vBuPAjcjpxN2rtEJugAw+X0bAOcmjA=";
+    format = "otf";
+  };
+
+  serif-vf-ttf = makeVariable {
+    family = "serif";
+    version = "2.002";
+    hash = "sha256-dmTZFRsD55WCOg2+sqd8bkmTSnSNn5xUYf0PgzIvzww=";
+    format = "ttf";
+  };
 }
diff --git a/pkgs/data/icons/vanilla-dmz/default.nix b/pkgs/data/icons/vanilla-dmz/default.nix
index 22b66b1c65dcb..6e391aa19ef01 100644
--- a/pkgs/data/icons/vanilla-dmz/default.nix
+++ b/pkgs/data/icons/vanilla-dmz/default.nix
@@ -56,6 +56,6 @@ stdenvNoCC.mkDerivation rec {
     description = "A style neutral scalable cursor theme";
     platforms = platforms.all;
     license = licenses.cc-by-sa-30;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 7ccfd59396bff..55df79358bae6 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "69066b0daf2bbb4ca6f2b6de0bc9b8f27fffe4bc",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/69066b0daf2bbb4ca6f2b6de0bc9b8f27fffe4bc.tar.gz",
-  "sha256": "16ij50f7cx8gl3ypzwy50f5dr68y6m6n732sa1hwsng5db4vqzv7",
-  "msg": "Update from Hackage at 2023-08-17T07:12:25Z"
+  "commit": "ad59313651a92d9b7356f616268c7a3d80f52886",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/ad59313651a92d9b7356f616268c7a3d80f52886.tar.gz",
+  "sha256": "0s66dx6daxfkdm40fcqvlh3h9bcjx1cydrmgxd7dxrlmqqgwn4lc",
+  "msg": "Update from Hackage at 2023-09-13T23:29:30Z"
 }
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 8fe5f108fa019..809c3a74e230f 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20230926092720";
+    version = "20231011001633";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-S6bd8C9TuKj/FaTmMyCcEVi/4LBgseWWxr/XlEhc45Y=";
+      hash = "sha256-dU/y4rLjdzTOBvewPKRLBlq+DBc8i6oJGk8LDxTtaiM=";
     };
     vendorHash = "sha256-dYaGR5ZBORANKAYuPAi9i+KQn2OAGDGTZxdyVjkcVi8=";
     meta = with lib; {
diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/data/themes/catppuccin/default.nix
new file mode 100644
index 0000000000000..16befcd06b81d
--- /dev/null
+++ b/pkgs/data/themes/catppuccin/default.nix
@@ -0,0 +1,112 @@
+let
+  validThemes = [ "bat" "bottom" "btop" "k9s" "lazygit" ];
+in
+{ fetchFromGitHub
+, lib
+, stdenvNoCC
+, accent ? "blue"
+, variant ? "macchiato"
+, themeList ? validThemes
+}:
+let
+  pname = "catppuccin";
+
+  validAccents = [ "rosewater" "flamingo" "pink" "mauve" "red" "maroon" "peach" "yellow" "green" "teal" "sky" "sapphire" "blue" "lavender" ];
+  validVariants = [ "latte" "frappe" "macchiato" "mocha" ];
+
+  selectedSources = map (themeName: builtins.getAttr themeName sources) themeList;
+  sources = {
+    bat = fetchFromGitHub {
+      name = "bat";
+      owner = "catppuccin";
+      repo = "bat";
+      rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
+      hash = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
+    };
+
+    bottom = fetchFromGitHub {
+      name = "bottom";
+      owner = "catppuccin";
+      repo = "bottom";
+      rev = "c0efe9025f62f618a407999d89b04a231ba99c92";
+      hash = "sha256-VaHX2I/Gn82wJWzybpWNqU3dPi3206xItOlt0iF6VVQ=";
+    };
+
+    btop = fetchFromGitHub {
+      name = "btop";
+      owner = "catppuccin";
+      repo = "btop";
+      rev = "1.0.0";
+      hash = "sha256-J3UezOQMDdxpflGax0rGBF/XMiKqdqZXuX4KMVGTxFk=";
+    };
+
+    k9s = fetchFromGitHub {
+      name = "k9s";
+      owner = "catppuccin";
+      repo = "k9s";
+      rev = "516f44dd1a6680357cb30d96f7e656b653aa5059";
+      hash = "sha256-PtBJRBNbLkj7D2ko7ebpEjbfK9Ywjs7zbE+Y8FQVEfA=";
+    };
+
+    lazygit = fetchFromGitHub {
+      name = "lazygit";
+      owner = "catppuccin";
+      repo = "lazygit";
+      rev = "0543c28e8af1a935f8c512ad9451facbcc17d8a8";
+      hash = "sha256-OVihY5E+elPKag2H4RyWiSv+MdIqHtfGNM3/1u2ik6U=";
+    };
+  };
+in
+lib.checkListOfEnum "${pname}: variant" validVariants [ variant ]
+lib.checkListOfEnum "${pname}: accent" validAccents [ accent ]
+lib.checkListOfEnum "${pname}: themes" validThemes themeList
+
+stdenvNoCC.mkDerivation {
+  inherit pname;
+  version = "unstable-2023-10-09";
+
+  srcs = selectedSources;
+
+  unpackPhase = ''
+    for s in $selectedSources; do
+      b=$(basename $s)
+      cp $s ''${b#*-}
+    done
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+  '' + lib.optionalString (lib.elem "bat" themeList) ''
+    mkdir -p $out/bat
+    cp "${sources.bat}/Catppuccin-${variant}.tmTheme" "$out/bat/"
+
+  '' + lib.optionalString (lib.elem "btop" themeList) ''
+    mkdir -p $out/btop
+    cp "${sources.btop}/themes/catppuccin_${variant}.theme" "$out/btop/"
+
+  '' + lib.optionalString (lib.elem "bottom" themeList) ''
+    mkdir -p $out/bottom
+    cp "${sources.bottom}/themes/${variant}.toml" "$out/bottom/"
+
+  '' + lib.optionalString (lib.elem "k9s" themeList) ''
+    mkdir -p $out/k9s
+    cp "${sources.k9s}/dist/${variant}.yml" "$out/k9s/"
+
+  '' + lib.optionalString (lib.elem "lazygit" themeList) ''
+    mkdir -p $out/lazygit/{themes,themes-mergable}
+    cp "${sources.lazygit}/themes/${variant}/${variant}-${accent}.yml" "$out/lazygit/themes/"
+    cp "${sources.lazygit}/themes-mergable/${variant}/${variant}-${accent}.yml" "$out/lazygit/themes-mergable/"
+
+  '' + ''
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Soothing pastel themes";
+    homepage = "https://github.com/catppuccin/catppuccin";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.khaneliman ];
+  };
+}
diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix
index b72bcd6c7c35e..93802c6b88746 100644
--- a/pkgs/data/themes/yaru/default.nix
+++ b/pkgs/data/themes/yaru/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yaru";
-  version = "23.04.4";
+  version = "23.10.0";
 
   src = fetchFromGitHub {
     owner = "ubuntu";
     repo = "yaru";
     rev = version;
-    hash = "sha256-8MtRYNJJVhZzE5Ds1HSk+Ej3FUD/z2hGZAsuCeGzWb4=";
+    hash = "sha256-+Szk77QeoM4PwusxKflTh83h16qz6Es6UwDXpbydJUE=";
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
index 30caaaf6e3dfd..78a4f7d94b654 100644
--- a/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-gsettings-overrides/default.nix
@@ -37,6 +37,7 @@ let
     cinnamon-settings-daemon
     cinnamon-common
     gnome.gnome-terminal
+    gsettings-desktop-schemas
     gtk3
   ] ++ extraGSettingsOverridePackages;
 
diff --git a/pkgs/desktops/cinnamon/mint-artwork/default.nix b/pkgs/desktops/cinnamon/mint-artwork/default.nix
index 22dd4d15a266a..11db728d4ae6f 100644
--- a/pkgs/desktops/cinnamon/mint-artwork/default.nix
+++ b/pkgs/desktops/cinnamon/mint-artwork/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mint-artwork";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchurl {
     urls = [
       "http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
-      "https://web.archive.org/web/20230601120342/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
+      "https://web.archive.org/web/20231010134817/http://packages.linuxmint.com/pool/main/m/mint-artwork/mint-artwork_${version}.tar.xz"
     ];
-    hash = "sha256-yd2FyGAznXGnHJLkMsSNqIx0sbKHl3cNMr7tpue7BlA=";
+    hash = "sha256-u1hD0q67bKYKv/xMqqgxA6660v03xjVL4X7zxnNwGf8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index dcafff9e0ecf9..3b33d289ddb0e 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , lib
 , stdenv
 , substituteAll
@@ -47,6 +48,12 @@ stdenv.mkDerivation rec {
       dbusLaunch = "${dbus.lib}/bin/dbus-launch";
       bash = "${bash}/bin/bash";
     })
+    # See #226355. Can be removed on update to v45.
+    (fetchpatch {
+      name = "fix-gnome-boxes-crash.patch";
+      url = "https://gitlab.gnome.org/GNOME/gnome-session/commit/fab1a3b91677035d541de2c141f8073c4057342c.patch";
+      hash = "sha256-2xeoNgV8UDexkufXDqimAplX0GC99tUWUqjw3kfN+5Q=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 3b827dcb27616..d356094942f32 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -238,9 +238,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-flashback = callPackage ./misc/gnome-flashback { };
 
-  gnome-panel = callPackage ./misc/gnome-panel {
-    autoreconfHook = pkgs.autoreconfHook269;
-  };
+  gnome-panel = callPackage ./misc/gnome-panel { };
+
+  gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { };
 
   gnome-tweaks = callPackage ./misc/gnome-tweaks { };
 
diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
index 51c3c83609572..e6bcc1b411d5c 100644
--- a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
+++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell-extension-EasyScreenCast";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "EasyScreenCast";
     repo = "EasyScreenCast";
     rev = finalAttrs.version;
-    hash = "sha256-+cH/gczCdxoSrLp5nD82Spo8bSGyRnUUut3Xkmr9f3o=";
+    hash = "sha256-G7wdRFA0qL+6inVRLAmKoP0E0IOyvlmQIUwbDv/DbLI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
index cfe0903cce7b0..ceb7d8d59a3d3 100644
--- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
@@ -127,72 +127,36 @@ let
         versionPolicy = "odd-unstable";
       };
 
-      mkSessionForWm = { wmName, wmLabel, wmCommand, enableGnomePanel, panelModulePackages }:
-        let
-          wmApplication = writeTextFile {
-            name = "gnome-flashback-${wmName}-wm";
-            destination = "/share/applications/${wmName}.desktop";
-            text = ''
-              [Desktop Entry]
-              Type=Application
-              Encoding=UTF-8
-              Name=${wmLabel}
-              Exec=${wmCommand}
-              NoDisplay=true
-              X-GNOME-WMName=${wmLabel}
-              X-GNOME-Autostart-Phase=WindowManager
-              X-GNOME-Provides=windowmanager
-              X-GNOME-Autostart-Notify=false
-            '';
-          };
+      mkWmApplication = { wmName, wmLabel, wmCommand }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-wm";
+          destination = "/share/applications/${wmName}.desktop";
+          text = ''
+            [Desktop Entry]
+            Type=Application
+            Encoding=UTF-8
+            Name=${wmLabel}
+            Exec=${wmCommand}
+            NoDisplay=true
+            X-GNOME-WMName=${wmLabel}
+            X-GNOME-Autostart-Phase=WindowManager
+            X-GNOME-Provides=windowmanager
+            X-GNOME-Autostart-Notify=false
+          '';
+        };
 
-          gnomeSession = writeTextFile {
-            name = "gnome-flashback-${wmName}-gnome-session";
-            destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
-            text = ''
-              [GNOME Session]
-              Name=GNOME Flashback (${wmLabel})
-              ${requiredComponents wmName enableGnomePanel}
-            '';
-          };
-
-          # gnome-panel will only look for applets in a single directory so symlink them into here.
-          panelModulesEnv = buildEnv {
-            name = "gnome-panel-modules-env";
-            # We always want to find the built-in panel applets.
-            paths = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
-            pathsToLink = [ "/lib/gnome-panel/modules" ];
-          };
-
-          executable = stdenv.mkDerivation {
-            name = "gnome-flashback-${wmName}";
-            nativeBuildInputs = [ glib wrapGAppsHook ];
-            buildInputs = [ gnome-flashback ] ++ lib.optionals enableGnomePanel ([ gnome-panel ] ++ panelModulePackages);
-
-            # We want to use the wrapGAppsHook mechanism to wrap gnome-session
-            # with the environment that gnome-flashback and gnome-panel need to
-            # run, including the configured applet packages. This is only possible
-            # in the fixup phase, so turn everything else off.
-            dontUnpack = true;
-            dontConfigure = true;
-            dontBuild = true;
-            dontInstall = true;
-            dontWrapGApps = true; # We want to do the wrapping ourselves.
-
-            # gnome-flashback and gnome-panel need to be added to XDG_DATA_DIRS so that their .desktop files can be found by gnome-session.
-            # We need to pass the --builtin flag so that gnome-session invokes gnome-session-binary instead of systemd.
-            # If systemd is used, it doesn't use the environment we set up here and so it can't find the .desktop files.
-            preFixup = ''
-              makeWrapper ${gnome-session}/bin/gnome-session $out \
-                --add-flags "--session=gnome-flashback-${wmName} --builtin" \
-                --set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \
-                --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" ([ wmApplication gnomeSession gnome-flashback ] ++ lib.optional enableGnomePanel gnome-panel)}' \
-                "''${gappsWrapperArgs[@]}" \
-                ${lib.optionalString enableGnomePanel "--set NIX_GNOME_PANEL_MODULESDIR '${panelModulesEnv}/lib/gnome-panel/modules'"}
-            '';
-          };
+      mkGnomeSession = { wmName, wmLabel, enableGnomePanel }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-gnome-session";
+          destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
+          text = ''
+            [GNOME Session]
+            Name=GNOME Flashback (${wmLabel})
+            ${requiredComponents wmName enableGnomePanel}
+          '';
+        };
 
-        in
+      mkSessionForWm = { wmName, wmLabel, wmCommand }:
         writeTextFile
           {
             name = "gnome-flashback-${wmName}-xsession";
@@ -201,7 +165,7 @@ let
               [Desktop Entry]
               Name=GNOME Flashback (${wmLabel})
               Comment=This session logs you into GNOME Flashback with ${wmLabel}
-              Exec=${executable}
+              Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName}
               TryExec=${wmCommand}
               Type=Application
               DesktopNames=GNOME-Flashback;GNOME;
@@ -211,7 +175,7 @@ let
         };
 
       mkSystemdTargetForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }:
-        runCommand "gnome-flashback-${wmName}.target" {} ''
+        runCommand "gnome-flashback-${wmName}.target" { } ''
           mkdir -p $out/lib/systemd/user
           cp -r "${gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
             "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
diff --git a/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
new file mode 100644
index 0000000000000..6afee1051af47
--- /dev/null
+++ b/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, lib
+, buildEnv
+, gnome-panel
+, gnome-flashback
+, xorg
+, glib
+, wrapGAppsHook
+, panelModulePackages ? [ ]
+}:
+
+let
+  # We always want to find the built-in panel applets.
+  selectedPanelModulePackages = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
+
+  panelModulesEnv = buildEnv {
+    name = "gnome-panel-modules-env";
+    paths = selectedPanelModulePackages;
+    pathsToLink = [ "/lib/gnome-panel/modules" ];
+  };
+in
+stdenv.mkDerivation {
+  pname = "${gnome-panel.pname}-with-modules";
+  inherit (gnome-panel) version;
+
+  nativeBuildInputs = [
+    glib
+    wrapGAppsHook
+  ];
+
+  buildInputs = selectedPanelModulePackages ++
+    lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]);
+
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preferLocalBuild = true;
+  allowSubstitutes = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out
+
+    rm -r $out/lib/gnome-panel/modules
+    ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out
+
+    rm $out/share/applications/gnome-panel.desktop
+
+    substitute ${gnome-panel}/share/applications/gnome-panel.desktop \
+      $out/share/applications/gnome-panel.desktop --replace \
+      "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel"
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules"
+    )
+  '';
+
+  meta = gnome-panel.meta // { outputsToInstall = [ "out" ]; };
+}
diff --git a/pkgs/desktops/gnome/misc/pomodoro/default.nix b/pkgs/desktops/gnome/misc/pomodoro/default.nix
index 4474c3c6a6821..3067c5de5fb8c 100644
--- a/pkgs/desktops/gnome/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome/misc/pomodoro/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-pomodoro";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-0ZUTRrth5AfzI1E4JsuchbYeFwAbl9/XGBSYQ+AnNvM=";
+    hash = "sha256-Yn0lDCFpc8o25iiPib1n1NEBeodNAdTzRWcnLbXUA5g=";
   };
 
   patches = [
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index 9b832ccde44a3..dedf372d6e807 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-j4K8qYwfu6/s4qnTSzwv6KRsk9f+Qr/l1bhLywKMHMU=";
   };
 
+  patches = [
+    # Add pantheon-portals.conf
+    # https://github.com/elementary/default-settings/pull/293
+    (fetchpatch {
+      url = "https://github.com/elementary/default-settings/commit/8201eeb6a356e6059b505756ef7a556a6848ad3b.patch";
+      sha256 = "sha256-qhGj7WQTAWJTC1kouUZhBWKqyO4hQWJghEhLVl8QVUM=";
+    })
+  ];
+
   nativeBuildInputs = [
     accountsservice
     dbus
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 4eb6786ffddc1..dc2412b329c80 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -1,30 +1,34 @@
 { lib
 , mkXfceDerivation
 , exo
+, glib
 , gtk3
 , libxfce4ui
 , xfconf
 , libwnck
+, libX11
 , libXmu
 }:
 
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-taskmanager";
-  version = "1.5.5";
+  version = "1.5.6";
   odd-unstable = false;
 
-  sha256 = "sha256-worHYB9qibRxMaCYQ0+nHA9CSTColewgahyrXiPOnQA=";
+  sha256 = "sha256-2NkjaK6xXsrMimriO2/gTOZowt9KTX4MrWJpPXM0w68=";
 
   nativeBuildInputs = [
     exo
   ];
 
   buildInputs = [
+    glib
     gtk3
     libxfce4ui
     xfconf
     libwnck
+    libX11
     libXmu
   ];
 
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
index b0f8a02f6d7ec..473757ae20a3a 100644
--- a/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -1,4 +1,5 @@
 { mkXfceDerivation
+, fetchpatch
 , lib
 , docbook_xsl
 , exo
@@ -25,6 +26,15 @@ let unwrapped = mkXfceDerivation {
 
   sha256 = "sha256-pxIblhC40X0wdE6+uvmV5ypp4sOZtzn/evcS33PlNpU=";
 
+  patches = [
+    # Fix log spam with new GLib
+    # https://gitlab.xfce.org/xfce/thunar/-/issues/1204
+    (fetchpatch {
+      url = "https://gitlab.xfce.org/xfce/thunar/-/commit/2f06fcdbedbc59d9f90ccd3df07fce417cea391d.patch";
+      sha256 = "sha256-nvYakT4GJkQYmubgZF8GJIA/m7+6ZPbmD0HSgMcCh10=";
+    })
+  ];
+
   nativeBuildInputs = [
     docbook_xsl
     gobject-introspection
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 2db20a2ee5166..73ce969d05f7a 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,5 +1,6 @@
 { lib
 , mkXfceDerivation
+, fetchpatch
 , polkit
 , exo
 , libxfce4util
@@ -19,6 +20,15 @@ mkXfceDerivation {
 
   sha256 = "sha256-qCkE3aVYVwphoO1ZAyzpL1ZtsLaP6XT1H1rlFoBI3yg=";
 
+  patches = [
+    # Add minimal xdg-desktop-portal conf file
+    # https://gitlab.xfce.org/xfce/xfce4-session/-/issues/181
+    (fetchpatch {
+      url = "https://gitlab.xfce.org/xfce/xfce4-session/-/commit/6451c8b21085631d8861e07ff4e1b2ef64a64ad3.patch";
+      sha256 = "sha256-t3opom0iv7QsKoivzk+nXbxI5uFhNmB8/Qwb4QHvcCQ=";
+    })
+  ];
+
   buildInputs = [
     exo
     gtk3
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index fae9523bfe7fd..1b03efdcd4dfc 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -17,8 +17,8 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-pulseaudio-plugin";
-  version = "0.4.7";
-  sha256 = "sha256-9fumaX4M6NTXHM1gGa4wB/Uq+CZIUnvm9kC+pJNbWXU=";
+  version = "0.4.8";
+  sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU=";
 
   nativeBuildInputs = [
     automakeAddFlags
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index ade38fd689b75..8d3e738aa1b49 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "cmdstan";
-  version = "2.32.2";
+  version = "2.33.1";
 
   src = fetchFromGitHub {
     owner = "stan-dev";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-obV+R1ZjBgunXndCNry+MEne1nQawo81IV2DWwYbbIQ=";
+    hash = "sha256-c+L/6PjW7YgmXHuKhKjiRofBRAhKYCzFCZ6BOX5AmC4=";
   };
 
   nativeBuildInputs = [ stanc ];
diff --git a/pkgs/development/compilers/cudatoolkit/redist/extension.nix b/pkgs/development/compilers/cudatoolkit/redist/extension.nix
index 58f2b205dd598..ea6fd581cde4f 100644
--- a/pkgs/development/compilers/cudatoolkit/redist/extension.nix
+++ b/pkgs/development/compilers/cudatoolkit/redist/extension.nix
@@ -89,9 +89,9 @@ let
     in
     {
       # features : Attr Set (String PackageFeatureAttrs)
-      features = processManifest ./manifests/redistrib_features_${fullCudaVersion}.json;
+      features = processManifest (./manifests + "/redistrib_features_${fullCudaVersion}.json");
       # manifest : Attr Set (String PackageAttrs)
-      manifest = processManifest ./manifests/redistrib_${fullCudaVersion}.json;
+      manifest = processManifest (./manifests + "/redistrib_${fullCudaVersion}.json");
     };
 
   # Function to build a single redist package
diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix
index 12de25fb6c542..0526825ee2114 100644
--- a/pkgs/development/compilers/dart/sources.nix
+++ b/pkgs/development/compilers/dart/sources.nix
@@ -1,24 +1,24 @@
-let version = "3.0.6"; in
+let version = "3.1.3"; in
 { fetchurl }: {
   versionUsed = version;
   "${version}-x86_64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
-    sha256 = "0adasw9niwbsyk912330c83cqnppk56ph7yxalml23ing6x8wq32";
+    sha256 = "00bjyjya5hb1aaywbbaqbsxas5q93xvxrz9sd3x40m3792zxdbfx";
   };
   "${version}-aarch64-darwin" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
-    sha256 = "0wj58cygjra1qq0ivsbjb710n03zi0jzx0iw5m2p8nr7w8ns551c";
+    sha256 = "0nansfrnzb8ximg15my8yv5kc2gih60rkann7r008h7zk5cd8nkr";
   };
   "${version}-aarch64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
-    sha256 = "06wqq97d2v0bxp2pmc940dhbh8n8yf6p9r0sb1sldgv7f4r47qiy";
+    sha256 = "08njr5n7z94dfkmbi9wcdv5yciy94nzfgvjbdhsjswyq3h030a1b";
   };
   "${version}-x86_64-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
-    sha256 = "1hg1g4pyr8cgy6ak4n9akidrmj6s5n86dqrx3ybi81c8z5lqw4r2";
+    sha256 = "0ff73ws20i2j5lk2h2dy6k3fbfx7l9na9gqyji37c0dc67vxyl01";
   };
   "${version}-i686-linux" = fetchurl {
     url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
-    sha256 = "1hbh3gahnny2wfs31r64940z5scrgd8jf29mrzfadkpz54g0aizz";
+    sha256 = "1703vsmw0m867gqzd2wy93bab0gg7z40r9rfin4lzhxw20x2brs4";
   };
 }
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index b96bd24deddbd..296c815e31f6e 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -247,6 +247,7 @@ in lib.makeScope pkgs.newScope (self: with self; {
           # see upstream issue https://github.com/dillonkearns/elm-pages/issues/305 for dealing with the read-only problem
           preFixup = ''
             patch $out/lib/node_modules/elm-pages/generator/src/codegen.js ${./packages/elm-pages-fix-read-only.patch}
+            patch $out/lib/node_modules/elm-pages/generator/src/init.js ${./packages/elm-pages-fix-init-read-only.patch}
           '';
 
           postFixup = ''
diff --git a/pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch b/pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch
new file mode 100644
index 0000000000000..9704ef9f7c088
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/elm-pages-fix-init-read-only.patch
@@ -0,0 +1,39 @@
+diff --git a/generator/src/init.js b/generator/src/init.js
+index 06386ff..7127dae 100644
+--- a/generator/src/init.js
++++ b/generator/src/init.js
+@@ -6,6 +6,20 @@ import { fileURLToPath } from "url";
+ const __filename = fileURLToPath(import.meta.url);
+ const __dirname = path.dirname(__filename);
+ 
++let walknDo = function(somePath, doStuff) {
++  doStuff(somePath, true);
++  const dir = fs.readdirSync(somePath)
++  dir.forEach((i) => {
++    let p = path.join(somePath, i);
++    const s = fs.statSync(p)
++    if (s.isDirectory()) {
++      walknDo(p, doStuff)
++    } else {
++      doStuff(p);
++    }
++  });
++}
++
+ /**
+  * @param {string} name
+  */
+@@ -18,6 +32,13 @@ export async function run(name) {
+   if (!fs.existsSync(name)) {
+     try {
+       await fsExtra.copy(template, appRoot);
++      walknDo(appRoot, (file, isDir) => {
++        if (isDir) {
++          fs.chmodSync(file, 0o755);
++        } else {
++          fs.chmodSync(file, 0o644);
++        }
++      });
+       fs.renameSync(
+         path.resolve(appRoot, "gitignore"),
+         path.resolve(appRoot, ".gitignore")
diff --git a/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch b/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch
index ed9657f91151c..547f89f86f69c 100644
--- a/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch
+++ b/pkgs/development/compilers/elm/packages/elm-pages-fix-read-only.patch
@@ -1,18 +1,11 @@
 diff --git a/generator/src/codegen.js b/generator/src/codegen.js
-index a0ef8806e..fe00ac904 100644
+index baf5368..e5edf4d 100644
 --- a/generator/src/codegen.js
 +++ b/generator/src/codegen.js
-@@ -20,33 +20,33 @@ async function generate(basePath) {
+@@ -37,9 +37,9 @@ export async function generate(basePath) {
+     copyToBoth("SiteConfig.elm"),
  
-   const uiFileContent = elmPagesUiFile();
-   await Promise.all([
--    fs.promises.copyFile(
--      path.join(__dirname, `./Page.elm`),
--      `./.elm-pages/Page.elm`
-+    fs.promises.writeFile(
-+      `./.elm-pages/Page.elm`,
-+      fs.readFileSync(path.join(__dirname, `./Page.elm`))
-     ),
+     fs.promises.writeFile("./.elm-pages/Pages.elm", uiFileContent),
 -    fs.promises.copyFile(
 -      path.join(__dirname, `./elm-application.json`),
 -      `./elm-stuff/elm-pages/elm-application.json`
@@ -20,40 +13,27 @@ index a0ef8806e..fe00ac904 100644
 +      `./elm-stuff/elm-pages/elm-application.json`,
 +      fs.readFileSync(path.join(__dirname, `./elm-application.json`))
      ),
--    fs.promises.copyFile(
--      path.join(__dirname, `./Page.elm`),
--      `./elm-stuff/elm-pages/.elm-pages/Page.elm`
-+    fs.promises.writeFile(
-+      `./elm-stuff/elm-pages/.elm-pages/Page.elm`,
-+      fs.readFileSync(path.join(__dirname, `./Page.elm`))
-     ),
--    fs.promises.copyFile(
--      path.join(__dirname, `./SharedTemplate.elm`),
--      `./.elm-pages/SharedTemplate.elm`
-+    fs.promises.writeFile(
-+      `./.elm-pages/SharedTemplate.elm`,
-+      fs.readFileSync(path.join(__dirname, `./SharedTemplate.elm`))
-     ),
--    fs.promises.copyFile(
--      path.join(__dirname, `./SharedTemplate.elm`),
--      `./elm-stuff/elm-pages/.elm-pages/SharedTemplate.elm`
-+    fs.promises.writeFile(
-+      `./elm-stuff/elm-pages/.elm-pages/SharedTemplate.elm`,
-+      fs.readFileSync(path.join(__dirname, `./SharedTemplate.elm`))
-     ),
--    fs.promises.copyFile(
--      path.join(__dirname, `./SiteConfig.elm`),
--      `./.elm-pages/SiteConfig.elm`
-+    fs.promises.writeFile(
-+      `./.elm-pages/SiteConfig.elm`,
-+      fs.readFileSync(path.join(__dirname, `./SiteConfig.elm`))
-     ),
--    fs.promises.copyFile(
--      path.join(__dirname, `./SiteConfig.elm`),
--      `./elm-stuff/elm-pages/.elm-pages/SiteConfig.elm`
-+    fs.promises.writeFile(
-+      `./elm-stuff/elm-pages/.elm-pages/SiteConfig.elm`,
-+      fs.readFileSync(path.join(__dirname, `./SiteConfig.elm`))
-     ),
-     fs.promises.writeFile("./.elm-pages/Pages.elm", uiFileContent),
      // write `Pages.elm` with cli interface
+     fs.promises.writeFile(
+@@ -82,9 +82,9 @@ function writeFetcherModules(basePath, fetcherData) {
+ }
+ 
+ async function newCopyBoth(modulePath) {
+-  await fs.promises.copyFile(
+-    path.join(__dirname, modulePath),
+-    path.join(`./elm-stuff/elm-pages/client/.elm-pages/`, modulePath)
++  await fs.promises.writeFile(
++    path.join(`./elm-stuff/elm-pages/client/.elm-pages/`, modulePath),
++    fs.readFileSync(path.join(__dirname, modulePath))
+   );
+ }
+ 
+@@ -197,7 +197,7 @@ async function copyFileEnsureDir(from, to) {
+   await fs.promises.mkdir(path.dirname(to), {
+     recursive: true,
+   });
+-  await fs.promises.copyFile(from, to);
++  await fs.promises.writeFile(to, fs.readFileSync(from));
+ }
+ 
+ /**
diff --git a/pkgs/development/compilers/elm/packages/elm-srcs.nix b/pkgs/development/compilers/elm/packages/elm-srcs.nix
index 0d4523b8b0982..708d81455d693 100644
--- a/pkgs/development/compilers/elm/packages/elm-srcs.nix
+++ b/pkgs/development/compilers/elm/packages/elm-srcs.nix
@@ -5,9 +5,14 @@
         version = "1.0.0";
       };
 
-      "elm/json" = {
-        sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw";
-        version = "1.1.2";
+      "elm/browser" = {
+        sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka";
+        version = "1.0.1";
+      };
+
+      "elm/core" = {
+        sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as";
+        version = "1.0.2";
       };
 
       "elm/html" = {
@@ -15,9 +20,14 @@
         version = "1.0.0";
       };
 
-      "elm/svg" = {
-        sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k";
-        version = "1.0.1";
+      "elm/http" = {
+        sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1";
+        version = "2.0.0";
+      };
+
+      "elm/json" = {
+        sha256 = "1a107nmm905dih4w4mjjkkpdcjbgaf5qjvr7fl30kkpkckfjjnrw";
+        version = "1.1.2";
       };
 
       "elm/project-metadata-utils" = {
@@ -25,21 +35,11 @@
         version = "1.0.0";
       };
 
-      "elm/browser" = {
-        sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka";
+      "elm/svg" = {
+        sha256 = "1cwcj73p61q45wqwgqvrvz3aypjyy3fw732xyxdyj6s256hwkn0k";
         version = "1.0.1";
       };
 
-      "elm/core" = {
-        sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as";
-        version = "1.0.2";
-      };
-
-      "elm/http" = {
-        sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1";
-        version = "2.0.0";
-      };
-
       "elm/bytes" = {
         sha256 = "040d7irrawcbnq9jxhzx8p9qacdlw5bncy6lgndd6inm53rvvwbp";
         version = "1.0.7";
@@ -55,13 +55,13 @@
         version = "1.1.0";
       };
 
-      "elm/url" = {
-        sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4";
+      "elm/time" = {
+        sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1";
         version = "1.0.0";
       };
 
-      "elm/time" = {
-        sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1";
+      "elm/url" = {
+        sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4";
         version = "1.0.0";
       };
 
diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix
index e24ece00ffef8..a0c248af17bb3 100644
--- a/pkgs/development/compilers/elm/packages/elm.nix
+++ b/pkgs/development/compilers/elm/packages/elm.nix
@@ -1,12 +1,11 @@
 { mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary
 , bytestring, containers, directory, edit-distance, fetchgit
 , file-embed, filelock, filepath, ghc-prim, haskeline, HTTP
-, http-client, http-client-tls, http-types, language-glsl, mtl
+, http-client, http-client-tls, http-types, language-glsl, lib, mtl
 , network, parsec, process, raw-strings-qq, scientific, SHA
-, snap-core, snap-server, lib, template-haskell, time
+, snap-core, snap-server, template-haskell, time
 , unordered-containers, utf8-string, vector, zip-archive
 }:
-
 mkDerivation {
   pname = "elm";
   version = "0.19.1";
@@ -29,4 +28,5 @@ mkDerivation {
   homepage = "https://elm-lang.org";
   description = "The `elm` command line interface";
   license = lib.licenses.bsd3;
+  mainProgram = "elm";
 }
diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix
index f102e468f14cd..a30c6ac53d959 100644
--- a/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "@adobe/css-tools-4.2.0" = {
+      name = "_at_adobe_slash_css-tools";
+      packageName = "@adobe/css-tools";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz";
+        sha512 = "E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==";
+      };
+    };
     "@babel/cli-7.12.10" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
@@ -22,22 +31,22 @@ let
         sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
       };
     };
-    "@babel/code-frame-7.21.4" = {
+    "@babel/code-frame-7.22.13" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.21.4";
+      version = "7.22.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz";
-        sha512 = "LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz";
+        sha512 = "XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==";
       };
     };
-    "@babel/compat-data-7.21.7" = {
+    "@babel/compat-data-7.22.20" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.21.7";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz";
-        sha512 = "KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz";
+        sha512 = "BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==";
       };
     };
     "@babel/core-7.12.10" = {
@@ -49,238 +58,238 @@ let
         sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.21.5" = {
+    "@babel/generator-7.23.0" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.21.5";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz";
-        sha512 = "SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz";
+        sha512 = "lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.18.6" = {
+    "@babel/helper-annotate-as-pure-7.22.5" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz";
-        sha512 = "duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz";
+        sha512 = "LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.21.5" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.22.15" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.21.5";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz";
-        sha512 = "uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz";
+        sha512 = "QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==";
       };
     };
-    "@babel/helper-compilation-targets-7.21.5" = {
+    "@babel/helper-compilation-targets-7.22.15" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.21.5";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz";
-        sha512 = "1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz";
+        sha512 = "y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.21.8" = {
+    "@babel/helper-create-class-features-plugin-7.22.15" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.21.8";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz";
-        sha512 = "+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz";
+        sha512 = "jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.21.8" = {
+    "@babel/helper-create-regexp-features-plugin-7.22.15" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.21.8";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz";
-        sha512 = "zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz";
+        sha512 = "29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==";
       };
     };
-    "@babel/helper-environment-visitor-7.21.5" = {
+    "@babel/helper-environment-visitor-7.22.20" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.21.5";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz";
-        sha512 = "IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz";
+        sha512 = "zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==";
       };
     };
-    "@babel/helper-function-name-7.21.0" = {
+    "@babel/helper-function-name-7.23.0" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.21.0";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz";
-        sha512 = "HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz";
+        sha512 = "OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==";
       };
     };
-    "@babel/helper-hoist-variables-7.18.6" = {
+    "@babel/helper-hoist-variables-7.22.5" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz";
-        sha512 = "UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz";
+        sha512 = "wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.21.5" = {
+    "@babel/helper-member-expression-to-functions-7.23.0" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.21.5";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz";
-        sha512 = "nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz";
+        sha512 = "6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==";
       };
     };
-    "@babel/helper-module-imports-7.21.4" = {
+    "@babel/helper-module-imports-7.22.15" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.21.4";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz";
-        sha512 = "orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz";
+        sha512 = "0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==";
       };
     };
-    "@babel/helper-module-transforms-7.21.5" = {
+    "@babel/helper-module-transforms-7.23.0" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.21.5";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz";
-        sha512 = "bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz";
+        sha512 = "WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.18.6" = {
+    "@babel/helper-optimise-call-expression-7.22.5" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz";
-        sha512 = "HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz";
+        sha512 = "HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==";
       };
     };
-    "@babel/helper-plugin-utils-7.21.5" = {
+    "@babel/helper-plugin-utils-7.22.5" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.21.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz";
-        sha512 = "0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz";
+        sha512 = "uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.18.9" = {
+    "@babel/helper-remap-async-to-generator-7.22.20" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.18.9";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz";
-        sha512 = "dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz";
+        sha512 = "pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==";
       };
     };
-    "@babel/helper-replace-supers-7.21.5" = {
+    "@babel/helper-replace-supers-7.22.20" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.21.5";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz";
-        sha512 = "/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz";
+        sha512 = "qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==";
       };
     };
-    "@babel/helper-simple-access-7.21.5" = {
+    "@babel/helper-simple-access-7.22.5" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.21.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz";
-        sha512 = "ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz";
+        sha512 = "n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==";
       };
     };
-    "@babel/helper-skip-transparent-expression-wrappers-7.20.0" = {
+    "@babel/helper-skip-transparent-expression-wrappers-7.22.5" = {
       name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
       packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.20.0";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz";
-        sha512 = "5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==";
+        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz";
+        sha512 = "tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==";
       };
     };
-    "@babel/helper-split-export-declaration-7.18.6" = {
+    "@babel/helper-split-export-declaration-7.22.6" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.18.6";
+      version = "7.22.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz";
-        sha512 = "bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz";
+        sha512 = "AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==";
       };
     };
-    "@babel/helper-string-parser-7.21.5" = {
+    "@babel/helper-string-parser-7.22.5" = {
       name = "_at_babel_slash_helper-string-parser";
       packageName = "@babel/helper-string-parser";
-      version = "7.21.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz";
-        sha512 = "5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==";
+        url = "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz";
+        sha512 = "mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==";
       };
     };
-    "@babel/helper-validator-identifier-7.19.1" = {
+    "@babel/helper-validator-identifier-7.22.20" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.19.1";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz";
-        sha512 = "awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz";
+        sha512 = "Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==";
       };
     };
-    "@babel/helper-validator-option-7.21.0" = {
+    "@babel/helper-validator-option-7.22.15" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.21.0";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz";
-        sha512 = "rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz";
+        sha512 = "bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==";
       };
     };
-    "@babel/helper-wrap-function-7.20.5" = {
+    "@babel/helper-wrap-function-7.22.20" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.20.5";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz";
-        sha512 = "bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz";
+        sha512 = "pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==";
       };
     };
-    "@babel/helpers-7.21.5" = {
+    "@babel/helpers-7.23.1" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.21.5";
+      version = "7.23.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz";
-        sha512 = "BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz";
+        sha512 = "chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==";
       };
     };
-    "@babel/highlight-7.18.6" = {
+    "@babel/highlight-7.22.20" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.18.6";
+      version = "7.22.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz";
-        sha512 = "u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz";
+        sha512 = "dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==";
       };
     };
-    "@babel/parser-7.21.8" = {
+    "@babel/parser-7.23.0" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.21.8";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz";
-        sha512 = "6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz";
+        sha512 = "vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==";
       };
     };
     "@babel/plugin-proposal-async-generator-functions-7.20.7" = {
@@ -508,229 +517,229 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.21.5" = {
+    "@babel/plugin-transform-arrow-functions-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.21.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz";
-        sha512 = "wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz";
+        sha512 = "26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.20.7" = {
+    "@babel/plugin-transform-async-to-generator-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.20.7";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz";
-        sha512 = "Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz";
+        sha512 = "b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.18.6" = {
+    "@babel/plugin-transform-block-scoped-functions-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz";
-        sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz";
+        sha512 = "tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.21.0" = {
+    "@babel/plugin-transform-block-scoping-7.23.0" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.21.0";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz";
-        sha512 = "Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz";
+        sha512 = "cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==";
       };
     };
-    "@babel/plugin-transform-classes-7.21.0" = {
+    "@babel/plugin-transform-classes-7.22.15" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.21.0";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz";
-        sha512 = "RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz";
+        sha512 = "VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.21.5" = {
+    "@babel/plugin-transform-computed-properties-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.21.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz";
-        sha512 = "TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz";
+        sha512 = "4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.21.3" = {
+    "@babel/plugin-transform-destructuring-7.23.0" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.21.3";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz";
-        sha512 = "bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz";
+        sha512 = "vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.18.6" = {
+    "@babel/plugin-transform-dotall-regex-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz";
-        sha512 = "6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz";
+        sha512 = "5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.18.9" = {
+    "@babel/plugin-transform-duplicate-keys-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.18.9";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz";
-        sha512 = "d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz";
+        sha512 = "dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.18.6" = {
+    "@babel/plugin-transform-exponentiation-operator-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz";
-        sha512 = "wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz";
+        sha512 = "vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==";
       };
     };
-    "@babel/plugin-transform-for-of-7.21.5" = {
+    "@babel/plugin-transform-for-of-7.22.15" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.21.5";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz";
-        sha512 = "nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz";
+        sha512 = "me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==";
       };
     };
-    "@babel/plugin-transform-function-name-7.18.9" = {
+    "@babel/plugin-transform-function-name-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.18.9";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz";
-        sha512 = "WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz";
+        sha512 = "UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==";
       };
     };
-    "@babel/plugin-transform-literals-7.18.9" = {
+    "@babel/plugin-transform-literals-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.18.9";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz";
-        sha512 = "IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz";
+        sha512 = "fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.18.6" = {
+    "@babel/plugin-transform-member-expression-literals-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz";
-        sha512 = "qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz";
+        sha512 = "RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.20.11" = {
+    "@babel/plugin-transform-modules-amd-7.23.0" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.20.11";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz";
-        sha512 = "NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz";
+        sha512 = "xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.21.5" = {
+    "@babel/plugin-transform-modules-commonjs-7.23.0" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.21.5";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz";
-        sha512 = "OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz";
+        sha512 = "32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.20.11" = {
+    "@babel/plugin-transform-modules-systemjs-7.23.0" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.20.11";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz";
-        sha512 = "vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz";
+        sha512 = "qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.18.6" = {
+    "@babel/plugin-transform-modules-umd-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz";
-        sha512 = "dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz";
+        sha512 = "+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.20.5" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.20.5";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz";
-        sha512 = "mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz";
+        sha512 = "YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==";
       };
     };
-    "@babel/plugin-transform-new-target-7.18.6" = {
+    "@babel/plugin-transform-new-target-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz";
-        sha512 = "DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz";
+        sha512 = "AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==";
       };
     };
-    "@babel/plugin-transform-object-super-7.18.6" = {
+    "@babel/plugin-transform-object-super-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz";
-        sha512 = "uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz";
+        sha512 = "klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==";
       };
     };
-    "@babel/plugin-transform-parameters-7.21.3" = {
+    "@babel/plugin-transform-parameters-7.22.15" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.21.3";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz";
-        sha512 = "Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz";
+        sha512 = "hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.18.6" = {
+    "@babel/plugin-transform-property-literals-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz";
-        sha512 = "cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz";
+        sha512 = "TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.21.5" = {
+    "@babel/plugin-transform-regenerator-7.22.10" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.21.5";
+      version = "7.22.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz";
-        sha512 = "ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz";
+        sha512 = "F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.18.6" = {
+    "@babel/plugin-transform-reserved-words-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz";
-        sha512 = "oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz";
+        sha512 = "DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==";
       };
     };
     "@babel/plugin-transform-runtime-7.12.10" = {
@@ -742,67 +751,67 @@ let
         sha512 = "xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.18.6" = {
+    "@babel/plugin-transform-shorthand-properties-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz";
-        sha512 = "eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz";
+        sha512 = "vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==";
       };
     };
-    "@babel/plugin-transform-spread-7.20.7" = {
+    "@babel/plugin-transform-spread-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.20.7";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz";
-        sha512 = "ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz";
+        sha512 = "5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.18.6" = {
+    "@babel/plugin-transform-sticky-regex-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz";
-        sha512 = "kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz";
+        sha512 = "zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.18.9" = {
+    "@babel/plugin-transform-template-literals-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.18.9";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz";
-        sha512 = "S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz";
+        sha512 = "5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.18.9" = {
+    "@babel/plugin-transform-typeof-symbol-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.18.9";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz";
-        sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz";
+        sha512 = "bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.21.5" = {
+    "@babel/plugin-transform-unicode-escapes-7.22.10" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.21.5";
+      version = "7.22.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz";
-        sha512 = "LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz";
+        sha512 = "lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.18.6" = {
+    "@babel/plugin-transform-unicode-regex-7.22.5" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.18.6";
+      version = "7.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz";
-        sha512 = "gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz";
+        sha512 = "028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==";
       };
     };
     "@babel/preset-env-7.12.10" = {
@@ -814,13 +823,13 @@ let
         sha512 = "Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==";
       };
     };
-    "@babel/preset-modules-0.1.5" = {
+    "@babel/preset-modules-0.1.6" = {
       name = "_at_babel_slash_preset-modules";
       packageName = "@babel/preset-modules";
-      version = "0.1.5";
+      version = "0.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
-        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
+        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz";
+        sha512 = "ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==";
       };
     };
     "@babel/regjsgen-0.8.0" = {
@@ -841,31 +850,427 @@ let
         sha512 = "plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==";
       };
     };
-    "@babel/template-7.20.7" = {
+    "@babel/template-7.22.15" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.20.7";
+      version = "7.22.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz";
-        sha512 = "8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz";
+        sha512 = "QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==";
       };
     };
-    "@babel/traverse-7.21.5" = {
+    "@babel/traverse-7.23.0" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.21.5";
+      version = "7.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz";
-        sha512 = "AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz";
+        sha512 = "t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==";
       };
     };
-    "@babel/types-7.21.5" = {
+    "@babel/types-7.23.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.21.5";
+      version = "7.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz";
+        sha512 = "0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==";
+      };
+    };
+    "@esbuild/android-arm-0.17.19" = {
+      name = "_at_esbuild_slash_android-arm";
+      packageName = "@esbuild/android-arm";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz";
+        sha512 = "rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==";
+      };
+    };
+    "@esbuild/android-arm-0.18.20" = {
+      name = "_at_esbuild_slash_android-arm";
+      packageName = "@esbuild/android-arm";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz";
+        sha512 = "fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==";
+      };
+    };
+    "@esbuild/android-arm64-0.17.19" = {
+      name = "_at_esbuild_slash_android-arm64";
+      packageName = "@esbuild/android-arm64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz";
+        sha512 = "KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==";
+      };
+    };
+    "@esbuild/android-arm64-0.18.20" = {
+      name = "_at_esbuild_slash_android-arm64";
+      packageName = "@esbuild/android-arm64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz";
+        sha512 = "Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==";
+      };
+    };
+    "@esbuild/android-x64-0.17.19" = {
+      name = "_at_esbuild_slash_android-x64";
+      packageName = "@esbuild/android-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz";
+        sha512 = "uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==";
+      };
+    };
+    "@esbuild/android-x64-0.18.20" = {
+      name = "_at_esbuild_slash_android-x64";
+      packageName = "@esbuild/android-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz";
+        sha512 = "8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==";
+      };
+    };
+    "@esbuild/darwin-arm64-0.17.19" = {
+      name = "_at_esbuild_slash_darwin-arm64";
+      packageName = "@esbuild/darwin-arm64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz";
+        sha512 = "80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==";
+      };
+    };
+    "@esbuild/darwin-arm64-0.18.20" = {
+      name = "_at_esbuild_slash_darwin-arm64";
+      packageName = "@esbuild/darwin-arm64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz";
+        sha512 = "bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==";
+      };
+    };
+    "@esbuild/darwin-x64-0.17.19" = {
+      name = "_at_esbuild_slash_darwin-x64";
+      packageName = "@esbuild/darwin-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz";
+        sha512 = "IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==";
+      };
+    };
+    "@esbuild/darwin-x64-0.18.20" = {
+      name = "_at_esbuild_slash_darwin-x64";
+      packageName = "@esbuild/darwin-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz";
+        sha512 = "pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==";
+      };
+    };
+    "@esbuild/freebsd-arm64-0.17.19" = {
+      name = "_at_esbuild_slash_freebsd-arm64";
+      packageName = "@esbuild/freebsd-arm64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz";
+        sha512 = "pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==";
+      };
+    };
+    "@esbuild/freebsd-arm64-0.18.20" = {
+      name = "_at_esbuild_slash_freebsd-arm64";
+      packageName = "@esbuild/freebsd-arm64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz";
+        sha512 = "yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==";
+      };
+    };
+    "@esbuild/freebsd-x64-0.17.19" = {
+      name = "_at_esbuild_slash_freebsd-x64";
+      packageName = "@esbuild/freebsd-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz";
+        sha512 = "4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==";
+      };
+    };
+    "@esbuild/freebsd-x64-0.18.20" = {
+      name = "_at_esbuild_slash_freebsd-x64";
+      packageName = "@esbuild/freebsd-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz";
+        sha512 = "tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==";
+      };
+    };
+    "@esbuild/linux-arm-0.17.19" = {
+      name = "_at_esbuild_slash_linux-arm";
+      packageName = "@esbuild/linux-arm";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz";
+        sha512 = "cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==";
+      };
+    };
+    "@esbuild/linux-arm-0.18.20" = {
+      name = "_at_esbuild_slash_linux-arm";
+      packageName = "@esbuild/linux-arm";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz";
+        sha512 = "/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==";
+      };
+    };
+    "@esbuild/linux-arm64-0.17.19" = {
+      name = "_at_esbuild_slash_linux-arm64";
+      packageName = "@esbuild/linux-arm64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz";
+        sha512 = "ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==";
+      };
+    };
+    "@esbuild/linux-arm64-0.18.20" = {
+      name = "_at_esbuild_slash_linux-arm64";
+      packageName = "@esbuild/linux-arm64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz";
+        sha512 = "2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==";
+      };
+    };
+    "@esbuild/linux-ia32-0.17.19" = {
+      name = "_at_esbuild_slash_linux-ia32";
+      packageName = "@esbuild/linux-ia32";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz";
+        sha512 = "w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==";
+      };
+    };
+    "@esbuild/linux-ia32-0.18.20" = {
+      name = "_at_esbuild_slash_linux-ia32";
+      packageName = "@esbuild/linux-ia32";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz";
+        sha512 = "P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==";
+      };
+    };
+    "@esbuild/linux-loong64-0.17.19" = {
+      name = "_at_esbuild_slash_linux-loong64";
+      packageName = "@esbuild/linux-loong64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz";
+        sha512 = "2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==";
+      };
+    };
+    "@esbuild/linux-loong64-0.18.20" = {
+      name = "_at_esbuild_slash_linux-loong64";
+      packageName = "@esbuild/linux-loong64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz";
+        sha512 = "nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==";
+      };
+    };
+    "@esbuild/linux-mips64el-0.17.19" = {
+      name = "_at_esbuild_slash_linux-mips64el";
+      packageName = "@esbuild/linux-mips64el";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz";
+        sha512 = "LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==";
+      };
+    };
+    "@esbuild/linux-mips64el-0.18.20" = {
+      name = "_at_esbuild_slash_linux-mips64el";
+      packageName = "@esbuild/linux-mips64el";
+      version = "0.18.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz";
-        sha512 = "m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==";
+        url = "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz";
+        sha512 = "d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==";
+      };
+    };
+    "@esbuild/linux-ppc64-0.17.19" = {
+      name = "_at_esbuild_slash_linux-ppc64";
+      packageName = "@esbuild/linux-ppc64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz";
+        sha512 = "/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==";
+      };
+    };
+    "@esbuild/linux-ppc64-0.18.20" = {
+      name = "_at_esbuild_slash_linux-ppc64";
+      packageName = "@esbuild/linux-ppc64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz";
+        sha512 = "WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==";
+      };
+    };
+    "@esbuild/linux-riscv64-0.17.19" = {
+      name = "_at_esbuild_slash_linux-riscv64";
+      packageName = "@esbuild/linux-riscv64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz";
+        sha512 = "FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==";
+      };
+    };
+    "@esbuild/linux-riscv64-0.18.20" = {
+      name = "_at_esbuild_slash_linux-riscv64";
+      packageName = "@esbuild/linux-riscv64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz";
+        sha512 = "WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==";
+      };
+    };
+    "@esbuild/linux-s390x-0.17.19" = {
+      name = "_at_esbuild_slash_linux-s390x";
+      packageName = "@esbuild/linux-s390x";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz";
+        sha512 = "IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==";
+      };
+    };
+    "@esbuild/linux-s390x-0.18.20" = {
+      name = "_at_esbuild_slash_linux-s390x";
+      packageName = "@esbuild/linux-s390x";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz";
+        sha512 = "+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==";
+      };
+    };
+    "@esbuild/linux-x64-0.17.19" = {
+      name = "_at_esbuild_slash_linux-x64";
+      packageName = "@esbuild/linux-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz";
+        sha512 = "68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==";
+      };
+    };
+    "@esbuild/linux-x64-0.18.20" = {
+      name = "_at_esbuild_slash_linux-x64";
+      packageName = "@esbuild/linux-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz";
+        sha512 = "UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==";
+      };
+    };
+    "@esbuild/netbsd-x64-0.17.19" = {
+      name = "_at_esbuild_slash_netbsd-x64";
+      packageName = "@esbuild/netbsd-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz";
+        sha512 = "CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==";
+      };
+    };
+    "@esbuild/netbsd-x64-0.18.20" = {
+      name = "_at_esbuild_slash_netbsd-x64";
+      packageName = "@esbuild/netbsd-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz";
+        sha512 = "iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==";
+      };
+    };
+    "@esbuild/openbsd-x64-0.17.19" = {
+      name = "_at_esbuild_slash_openbsd-x64";
+      packageName = "@esbuild/openbsd-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz";
+        sha512 = "cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==";
+      };
+    };
+    "@esbuild/openbsd-x64-0.18.20" = {
+      name = "_at_esbuild_slash_openbsd-x64";
+      packageName = "@esbuild/openbsd-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz";
+        sha512 = "e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==";
+      };
+    };
+    "@esbuild/sunos-x64-0.17.19" = {
+      name = "_at_esbuild_slash_sunos-x64";
+      packageName = "@esbuild/sunos-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz";
+        sha512 = "vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==";
+      };
+    };
+    "@esbuild/sunos-x64-0.18.20" = {
+      name = "_at_esbuild_slash_sunos-x64";
+      packageName = "@esbuild/sunos-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz";
+        sha512 = "kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==";
+      };
+    };
+    "@esbuild/win32-arm64-0.17.19" = {
+      name = "_at_esbuild_slash_win32-arm64";
+      packageName = "@esbuild/win32-arm64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz";
+        sha512 = "yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==";
+      };
+    };
+    "@esbuild/win32-arm64-0.18.20" = {
+      name = "_at_esbuild_slash_win32-arm64";
+      packageName = "@esbuild/win32-arm64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz";
+        sha512 = "ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==";
+      };
+    };
+    "@esbuild/win32-ia32-0.17.19" = {
+      name = "_at_esbuild_slash_win32-ia32";
+      packageName = "@esbuild/win32-ia32";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz";
+        sha512 = "eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==";
+      };
+    };
+    "@esbuild/win32-ia32-0.18.20" = {
+      name = "_at_esbuild_slash_win32-ia32";
+      packageName = "@esbuild/win32-ia32";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz";
+        sha512 = "Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==";
+      };
+    };
+    "@esbuild/win32-x64-0.17.19" = {
+      name = "_at_esbuild_slash_win32-x64";
+      packageName = "@esbuild/win32-x64";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz";
+        sha512 = "lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==";
+      };
+    };
+    "@esbuild/win32-x64-0.18.20" = {
+      name = "_at_esbuild_slash_win32-x64";
+      packageName = "@esbuild/win32-x64";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz";
+        sha512 = "kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==";
       };
     };
     "@hapi/address-2.1.4" = {
@@ -913,6 +1318,15 @@ let
         sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
+    "@isaacs/cliui-8.0.2" = {
+      name = "_at_isaacs_slash_cliui";
+      packageName = "@isaacs/cliui";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz";
+        sha512 = "O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==";
+      };
+    };
     "@jridgewell/gen-mapping-0.3.3" = {
       name = "_at_jridgewell_slash_gen-mapping";
       packageName = "@jridgewell/gen-mapping";
@@ -922,13 +1336,13 @@ let
         sha512 = "HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==";
       };
     };
-    "@jridgewell/resolve-uri-3.1.0" = {
+    "@jridgewell/resolve-uri-3.1.1" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz";
-        sha512 = "F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz";
+        sha512 = "dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==";
       };
     };
     "@jridgewell/set-array-1.1.2" = {
@@ -940,22 +1354,13 @@ let
         sha512 = "xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==";
       };
     };
-    "@jridgewell/source-map-0.3.3" = {
+    "@jridgewell/source-map-0.3.5" = {
       name = "_at_jridgewell_slash_source-map";
       packageName = "@jridgewell/source-map";
-      version = "0.3.3";
+      version = "0.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz";
-        sha512 = "b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==";
-      };
-    };
-    "@jridgewell/sourcemap-codec-1.4.14" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz";
-        sha512 = "XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==";
+        url = "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz";
+        sha512 = "UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==";
       };
     };
     "@jridgewell/sourcemap-codec-1.4.15" = {
@@ -967,13 +1372,13 @@ let
         sha512 = "eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==";
       };
     };
-    "@jridgewell/trace-mapping-0.3.18" = {
+    "@jridgewell/trace-mapping-0.3.19" = {
       name = "_at_jridgewell_slash_trace-mapping";
       packageName = "@jridgewell/trace-mapping";
-      version = "0.3.18";
+      version = "0.3.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz";
-        sha512 = "w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz";
+        sha512 = "kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -1039,6 +1444,15 @@ let
         sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
+    "@npmcli/fs-3.1.0" = {
+      name = "_at_npmcli_slash_fs";
+      packageName = "@npmcli/fs";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz";
+        sha512 = "7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==";
+      };
+    };
     "@sindresorhus/is-0.14.0" = {
       name = "_at_sindresorhus_slash_is";
       packageName = "@sindresorhus/is";
@@ -1084,6 +1498,15 @@ let
         sha512 = "4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==";
       };
     };
+    "@tootallnate/once-2.0.0" = {
+      name = "_at_tootallnate_slash_once";
+      packageName = "@tootallnate/once";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz";
+        sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
+      };
+    };
     "@types/cacheable-request-6.0.3" = {
       name = "_at_types_slash_cacheable-request";
       packageName = "@types/cacheable-request";
@@ -1147,22 +1570,22 @@ let
         sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
       };
     };
-    "@types/http-cache-semantics-4.0.1" = {
+    "@types/http-cache-semantics-4.0.2" = {
       name = "_at_types_slash_http-cache-semantics";
       packageName = "@types/http-cache-semantics";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz";
-        sha512 = "SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==";
+        url = "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz";
+        sha512 = "FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==";
       };
     };
-    "@types/http-proxy-1.17.11" = {
+    "@types/http-proxy-1.17.12" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
-      version = "1.17.11";
+      version = "1.17.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz";
-        sha512 = "HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==";
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.12.tgz";
+        sha512 = "kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==";
       };
     };
     "@types/jest-27.5.2" = {
@@ -1174,13 +1597,13 @@ let
         sha512 = "mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==";
       };
     };
-    "@types/json-schema-7.0.11" = {
+    "@types/json-schema-7.0.13" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.11";
+      version = "7.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz";
-        sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz";
+        sha512 = "RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==";
       };
     };
     "@types/keyv-3.1.4" = {
@@ -1192,13 +1615,13 @@ let
         sha512 = "BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==";
       };
     };
-    "@types/lodash-4.14.194" = {
+    "@types/lodash-4.14.199" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.194";
+      version = "4.14.199";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz";
-        sha512 = "r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz";
+        sha512 = "Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==";
       };
     };
     "@types/minimatch-5.1.2" = {
@@ -1219,13 +1642,13 @@ let
         sha512 = "U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==";
       };
     };
-    "@types/node-18.16.3" = {
+    "@types/node-20.8.2" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.16.3";
+      version = "20.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz";
-        sha512 = "OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz";
+        sha512 = "Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==";
       };
     };
     "@types/node-8.10.66" = {
@@ -1246,22 +1669,22 @@ let
         sha512 = "//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==";
       };
     };
-    "@types/q-1.5.5" = {
+    "@types/q-1.5.6" = {
       name = "_at_types_slash_q";
       packageName = "@types/q";
-      version = "1.5.5";
+      version = "1.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz";
-        sha512 = "L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==";
+        url = "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz";
+        sha512 = "IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==";
       };
     };
-    "@types/responselike-1.0.0" = {
+    "@types/responselike-1.0.1" = {
       name = "_at_types_slash_responselike";
       packageName = "@types/responselike";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz";
-        sha512 = "85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==";
+        url = "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.1.tgz";
+        sha512 = "TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg==";
       };
     };
     "@types/rimraf-2.0.5" = {
@@ -1273,22 +1696,22 @@ let
         sha512 = "YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==";
       };
     };
-    "@types/source-list-map-0.1.2" = {
+    "@types/source-list-map-0.1.3" = {
       name = "_at_types_slash_source-list-map";
       packageName = "@types/source-list-map";
-      version = "0.1.2";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz";
-        sha512 = "K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==";
+        url = "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.3.tgz";
+        sha512 = "I9R/7fUjzUOyDy6AFkehCK711wWoAXEaBi80AfjZt1lIkbe6AcXKd3ckQc3liMvQExWvfOeh/8CtKzrfUFN5gA==";
       };
     };
-    "@types/tapable-1.0.8" = {
+    "@types/tapable-1.0.9" = {
       name = "_at_types_slash_tapable";
       packageName = "@types/tapable";
-      version = "1.0.8";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz";
-        sha512 = "ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==";
+        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.9.tgz";
+        sha512 = "fOHIwZua0sRltqWzODGUM6b4ffZrf/vzGUmNXdR+4DzuJP42PMbM5dLKcdzlYvv8bMJ3GALOzkk1q7cDm2zPyA==";
       };
     };
     "@types/tmp-0.0.33" = {
@@ -1300,31 +1723,31 @@ let
         sha512 = "gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ==";
       };
     };
-    "@types/uglify-js-3.17.1" = {
+    "@types/uglify-js-3.17.2" = {
       name = "_at_types_slash_uglify-js";
       packageName = "@types/uglify-js";
-      version = "3.17.1";
+      version = "3.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.1.tgz";
-        sha512 = "GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==";
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.2.tgz";
+        sha512 = "9SjrHO54LINgC/6Ehr81NjAxAYvwEZqjUHLjJYvC4Nmr9jbLQCIZbWSvl4vXQkkmR1UAuaKDycau3O1kWGFyXQ==";
       };
     };
-    "@types/webpack-4.41.33" = {
+    "@types/webpack-4.41.34" = {
       name = "_at_types_slash_webpack";
       packageName = "@types/webpack";
-      version = "4.41.33";
+      version = "4.41.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.33.tgz";
-        sha512 = "PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==";
+        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.34.tgz";
+        sha512 = "CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==";
       };
     };
-    "@types/webpack-sources-3.2.0" = {
+    "@types/webpack-sources-3.2.1" = {
       name = "_at_types_slash_webpack-sources";
       packageName = "@types/webpack-sources";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz";
-        sha512 = "Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==";
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.1.tgz";
+        sha512 = "iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==";
       };
     };
     "@webassemblyjs/ast-1.9.0" = {
@@ -1534,13 +1957,13 @@ let
         sha512 = "XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==";
       };
     };
-    "acorn-8.8.2" = {
+    "acorn-8.10.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.8.2";
+      version = "8.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz";
-        sha512 = "xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz";
+        sha512 = "F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==";
       };
     };
     "address-1.0.3" = {
@@ -1552,6 +1975,33 @@ let
         sha512 = "z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==";
       };
     };
+    "agent-base-6.0.2" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
+        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
+      };
+    };
+    "agentkeepalive-4.5.0" = {
+      name = "agentkeepalive";
+      packageName = "agentkeepalive";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz";
+        sha512 = "5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==";
+      };
+    };
+    "aggregate-error-3.1.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
+        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
+      };
+    };
     "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
@@ -1669,6 +2119,15 @@ let
         sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
       };
     };
+    "ansi-regex-6.0.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz";
+        sha512 = "n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==";
+      };
+    };
     "ansi-styles-2.2.1" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
@@ -1705,6 +2164,15 @@ let
         sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
       };
     };
+    "ansi-styles-6.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz";
+        sha512 = "bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==";
+      };
+    };
     "anymatch-2.0.0" = {
       name = "anymatch";
       packageName = "anymatch";
@@ -1867,13 +2335,22 @@ let
         sha512 = "SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==";
       };
     };
-    "array.prototype.reduce-1.0.5" = {
+    "array.prototype.reduce-1.0.6" = {
       name = "array.prototype.reduce";
       packageName = "array.prototype.reduce";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz";
-        sha512 = "kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==";
+        url = "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz";
+        sha512 = "UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==";
+      };
+    };
+    "arraybuffer.prototype.slice-1.0.2" = {
+      name = "arraybuffer.prototype.slice";
+      packageName = "arraybuffer.prototype.slice";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz";
+        sha512 = "yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==";
       };
     };
     "asap-2.0.6" = {
@@ -1903,13 +2380,13 @@ let
         sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
-    "assert-1.5.0" = {
+    "assert-1.5.1" = {
       name = "assert";
       packageName = "assert";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
-        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
+        url = "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz";
+        sha512 = "zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -2425,13 +2902,13 @@ let
         sha512 = "VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==";
       };
     };
-    "browserslist-4.21.5" = {
+    "browserslist-4.22.1" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.21.5";
+      version = "4.22.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz";
-        sha512 = "tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz";
+        sha512 = "FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==";
       };
     };
     "buffer-4.9.2" = {
@@ -2506,6 +2983,15 @@ let
         sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==";
       };
     };
+    "busboy-1.6.0" = {
+      name = "busboy";
+      packageName = "busboy";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz";
+        sha512 = "8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==";
+      };
+    };
     "bytes-3.0.0" = {
       name = "bytes";
       packageName = "bytes";
@@ -2551,6 +3037,15 @@ let
         sha512 = "a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==";
       };
     };
+    "cacache-17.1.4" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "17.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz";
+        sha512 = "/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==";
+      };
+    };
     "cache-base-1.0.1" = {
       name = "cache-base";
       packageName = "cache-base";
@@ -2587,13 +3082,13 @@ let
         sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
       };
     };
-    "cacheable-request-7.0.2" = {
+    "cacheable-request-7.0.4" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
-      version = "7.0.2";
+      version = "7.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz";
-        sha512 = "pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==";
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz";
+        sha512 = "v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==";
       };
     };
     "call-bind-1.0.2" = {
@@ -2695,13 +3190,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001482" = {
+    "caniuse-lite-1.0.30001546" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001482";
+      version = "1.0.30001546";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz";
-        sha512 = "F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz";
+        sha512 = "zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==";
       };
     };
     "case-sensitive-paths-webpack-plugin-2.3.0" = {
@@ -2839,15 +3334,6 @@ let
         sha512 = "IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==";
       };
     };
-    "chokidar-3.5.2" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
-        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
-      };
-    };
     "chokidar-3.5.3" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -2911,6 +3397,15 @@ let
         sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
       };
     };
+    "clean-stack-2.2.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
+      };
+    };
     "cli-cursor-2.1.0" = {
       name = "cli-cursor";
       packageName = "cli-cursor";
@@ -2929,13 +3424,13 @@ let
         sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
       };
     };
-    "cli-spinners-2.9.0" = {
+    "cli-spinners-2.9.1" = {
       name = "cli-spinners";
       packageName = "cli-spinners";
-      version = "2.9.0";
+      version = "2.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz";
-        sha512 = "4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==";
+        url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz";
+        sha512 = "jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==";
       };
     };
     "cli-table-0.3.4" = {
@@ -3127,6 +3622,15 @@ let
         sha512 = "LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==";
       };
     };
+    "commander-10.0.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "10.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz";
+        sha512 = "y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==";
+      };
+    };
     "commander-2.14.1" = {
       name = "commander";
       packageName = "commander";
@@ -3181,15 +3685,6 @@ let
         sha512 = "U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==";
       };
     };
-    "commander-8.3.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "8.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz";
-        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
-      };
-    };
     "commander-9.5.0" = {
       name = "commander";
       packageName = "commander";
@@ -3388,6 +3883,24 @@ let
         sha512 = "QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==";
       };
     };
+    "cookie-signature-1.2.1" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.1.tgz";
+        sha512 = "78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==";
+      };
+    };
+    "copy-anything-2.0.6" = {
+      name = "copy-anything";
+      packageName = "copy-anything";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz";
+        sha512 = "1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==";
+      };
+    };
     "copy-concurrently-1.0.5" = {
       name = "copy-concurrently";
       packageName = "copy-concurrently";
@@ -3424,13 +3937,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-compat-3.30.1" = {
+    "core-js-compat-3.33.0" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.30.1";
+      version = "3.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz";
-        sha512 = "d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz";
+        sha512 = "0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3739,13 +4252,13 @@ let
         sha512 = "TVF6svNzeQCOpjCqsy0/CSy8VgObG3wXusJ73xW2GbG5rGx7lC8zxDSURicsXI2UsGdi2L0QNRCi745/wUDvsA==";
       };
     };
-    "cyclist-1.0.1" = {
+    "cyclist-1.0.2" = {
       name = "cyclist";
       packageName = "cyclist";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";
-        sha512 = "NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==";
+        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz";
+        sha512 = "0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==";
       };
     };
     "d-1.0.1" = {
@@ -3901,13 +4414,22 @@ let
         sha512 = "4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==";
       };
     };
-    "define-properties-1.2.0" = {
+    "define-data-property-1.1.0" = {
+      name = "define-data-property";
+      packageName = "define-data-property";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz";
+        sha512 = "UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==";
+      };
+    };
+    "define-properties-1.2.1" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz";
-        sha512 = "xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz";
+        sha512 = "8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==";
       };
     };
     "define-property-0.2.5" = {
@@ -3982,13 +4504,13 @@ let
         sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
       };
     };
-    "des.js-1.0.1" = {
+    "des.js-1.1.0" = {
       name = "des.js";
       packageName = "des.js";
-      version = "1.0.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
-        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz";
+        sha512 = "r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==";
       };
     };
     "destroy-1.0.4" = {
@@ -4009,6 +4531,15 @@ let
         sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     };
+    "detect-libc-1.0.3" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha512 = "pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==";
+      };
+    };
     "detect-node-2.1.0" = {
       name = "detect-node";
       packageName = "detect-node";
@@ -4234,6 +4765,15 @@ let
         sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
       };
     };
+    "eastasianwidth-0.2.0" = {
+      name = "eastasianwidth";
+      packageName = "eastasianwidth";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz";
+        sha512 = "I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==";
+      };
+    };
     "ecc-jsbn-0.1.2" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -4252,13 +4792,13 @@ let
         sha512 = "WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==";
       };
     };
-    "electron-to-chromium-1.4.382" = {
+    "electron-to-chromium-1.4.542" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.382";
+      version = "1.4.542";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz";
-        sha512 = "czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.542.tgz";
+        sha512 = "6+cpa00G09N3sfh2joln4VUXHquWrOFx3FLZqiVQvl45+zS9DskDBTPvob+BhvFRmTBkyDSk0vvLMMRo/qc6mQ==";
       };
     };
     "elliptic-6.5.4" = {
@@ -4360,13 +4900,13 @@ let
         sha512 = "5GV3WkJ8R/faOP1hwElQdNuCt8tKx2+1lsMrdeIYWSFz01Kp9gJl/R6zGtp4QUyrUtO8KnHsxjHrQNUf2CHkrg==";
       };
     };
-    "elm-tooling-1.14.0" = {
+    "elm-tooling-1.15.0" = {
       name = "elm-tooling";
       packageName = "elm-tooling";
-      version = "1.14.0";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.14.0.tgz";
-        sha512 = "cIbK3gfYWK086HsqOIGM4reIYcV/FF2R/8jIJ6ZUy1/RSkYFUv2BgPTGYYZo1Io9oymmbwoCWWleNtw7LgGL2w==";
+        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.15.0.tgz";
+        sha512 = "quRE5LGJyrkPBoJ3MvFQ5RGgf80J0L0d3NkduStvXh4TmZuMXNC3Z/l2ZRoq2UTUaNWeYfO1Zx5wns1AvsTrnw==";
       };
     };
     "elm-webpack-loader-6.0.1" = {
@@ -4405,6 +4945,15 @@ let
         sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
       };
     };
+    "emoji-regex-9.2.2" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "9.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz";
+        sha512 = "L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==";
+      };
+    };
     "emojis-list-2.1.0" = {
       name = "emojis-list";
       packageName = "emojis-list";
@@ -4468,6 +5017,15 @@ let
         sha512 = "Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==";
       };
     };
+    "err-code-2.0.3" = {
+      name = "err-code";
+      packageName = "err-code";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz";
+        sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
+      };
+    };
     "errno-0.1.8" = {
       name = "errno";
       packageName = "errno";
@@ -4486,13 +5044,13 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
-    "es-abstract-1.21.2" = {
+    "es-abstract-1.22.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.21.2";
+      version = "1.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz";
-        sha512 = "y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz";
+        sha512 = "YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==";
       };
     };
     "es-array-method-boxes-properly-1.0.0" = {
@@ -4558,6 +5116,24 @@ let
         sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
       };
     };
+    "esbuild-0.17.19" = {
+      name = "esbuild";
+      packageName = "esbuild";
+      version = "0.17.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz";
+        sha512 = "XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==";
+      };
+    };
+    "esbuild-0.18.20" = {
+      name = "esbuild";
+      packageName = "esbuild";
+      version = "0.18.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz";
+        sha512 = "ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==";
+      };
+    };
     "escalade-3.1.1" = {
       name = "escalade";
       packageName = "escalade";
@@ -4873,13 +5449,13 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-diff-1.2.0" = {
+    "fast-diff-1.3.0" = {
       name = "fast-diff";
       packageName = "fast-diff";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz";
-        sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
+        url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz";
+        sha512 = "VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==";
       };
     };
     "fast-glob-2.2.7" = {
@@ -4891,13 +5467,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.12" = {
+    "fast-glob-3.3.1" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.12";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz";
-        sha512 = "DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz";
+        sha512 = "kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -4909,15 +5485,6 @@ let
         sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
-    "fast-levenshtein-3.0.0" = {
-      name = "fast-levenshtein";
-      packageName = "fast-levenshtein";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz";
-        sha512 = "hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==";
-      };
-    };
     "fastest-levenshtein-1.0.16" = {
       name = "fastest-levenshtein";
       packageName = "fastest-levenshtein";
@@ -5197,13 +5764,13 @@ let
         sha512 = "SDgHBgV+RCjrYs8aUwCb9rTgbTVuSdzvFmLaChsLre1yf+D64khCW++VYciaByZ8Rm0uKF8R/XEpXuTRSGUM1A==";
       };
     };
-    "follow-redirects-1.15.2" = {
+    "follow-redirects-1.15.3" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.15.2";
+      version = "1.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz";
-        sha512 = "VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz";
+        sha512 = "1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==";
       };
     };
     "for-each-0.3.3" = {
@@ -5224,6 +5791,15 @@ let
         sha512 = "7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==";
       };
     };
+    "foreground-child-3.1.1" = {
+      name = "foreground-child";
+      packageName = "foreground-child";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz";
+        sha512 = "TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==";
+      };
+    };
     "forever-agent-0.6.1" = {
       name = "forever-agent";
       packageName = "forever-agent";
@@ -5251,13 +5827,13 @@ let
         sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
-    "fraction.js-4.2.0" = {
+    "fraction.js-4.3.6" = {
       name = "fraction.js";
       packageName = "fraction.js";
-      version = "4.2.0";
+      version = "4.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz";
-        sha512 = "MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==";
+        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz";
+        sha512 = "n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==";
       };
     };
     "fragment-cache-0.2.1" = {
@@ -5287,13 +5863,13 @@ let
         sha512 = "OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==";
       };
     };
-    "fs-extra-10.1.0" = {
+    "fs-extra-11.1.1" = {
       name = "fs-extra";
       packageName = "fs-extra";
-      version = "10.1.0";
+      version = "11.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz";
-        sha512 = "oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==";
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz";
+        sha512 = "MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==";
       };
     };
     "fs-extra-2.0.0" = {
@@ -5377,6 +5953,24 @@ let
         sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
       };
     };
+    "fs-minipass-3.0.3" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz";
+        sha512 = "XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==";
+      };
+    };
+    "fs-monkey-1.0.5" = {
+      name = "fs-monkey";
+      packageName = "fs-monkey";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz";
+        sha512 = "8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==";
+      };
+    };
     "fs-readdir-recursive-1.1.0" = {
       name = "fs-readdir-recursive";
       packageName = "fs-readdir-recursive";
@@ -5422,13 +6016,13 @@ let
         sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
       };
     };
-    "fsevents-2.3.2" = {
+    "fsevents-2.3.3" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.3.2";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
-        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz";
+        sha512 = "5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==";
       };
     };
     "function-bind-1.1.1" = {
@@ -5440,13 +6034,13 @@ let
         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
-    "function.prototype.name-1.1.5" = {
+    "function.prototype.name-1.1.6" = {
       name = "function.prototype.name";
       packageName = "function.prototype.name";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
-        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
+        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz";
+        sha512 = "Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==";
       };
     };
     "functions-have-names-1.2.3" = {
@@ -5485,13 +6079,13 @@ let
         sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
-    "get-intrinsic-1.2.0" = {
+    "get-intrinsic-1.2.1" = {
       name = "get-intrinsic";
       packageName = "get-intrinsic";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz";
-        sha512 = "L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz";
+        sha512 = "2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==";
       };
     };
     "get-own-enumerable-property-symbols-3.0.2" = {
@@ -5584,6 +6178,15 @@ let
         sha512 = "0pcXixfRCfLXdkwC/FJxiYEg5sYnbqYqtMmtXRzlKrStI9tLev7G/PDuFH2GmySJQ3ix5YUPRN/OJEuFD827EA==";
       };
     };
+    "glob-10.3.10" = {
+      name = "glob";
+      packageName = "glob";
+      version = "10.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz";
+        sha512 = "fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==";
+      };
+    };
     "glob-7.1.4" = {
       name = "glob";
       packageName = "glob";
@@ -5674,22 +6277,22 @@ let
         sha512 = "sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==";
       };
     };
-    "globby-11.0.4" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.4";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
-    "globby-11.1.0" = {
+    "globby-13.1.4" = {
       name = "globby";
       packageName = "globby";
-      version = "11.1.0";
+      version = "13.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
-        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
+        url = "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz";
+        sha512 = "iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==";
       };
     };
     "globby-6.1.0" = {
@@ -5809,13 +6412,13 @@ let
         sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     };
-    "has-1.0.3" = {
+    "has-1.0.4" = {
       name = "has";
       packageName = "has";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+        url = "https://registry.npmjs.org/has/-/has-1.0.4.tgz";
+        sha512 = "qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==";
       };
     };
     "has-ansi-2.0.0" = {
@@ -6160,6 +6763,15 @@ let
         sha512 = "7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==";
       };
     };
+    "http-proxy-agent-5.0.0" = {
+      name = "http-proxy-agent";
+      packageName = "http-proxy-agent";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz";
+        sha512 = "n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==";
+      };
+    };
     "http-proxy-middleware-0.19.1" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
@@ -6205,6 +6817,15 @@ let
         sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==";
       };
     };
+    "https-proxy-agent-5.0.1" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
+      };
+    };
     "human-signals-2.1.0" = {
       name = "human-signals";
       packageName = "human-signals";
@@ -6214,6 +6835,15 @@ let
         sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
       };
     };
+    "humanize-ms-1.2.1" = {
+      name = "humanize-ms";
+      packageName = "humanize-ms";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz";
+        sha512 = "Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==";
+      };
+    };
     "i-0.3.7" = {
       name = "i";
       packageName = "i";
@@ -6241,6 +6871,15 @@ let
         sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
+    "iconv-lite-0.6.3" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz";
+        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
+      };
+    };
     "icss-utils-4.1.1" = {
       name = "icss-utils";
       packageName = "icss-utils";
@@ -6286,6 +6925,15 @@ let
         sha512 = "MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==";
       };
     };
+    "image-size-0.5.5" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz";
+        sha512 = "6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==";
+      };
+    };
     "immer-1.7.2" = {
       name = "immer";
       packageName = "immer";
@@ -6295,6 +6943,15 @@ let
         sha512 = "4Urocwu9+XLDJw4Tc6ZCg7APVjjLInCFvO4TwGsAYV5zT6YYSor14dsZR0+0tHlDIN92cFUOq+i7fC00G5vTxA==";
       };
     };
+    "immutable-4.3.4" = {
+      name = "immutable";
+      packageName = "immutable";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz";
+        sha512 = "fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==";
+      };
+    };
     "import-fresh-2.0.0" = {
       name = "import-fresh";
       packageName = "import-fresh";
@@ -6331,6 +6988,15 @@ let
         sha512 = "JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==";
       };
     };
+    "indent-string-4.0.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
+        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
+      };
+    };
     "indexes-of-1.0.1" = {
       name = "indexes-of";
       packageName = "indexes-of";
@@ -6358,15 +7024,6 @@ let
         sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==";
       };
     };
-    "inherits-2.0.1" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==";
-      };
-    };
     "inherits-2.0.3" = {
       name = "inherits";
       packageName = "inherits";
@@ -6439,6 +7096,15 @@ let
         sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
       };
     };
+    "ip-2.0.0" = {
+      name = "ip";
+      packageName = "ip";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz";
+        sha512 = "WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==";
+      };
+    };
     "ip-regex-2.1.0" = {
       name = "ip-regex";
       packageName = "ip-regex";
@@ -6592,13 +7258,13 @@ let
         sha512 = "H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==";
       };
     };
-    "is-core-module-2.12.0" = {
+    "is-core-module-2.13.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.12.0";
+      version = "2.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz";
-        sha512 = "RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz";
+        sha512 = "Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -6745,6 +7411,15 @@ let
         sha512 = "2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==";
       };
     };
+    "is-lambda-1.0.1" = {
+      name = "is-lambda";
+      packageName = "is-lambda";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz";
+        sha512 = "z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==";
+      };
+    };
     "is-negative-zero-2.0.2" = {
       name = "is-negative-zero";
       packageName = "is-negative-zero";
@@ -6934,13 +7609,13 @@ let
         sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
       };
     };
-    "is-typed-array-1.1.10" = {
+    "is-typed-array-1.1.12" = {
       name = "is-typed-array";
       packageName = "is-typed-array";
-      version = "1.1.10";
+      version = "1.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz";
-        sha512 = "PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==";
+        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz";
+        sha512 = "Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -6988,6 +7663,15 @@ let
         sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
       };
     };
+    "is-what-3.14.1" = {
+      name = "is-what";
+      packageName = "is-what";
+      version = "3.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz";
+        sha512 = "sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==";
+      };
+    };
     "is-windows-1.0.2" = {
       name = "is-windows";
       packageName = "is-windows";
@@ -7078,6 +7762,15 @@ let
         sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==";
       };
     };
+    "jackspeak-2.3.6" = {
+      name = "jackspeak";
+      packageName = "jackspeak";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz";
+        sha512 = "N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==";
+      };
+    };
     "jest-diff-27.5.1" = {
       name = "jest-diff";
       packageName = "jest-diff";
@@ -7330,13 +8023,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.5.2" = {
+    "keyv-4.5.3" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.5.2";
+      version = "4.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz";
-        sha512 = "5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz";
+        sha512 = "QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==";
       };
     };
     "killable-1.0.1" = {
@@ -7447,6 +8140,105 @@ let
         sha512 = "YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==";
       };
     };
+    "less-4.2.0" = {
+      name = "less";
+      packageName = "less";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/less/-/less-4.2.0.tgz";
+        sha512 = "P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==";
+      };
+    };
+    "lightningcss-1.22.0" = {
+      name = "lightningcss";
+      packageName = "lightningcss";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss/-/lightningcss-1.22.0.tgz";
+        sha512 = "+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg==";
+      };
+    };
+    "lightningcss-darwin-arm64-1.22.0" = {
+      name = "lightningcss-darwin-arm64";
+      packageName = "lightningcss-darwin-arm64";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.0.tgz";
+        sha512 = "aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg==";
+      };
+    };
+    "lightningcss-darwin-x64-1.22.0" = {
+      name = "lightningcss-darwin-x64";
+      packageName = "lightningcss-darwin-x64";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.0.tgz";
+        sha512 = "9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ==";
+      };
+    };
+    "lightningcss-freebsd-x64-1.22.0" = {
+      name = "lightningcss-freebsd-x64";
+      packageName = "lightningcss-freebsd-x64";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.0.tgz";
+        sha512 = "xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww==";
+      };
+    };
+    "lightningcss-linux-arm-gnueabihf-1.22.0" = {
+      name = "lightningcss-linux-arm-gnueabihf";
+      packageName = "lightningcss-linux-arm-gnueabihf";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.0.tgz";
+        sha512 = "epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ==";
+      };
+    };
+    "lightningcss-linux-arm64-gnu-1.22.0" = {
+      name = "lightningcss-linux-arm64-gnu";
+      packageName = "lightningcss-linux-arm64-gnu";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.0.tgz";
+        sha512 = "AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg==";
+      };
+    };
+    "lightningcss-linux-arm64-musl-1.22.0" = {
+      name = "lightningcss-linux-arm64-musl";
+      packageName = "lightningcss-linux-arm64-musl";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.0.tgz";
+        sha512 = "RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg==";
+      };
+    };
+    "lightningcss-linux-x64-gnu-1.22.0" = {
+      name = "lightningcss-linux-x64-gnu";
+      packageName = "lightningcss-linux-x64-gnu";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.0.tgz";
+        sha512 = "grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw==";
+      };
+    };
+    "lightningcss-linux-x64-musl-1.22.0" = {
+      name = "lightningcss-linux-x64-musl";
+      packageName = "lightningcss-linux-x64-musl";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.0.tgz";
+        sha512 = "t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ==";
+      };
+    };
+    "lightningcss-win32-x64-msvc-1.22.0" = {
+      name = "lightningcss-win32-x64-msvc";
+      packageName = "lightningcss-win32-x64-msvc";
+      version = "1.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.0.tgz";
+        sha512 = "64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw==";
+      };
+    };
     "lines-and-columns-1.2.4" = {
       name = "lines-and-columns";
       packageName = "lines-and-columns";
@@ -7645,6 +8437,15 @@ let
         sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
       };
     };
+    "lru-cache-10.0.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "10.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz";
+        sha512 = "IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==";
+      };
+    };
     "lru-cache-4.1.5" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -7672,6 +8473,15 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
+    "lru-cache-7.18.3" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "7.18.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz";
+        sha512 = "jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==";
+      };
+    };
     "make-dir-1.3.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -7699,6 +8509,15 @@ let
         sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     };
+    "make-fetch-happen-11.1.1" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "11.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz";
+        sha512 = "rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==";
+      };
+    };
     "map-cache-0.2.2" = {
       name = "map-cache";
       packageName = "map-cache";
@@ -7762,6 +8581,15 @@ let
         sha512 = "dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==";
       };
     };
+    "memfs-3.6.0" = {
+      name = "memfs";
+      packageName = "memfs";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz";
+        sha512 = "EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==";
+      };
+    };
     "memory-fs-0.4.1" = {
       name = "memory-fs";
       packageName = "memory-fs";
@@ -8014,6 +8842,15 @@ let
         sha512 = "lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==";
       };
     };
+    "minimatch-9.0.3" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "9.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz";
+        sha512 = "RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==";
+      };
+    };
     "minimist-1.2.0" = {
       name = "minimist";
       packageName = "minimist";
@@ -8068,6 +8905,60 @@ let
         sha512 = "3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==";
       };
     };
+    "minipass-7.0.4" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "7.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz";
+        sha512 = "jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==";
+      };
+    };
+    "minipass-collect-1.0.2" = {
+      name = "minipass-collect";
+      packageName = "minipass-collect";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz";
+        sha512 = "6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==";
+      };
+    };
+    "minipass-fetch-3.0.4" = {
+      name = "minipass-fetch";
+      packageName = "minipass-fetch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz";
+        sha512 = "jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==";
+      };
+    };
+    "minipass-flush-1.0.5" = {
+      name = "minipass-flush";
+      packageName = "minipass-flush";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz";
+        sha512 = "JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==";
+      };
+    };
+    "minipass-pipeline-1.2.4" = {
+      name = "minipass-pipeline";
+      packageName = "minipass-pipeline";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
+        sha512 = "xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==";
+      };
+    };
+    "minipass-sized-1.0.3" = {
+      name = "minipass-sized";
+      packageName = "minipass-sized";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz";
+        sha512 = "MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==";
+      };
+    };
     "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
@@ -8248,13 +9139,13 @@ let
         sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
       };
     };
-    "nan-2.17.0" = {
+    "nan-2.18.0" = {
       name = "nan";
       packageName = "nan";
-      version = "2.17.0";
+      version = "2.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz";
-        sha512 = "2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==";
+        url = "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz";
+        sha512 = "W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==";
       };
     };
     "nanoid-3.3.6" = {
@@ -8284,6 +9175,15 @@ let
         sha512 = "akBX7I5X9KQDDWmYYgQlLbVbjkveTje2mioZjhLLrVt09akSZcoqXWE5LEn1E2fu8T7th1PZYGfewQsTkTLTmQ==";
       };
     };
+    "needle-3.2.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz";
+        sha512 = "oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==";
+      };
+    };
     "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
@@ -8365,13 +9265,13 @@ let
         sha512 = "PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==";
       };
     };
-    "node-gyp-build-4.6.0" = {
+    "node-gyp-build-4.6.1" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
-      version = "4.6.0";
+      version = "4.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz";
-        sha512 = "NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==";
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz";
+        sha512 = "24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==";
       };
     };
     "node-libs-browser-2.2.1" = {
@@ -8392,13 +9292,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.10" = {
+    "node-releases-2.0.13" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.10";
+      version = "2.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz";
-        sha512 = "5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz";
+        sha512 = "uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==";
       };
     };
     "node-watch-0.5.5" = {
@@ -8572,15 +9472,6 @@ let
         sha512 = "79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==";
       };
     };
-    "object-hash-2.2.0" = {
-      name = "object-hash";
-      packageName = "object-hash";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz";
-        sha512 = "gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==";
-      };
-    };
     "object-inspect-1.12.3" = {
       name = "object-inspect";
       packageName = "object-inspect";
@@ -8626,22 +9517,22 @@ let
         sha512 = "1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==";
       };
     };
-    "object.entries-1.1.6" = {
+    "object.entries-1.1.7" = {
       name = "object.entries";
       packageName = "object.entries";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz";
-        sha512 = "leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==";
+        url = "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz";
+        sha512 = "jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==";
       };
     };
-    "object.getownpropertydescriptors-2.1.6" = {
+    "object.getownpropertydescriptors-2.1.7" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.1.6";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz";
-        sha512 = "lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz";
+        sha512 = "PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==";
       };
     };
     "object.pick-1.3.0" = {
@@ -8653,13 +9544,13 @@ let
         sha512 = "tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==";
       };
     };
-    "object.values-1.1.6" = {
+    "object.values-1.1.7" = {
       name = "object.values";
       packageName = "object.values";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz";
-        sha512 = "FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==";
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz";
+        sha512 = "aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==";
       };
     };
     "obuf-1.1.2" = {
@@ -8923,6 +9814,15 @@ let
         sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
       };
     };
+    "p-map-4.0.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz";
+        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
+      };
+    };
     "p-retry-3.0.1" = {
       name = "p-retry";
       packageName = "p-retry";
@@ -9040,6 +9940,15 @@ let
         sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
       };
     };
+    "parse-node-version-1.0.1" = {
+      name = "parse-node-version";
+      packageName = "parse-node-version";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz";
+        sha512 = "3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==";
+      };
+    };
     "parse-passwd-1.0.0" = {
       name = "parse-passwd";
       packageName = "parse-passwd";
@@ -9076,13 +9985,13 @@ let
         sha512 = "XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==";
       };
     };
-    "password-prompt-1.1.2" = {
+    "password-prompt-1.1.3" = {
       name = "password-prompt";
       packageName = "password-prompt";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz";
-        sha512 = "bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==";
+        url = "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz";
+        sha512 = "HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==";
       };
     };
     "path-browserify-0.0.1" = {
@@ -9175,6 +10084,15 @@ let
         sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
       };
     };
+    "path-scurry-1.10.1" = {
+      name = "path-scurry";
+      packageName = "path-scurry";
+      version = "1.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz";
+        sha512 = "MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==";
+      };
+    };
     "path-to-regexp-0.1.7" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
@@ -9400,13 +10318,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.23" = {
+    "postcss-8.4.31" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.23";
+      version = "8.4.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz";
-        sha512 = "bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz";
+        sha512 = "PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -9706,13 +10624,13 @@ let
         sha512 = "h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==";
       };
     };
-    "postcss-selector-parser-6.0.12" = {
+    "postcss-selector-parser-6.0.13" = {
       name = "postcss-selector-parser";
       packageName = "postcss-selector-parser";
-      version = "6.0.12";
+      version = "6.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz";
-        sha512 = "NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==";
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz";
+        sha512 = "EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==";
       };
     };
     "postcss-svgo-4.0.3" = {
@@ -9841,6 +10759,15 @@ let
         sha512 = "6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==";
       };
     };
+    "promise-retry-2.0.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
+        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
+      };
+    };
     "prompt-1.0.0" = {
       name = "prompt";
       packageName = "prompt";
@@ -9940,15 +10867,6 @@ let
         sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
       };
     };
-    "punycode-1.3.2" = {
-      name = "punycode";
-      packageName = "punycode";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-        sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
-      };
-    };
     "punycode-1.4.1" = {
       name = "punycode";
       packageName = "punycode";
@@ -9985,6 +10903,15 @@ let
         sha512 = "MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==";
       };
     };
+    "qs-6.11.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz";
+        sha512 = "tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==";
+      };
+    };
     "qs-6.5.1" = {
       name = "qs";
       packageName = "qs";
@@ -10021,15 +10948,6 @@ let
         sha512 = "O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==";
       };
     };
-    "querystring-0.2.0" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-        sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==";
-      };
-    };
     "querystring-es3-0.2.1" = {
       name = "querystring-es3";
       packageName = "querystring-es3";
@@ -10282,13 +11200,13 @@ let
         sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
       };
     };
-    "regenerate-unicode-properties-10.1.0" = {
+    "regenerate-unicode-properties-10.1.1" = {
       name = "regenerate-unicode-properties";
       packageName = "regenerate-unicode-properties";
-      version = "10.1.0";
+      version = "10.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz";
-        sha512 = "d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==";
+        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz";
+        sha512 = "X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==";
       };
     };
     "regenerator-runtime-0.11.1" = {
@@ -10318,13 +11236,13 @@ let
         sha512 = "D0Y/JJ4VhusyMOd/o25a3jdUqN/bC85EFsaoL9Oqmy/O4efCh+xhp7yj2EEOsj974qvMkcW8AwUzJ1jB/MbxCw==";
       };
     };
-    "regenerator-transform-0.15.1" = {
+    "regenerator-transform-0.15.2" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
-      version = "0.15.1";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz";
-        sha512 = "knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==";
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz";
+        sha512 = "hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==";
       };
     };
     "regex-not-1.0.2" = {
@@ -10336,13 +11254,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.5.0" = {
+    "regexp.prototype.flags-1.5.1" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz";
-        sha512 = "0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz";
+        sha512 = "sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==";
       };
     };
     "regexpu-core-5.3.2" = {
@@ -10444,6 +11362,15 @@ let
         sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
       };
     };
+    "request-light-0.7.0" = {
+      name = "request-light";
+      packageName = "request-light";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz";
+        sha512 = "lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==";
+      };
+    };
     "request-promise-4.2.6" = {
       name = "request-promise";
       packageName = "request-promise";
@@ -10507,13 +11434,13 @@ let
         sha512 = "KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==";
       };
     };
-    "resolve-1.22.3" = {
+    "resolve-1.22.6" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.22.3";
+      version = "1.22.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz";
-        sha512 = "P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz";
+        sha512 = "njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==";
       };
     };
     "resolve-alpn-1.2.1" = {
@@ -10678,6 +11605,15 @@ let
         sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
+    "rimraf-5.0.5" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz";
+        sha512 = "CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==";
+      };
+    };
     "ripemd160-2.0.2" = {
       name = "ripemd160";
       packageName = "ripemd160";
@@ -10687,6 +11623,15 @@ let
         sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
       };
     };
+    "rollup-3.29.4" = {
+      name = "rollup";
+      packageName = "rollup";
+      version = "3.29.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz";
+        sha512 = "oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==";
+      };
+    };
     "run-async-2.4.1" = {
       name = "run-async";
       packageName = "run-async";
@@ -10723,13 +11668,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "safe-array-concat-1.0.0" = {
+    "safe-array-concat-1.0.1" = {
       name = "safe-array-concat";
       packageName = "safe-array-concat";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz";
-        sha512 = "9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==";
+        url = "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz";
+        sha512 = "6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==";
       };
     };
     "safe-buffer-5.1.1" = {
@@ -10795,6 +11740,15 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
+    "sass-1.68.0" = {
+      name = "sass";
+      packageName = "sass";
+      version = "1.68.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz";
+        sha512 = "Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==";
+      };
+    };
     "sax-1.2.4" = {
       name = "sax";
       packageName = "sax";
@@ -10804,6 +11758,15 @@ let
         sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
+    "sax-1.3.0" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz";
+        sha512 = "0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==";
+      };
+    };
     "schema-utils-0.4.7" = {
       name = "schema-utils";
       packageName = "schema-utils";
@@ -10831,13 +11794,13 @@ let
         sha512 = "SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==";
       };
     };
-    "schema-utils-3.1.2" = {
+    "schema-utils-3.3.0" = {
       name = "schema-utils";
       packageName = "schema-utils";
-      version = "3.1.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz";
-        sha512 = "pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==";
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz";
+        sha512 = "pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==";
       };
     };
     "section-matter-1.0.0" = {
@@ -10867,31 +11830,31 @@ let
         sha512 = "lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==";
       };
     };
-    "semver-5.7.1" = {
+    "semver-5.7.2" = {
       name = "semver";
       packageName = "semver";
-      version = "5.7.1";
+      version = "5.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz";
+        sha512 = "cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==";
       };
     };
-    "semver-6.3.0" = {
+    "semver-6.3.1" = {
       name = "semver";
       packageName = "semver";
-      version = "6.3.0";
+      version = "6.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+        url = "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz";
+        sha512 = "BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==";
       };
     };
-    "semver-7.5.0" = {
+    "semver-7.5.4" = {
       name = "semver";
       packageName = "semver";
-      version = "7.5.0";
+      version = "7.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz";
-        sha512 = "+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz";
+        sha512 = "1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==";
       };
     };
     "semver-regex-3.1.4" = {
@@ -11002,6 +11965,15 @@ let
         sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
       };
     };
+    "set-function-name-2.0.1" = {
+      name = "set-function-name";
+      packageName = "set-function-name";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz";
+        sha512 = "tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==";
+      };
+    };
     "set-value-2.0.1" = {
       name = "set-value";
       packageName = "set-value";
@@ -11128,13 +12100,22 @@ let
         sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-3.18.0" = {
+    "signal-exit-4.1.0" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz";
+        sha512 = "bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==";
+      };
+    };
+    "simple-git-3.20.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.18.0";
+      version = "3.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.18.0.tgz";
-        sha512 = "Yt0GJ5aYrpPci3JyrYcsPz8Xc05Hi4JPSOb+Sgn/BmPX35fn/6Fp9Mef8eMBCrL2siY5w4j49TA5Q+bxPpri1Q==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.20.0.tgz";
+        sha512 = "ozK8tl2hvLts8ijTs18iFruE+RoqmC/mqZhjs/+V7gS5W68JpJ3+FCTmLVqmR59MaUQ52MfGQuWsIqfsTbbJ0Q==";
       };
     };
     "simple-swizzle-0.2.2" = {
@@ -11182,6 +12163,15 @@ let
         sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     };
+    "slash-4.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz";
+        sha512 = "3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==";
+      };
+    };
     "slice-ansi-4.0.0" = {
       name = "slice-ansi";
       packageName = "slice-ansi";
@@ -11191,6 +12181,15 @@ let
         sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
       };
     };
+    "smart-buffer-4.2.0" = {
+      name = "smart-buffer";
+      packageName = "smart-buffer";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz";
+        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
+      };
+    };
     "snapdragon-0.8.2" = {
       name = "snapdragon";
       packageName = "snapdragon";
@@ -11245,6 +12244,24 @@ let
         sha512 = "5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==";
       };
     };
+    "socks-2.7.1" = {
+      name = "socks";
+      packageName = "socks";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz";
+        sha512 = "7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==";
+      };
+    };
+    "socks-proxy-agent-7.0.0" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz";
+        sha512 = "Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==";
+      };
+    };
     "sort-keys-1.1.2" = {
       name = "sort-keys";
       packageName = "sort-keys";
@@ -11353,13 +12370,13 @@ let
         sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
       };
     };
-    "spdx-license-ids-3.0.13" = {
+    "spdx-license-ids-3.0.15" = {
       name = "spdx-license-ids";
       packageName = "spdx-license-ids";
-      version = "3.0.13";
+      version = "3.0.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz";
-        sha512 = "XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==";
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz";
+        sha512 = "lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==";
       };
     };
     "spdy-4.0.2" = {
@@ -11416,6 +12433,15 @@ let
         sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
       };
     };
+    "ssri-10.0.5" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "10.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz";
+        sha512 = "bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==";
+      };
+    };
     "ssri-5.3.0" = {
       name = "ssri";
       packageName = "ssri";
@@ -11533,6 +12559,15 @@ let
         sha512 = "AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==";
       };
     };
+    "streamsearch-1.1.0" = {
+      name = "streamsearch";
+      packageName = "streamsearch";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz";
+        sha512 = "Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==";
+      };
+    };
     "strict-uri-encode-1.1.0" = {
       name = "strict-uri-encode";
       packageName = "strict-uri-encode";
@@ -11587,31 +12622,49 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string.prototype.trim-1.2.7" = {
+    "string-width-5.1.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz";
+        sha512 = "HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==";
+      };
+    };
+    "string-width-cjs-4.2.3" = {
+      name = "string-width-cjs";
+      packageName = "string-width-cjs";
+      version = "4.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";
+        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
+      };
+    };
+    "string.prototype.trim-1.2.8" = {
       name = "string.prototype.trim";
       packageName = "string.prototype.trim";
-      version = "1.2.7";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz";
-        sha512 = "p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==";
+        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz";
+        sha512 = "lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==";
       };
     };
-    "string.prototype.trimend-1.0.6" = {
+    "string.prototype.trimend-1.0.7" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz";
-        sha512 = "JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz";
+        sha512 = "Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==";
       };
     };
-    "string.prototype.trimstart-1.0.6" = {
+    "string.prototype.trimstart-1.0.7" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz";
-        sha512 = "omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz";
+        sha512 = "NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -11695,6 +12748,24 @@ let
         sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
       };
     };
+    "strip-ansi-7.1.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz";
+        sha512 = "iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==";
+      };
+    };
+    "strip-ansi-cjs-6.0.1" = {
+      name = "strip-ansi-cjs";
+      packageName = "strip-ansi-cjs";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";
+        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
+      };
+    };
     "strip-bom-2.0.0" = {
       name = "strip-bom";
       packageName = "strip-bom";
@@ -11767,6 +12838,15 @@ let
         sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
       };
     };
+    "stylus-0.60.0" = {
+      name = "stylus";
+      packageName = "stylus";
+      version = "0.60.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylus/-/stylus-0.60.0.tgz";
+        sha512 = "j2pBgEwzCu05yCuY4cmyp0FtPQQFBBAGB7TY7QaNl7eztiHwkxzwvIp5vjZJND/a1JNOka+ZW9ewVPFZpI3pcA==";
+      };
+    };
     "sudo-prompt-8.2.5" = {
       name = "sudo-prompt";
       packageName = "sudo-prompt";
@@ -11776,6 +12856,15 @@ let
         sha512 = "rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==";
       };
     };
+    "sugarss-4.0.1" = {
+      name = "sugarss";
+      packageName = "sugarss";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sugarss/-/sugarss-4.0.1.tgz";
+        sha512 = "WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==";
+      };
+    };
     "sums-0.2.4" = {
       name = "sums";
       packageName = "sums";
@@ -11884,13 +12973,13 @@ let
         sha512 = "a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==";
       };
     };
-    "tar-6.1.14" = {
+    "tar-6.2.0" = {
       name = "tar";
       packageName = "tar";
-      version = "6.1.14";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz";
-        sha512 = "piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==";
+        url = "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz";
+        sha512 = "/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==";
       };
     };
     "temp-0.9.0" = {
@@ -11929,13 +13018,13 @@ let
         sha512 = "4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==";
       };
     };
-    "terser-5.17.1" = {
+    "terser-5.21.0" = {
       name = "terser";
       packageName = "terser";
-      version = "5.17.1";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz";
-        sha512 = "hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz";
+        sha512 = "WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==";
       };
     };
     "terser-5.3.8" = {
@@ -12208,22 +13297,22 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.5.0" = {
+    "tslib-2.6.2" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.5.0";
+      version = "2.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz";
-        sha512 = "336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz";
+        sha512 = "AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==";
       };
     };
-    "tsyringe-4.7.0" = {
+    "tsyringe-4.8.0" = {
       name = "tsyringe";
       packageName = "tsyringe";
-      version = "4.7.0";
+      version = "4.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tsyringe/-/tsyringe-4.7.0.tgz";
-        sha512 = "ncFDM1jTLsok4ejMvSW5jN1VGPQD48y2tfAR0pdptWRKYX4bkbqPt92k7KJ5RFJ1KV36JEs/+TMh7I6OUgj74g==";
+        url = "https://registry.npmjs.org/tsyringe/-/tsyringe-4.8.0.tgz";
+        sha512 = "YB1FG+axdxADa3ncEtRnQCFq/M0lALGLxSZeVNbTU8NqhOVc51nnv2CISTcvc1kyv6EGPtXVr0v6lWeDxiijOA==";
       };
     };
     "tty-browserify-0.0.0" = {
@@ -12298,6 +13387,33 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
+    "typed-array-buffer-1.0.0" = {
+      name = "typed-array-buffer";
+      packageName = "typed-array-buffer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz";
+        sha512 = "Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==";
+      };
+    };
+    "typed-array-byte-length-1.0.0" = {
+      name = "typed-array-byte-length";
+      packageName = "typed-array-byte-length";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz";
+        sha512 = "Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==";
+      };
+    };
+    "typed-array-byte-offset-1.0.0" = {
+      name = "typed-array-byte-offset";
+      packageName = "typed-array-byte-offset";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz";
+        sha512 = "RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==";
+      };
+    };
     "typed-array-length-1.0.4" = {
       name = "typed-array-length";
       packageName = "typed-array-length";
@@ -12388,15 +13504,6 @@ let
         sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
-    "undici-4.16.0" = {
-      name = "undici";
-      packageName = "undici";
-      version = "4.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz";
-        sha512 = "tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==";
-      };
-    };
     "unicode-canonical-property-names-ecmascript-2.0.0" = {
       name = "unicode-canonical-property-names-ecmascript";
       packageName = "unicode-canonical-property-names-ecmascript";
@@ -12469,6 +13576,15 @@ let
         sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
       };
     };
+    "unique-filename-3.0.0" = {
+      name = "unique-filename";
+      packageName = "unique-filename";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz";
+        sha512 = "afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==";
+      };
+    };
     "unique-slug-2.0.2" = {
       name = "unique-slug";
       packageName = "unique-slug";
@@ -12478,6 +13594,15 @@ let
         sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
       };
     };
+    "unique-slug-4.0.0" = {
+      name = "unique-slug";
+      packageName = "unique-slug";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz";
+        sha512 = "WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==";
+      };
+    };
     "universalify-0.1.2" = {
       name = "universalify";
       packageName = "universalify";
@@ -12550,13 +13675,13 @@ let
         sha512 = "1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==";
       };
     };
-    "update-browserslist-db-1.0.11" = {
+    "update-browserslist-db-1.0.13" = {
       name = "update-browserslist-db";
       packageName = "update-browserslist-db";
-      version = "1.0.11";
+      version = "1.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz";
-        sha512 = "dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==";
+        url = "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz";
+        sha512 = "xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==";
       };
     };
     "upgrade-1.1.0" = {
@@ -12586,13 +13711,13 @@ let
         sha512 = "Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==";
       };
     };
-    "url-0.11.0" = {
+    "url-0.11.3" = {
       name = "url";
       packageName = "url";
-      version = "0.11.0";
+      version = "0.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-        sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==";
+        url = "https://registry.npmjs.org/url/-/url-0.11.3.tgz";
+        sha512 = "6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==";
       };
     };
     "url-loader-4.1.1" = {
@@ -12649,13 +13774,13 @@ let
         sha512 = "Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==";
       };
     };
-    "util-0.10.3" = {
+    "util-0.10.4" = {
       name = "util";
       packageName = "util";
-      version = "0.10.3";
+      version = "0.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
-        sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==";
+        url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
+        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
       };
     };
     "util-0.11.1" = {
@@ -12757,6 +13882,15 @@ let
         sha512 = "ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==";
       };
     };
+    "vite-4.4.11" = {
+      name = "vite";
+      packageName = "vite";
+      version = "4.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz";
+        sha512 = "ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==";
+      };
+    };
     "vm-browserify-1.1.2" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
@@ -12811,13 +13945,13 @@ let
         sha512 = "SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==";
       };
     };
-    "vscode-uri-3.0.7" = {
+    "vscode-uri-3.0.8" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "3.0.7";
+      version = "3.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz";
-        sha512 = "eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz";
+        sha512 = "AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==";
       };
     };
     "watchpack-1.7.5" = {
@@ -12991,6 +14125,15 @@ let
         sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
       };
     };
+    "which-3.0.1" = {
+      name = "which";
+      packageName = "which";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-3.0.1.tgz";
+        sha512 = "XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==";
+      };
+    };
     "which-boxed-primitive-1.0.2" = {
       name = "which-boxed-primitive";
       packageName = "which-boxed-primitive";
@@ -13018,13 +14161,13 @@ let
         sha512 = "iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==";
       };
     };
-    "which-typed-array-1.1.9" = {
+    "which-typed-array-1.1.11" = {
       name = "which-typed-array";
       packageName = "which-typed-array";
-      version = "1.1.9";
+      version = "1.1.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz";
-        sha512 = "w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==";
+        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz";
+        sha512 = "qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==";
       };
     };
     "winston-2.1.1" = {
@@ -13216,6 +14359,24 @@ let
         sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     };
+    "wrap-ansi-8.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz";
+        sha512 = "si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==";
+      };
+    };
+    "wrap-ansi-cjs-7.0.0" = {
+      name = "wrap-ansi-cjs";
+      packageName = "wrap-ansi-cjs";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
+        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
+      };
+    };
     "wrappy-1.0.2" = {
       name = "wrappy";
       packageName = "wrappy";
@@ -13807,7 +14968,7 @@ in
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -13834,7 +14995,7 @@ in
           sources."json-schema-traverse-1.0.0"
         ];
       })
-      sources."tar-6.1.14"
+      sources."tar-6.2.0"
       sources."temp-0.9.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -13947,15 +15108,16 @@ in
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.2.0"
+      sources."get-intrinsic-1.2.1"
       sources."get-stream-4.1.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."got-9.6.0"
-      sources."has-1.0.3"
+      sources."has-1.0.4"
       sources."has-flag-4.0.0"
+      sources."has-proto-1.0.1"
       sources."has-symbols-1.0.3"
       sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
@@ -13986,7 +15148,7 @@ in
       sources."minimist-1.2.8"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
-      sources."node-gyp-build-4.6.0"
+      sources."node-gyp-build-4.6.1"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."object-inspect-1.12.3"
@@ -14014,7 +15176,7 @@ in
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."semver-6.3.0"
+      sources."semver-6.3.1"
       (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -14064,10 +15226,10 @@ in
   "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage {
     name = "_at_elm-tooling_slash_elm-language-server";
     packageName = "@elm-tooling/elm-language-server";
-    version = "2.7.0";
+    version = "2.7.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-2.7.0.tgz";
-      sha512 = "EIPf/plACx7GmY4GBxfri4JsYYIqq5whAIpVBtcz9yhE+z5L6RqnH6ZLJkTmA5Z+d74lO6oz5CZ5JZS8tzdb6w==";
+      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-2.7.3.tgz";
+      sha512 = "V6X0cqgyc+ZCA2eRA8eU33nNrWmM78uvKhhNUl8OMrdGecA9nOsk1lmoWAhOmyD1ZSbgvvNQiBGnbmziemM6CA==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -14082,11 +15244,11 @@ in
       sources."dir-glob-3.0.1"
       sources."escape-string-regexp-4.0.0"
       sources."execa-5.1.1"
-      sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.12"
+      sources."fast-diff-1.3.0"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."get-stream-6.0.1"
       sources."glob-parent-5.1.2"
       sources."globby-11.1.0"
@@ -14112,6 +15274,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."readdirp-3.6.0"
       sources."reflect-metadata-0.1.13"
+      sources."request-light-0.7.0"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."shebang-command-2.0.0"
@@ -14122,13 +15285,13 @@ in
       sources."to-regex-range-5.0.1"
       sources."ts-debounce-4.0.0"
       sources."tslib-1.14.1"
-      sources."tsyringe-4.7.0"
+      sources."tsyringe-4.8.0"
       sources."vscode-jsonrpc-8.1.0"
       sources."vscode-languageserver-8.1.0"
       sources."vscode-languageserver-protocol-3.17.3"
       sources."vscode-languageserver-textdocument-1.0.8"
       sources."vscode-languageserver-types-3.17.3"
-      sources."vscode-uri-3.0.7"
+      sources."vscode-uri-3.0.8"
       sources."web-tree-sitter-0.20.8"
       sources."which-2.0.2"
     ];
@@ -14184,9 +15347,9 @@ in
       })
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.15.2"
+      sources."follow-redirects-1.15.3"
       sources."fresh-0.5.2"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."get-stream-4.1.0"
       sources."glob-parent-5.1.2"
       sources."has-ansi-2.0.0"
@@ -14225,7 +15388,7 @@ in
       sources."range-parser-1.2.1"
       sources."readdirp-3.6.0"
       sources."requires-port-1.0.0"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       (sources."send-0.17.1" // {
         dependencies = [
           sources."mime-1.6.0"
@@ -14313,7 +15476,7 @@ in
       sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-elm-compiler-5.0.5"
-      sources."node-gyp-build-4.6.0"
+      sources."node-gyp-build-4.6.1"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -14321,7 +15484,7 @@ in
       sources."picomatch-2.3.1"
       sources."readdirp-3.4.0"
       sources."rimraf-2.6.3"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."source-map-0.7.4"
@@ -14375,7 +15538,7 @@ in
       sources."elm-solve-deps-wasm-1.0.2"
       sources."fill-range-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."glob-8.1.0"
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.11"
@@ -14425,12 +15588,12 @@ in
       sources."@sindresorhus/is-2.1.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.3"
-      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/http-cache-semantics-4.0.2"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.16.3"
-      sources."@types/responselike-1.0.0"
+      sources."@types/node-20.8.2"
+      sources."@types/responselike-1.0.1"
       sources."cacheable-lookup-2.0.1"
-      sources."cacheable-request-7.0.2"
+      sources."cacheable-request-7.0.4"
       sources."caw-2.0.1"
       (sources."clone-response-1.0.3" // {
         dependencies = [
@@ -14456,7 +15619,7 @@ in
       sources."isurl-1.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-4.0.0"
-      sources."keyv-4.5.2"
+      sources."keyv-4.5.3"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."mimic-response-2.1.0"
@@ -14473,7 +15636,7 @@ in
       sources."responselike-2.0.1"
       sources."safe-buffer-5.2.1"
       sources."safename-1.0.2"
-      sources."semver-7.5.0"
+      sources."semver-7.5.4"
       sources."to-readable-stream-2.1.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.10.0"
@@ -14642,7 +15805,7 @@ in
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -14710,11 +15873,11 @@ in
       sources."process-nextick-args-2.0.1"
       sources."readable-stream-2.3.8"
       sources."safe-buffer-5.1.2"
-      sources."semver-6.3.0"
+      sources."semver-6.3.1"
       sources."semver-regex-3.1.4"
       (sources."semver-sort-1.0.0" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-5.7.2"
         ];
       })
       sources."string_decoder-1.1.1"
@@ -14743,47 +15906,47 @@ in
     };
     dependencies = [
       sources."@babel/cli-7.12.10"
-      sources."@babel/code-frame-7.21.4"
-      sources."@babel/compat-data-7.21.7"
+      sources."@babel/code-frame-7.22.13"
+      sources."@babel/compat-data-7.22.20"
       sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.21.5"
-      sources."@babel/helper-annotate-as-pure-7.18.6"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.21.5"
-      (sources."@babel/helper-compilation-targets-7.21.5" // {
+      sources."@babel/generator-7.23.0"
+      sources."@babel/helper-annotate-as-pure-7.22.5"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.22.15"
+      (sources."@babel/helper-compilation-targets-7.22.15" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
         ];
       })
-      (sources."@babel/helper-create-class-features-plugin-7.21.8" // {
+      (sources."@babel/helper-create-class-features-plugin-7.22.15" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
         ];
       })
-      (sources."@babel/helper-create-regexp-features-plugin-7.21.8" // {
+      (sources."@babel/helper-create-regexp-features-plugin-7.22.15" // {
         dependencies = [
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
         ];
       })
-      sources."@babel/helper-environment-visitor-7.21.5"
-      sources."@babel/helper-function-name-7.21.0"
-      sources."@babel/helper-hoist-variables-7.18.6"
-      sources."@babel/helper-member-expression-to-functions-7.21.5"
-      sources."@babel/helper-module-imports-7.21.4"
-      sources."@babel/helper-module-transforms-7.21.5"
-      sources."@babel/helper-optimise-call-expression-7.18.6"
-      sources."@babel/helper-plugin-utils-7.21.5"
-      sources."@babel/helper-remap-async-to-generator-7.18.9"
-      sources."@babel/helper-replace-supers-7.21.5"
-      sources."@babel/helper-simple-access-7.21.5"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.20.0"
-      sources."@babel/helper-split-export-declaration-7.18.6"
-      sources."@babel/helper-string-parser-7.21.5"
-      sources."@babel/helper-validator-identifier-7.19.1"
-      sources."@babel/helper-validator-option-7.21.0"
-      sources."@babel/helper-wrap-function-7.20.5"
-      sources."@babel/helpers-7.21.5"
-      sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.21.8"
+      sources."@babel/helper-environment-visitor-7.22.20"
+      sources."@babel/helper-function-name-7.23.0"
+      sources."@babel/helper-hoist-variables-7.22.5"
+      sources."@babel/helper-member-expression-to-functions-7.23.0"
+      sources."@babel/helper-module-imports-7.22.15"
+      sources."@babel/helper-module-transforms-7.23.0"
+      sources."@babel/helper-optimise-call-expression-7.22.5"
+      sources."@babel/helper-plugin-utils-7.22.5"
+      sources."@babel/helper-remap-async-to-generator-7.22.20"
+      sources."@babel/helper-replace-supers-7.22.20"
+      sources."@babel/helper-simple-access-7.22.5"
+      sources."@babel/helper-skip-transparent-expression-wrappers-7.22.5"
+      sources."@babel/helper-split-export-declaration-7.22.6"
+      sources."@babel/helper-string-parser-7.22.5"
+      sources."@babel/helper-validator-identifier-7.22.20"
+      sources."@babel/helper-validator-option-7.22.15"
+      sources."@babel/helper-wrap-function-7.22.20"
+      sources."@babel/helpers-7.23.1"
+      sources."@babel/highlight-7.22.20"
+      sources."@babel/parser-7.23.0"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
       sources."@babel/plugin-proposal-class-properties-7.18.6"
       sources."@babel/plugin-proposal-dynamic-import-7.18.6"
@@ -14809,83 +15972,79 @@ in
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.21.5"
-      sources."@babel/plugin-transform-async-to-generator-7.20.7"
-      sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.21.0"
-      sources."@babel/plugin-transform-classes-7.21.0"
-      sources."@babel/plugin-transform-computed-properties-7.21.5"
-      sources."@babel/plugin-transform-destructuring-7.21.3"
-      sources."@babel/plugin-transform-dotall-regex-7.18.6"
-      sources."@babel/plugin-transform-duplicate-keys-7.18.9"
-      sources."@babel/plugin-transform-exponentiation-operator-7.18.6"
-      sources."@babel/plugin-transform-for-of-7.21.5"
-      sources."@babel/plugin-transform-function-name-7.18.9"
-      sources."@babel/plugin-transform-literals-7.18.9"
-      sources."@babel/plugin-transform-member-expression-literals-7.18.6"
-      sources."@babel/plugin-transform-modules-amd-7.20.11"
-      sources."@babel/plugin-transform-modules-commonjs-7.21.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.20.11"
-      sources."@babel/plugin-transform-modules-umd-7.18.6"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.20.5"
-      sources."@babel/plugin-transform-new-target-7.18.6"
-      sources."@babel/plugin-transform-object-super-7.18.6"
-      sources."@babel/plugin-transform-parameters-7.21.3"
-      sources."@babel/plugin-transform-property-literals-7.18.6"
-      sources."@babel/plugin-transform-regenerator-7.21.5"
-      sources."@babel/plugin-transform-reserved-words-7.18.6"
+      sources."@babel/plugin-transform-arrow-functions-7.22.5"
+      sources."@babel/plugin-transform-async-to-generator-7.22.5"
+      sources."@babel/plugin-transform-block-scoped-functions-7.22.5"
+      sources."@babel/plugin-transform-block-scoping-7.23.0"
+      sources."@babel/plugin-transform-classes-7.22.15"
+      sources."@babel/plugin-transform-computed-properties-7.22.5"
+      sources."@babel/plugin-transform-destructuring-7.23.0"
+      sources."@babel/plugin-transform-dotall-regex-7.22.5"
+      sources."@babel/plugin-transform-duplicate-keys-7.22.5"
+      sources."@babel/plugin-transform-exponentiation-operator-7.22.5"
+      sources."@babel/plugin-transform-for-of-7.22.15"
+      sources."@babel/plugin-transform-function-name-7.22.5"
+      sources."@babel/plugin-transform-literals-7.22.5"
+      sources."@babel/plugin-transform-member-expression-literals-7.22.5"
+      sources."@babel/plugin-transform-modules-amd-7.23.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.23.0"
+      sources."@babel/plugin-transform-modules-systemjs-7.23.0"
+      sources."@babel/plugin-transform-modules-umd-7.22.5"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.22.5"
+      sources."@babel/plugin-transform-new-target-7.22.5"
+      sources."@babel/plugin-transform-object-super-7.22.5"
+      sources."@babel/plugin-transform-parameters-7.22.15"
+      sources."@babel/plugin-transform-property-literals-7.22.5"
+      sources."@babel/plugin-transform-regenerator-7.22.10"
+      sources."@babel/plugin-transform-reserved-words-7.22.5"
       sources."@babel/plugin-transform-runtime-7.12.10"
-      sources."@babel/plugin-transform-shorthand-properties-7.18.6"
-      sources."@babel/plugin-transform-spread-7.20.7"
-      sources."@babel/plugin-transform-sticky-regex-7.18.6"
-      sources."@babel/plugin-transform-template-literals-7.18.9"
-      sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-unicode-escapes-7.21.5"
-      sources."@babel/plugin-transform-unicode-regex-7.18.6"
+      sources."@babel/plugin-transform-shorthand-properties-7.22.5"
+      sources."@babel/plugin-transform-spread-7.22.5"
+      sources."@babel/plugin-transform-sticky-regex-7.22.5"
+      sources."@babel/plugin-transform-template-literals-7.22.5"
+      sources."@babel/plugin-transform-typeof-symbol-7.22.5"
+      sources."@babel/plugin-transform-unicode-escapes-7.22.10"
+      sources."@babel/plugin-transform-unicode-regex-7.22.5"
       sources."@babel/preset-env-7.12.10"
-      sources."@babel/preset-modules-0.1.5"
+      sources."@babel/preset-modules-0.1.6"
       sources."@babel/regjsgen-0.8.0"
       sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.21.5"
-      sources."@babel/types-7.21.5"
+      sources."@babel/template-7.22.15"
+      sources."@babel/traverse-7.23.0"
+      sources."@babel/types-7.23.0"
       sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
       sources."@hapi/hoek-8.5.1"
       sources."@hapi/joi-15.1.1"
       sources."@hapi/topo-3.1.6"
       sources."@jridgewell/gen-mapping-0.3.3"
-      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/resolve-uri-3.1.1"
       sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/sourcemap-codec-1.4.15"
-      (sources."@jridgewell/trace-mapping-0.3.18" // {
-        dependencies = [
-          sources."@jridgewell/sourcemap-codec-1.4.14"
-        ];
-      })
+      sources."@jridgewell/trace-mapping-0.3.19"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
-      sources."@types/http-proxy-1.17.11"
-      sources."@types/json-schema-7.0.11"
+      sources."@types/http-proxy-1.17.12"
+      sources."@types/json-schema-7.0.13"
       sources."@types/minimatch-5.1.2"
-      sources."@types/node-18.16.3"
+      sources."@types/node-20.8.2"
       sources."@types/parse-json-4.0.0"
-      sources."@types/q-1.5.5"
-      sources."@types/source-list-map-0.1.2"
-      sources."@types/tapable-1.0.8"
-      (sources."@types/uglify-js-3.17.1" // {
+      sources."@types/q-1.5.6"
+      sources."@types/source-list-map-0.1.3"
+      sources."@types/tapable-1.0.9"
+      (sources."@types/uglify-js-3.17.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-4.41.33" // {
+      (sources."@types/webpack-4.41.34" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-sources-3.2.0" // {
+      (sources."@types/webpack-sources-3.2.1" // {
         dependencies = [
           sources."source-map-0.7.4"
         ];
@@ -14936,7 +16095,8 @@ in
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
-      sources."array.prototype.reduce-1.0.5"
+      sources."array.prototype.reduce-1.0.6"
+      sources."arraybuffer.prototype.slice-1.0.2"
       sources."asap-2.0.6"
       sources."asn1-0.2.6"
       (sources."asn1.js-5.4.1" // {
@@ -14944,10 +16104,10 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      (sources."assert-1.5.0" // {
+      (sources."assert-1.5.1" // {
         dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
+          sources."inherits-2.0.3"
+          sources."util-0.10.4"
         ];
       })
       sources."assert-plus-1.0.0"
@@ -14970,7 +16130,7 @@ in
       (sources."babel-loader-8.2.2" // {
         dependencies = [
           sources."make-dir-3.1.0"
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
         ];
       })
       sources."babel-plugin-syntax-object-rest-spread-6.13.0"
@@ -15023,7 +16183,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.21.5"
+      sources."browserslist-4.22.1"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -15040,7 +16200,7 @@ in
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001482"
+      sources."caniuse-lite-1.0.30001546"
       sources."case-sensitive-paths-webpack-plugin-2.3.0"
       sources."caseless-0.12.0"
       (sources."chalk-2.4.2" // {
@@ -15139,7 +16299,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      sources."core-js-compat-3.30.1"
+      sources."core-js-compat-3.33.0"
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-5.2.1"
       (sources."create-ecdh-4.0.4" // {
@@ -15166,7 +16326,7 @@ in
           sources."lru-cache-6.0.0"
           sources."picocolors-0.2.1"
           sources."postcss-7.0.39"
-          sources."semver-7.5.0"
+          sources."semver-7.5.4"
           sources."source-map-0.6.1"
           sources."yallist-4.0.0"
         ];
@@ -15212,14 +16372,15 @@ in
         ];
       })
       sources."cycle-1.0.3"
-      sources."cyclist-1.0.1"
+      sources."cyclist-1.0.2"
       sources."dashdash-1.14.1"
       sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.2"
       sources."deep-equal-0.2.2"
       sources."default-gateway-4.2.0"
-      sources."define-properties-1.2.0"
+      sources."define-data-property-1.1.0"
+      sources."define-properties-1.2.1"
       sources."define-property-2.0.2"
       (sources."del-4.1.1" // {
         dependencies = [
@@ -15232,7 +16393,7 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."depd-2.0.0"
-      sources."des.js-1.0.1"
+      sources."des.js-1.1.0"
       sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       (sources."detect-port-alt-1.1.6" // {
@@ -15263,7 +16424,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.382"
+      sources."electron-to-chromium-1.4.542"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -15301,7 +16462,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.21.2"
+      sources."es-abstract-1.22.2"
       sources."es-array-method-boxes-properly-1.0.0"
       sources."es-set-tostringtag-2.0.1"
       sources."es-to-primitive-1.2.1"
@@ -15409,7 +16570,7 @@ in
       (sources."file-loader-6.2.0" // {
         dependencies = [
           sources."loader-utils-2.0.4"
-          sources."schema-utils-3.1.2"
+          sources."schema-utils-3.3.0"
         ];
       })
       sources."file-uri-to-path-1.0.0"
@@ -15424,20 +16585,20 @@ in
       (sources."find-cache-dir-3.3.2" // {
         dependencies = [
           sources."make-dir-3.1.0"
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
         ];
       })
       sources."find-elm-dependencies-2.0.4"
       sources."find-up-4.1.0"
       sources."firstline-1.3.1"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.15.2"
+      sources."follow-redirects-1.15.3"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
-      sources."fraction.js-4.2.0"
+      sources."fraction.js-4.3.6"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
@@ -15445,13 +16606,13 @@ in
       sources."fs-readdir-recursive-1.1.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
+      sources."function.prototype.name-1.1.6"
       sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.2.0"
+      sources."get-intrinsic-1.2.1"
       sources."get-own-enumerable-property-symbols-3.0.2"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
@@ -15488,7 +16649,7 @@ in
       sources."handle-thing-2.0.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
-      sources."has-1.0.3"
+      sources."has-1.0.4"
       sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
@@ -15587,7 +16748,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.7"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.12.0"
+      sources."is-core-module-2.13.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -15613,7 +16774,7 @@ in
       sources."is-stream-1.1.0"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.10"
+      sources."is-typed-array-1.1.12"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."is-weakref-1.0.2"
@@ -15707,7 +16868,7 @@ in
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
       sources."mute-stream-0.0.8"
-      sources."nan-2.17.0"
+      sources."nan-2.18.0"
       sources."nanoid-3.3.6"
       sources."nanomatch-1.2.13"
       sources."ncp-1.0.1"
@@ -15730,7 +16891,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.10"
+      sources."node-releases-2.0.13"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
@@ -15762,10 +16923,10 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.4"
-      sources."object.entries-1.1.6"
-      sources."object.getownpropertydescriptors-2.1.6"
+      sources."object.entries-1.1.7"
+      sources."object.getownpropertydescriptors-2.1.7"
       sources."object.pick-1.3.0"
-      sources."object.values-1.1.6"
+      sources."object.values-1.1.7"
       sources."obuf-1.1.2"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
@@ -15838,7 +16999,7 @@ in
         ];
       })
       sources."posix-character-classes-0.1.1"
-      sources."postcss-8.4.23"
+      sources."postcss-8.4.31"
       (sources."postcss-calc-7.0.5" // {
         dependencies = [
           sources."picocolors-0.2.1"
@@ -15906,8 +17067,8 @@ in
           sources."parse-json-5.2.0"
           sources."path-type-4.0.0"
           sources."resolve-from-4.0.0"
-          sources."schema-utils-3.1.2"
-          sources."semver-7.5.0"
+          sources."schema-utils-3.3.0"
+          sources."semver-7.5.4"
           sources."yallist-4.0.0"
         ];
       })
@@ -16083,7 +17244,7 @@ in
         ];
       })
       sources."postcss-safe-parser-5.0.2"
-      sources."postcss-selector-parser-6.0.12"
+      sources."postcss-selector-parser-6.0.13"
       (sources."postcss-svgo-4.0.3" // {
         dependencies = [
           sources."picocolors-0.2.1"
@@ -16127,7 +17288,6 @@ in
       sources."q-1.5.1"
       sources."qs-6.5.3"
       sources."query-string-4.3.4"
-      sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."querystringify-2.2.0"
       sources."randombytes-2.1.0"
@@ -16191,11 +17351,11 @@ in
         ];
       })
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.1.0"
+      sources."regenerate-unicode-properties-10.1.1"
       sources."regenerator-runtime-0.13.11"
-      sources."regenerator-transform-0.15.1"
+      sources."regenerator-transform-0.15.2"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.5.0"
+      sources."regexp.prototype.flags-1.5.1"
       sources."regexpu-core-5.3.2"
       (sources."regjsparser-0.9.1" // {
         dependencies = [
@@ -16216,7 +17376,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.22.3"
+      sources."resolve-1.22.6"
       sources."resolve-cwd-2.0.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-from-3.0.0"
@@ -16236,7 +17396,7 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      (sources."safe-array-concat-1.0.0" // {
+      (sources."safe-array-concat-1.0.1" // {
         dependencies = [
           sources."isarray-2.0.5"
         ];
@@ -16249,7 +17409,7 @@ in
       sources."schema-utils-2.7.1"
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
@@ -16274,6 +17434,7 @@ in
       })
       sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
+      sources."set-function-name-2.0.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -16349,7 +17510,7 @@ in
       sources."spdx-correct-3.2.0"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.13"
+      sources."spdx-license-ids-3.0.15"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
@@ -16392,9 +17553,9 @@ in
           sources."strip-ansi-6.0.1"
         ];
       })
-      sources."string.prototype.trim-1.2.7"
-      sources."string.prototype.trimend-1.0.6"
-      sources."string.prototype.trimstart-1.0.6"
+      sources."string.prototype.trim-1.2.8"
+      sources."string.prototype.trimend-1.0.7"
+      sources."string.prototype.trimstart-1.0.7"
       sources."string_decoder-1.1.1"
       (sources."stringify-object-3.3.0" // {
         dependencies = [
@@ -16476,11 +17637,14 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.5.0"
+      sources."tslib-2.6.2"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
+      sources."typed-array-buffer-1.0.0"
+      sources."typed-array-byte-length-1.0.0"
+      sources."typed-array-byte-offset-1.0.0"
       sources."typed-array-length-1.0.4"
       sources."typedarray-0.0.6"
       (sources."uglify-es-3.3.10" // {
@@ -16536,18 +17700,19 @@ in
         ];
       })
       sources."upath-1.2.0"
-      sources."update-browserslist-db-1.0.11"
+      sources."update-browserslist-db-1.0.13"
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
+      (sources."url-0.11.3" // {
         dependencies = [
-          sources."punycode-1.3.2"
+          sources."punycode-1.4.1"
+          sources."qs-6.11.2"
         ];
       })
       (sources."url-loader-4.1.1" // {
         dependencies = [
           sources."loader-utils-2.0.4"
-          sources."schema-utils-3.1.2"
+          sources."schema-utils-3.3.0"
         ];
       })
       sources."url-parse-1.5.10"
@@ -16643,7 +17808,7 @@ in
           sources."readdirp-2.2.1"
           sources."require-main-filename-2.0.0"
           sources."schema-utils-1.0.0"
-          sources."semver-6.3.0"
+          sources."semver-6.3.1"
           (sources."string-width-3.1.0" // {
             dependencies = [
               sources."ansi-regex-4.1.1"
@@ -16681,7 +17846,7 @@ in
       sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       sources."which-module-1.0.0"
-      sources."which-typed-array-1.1.9"
+      sources."which-typed-array-1.1.11"
       (sources."winston-2.1.1" // {
         dependencies = [
           sources."async-1.0.0"
@@ -16799,7 +17964,7 @@ in
       sources."pretty-format-27.5.1"
       sources."react-is-17.0.2"
       sources."rimraf-2.6.3"
-      sources."semver-5.7.1"
+      sources."semver-5.7.2"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."supports-color-7.2.0"
@@ -16822,46 +17987,81 @@ in
   elm-pages = nodeEnv.buildNodePackage {
     name = "elm-pages";
     packageName = "elm-pages";
-    version = "2.1.12";
+    version = "3.0.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-pages/-/elm-pages-2.1.12.tgz";
-      sha512 = "uC6XZAmakIcRYJlqywgHsnVNlwzQZxVqPo8fsFCJWBYwwjWhD/uYSFGdFwB29wyxaI6BgRi8Rm745VU1oCortg==";
+      url = "https://registry.npmjs.org/elm-pages/-/elm-pages-3.0.8.tgz";
+      sha512 = "ls6ZI5CMlFji/P2yg1A+Krv6A1zjm4Q1+gpkMjZsAcmg2gABjN6R4ZATbD6/+hosSaAvsnZ1rRUTCPRsncYg+w==";
     };
     dependencies = [
+      sources."@adobe/css-tools-4.2.0"
+      sources."@esbuild/android-arm-0.17.19"
+      sources."@esbuild/android-arm64-0.17.19"
+      sources."@esbuild/android-x64-0.17.19"
+      sources."@esbuild/darwin-arm64-0.17.19"
+      sources."@esbuild/darwin-x64-0.17.19"
+      sources."@esbuild/freebsd-arm64-0.17.19"
+      sources."@esbuild/freebsd-x64-0.17.19"
+      sources."@esbuild/linux-arm-0.17.19"
+      sources."@esbuild/linux-arm64-0.17.19"
+      sources."@esbuild/linux-ia32-0.17.19"
+      sources."@esbuild/linux-loong64-0.17.19"
+      sources."@esbuild/linux-mips64el-0.17.19"
+      sources."@esbuild/linux-ppc64-0.17.19"
+      sources."@esbuild/linux-riscv64-0.17.19"
+      sources."@esbuild/linux-s390x-0.17.19"
+      sources."@esbuild/linux-x64-0.17.19"
+      sources."@esbuild/netbsd-x64-0.17.19"
+      sources."@esbuild/openbsd-x64-0.17.19"
+      sources."@esbuild/sunos-x64-0.17.19"
+      sources."@esbuild/win32-arm64-0.17.19"
+      sources."@esbuild/win32-ia32-0.17.19"
+      sources."@esbuild/win32-x64-0.17.19"
+      sources."@isaacs/cliui-8.0.2"
       sources."@jridgewell/gen-mapping-0.3.3"
-      sources."@jridgewell/resolve-uri-3.1.0"
+      sources."@jridgewell/resolve-uri-3.1.1"
       sources."@jridgewell/set-array-1.1.2"
-      sources."@jridgewell/source-map-0.3.3"
+      sources."@jridgewell/source-map-0.3.5"
       sources."@jridgewell/sourcemap-codec-1.4.15"
-      (sources."@jridgewell/trace-mapping-0.3.18" // {
-        dependencies = [
-          sources."@jridgewell/sourcemap-codec-1.4.14"
-        ];
-      })
+      sources."@jridgewell/trace-mapping-0.3.19"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
+      (sources."@npmcli/fs-3.1.0" // {
+        dependencies = [
+          sources."lru-cache-6.0.0"
+          sources."semver-7.5.4"
+        ];
+      })
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
+      sources."@tootallnate/once-2.0.0"
       sources."@types/configstore-2.1.1"
       sources."@types/debug-0.0.30"
       sources."@types/get-port-3.2.0"
       sources."@types/glob-5.0.38"
-      sources."@types/lodash-4.14.194"
+      sources."@types/lodash-4.14.199"
       sources."@types/minimatch-5.1.2"
       sources."@types/mkdirp-0.5.2"
       sources."@types/node-8.10.66"
       sources."@types/rimraf-2.0.5"
       sources."@types/tmp-0.0.33"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.2"
-      sources."ansi-escapes-3.2.0"
+      sources."acorn-8.10.0"
+      (sources."agent-base-6.0.2" // {
+        dependencies = [
+          sources."debug-4.3.4"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."agentkeepalive-4.5.0"
+      sources."aggregate-error-3.1.0"
+      sources."ansi-escapes-4.3.2"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.3"
       sources."application-config-path-0.1.1"
       sources."argparse-1.0.10"
       sources."array-flatten-1.1.1"
-      sources."array-union-2.1.0"
       sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
@@ -16875,7 +18075,16 @@ in
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
       sources."bufferutil-4.0.7"
+      sources."busboy-1.6.0"
       sources."bytes-3.1.2"
+      (sources."cacache-17.1.4" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."glob-10.3.10"
+          sources."minimatch-9.0.3"
+          sources."minipass-7.0.4"
+        ];
+      })
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -16884,25 +18093,33 @@ in
       })
       sources."call-bind-1.0.2"
       sources."chalk-3.0.0"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
+      sources."chownr-2.0.0"
+      sources."clean-stack-2.2.0"
       sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."command-exists-1.2.9"
-      sources."commander-8.3.0"
+      sources."commander-10.0.1"
       sources."concat-map-0.0.1"
       sources."connect-3.7.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.5"
       sources."cookie-0.5.0"
-      sources."cookie-signature-1.0.6"
-      sources."cross-spawn-7.0.3"
+      sources."cookie-signature-1.2.1"
+      sources."copy-anything-2.0.6"
+      (sources."cross-spawn-7.0.3" // {
+        dependencies = [
+          sources."which-2.0.2"
+        ];
+      })
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
+      sources."detect-libc-1.0.3"
       (sources."devcert-1.2.2" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -16911,6 +18128,7 @@ in
       })
       sources."dir-glob-3.0.1"
       sources."duplexer3-0.1.5"
+      sources."eastasianwidth-0.2.0"
       sources."ee-first-1.1.1"
       (sources."elm-doc-preview-5.0.5" // {
         dependencies = [
@@ -16919,14 +18137,19 @@ in
         ];
       })
       sources."elm-hot-1.1.6"
+      sources."emoji-regex-9.2.2"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."eol-0.9.1"
+      sources."err-code-2.0.3"
+      sources."errno-0.1.8"
+      sources."esbuild-0.17.19"
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       (sources."express-4.18.2" // {
         dependencies = [
+          sources."cookie-signature-1.0.6"
           sources."finalhandler-1.2.0"
           sources."on-finished-2.4.1"
           sources."statuses-2.0.1"
@@ -16938,27 +18161,35 @@ in
         ];
       })
       sources."extend-shallow-2.0.1"
-      sources."fast-glob-3.2.12"
+      sources."fast-glob-3.3.1"
       sources."fastq-1.15.0"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
+      sources."foreground-child-3.1.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."fs-extra-10.1.0"
+      sources."fs-extra-11.1.1"
+      (sources."fs-minipass-3.0.3" // {
+        dependencies = [
+          sources."minipass-7.0.4"
+        ];
+      })
+      sources."fs-monkey-1.0.5"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.2.0"
+      sources."get-intrinsic-1.2.1"
       sources."get-port-3.2.0"
       sources."get-stream-4.1.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
+      sources."globby-13.1.4"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.11"
       sources."gray-matter-4.0.3"
-      sources."has-1.0.3"
+      sources."has-1.0.4"
       sources."has-flag-4.0.0"
+      sources."has-proto-1.0.1"
       sources."has-symbols-1.0.3"
       sources."http-cache-semantics-4.1.1"
       (sources."http-errors-2.0.0" // {
@@ -16966,21 +18197,43 @@ in
           sources."statuses-2.0.1"
         ];
       })
+      (sources."http-proxy-agent-5.0.0" // {
+        dependencies = [
+          sources."debug-4.3.4"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."https-proxy-agent-5.0.1" // {
+        dependencies = [
+          sources."debug-4.3.4"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-5.2.4"
+      sources."image-size-0.5.5"
+      sources."immutable-4.3.4"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
+      sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.2.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
+      sources."is-lambda-1.0.1"
       sources."is-number-7.0.0"
       sources."is-valid-domain-0.1.6"
+      sources."is-what-3.14.1"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
+      sources."jackspeak-2.3.6"
       sources."js-yaml-3.14.1"
       sources."jsesc-3.0.2"
       sources."json-buffer-3.0.0"
@@ -16989,9 +18242,32 @@ in
       sources."kind-of-6.0.3"
       sources."kleur-4.1.5"
       sources."latest-version-5.1.0"
+      (sources."less-4.2.0" // {
+        dependencies = [
+          sources."tslib-2.6.2"
+        ];
+      })
+      sources."lightningcss-1.22.0"
+      sources."lightningcss-darwin-arm64-1.22.0"
+      sources."lightningcss-darwin-x64-1.22.0"
+      sources."lightningcss-freebsd-x64-1.22.0"
+      sources."lightningcss-linux-arm-gnueabihf-1.22.0"
+      sources."lightningcss-linux-arm64-gnu-1.22.0"
+      sources."lightningcss-linux-arm64-musl-1.22.0"
+      sources."lightningcss-linux-x64-gnu-1.22.0"
+      sources."lightningcss-linux-x64-musl-1.22.0"
+      sources."lightningcss-win32-x64-msvc-1.22.0"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
+      sources."lru-cache-7.18.3"
+      (sources."make-dir-2.1.0" // {
+        dependencies = [
+          sources."semver-5.7.2"
+        ];
+      })
+      sources."make-fetch-happen-11.1.1"
       sources."media-typer-0.3.0"
+      sources."memfs-3.6.0"
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
@@ -17002,42 +18278,79 @@ in
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.8"
+      sources."minipass-5.0.0"
+      (sources."minipass-collect-1.0.2" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+        ];
+      })
+      (sources."minipass-fetch-3.0.4" // {
+        dependencies = [
+          sources."minipass-7.0.4"
+        ];
+      })
+      (sources."minipass-flush-1.0.5" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+        ];
+      })
+      (sources."minipass-pipeline-1.2.4" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+        ];
+      })
+      (sources."minipass-sized-1.0.3" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+        ];
+      })
+      (sources."minizlib-2.1.2" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+        ];
+      })
       sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
+      sources."nanoid-3.3.6"
+      (sources."needle-3.2.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."iconv-lite-0.6.3"
+          sources."ms-2.1.3"
+        ];
+      })
       sources."negotiator-0.6.3"
-      sources."nice-try-1.0.5"
-      sources."node-gyp-build-4.6.0"
+      sources."node-gyp-build-4.6.1"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
-      sources."object-hash-2.2.0"
       sources."object-inspect-1.12.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."open-7.4.2"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."p-map-4.0.0"
+      sources."package-json-6.5.0"
+      sources."parse-node-version-1.0.1"
       sources."parseurl-1.3.3"
-      (sources."password-prompt-1.1.2" // {
+      sources."password-prompt-1.1.3"
+      sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
+      (sources."path-scurry-1.10.1" // {
         dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."path-key-2.0.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
+          sources."lru-cache-10.0.1"
         ];
       })
-      sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
+      sources."pify-4.0.1"
+      sources."postcss-8.4.31"
       sources."prepend-http-2.0.0"
+      sources."promise-retry-2.0.1"
       sources."proxy-addr-2.0.7"
+      sources."prr-1.0.1"
       sources."pump-3.0.0"
       sources."punycode-2.3.0"
       sources."qs-6.11.0"
@@ -17049,13 +18362,17 @@ in
       sources."registry-auth-token-4.2.2"
       sources."registry-url-5.1.0"
       sources."responselike-1.0.2"
+      sources."retry-0.12.0"
       sources."reusify-1.0.4"
       sources."rimraf-2.7.1"
+      sources."rollup-3.29.4"
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
+      sources."sass-1.68.0"
+      sources."sax-1.3.0"
       sources."section-matter-1.0.0"
-      sources."semver-5.7.1"
+      sources."semver-6.3.1"
       (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -17076,16 +18393,64 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
-      sources."slash-3.0.0"
+      sources."signal-exit-4.1.0"
+      sources."slash-4.0.0"
+      sources."smart-buffer-4.2.0"
+      sources."socks-2.7.1"
+      (sources."socks-proxy-agent-7.0.0" // {
+        dependencies = [
+          sources."debug-4.3.4"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."source-map-0.6.1"
+      sources."source-map-js-1.0.2"
       sources."source-map-support-0.5.21"
       sources."sprintf-js-1.0.3"
+      (sources."ssri-10.0.5" // {
+        dependencies = [
+          sources."minipass-7.0.4"
+        ];
+      })
       sources."statuses-1.5.0"
+      sources."streamsearch-1.1.0"
+      sources."string-width-5.1.2"
+      (sources."string-width-cjs-4.2.3" // {
+        dependencies = [
+          sources."emoji-regex-8.0.0"
+          sources."strip-ansi-6.0.1"
+        ];
+      })
+      (sources."strip-ansi-7.1.0" // {
+        dependencies = [
+          sources."ansi-regex-6.0.1"
+        ];
+      })
+      sources."strip-ansi-cjs-6.0.1"
       sources."strip-bom-string-1.0.0"
       sources."strip-json-comments-2.0.1"
+      (sources."stylus-0.60.0" // {
+        dependencies = [
+          sources."debug-4.3.4"
+          sources."ms-2.1.2"
+          sources."sax-1.2.4"
+          sources."source-map-0.7.4"
+        ];
+      })
       sources."sudo-prompt-8.2.5"
+      sources."sugarss-4.0.1"
       sources."supports-color-7.2.0"
-      (sources."terser-5.17.1" // {
+      (sources."tar-6.2.0" // {
+        dependencies = [
+          (sources."fs-minipass-2.1.0" // {
+            dependencies = [
+              sources."minipass-3.3.6"
+            ];
+          })
+          sources."mkdirp-1.0.4"
+        ];
+      })
+      (sources."terser-5.21.0" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
@@ -17095,17 +18460,60 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-1.14.1"
+      sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
-      sources."undici-4.16.0"
+      sources."unique-filename-3.0.0"
+      sources."unique-slug-4.0.0"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
       sources."url-parse-lax-3.0.0"
       sources."utf-8-validate-5.0.10"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
-      sources."which-2.0.2"
+      (sources."vite-4.4.11" // {
+        dependencies = [
+          sources."@esbuild/android-arm-0.18.20"
+          sources."@esbuild/android-arm64-0.18.20"
+          sources."@esbuild/android-x64-0.18.20"
+          sources."@esbuild/darwin-arm64-0.18.20"
+          sources."@esbuild/darwin-x64-0.18.20"
+          sources."@esbuild/freebsd-arm64-0.18.20"
+          sources."@esbuild/freebsd-x64-0.18.20"
+          sources."@esbuild/linux-arm-0.18.20"
+          sources."@esbuild/linux-arm64-0.18.20"
+          sources."@esbuild/linux-ia32-0.18.20"
+          sources."@esbuild/linux-loong64-0.18.20"
+          sources."@esbuild/linux-mips64el-0.18.20"
+          sources."@esbuild/linux-ppc64-0.18.20"
+          sources."@esbuild/linux-riscv64-0.18.20"
+          sources."@esbuild/linux-s390x-0.18.20"
+          sources."@esbuild/linux-x64-0.18.20"
+          sources."@esbuild/netbsd-x64-0.18.20"
+          sources."@esbuild/openbsd-x64-0.18.20"
+          sources."@esbuild/sunos-x64-0.18.20"
+          sources."@esbuild/win32-arm64-0.18.20"
+          sources."@esbuild/win32-ia32-0.18.20"
+          sources."@esbuild/win32-x64-0.18.20"
+          sources."@types/node-20.8.2"
+          sources."esbuild-0.18.20"
+        ];
+      })
+      sources."which-3.0.1"
+      (sources."wrap-ansi-8.1.0" // {
+        dependencies = [
+          sources."ansi-styles-6.2.1"
+        ];
+      })
+      (sources."wrap-ansi-cjs-7.0.0" // {
+        dependencies = [
+          sources."emoji-regex-8.0.0"
+          sources."string-width-4.2.3"
+          sources."strip-ansi-6.0.1"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."ws-7.5.9"
+      sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -17120,21 +18528,28 @@ in
   elm-review = nodeEnv.buildNodePackage {
     name = "elm-review";
     packageName = "elm-review";
-    version = "2.10.1";
+    version = "2.10.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.10.1.tgz";
-      sha512 = "uEc4McppMqmWEaRo+jo5RowbDyfcBr0MTFN0kZt9gWrmmK6hPilTJJGtRmoH+K/aJtq4ZPDDF97oAFdkylD1gg==";
+      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.10.3.tgz";
+      sha512 = "9gBqLc5Xm3v9Ncpf8y2haEaBZZyMX25vmwQkrNqSIaNYQ2vdGOIx1eyqRtt1xwX5O8pZdqU8IWC/ENyTrOTKbw==";
     };
     dependencies = [
+      (sources."@isaacs/cliui-8.0.2" // {
+        dependencies = [
+          sources."ansi-styles-6.2.1"
+          sources."strip-ansi-7.1.0"
+          sources."wrap-ansi-8.1.0"
+        ];
+      })
       sources."@sindresorhus/is-4.6.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.3"
-      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/http-cache-semantics-4.0.2"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-18.16.3"
-      sources."@types/responselike-1.0.0"
+      sources."@types/node-20.8.2"
+      sources."@types/responselike-1.0.1"
       sources."ansi-escapes-4.3.2"
-      sources."ansi-regex-5.0.1"
+      sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.3"
       sources."at-least-node-1.0.0"
@@ -17146,11 +18561,11 @@ in
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."cacheable-lookup-5.0.4"
-      sources."cacheable-request-7.0.2"
+      sources."cacheable-request-7.0.4"
       sources."chalk-4.1.2"
       sources."chokidar-3.5.3"
       sources."cli-cursor-3.1.0"
-      sources."cli-spinners-2.9.0"
+      sources."cli-spinners-2.9.1"
       sources."clone-1.0.4"
       sources."clone-response-1.0.3"
       sources."color-convert-2.0.1"
@@ -17165,17 +18580,22 @@ in
       })
       sources."defaults-1.0.4"
       sources."defer-to-connect-2.0.1"
-      sources."elm-tooling-1.14.0"
-      sources."emoji-regex-8.0.0"
+      sources."eastasianwidth-0.2.0"
+      sources."elm-tooling-1.15.0"
+      sources."emoji-regex-9.2.2"
       sources."end-of-stream-1.4.4"
-      sources."fast-levenshtein-3.0.0"
       sources."fastest-levenshtein-1.0.16"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."folder-hash-3.3.3"
+      (sources."foreground-child-3.1.1" // {
+        dependencies = [
+          sources."signal-exit-4.1.0"
+        ];
+      })
       sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
+      sources."fsevents-2.3.3"
       sources."get-stream-5.2.0"
       (sources."glob-7.2.3" // {
         dependencies = [
@@ -17199,18 +18619,20 @@ in
       sources."is-number-7.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
+      sources."jackspeak-2.3.6"
       sources."json-buffer-3.0.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.5.2"
+      sources."keyv-4.5.3"
       sources."kleur-3.0.3"
       sources."locate-path-5.0.0"
       sources."log-symbols-4.1.0"
       sources."lowercase-keys-2.0.0"
+      sources."lru-cache-10.0.1"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.8"
       sources."minimist-1.2.8"
-      sources."mkdirp-0.5.6"
+      sources."minipass-7.0.4"
       sources."ms-2.1.2"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
@@ -17224,6 +18646,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
+      sources."path-scurry-1.10.1"
       sources."picomatch-2.3.1"
       sources."prompts-2.4.2"
       sources."pump-3.0.0"
@@ -17233,18 +18656,41 @@ in
       sources."resolve-alpn-1.2.1"
       sources."responselike-2.0.1"
       sources."restore-cursor-3.1.0"
-      sources."rimraf-2.6.3"
+      (sources."rimraf-5.0.5" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."glob-10.3.10"
+          sources."minimatch-9.0.3"
+        ];
+      })
       sources."safe-buffer-5.2.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
       sources."sisteransi-1.0.5"
-      sources."string-width-4.2.3"
+      (sources."string-width-5.1.2" // {
+        dependencies = [
+          sources."strip-ansi-7.1.0"
+        ];
+      })
+      (sources."string-width-cjs-4.2.3" // {
+        dependencies = [
+          sources."emoji-regex-8.0.0"
+        ];
+      })
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
+      (sources."strip-ansi-6.0.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+        ];
+      })
+      (sources."strip-ansi-cjs-6.0.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+        ];
+      })
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.3.0"
-      sources."temp-0.9.4"
       sources."terminal-link-2.1.1"
       sources."to-regex-range-5.0.1"
       sources."type-fest-0.21.3"
@@ -17252,7 +18698,18 @@ in
       sources."util-deprecate-1.0.2"
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
-      sources."wrap-ansi-6.2.0"
+      (sources."wrap-ansi-6.2.0" // {
+        dependencies = [
+          sources."emoji-regex-8.0.0"
+          sources."string-width-4.2.3"
+        ];
+      })
+      (sources."wrap-ansi-cjs-7.0.0" // {
+        dependencies = [
+          sources."emoji-regex-8.0.0"
+          sources."string-width-4.2.3"
+        ];
+      })
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -17280,8 +18737,8 @@ in
       sources."git-clone-able-0.1.2"
       sources."lru-cache-6.0.0"
       sources."ms-2.1.2"
-      sources."semver-7.5.0"
-      sources."simple-git-3.18.0"
+      sources."semver-7.5.4"
+      sources."simple-git-3.20.0"
       sources."upath-2.0.1"
       sources."yallist-4.0.0"
     ];
diff --git a/pkgs/development/compilers/elm/registry.dat b/pkgs/development/compilers/elm/registry.dat
index 14fcb12a74600..248a1503a3c00 100644
--- a/pkgs/development/compilers/elm/registry.dat
+++ b/pkgs/development/compilers/elm/registry.dat
Binary files differdiff --git a/pkgs/development/compilers/gcc-arm-embedded/12/default.nix b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
index 5fd186802c53f..8f18579f93f63 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gcc-arm-embedded";
-  version = "12.2.rel1";
+  version = "12.3.rel1";
 
   platform = {
     aarch64-darwin = "darwin-arm64";
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz";
     sha256 = {
-      aarch64-darwin = "0j12n631bmbfvnfbmv4q7cfhmh4l7ka3vcjcvyw0vjqb4msyia91";
-      aarch64-linux  = "131ydgndff7dyhkivfchbk43lv3cv2p172knkqilx64aapvk5qvy";
-      x86_64-darwin  = "00i9gd1ny00681pwinh6ng9x45xsyrnwc6hm2vr348z9gasyxh00";
-      x86_64-linux   = "0rv8r5zh0a5621v0xygxi8f6932qgwinw2s9vnniasp9z7897gl4";
+      aarch64-darwin = "sha256-Oy7uC99xwbvrPDt0JPv3vZ1cPw9aOkp4FZyeOtIZ570=";
+      aarch64-linux  = "sha256-FMBIfVdT9gcdJOVoiB98fmf4DdgxZd7FFks3MTlK9DE=";
+      x86_64-darwin  = "sha256-5u2L+TD62c4z4SCrkLNpV7H3efzKpt5snKmliYLAQpE=";
+      x86_64-linux   = "sha256-EqKBVkQxjrzOr4S+q7Zl0JJLbnniEEhFLFMxpWMyswk=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix
index 32e203ee49128..77179d7397687 100644
--- a/pkgs/development/compilers/gcc/common/pre-configure.nix
+++ b/pkgs/development/compilers/gcc/common/pre-configure.nix
@@ -116,10 +116,12 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
 
 # Normally (for host != target case) --without-headers automatically
 # enables 'inhibit_libc=true' in gcc's gcc/configure.ac. But case of
-# gcc->clang "cross"-compilation manages to evade it: there
+# gcc->clang or dynamic->static "cross"-compilation manages to evade it: there
 # hostPlatform != targetPlatform, hostPlatform.config == targetPlatform.config.
 # We explicitly inhibit libc headers use in this case as well.
-+ lib.optionalString (targetPlatform != hostPlatform && withoutTargetLibc) ''
++ lib.optionalString (targetPlatform != hostPlatform &&
+                      withoutTargetLibc &&
+                      targetPlatform.config == hostPlatform.config) ''
   export inhibit_libc=true
 ''
 
diff --git a/pkgs/development/compilers/ghc/9.2.4.nix b/pkgs/development/compilers/ghc/9.2.4.nix
index e34f33e9ca332..6aa87a152015e 100644
--- a/pkgs/development/compilers/ghc/9.2.4.nix
+++ b/pkgs/development/compilers/ghc/9.2.4.nix
@@ -15,7 +15,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.2.5.nix b/pkgs/development/compilers/ghc/9.2.5.nix
index abbb42b631fe7..c5aa5897761e9 100644
--- a/pkgs/development/compilers/ghc/9.2.5.nix
+++ b/pkgs/development/compilers/ghc/9.2.5.nix
@@ -15,7 +15,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.2.6.nix b/pkgs/development/compilers/ghc/9.2.6.nix
index 53ee00f7b373c..651ff1e7d44b9 100644
--- a/pkgs/development/compilers/ghc/9.2.6.nix
+++ b/pkgs/development/compilers/ghc/9.2.6.nix
@@ -15,7 +15,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.2.7.nix b/pkgs/development/compilers/ghc/9.2.7.nix
index dcde1b65a5689..74c0088473b85 100644
--- a/pkgs/development/compilers/ghc/9.2.7.nix
+++ b/pkgs/development/compilers/ghc/9.2.7.nix
@@ -15,7 +15,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.2.8.nix b/pkgs/development/compilers/ghc/9.2.8.nix
index 443526a0b7196..973e62f955396 100644
--- a/pkgs/development/compilers/ghc/9.2.8.nix
+++ b/pkgs/development/compilers/ghc/9.2.8.nix
@@ -15,7 +15,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.4.2.nix b/pkgs/development/compilers/ghc/9.4.2.nix
index afe78cbb87c06..3c51fb981afdc 100644
--- a/pkgs/development/compilers/ghc/9.4.2.nix
+++ b/pkgs/development/compilers/ghc/9.4.2.nix
@@ -17,7 +17,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.4.3.nix b/pkgs/development/compilers/ghc/9.4.3.nix
index a2ae0cf400c7a..87ce19f66054b 100644
--- a/pkgs/development/compilers/ghc/9.4.3.nix
+++ b/pkgs/development/compilers/ghc/9.4.3.nix
@@ -17,7 +17,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.4.4.nix b/pkgs/development/compilers/ghc/9.4.4.nix
index 13d01a3426377..fa184a6fe1716 100644
--- a/pkgs/development/compilers/ghc/9.4.4.nix
+++ b/pkgs/development/compilers/ghc/9.4.4.nix
@@ -17,7 +17,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.4.5.nix b/pkgs/development/compilers/ghc/9.4.5.nix
index da333a6138003..91032cb03d6ec 100644
--- a/pkgs/development/compilers/ghc/9.4.5.nix
+++ b/pkgs/development/compilers/ghc/9.4.5.nix
@@ -17,7 +17,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.4.6.nix b/pkgs/development/compilers/ghc/9.4.6.nix
index 95cb31a411ff1..3b0bef212a068 100644
--- a/pkgs/development/compilers/ghc/9.4.6.nix
+++ b/pkgs/development/compilers/ghc/9.4.6.nix
@@ -17,7 +17,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || stdenv.targetPlatform.isAarch64)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
diff --git a/pkgs/development/compilers/ghc/9.6.3.nix b/pkgs/development/compilers/ghc/9.6.3.nix
new file mode 100644
index 0000000000000..35bbf020acbfc
--- /dev/null
+++ b/pkgs/development/compilers/ghc/9.6.3.nix
@@ -0,0 +1,4 @@
+import ./common-hadrian.nix rec {
+  version = "9.6.3";
+  sha256 = "1xbpxchmvm9gswrwwz1rsvx9kjaxhc2q3fx9l6wa0l5599xydkfz";
+}
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 94755f1beec8a..c7b4aa1f87836 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -39,7 +39,7 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
+              || stdenv.targetPlatform.isAarch64
               || stdenv.targetPlatform.isGhcjs)
 , # LLVM is conceptually a run-time-only dependency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
diff --git a/pkgs/development/compilers/gnostic/default.nix b/pkgs/development/compilers/gnostic/default.nix
index f0d1b53ca23e2..082cf4da2af99 100644
--- a/pkgs/development/compilers/gnostic/default.nix
+++ b/pkgs/development/compilers/gnostic/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gnostic";
-  version = "0.6.8";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+/KZmwVV3pnbv3JNwNk9Q2gcTyDxV1tgsDzW5IYnnds=";
+    hash = "sha256-Wpe+rK4XMfMZYhR1xTEr0nsEjRGkSDA7aiLeBbGcRpA=";
   };
 
-  vendorHash = "sha256-OoI1/OPBgAy4AysPPSCXGmf0S4opzxO7ZrwBsQYImwU=";
+  vendorHash = "sha256-Wyv5czvD3IwE236vlAdq8I/DnhPXxdbwZtUhun+97x4=";
 
   # some tests are broken and others require network access
   doCheck = false;
diff --git a/pkgs/development/compilers/hip-common/0000-fixup-paths.patch b/pkgs/development/compilers/hip-common/0000-fixup-paths.patch
deleted file mode 100644
index f3fd732555204..0000000000000
--- a/pkgs/development/compilers/hip-common/0000-fixup-paths.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-diff --git a/bin/hipcc.pl b/bin/hipcc.pl
-index da9559b..7aaa540 100755
---- a/bin/hipcc.pl
-+++ b/bin/hipcc.pl
-@@ -185,7 +185,7 @@ if ($HIP_PLATFORM eq "amd") {
-     chomp($HIP_CLANG_TARGET);
- 
-     if (! defined $HIP_CLANG_INCLUDE_PATH) {
--        $HIP_CLANG_INCLUDE_PATH = abs_path("$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/include");
-+        $HIP_CLANG_INCLUDE_PATH = abs_path("@clang@/resource-root/include");
-     }
-     if (! defined $HIP_INCLUDE_PATH) {
-         $HIP_INCLUDE_PATH = "$HIP_PATH/include";
-@@ -206,8 +206,8 @@ if ($HIP_PLATFORM eq "amd") {
-         print ("HIP_CLANG_TARGET=$HIP_CLANG_TARGET\n");
-     }
- 
--    $HIPCXXFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH/..\"";
--    $HIPCFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH/..\"";
-+    $HIPCXXFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH\"";
-+    $HIPCFLAGS .= " -isystem \"$HIP_CLANG_INCLUDE_PATH\"";
-     $HIPLDFLAGS .= " -L\"$HIP_LIB_PATH\"";
-     if ($isWindows) {
-       $HIPLDFLAGS .= " -lamdhip64";
-@@ -625,7 +625,7 @@ if($HIP_PLATFORM eq "amd"){
-             $targetsStr = $ENV{HCC_AMDGPU_TARGET};
-         } elsif (not $isWindows) {
-             # Else try using rocm_agent_enumerator
--            $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator";
-+            $ROCM_AGENT_ENUM = "@rocminfo@/bin/rocm_agent_enumerator";
-             $targetsStr = `${ROCM_AGENT_ENUM} -t GPU`;
-             $targetsStr =~ s/\n/,/g;
-         }
-@@ -724,16 +724,16 @@ if ($HIP_PLATFORM eq "amd") {
- 
-     if (not $isWindows  and not $compileOnly) {
-       if ($linkType eq 0) {
--        $toolArgs = " -L$HIP_LIB_PATH -lamdhip64 -L$ROCM_PATH/lib -lhsa-runtime64 -ldl -lnuma " . ${toolArgs};
-+        $toolArgs = " -L$HIP_LIB_PATH -lamdhip64 -L@rocm_runtime@/lib -lhsa-runtime64 -ldl -lnuma " . ${toolArgs};
-       } else {
-         $toolArgs = ${toolArgs} . " -Wl,-rpath=$HIP_LIB_PATH:$ROCM_PATH/lib -lamdhip64 ";
-       }
-       # To support __fp16 and _Float16, explicitly link with compiler-rt
--      $HIP_CLANG_BUILTIN_LIB="$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET/libclang_rt.builtins.a";
-+      $HIP_CLANG_BUILTIN_LIB="@clang@/resource-root/lib/$HIP_CLANG_TARGET/libclang_rt.builtins.a";
-       if (-e $HIP_CLANG_BUILTIN_LIB) {
--        $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/$HIP_CLANG_TARGET -lclang_rt.builtins "
-+        $toolArgs .= " -L@clang@/resource-root/lib/$HIP_CLANG_TARGET -lclang_rt.builtins "
-       } else {
--        $toolArgs .= " -L$HIP_CLANG_PATH/../lib/clang/$HIP_CLANG_VERSION/lib/linux -lclang_rt.builtins-x86_64 "
-+        $toolArgs .= " -L@clang@/resource-root/lib/linux -lclang_rt.builtins-x86_64 "
-       }
-     }
- }
-diff --git a/bin/hipconfig.pl b/bin/hipconfig.pl
-index 5ddb8e9..6a76a2e 100755
---- a/bin/hipconfig.pl
-+++ b/bin/hipconfig.pl
-@@ -77,7 +77,7 @@ if ($HIP_COMPILER eq "clang") {
-     $CPP_CONFIG = " -D__HIP_PLATFORM_HCC__= -D__HIP_PLATFORM_AMD__=";
- 
-     $HIP_PATH_INCLUDE = $HIP_PATH."/include";
--    $HIP_CLANG_INCLUDE = $HIP_CLANG_PATH."/../lib/clang/".$HIP_CLANG_VERSION;
-+    $HIP_CLANG_INCLUDE = "@clang@/resource-root/include";
-     if($isWindows) {
-         $CPP_CONFIG .= " -I\"$HIP_PATH_INCLUDE\" -I\"$HIP_CLANG_INCLUDE\"";
-     } else {
-@@ -168,7 +168,7 @@ if (!$printed or $p_full) {
-             print ("HIP_CLANG_PATH   : $HIP_CLANG_PATH\n");
-             if ($isWindows) {
-                 system("\"$HIP_CLANG_PATH/clang++\" --version");
--                system("\"$HIP_CLANG_PATH/llc\" --version");
-+                system("\"@llvm@/bin/llc\" --version");
-                 printf("hip-clang-cxxflags : ");
-                 $win_output = `perl \"$HIP_PATH/bin/hipcc\" --cxxflags`;
-                 printf("$win_output \n");
-@@ -177,7 +177,7 @@ if (!$printed or $p_full) {
-                 printf("$win_output \n");
-             } else {
-                 system("$HIP_CLANG_PATH/clang++ --version");
--                system("$HIP_CLANG_PATH/llc --version");
-+                system("@llvm@/bin/llc --version");
-                 print ("hip-clang-cxxflags : ");
-                 system("$HIP_PATH/bin/hipcc --cxxflags");
-                 printf("\n");
-@@ -219,8 +219,8 @@ if (!$printed or $p_full) {
-         system ("uname -a");
-     }
- 
--    if (-e "/usr/bin/lsb_release") {
--        system ("/usr/bin/lsb_release -a");
-+    if (-e "@lsb_release@/bin/lsb_release") {
-+        system ("@lsb_release@/bin/lsb_release -a");
-     }
- 
-     print "\n" ;
-diff --git a/hip-lang-config.cmake.in b/hip-lang-config.cmake.in
-index 9250a68..f6e27b7 100644
---- a/hip-lang-config.cmake.in
-+++ b/hip-lang-config.cmake.in
-@@ -71,8 +71,8 @@ get_filename_component(_IMPORT_PREFIX "${_DIR}/../../../" REALPATH)
- 
- 
- #need _IMPORT_PREFIX to be set #FILE_REORG_BACKWARD_COMPATIBILITY
--file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS "${_IMPORT_PREFIX}/../llvm/lib/clang/*/include")
--file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS_REORG "${_IMPORT_PREFIX}/llvm/lib/clang/*/include")
-+file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS "@clang@/resource-root/include")
-+file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS_REORG "@clang@/resource-root/include")
- find_path(HIP_CLANG_INCLUDE_PATH __clang_cuda_math.h
-     HINTS ${HIP_CLANG_INCLUDE_SEARCH_PATHS}
-           ${HIP_CLANG_INCLUDE_SEARCH_PATHS_REORG}
-@@ -89,7 +89,7 @@ find_path(HSA_HEADER hsa/hsa.h
-   PATHS
-     "${_IMPORT_PREFIX}/../include" #FILE_REORG_BACKWARD_COMPATIBILITY
-     "${_IMPORT_PREFIX}/include"
--    "${ROCM_PATH}/include"
-+    "@rocm_runtime@/include"
- )
- 
- if (NOT HSA_HEADER)
-@@ -97,7 +97,7 @@ if (NOT HSA_HEADER)
- endif()
- 
- get_filename_component(HIP_COMPILER_INSTALL_PATH ${CMAKE_HIP_COMPILER} DIRECTORY)
--file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "${HIP_COMPILER_INSTALL_PATH}/../lib/clang/*/lib/*")
-+file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "@clang@/resource-root/lib/*")
- find_library(CLANGRT_BUILTINS
-     NAMES
-       clang_rt.builtins
diff --git a/pkgs/development/compilers/hip/0000-fixup-paths.patch b/pkgs/development/compilers/hip/0000-fixup-paths.patch
deleted file mode 100644
index 423857218ee7b..0000000000000
--- a/pkgs/development/compilers/hip/0000-fixup-paths.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/hip-config.cmake.in b/hip-config.cmake.in
-index 89d1224..dc9ba05 100755
---- a/hip-config.cmake.in
-+++ b/hip-config.cmake.in
-@@ -142,7 +142,7 @@ if(HIP_COMPILER STREQUAL "clang")
-       file(TO_CMAKE_PATH "${HIP_PATH}/../lc" HIP_CLANG_ROOT)
-     endif()
-   else()
--    set(HIP_CLANG_ROOT "${ROCM_PATH}/llvm")
-+    set(HIP_CLANG_ROOT "@clang@")
-   endif()
-   if(NOT HIP_CXX_COMPILER)
-     set(HIP_CXX_COMPILER ${CMAKE_CXX_COMPILER})
-@@ -171,7 +171,7 @@ if(HIP_COMPILER STREQUAL "clang")
-     get_filename_component(_HIP_CLANG_BIN_PATH "${_HIP_CLANG_REAL_PATH}" DIRECTORY)
-     get_filename_component(HIP_CLANG_ROOT "${_HIP_CLANG_BIN_PATH}" DIRECTORY)
-   endif()
--  file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS ${HIP_CLANG_ROOT}/lib/clang/*/include)
-+  file(GLOB HIP_CLANG_INCLUDE_SEARCH_PATHS "@clang@/resource-root/include")
-   find_path(HIP_CLANG_INCLUDE_PATH stddef.h
-       HINTS
-           ${HIP_CLANG_INCLUDE_SEARCH_PATHS}
-@@ -209,7 +209,7 @@ if(NOT WIN32)
-       "${_IMPORT_PREFIX}/include"
-       #FILE_REORG_BACKWARD_COMPATIBILITY ${_IMPORT_PREFIX}/../include is for Backward compatibility
-       "${_IMPORT_PREFIX}/../include"
--      ${ROCM_PATH}/include
-+      "@rocm_runtime@/include"
-   )
- 
-   if (NOT HSA_HEADER)
-@@ -291,7 +291,7 @@ if(HIP_COMPILER STREQUAL "clang")
-     endif()
-   endif()
- 
--  file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "${HIP_CLANG_ROOT}/lib/clang/*/lib/*")
-+  file(GLOB HIP_CLANGRT_LIB_SEARCH_PATHS "@clang@/resource-root/lib/*")
-   find_library(CLANGRT_BUILTINS
-     NAMES
-       clang_rt.builtins
-diff --git a/src/hip_embed_pch.sh b/src/hip_embed_pch.sh
-index 0a1572b..2feb19a 100755
---- a/src/hip_embed_pch.sh
-+++ b/src/hip_embed_pch.sh
-@@ -149,7 +149,7 @@ EOF
- 
-   $LLVM_DIR/bin/clang -cc1 -O3 -emit-pch -triple amdgcn-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -fcuda-is-device -std=c++17 -fgnuc-version=4.2.1 -o $tmp/hip_wave64.pch -x hip-cpp-output - <$tmp/pch_wave64.cui &&
- 
--  $LLVM_DIR/bin/llvm-mc -o hip_pch.o $tmp/hip_pch.mcin --filetype=obj &&
-+  @llvm@/bin/llvm-mc -o hip_pch.o $tmp/hip_pch.mcin --filetype=obj &&
- 
-   rm -rf $tmp
- }
-@@ -195,7 +195,7 @@ EOF
-   set -x
-   $LLVM_DIR/bin/clang -O3 --rocm-path=$HIP_INC_DIR/.. -std=c++14 -nogpulib --hip-version=4.4 -isystem $HIP_INC_DIR -isystem $HIP_BUILD_INC_DIR -isystem $HIP_AMD_INC_DIR --cuda-device-only -D__HIPCC_RTC__ -x hip $tmp/hipRTC_header.h -E -o $tmp/hiprtc &&
-   cat $macroFile >> $tmp/hiprtc &&
--  $LLVM_DIR/bin/llvm-mc -o $tmp/hiprtc_header.o $tmp/hipRTC_header.mcin --filetype=obj &&
-+  @llvm@/bin/llvm-mc -o $tmp/hiprtc_header.o $tmp/hipRTC_header.mcin --filetype=obj &&
-   $LLVM_DIR/bin/clang $tmp/hiprtc_header.o -o $rtc_shared_lib_out -shared &&
-   $LLVM_DIR/bin/clang -O3 --rocm-path=$HIP_INC_DIR/.. -std=c++14 -nogpulib -nogpuinc -emit-llvm -c -o $tmp/tmp.bc --cuda-device-only -D__HIPCC_RTC__ --offload-arch=gfx906 -x hip-cpp-output $tmp/hiprtc &&
-   rm -rf $tmp
diff --git a/pkgs/development/compilers/hip/default.nix b/pkgs/development/compilers/hip/default.nix
deleted file mode 100644
index 26fce1d8d4900..0000000000000
--- a/pkgs/development/compilers/hip/default.nix
+++ /dev/null
@@ -1,197 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, rocmUpdateScript
-, substituteAll
-, makeWrapper
-, hip-common
-, hipcc
-, rocclr
-, roctracer
-, cmake
-, perl
-, llvm
-, rocminfo
-, rocm-thunk
-, rocm-comgr
-, rocm-device-libs
-, rocm-runtime
-, rocm-opencl-runtime
-, cudatoolkit
-, numactl
-, libxml2
-, libX11
-, libglvnd
-, doxygen
-, graphviz
-, fontconfig
-, python3Packages
-, buildDocs ? true
-, buildTests ? false
-, useNVIDIA ? false
-}:
-
-let
-  hipPlatform = if useNVIDIA then "nvidia" else "amd";
-
-  wrapperArgs = [
-    "--prefix PATH : $out/bin"
-    "--prefix LD_LIBRARY_PATH : ${rocm-runtime}"
-    "--set HIP_PLATFORM ${hipPlatform}"
-    "--set HIP_PATH $out"
-    "--set HIP_CLANG_PATH ${stdenv.cc}/bin"
-    "--set DEVICE_LIB_PATH ${rocm-device-libs}/amdgcn/bitcode"
-    "--set HSA_PATH ${rocm-runtime}"
-    "--set ROCM_PATH $out"
-  ] ++ lib.optionals useNVIDIA [
-    "--set CUDA_PATH ${cudatoolkit}"
-  ];
-in stdenv.mkDerivation (finalAttrs: {
-  pname = "hip-${hipPlatform}";
-  version = "5.4.4";
-
-  outputs = [
-    "out"
-  ] ++ lib.optionals buildDocs [
-    "doc"
-  ];
-
-  src = fetchFromGitHub {
-    owner = "ROCm-Developer-Tools";
-    repo = "hipamd";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-FcuylhkG7HqLYXH1J6ND6IVEIbDzHp7h7jg2ZZ4XoFM=";
-  };
-
-  patches = [
-    (substituteAll {
-      src = ./0000-fixup-paths.patch;
-      inherit llvm;
-      clang = stdenv.cc;
-      rocm_runtime = rocm-runtime;
-    })
-
-    # https://github.com/ROCm-Developer-Tools/hipamd/commit/be33ec55acc104a59d01df5912261d007c7f3ee9
-    (fetchpatch {
-      url = "https://github.com/ROCm-Developer-Tools/hipamd/commit/be33ec55acc104a59d01df5912261d007c7f3ee9.patch";
-      hash = "sha256-eTC4mUIN1FwRce1n38uDOlITFL/vpcOhvnaZTo5R7lo=";
-    })
-  ];
-
-  nativeBuildInputs = [
-    makeWrapper
-    cmake
-    perl
-    python3Packages.python
-    python3Packages.cppheaderparser
-  ] ++ lib.optionals buildDocs [
-    doxygen
-    graphviz
-    fontconfig
-  ];
-
-  buildInputs = [
-    numactl
-    libxml2
-    libX11
-    libglvnd
-  ];
-
-  propagatedBuildInputs = [
-    stdenv.cc
-    llvm
-    rocminfo
-    rocm-thunk
-    rocm-comgr
-    rocm-device-libs
-    rocm-runtime
-    rocm-opencl-runtime
-  ] ++ lib.optionals useNVIDIA [
-    cudatoolkit
-  ];
-
-  cmakeFlags = [
-    "-DROCM_PATH=${rocminfo}"
-    "-DHIP_PLATFORM=${hipPlatform}"
-    "-DHIP_COMMON_DIR=${hip-common}"
-    "-DHIPCC_BIN_DIR=${hipcc}/bin"
-    "-DHIP_LLVM_ROOT=${stdenv.cc}"
-    "-DROCCLR_PATH=${rocclr}"
-    "-DAMD_OPENCL_PATH=${rocm-opencl-runtime.src}"
-    "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext"
-    # Temporarily set variables to work around upstream CMakeLists issue
-    # Can be removed once https://github.com/ROCm-Developer-Tools/hipamd/issues/55 is fixed
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-  ] ++ lib.optionals buildTests [
-    "-DHIP_CATCH_TEST=1"
-  ];
-
-  postPatch = ''
-    export HIP_CLANG_PATH=${stdenv.cc}/bin
-    patchShebangs src
-  '' + lib.optionalString buildDocs ''
-    export HOME=$(mktemp -d)
-    export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf
-  '';
-
-  doCheck = buildTests;
-  checkTarget = "build_tests";
-
-  preCheck = lib.optionalString buildTests ''
-    export ROCM_PATH=$PWD
-    export DEVICE_LIB_PATH=${rocm-device-libs}/amdgcn/bitcode
-    patchShebangs bin
-  '';
-
-  postInstall = ''
-    patchShebangs $out/bin
-    cp -a $out/bin/hipcc $out/bin/hipcc-pl
-    cp -a $out/bin/hipconfig $out/bin/hipconfig-pl
-    wrapProgram $out/bin/hipcc --set HIP_USE_PERL_SCRIPTS 0
-    wrapProgram $out/bin/hipconfig --set HIP_USE_PERL_SCRIPTS 0
-    wrapProgram $out/bin/hipcc.bin ${lib.concatStringsSep " " wrapperArgs}
-    wrapProgram $out/bin/hipconfig.bin ${lib.concatStringsSep " " wrapperArgs}
-    wrapProgram $out/bin/hipcc-pl --set HIP_USE_PERL_SCRIPTS 1
-    wrapProgram $out/bin/hipconfig-pl --set HIP_USE_PERL_SCRIPTS 1
-    wrapProgram $out/bin/hipcc.pl ${lib.concatStringsSep " " wrapperArgs}
-    wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs}
-  '';
-
-  passthru = {
-    # All known and valid general GPU targets
-    # We cannot use this for each ROCm library, as each defines their own supported targets
-    # See: https://github.com/RadeonOpenCompute/ROCm/blob/77cbac4abab13046ee93d8b5bf410684caf91145/README.md#library-target-matrix
-    gpuTargets = lib.forEach [
-      "803"
-      "900"
-      "906"
-      "908"
-      "90a"
-      "1010"
-      "1012"
-      "1030"
-    ] (target: "gfx${target}");
-
-    updateScript = rocmUpdateScript {
-      name = finalAttrs.pname;
-      owner = finalAttrs.src.owner;
-      repo = finalAttrs.src.repo;
-    };
-  };
-
-  meta = with lib; {
-    description = "C++ Heterogeneous-Compute Interface for Portability specifically for AMD platform";
-    homepage = "https://github.com/ROCm-Developer-Tools/hipamd";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
-    platforms = platforms.linux;
-    # Tests require GPU, also include issues
-    broken =
-      versions.minor finalAttrs.version != versions.minor hip-common.version ||
-      versions.minor finalAttrs.version != versions.minor hipcc.version ||
-      buildTests;
-  };
-})
diff --git a/pkgs/development/compilers/hipcc/0000-fixup-paths.patch b/pkgs/development/compilers/hipcc/0000-fixup-paths.patch
deleted file mode 100644
index 4f52c1ad11aa8..0000000000000
--- a/pkgs/development/compilers/hipcc/0000-fixup-paths.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c21f247..5bd3e45 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -17,6 +17,6 @@ if (NOT WIN32) # C++17 does not require the std lib linking
-   target_link_libraries(hipconfig.bin ${LINK_LIBS} ) # for hipconfig.bin
- endif()
- 
--set(HIP_VERSION_MAJOR 4 PARENT_SCOPE)
--set(HIP_VERSION_MINOR 4 PARENT_SCOPE)
--set(HIP_VERSION_PATCH 4 PARENT_SCOPE)
-+set(HIP_VERSION_MAJOR @version_major@)
-+set(HIP_VERSION_MINOR @version_minor@)
-+set(HIP_VERSION_PATCH @version_patch@)
-diff --git a/src/hipBin_amd.h b/src/hipBin_amd.h
-index f94e4a5..f0b1b83 100644
---- a/src/hipBin_amd.h
-+++ b/src/hipBin_amd.h
-@@ -207,7 +207,7 @@ void HipBinAmd::initializeHipCXXFlags() {
-   hipClangIncludePath = getCompilerIncludePath();
-   hipCXXFlags += " -isystem \"" + hipClangIncludePath;
-   fs::path hipCXXFlagsTempFs = hipCXXFlags;
--  hipCXXFlagsTempFs /= "..\"";
-+  hipCXXFlagsTempFs /= "\"";
-   hipCXXFlags = hipCXXFlagsTempFs.string();
-   const EnvVariables& var = getEnvVariables();
-   // Allow __fp16 as function parameter and return type.
-@@ -266,7 +266,7 @@ void HipBinAmd::printCompilerInfo() const {
-     string cmd = hipClangPath + "/clang++ --version";
-     system(cmd.c_str());  // hipclang version
-     cout << "llc-version :" << endl;
--    cmd = hipClangPath + "/llc --version";
-+    cmd = "@llvm@/bin/llc --version";
-     system(cmd.c_str());  // llc version
-     cout << "hip-clang-cxxflags :" << endl;
-     cmd = hipPath + "/bin/hipcc  --cxxflags";
-@@ -278,7 +278,7 @@ void HipBinAmd::printCompilerInfo() const {
-   } else {
-     string cmd = hipClangPath + "/clang++ --version";
-     system(cmd.c_str());  // hipclang version
--    cmd = hipClangPath + "/llc --version";
-+    cmd = "@llvm@/bin/llc --version";
-     system(cmd.c_str());  // llc version
-     cout << "hip-clang-cxxflags :" << endl;
-     cmd = hipPath + "/bin/hipcc --cxxflags";
-@@ -331,10 +331,7 @@ string HipBinAmd::getCppConfig() {
-   hipPathInclude /= "include";
- 
-   const string& compilerPath = getCompilerPath();
--  hipClangInclude = compilerPath;
--  hipClangInclude = hipClangInclude.parent_path();
--  hipClangInclude /= "lib/clang/";
--  hipClangInclude /= compilerVersion;
-+  hipClangInclude = "@clang@/resource-root/include";
-   string hipClangPath = hipClangInclude.string();
- 
-   const OsType& osInfo = getOSInfo();
-@@ -442,17 +439,7 @@ string HipBinAmd::getHipCC() const {
- 
- 
- string HipBinAmd::getCompilerIncludePath() {
--  string hipClangVersion, includePath, compilerIncludePath;
--  const string& hipClangPath = getCompilerPath();
--  hipClangVersion = getCompilerVersion();
--  fs::path includePathfs = hipClangPath;
--  includePathfs = includePathfs.parent_path();
--  includePathfs /= "lib/clang/";
--  includePathfs /= hipClangVersion;
--  includePathfs /= "include";
--  includePathfs = fs::absolute(includePathfs).string();
--  compilerIncludePath = includePathfs.string();
--  return compilerIncludePath;
-+  return "@clang@/resource-root/include";
- }
- 
- 
-@@ -506,8 +493,8 @@ void HipBinAmd::printFull() {
-   cout << endl << "== Envirnoment Variables" << endl;
-   printEnvironmentVariables();
-   getSystemInfo();
--  if (fs::exists("/usr/bin/lsb_release"))
--    system("/usr/bin/lsb_release -a");
-+  if (fs::exists("@lsb_release@/bin/lsb_release"))
-+    system("@lsb_release@/bin/lsb_release -a");
-   cout << endl;
- }
- 
-@@ -993,7 +980,7 @@ void HipBinAmd::executeHipCCCmd(vector<string> argv) {
-     } else if (os != windows) {
-       // Else try using rocm_agent_enumerator
-       string ROCM_AGENT_ENUM;
--      ROCM_AGENT_ENUM = roccmPath + "/bin/rocm_agent_enumerator";
-+      ROCM_AGENT_ENUM = "@rocminfo@/bin/rocm_agent_enumerator";
-       targetsStr = ROCM_AGENT_ENUM +" -t GPU";
-       SystemCmdOut sysOut = hipBinUtilPtr_->exec(targetsStr.c_str());
-       regex toReplace("\n+");
-@@ -1097,7 +1084,7 @@ void HipBinAmd::executeHipCCCmd(vector<string> argv) {
-     string hipClangVersion, toolArgTemp;
-     if (linkType == 0) {
-       toolArgTemp = " -L"+ hipLibPath + "-lamdhip64 -L" +
--                      roccmPath+ "/lib -lhsa-runtime64 -ldl -lnuma " + toolArgs;
-+                      "@rocm_runtime@/lib -lhsa-runtime64 -ldl -lnuma " + toolArgs;
-       toolArgs = toolArgTemp;
-     } else {
-       toolArgTemp =  toolArgs + " -Wl,--enable-new-dtags -Wl,-rpath=" + hipLibPath + ":"
-@@ -1107,8 +1094,7 @@ void HipBinAmd::executeHipCCCmd(vector<string> argv) {
- 
-     hipClangVersion = getCompilerVersion();
-     // To support __fp16 and _Float16, explicitly link with compiler-rt
--    toolArgs += " -L" + hipClangPath + "/../lib/clang/" +
--                hipClangVersion + "/lib/linux -lclang_rt.builtins-x86_64 ";
-+    toolArgs += " -L@clang@/resource-root/lib/linux -lclang_rt.builtins-x86_64 ";
-   }
-   if (!var.hipccCompileFlagsAppendEnv_.empty()) {
-     HIPCXXFLAGS += " " + var.hipccCompileFlagsAppendEnv_ + " ";
-diff --git a/src/hipBin_nvidia.h b/src/hipBin_nvidia.h
-index 6feb315..b61739d 100644
---- a/src/hipBin_nvidia.h
-+++ b/src/hipBin_nvidia.h
-@@ -157,8 +157,8 @@ void HipBinNvidia::printFull() {
-   cout << endl << "== Envirnoment Variables" << endl;
-   printEnvironmentVariables();
-   getSystemInfo();
--  if (fs::exists("/usr/bin/lsb_release"))
--    system("/usr/bin/lsb_release -a");
-+  if (fs::exists("@lsb_release@/bin/lsb_release"))
-+    system("@lsb_release@/bin/lsb_release -a");
- }
- 
- // returns hip include
diff --git a/pkgs/development/compilers/llvm/rocm/0000-fix-openmp.patch b/pkgs/development/compilers/llvm/rocm/0000-fix-openmp.patch
deleted file mode 100644
index 2811df7d29f78..0000000000000
--- a/pkgs/development/compilers/llvm/rocm/0000-fix-openmp.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/libomptarget/plugins/amdgpu/impl/impl.cpp b/libomptarget/plugins/amdgpu/impl/impl.cpp
-index 80e024789..3a14e0889 100644
---- a/libomptarget/plugins/amdgpu/impl/impl.cpp
-+++ b/libomptarget/plugins/amdgpu/impl/impl.cpp
-@@ -21,10 +21,11 @@ bool is_locked(void *ptr, hsa_status_t *err_p, void **agentBaseAddress) {
-   info.size = sizeof(hsa_amd_pointer_info_t);
-   err = hsa_amd_pointer_info(ptr, &info, nullptr, nullptr, nullptr);
- 
--  if (err != HSA_STATUS_SUCCESS)
-+  if (err != HSA_STATUS_SUCCESS) {
-     DP("Error when getting pointer info\n");
--  else
-+  } else {
-     is_locked = (info.type == HSA_EXT_POINTER_TYPE_LOCKED);
-+  }
- 
-   if (is_locked && agentBaseAddress != nullptr) {
-     // When user passes in a basePtr+offset we need to fix the
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
deleted file mode 100644
index b6df2354f5ecb..0000000000000
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ /dev/null
@@ -1,603 +0,0 @@
-{ lib
-, stdenv
-, callPackage
-, overrideCC
-, wrapCCWith
-, wrapBintoolsWith
-, runCommand
-, lit
-, glibc
-, spirv-llvm-translator
-, xz
-, swig
-, lua5_3
-, gtest
-, hip
-, rocm-comgr
-, vulkan-loader
-, vulkan-headers
-, glslang
-, shaderc
-, perl
-, rocm-device-libs
-, rocm-runtime
-, elfutils
-, python3Packages
-}:
-
-let
-  # Stage 1
-  # Base
-  llvm = callPackage ./llvm.nix {
-    requiredSystemFeatures = [ "big-parallel" ];
-    isBroken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344
-  };
-
-  # Projects
-  clang-unwrapped = callPackage ./llvm.nix rec {
-    targetName = "clang";
-    targetDir = targetName;
-    extraBuildInputs = [ llvm ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW"
-      "-DCLANG_INCLUDE_DOCS=ON"
-      "-DCLANG_INCLUDE_TESTS=ON"
-    ];
-
-    extraPostPatch = ''
-      # Looks like they forgot to add finding libedit to the standalone build
-      ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules
-
-      substituteInPlace CMakeLists.txt \
-        --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)"
-
-      # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'`
-      rm test/Analysis/scan-build/*.test
-      rm test/Analysis/scan-build/rebuild_index/rebuild_index.test
-
-      # `does not depend on a module exporting 'baz.h'`
-      rm test/Modules/header-attribs.cpp
-
-      # `fatal error: 'stdio.h' file not found`
-      rm test/OpenMP/amdgcn_emit_llvm.c
-    '';
-
-    extraPostInstall = ''
-      mv bin/clang-tblgen $out/bin
-    '';
-  };
-
-  lld = callPackage ./llvm.nix rec {
-    buildMan = false; # No man pages to build
-    targetName = "lld";
-    targetDir = targetName;
-    extraBuildInputs = [ llvm ];
-    extraCMakeFlags = [ "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW" ];
-    checkTargets = [ "check-lld" ];
-  };
-
-  # Runtimes
-  runtimes = callPackage ./llvm.nix {
-    buildDocs = false;
-    buildMan = false;
-    buildTests = false;
-    targetDir = "runtimes";
-
-    targetRuntimes = [
-      # "libc" https://github.com/llvm/llvm-project/issues/57719
-      "libunwind"
-      "libcxxabi"
-      "libcxx"
-      "compiler-rt"
-    ];
-
-    extraBuildInputs = [ llvm ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_POLICY_DEFAULT_CMP0114=NEW"
-      "-DLIBCXX_INCLUDE_BENCHMARKS=OFF"
-      "-DLIBCXX_CXX_ABI=libcxxabi"
-    ];
-
-    extraLicenses = [ lib.licenses.mit ];
-  };
-
-  # Stage 2
-  # Helpers
-  rStdenv = overrideCC stdenv (wrapCCWith rec {
-    inherit bintools;
-    libcxx = runtimes;
-    cc = clang-unwrapped;
-
-    extraPackages = [
-      llvm
-      lld
-    ];
-
-    nixSupport.cc-cflags = [
-      "-resource-dir=$out/resource-root"
-      "-fuse-ld=lld"
-      "-rtlib=compiler-rt"
-      "-unwindlib=libunwind"
-      "-Wno-unused-command-line-argument"
-    ];
-
-    extraBuildCommands = ''
-      clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
-      mkdir -p $out/resource-root
-      ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root
-      ln -s ${runtimes}/lib $out/resource-root
-    '';
-  });
-
-  bintools = wrapBintoolsWith { bintools = bintools-unwrapped; };
-
-  bintools-unwrapped = runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } ''
-    mkdir -p $out/bin
-
-    for prog in ${lld}/bin/*; do
-      ln -s $prog $out/bin/$(basename $prog)
-    done
-
-    for prog in ${llvm}/bin/*; do
-      ln -sf $prog $out/bin/$(basename $prog)
-    done
-
-    ln -s ${llvm}/bin/llvm-ar $out/bin/ar
-    ln -s ${llvm}/bin/llvm-as $out/bin/as
-    ln -s ${llvm}/bin/llvm-dwp $out/bin/dwp
-    ln -s ${llvm}/bin/llvm-nm $out/bin/nm
-    ln -s ${llvm}/bin/llvm-objcopy $out/bin/objcopy
-    ln -s ${llvm}/bin/llvm-objdump $out/bin/objdump
-    ln -s ${llvm}/bin/llvm-ranlib $out/bin/ranlib
-    ln -s ${llvm}/bin/llvm-readelf $out/bin/readelf
-    ln -s ${llvm}/bin/llvm-size $out/bin/size
-    ln -s ${llvm}/bin/llvm-strip $out/bin/strip
-    ln -s ${lld}/bin/lld $out/bin/ld
-  '';
-in rec {
-  inherit
-  llvm
-  clang-unwrapped
-  lld
-  bintools
-  bintools-unwrapped;
-
-  # Runtimes
-  libc = callPackage ./llvm.nix rec {
-    stdenv = rStdenv;
-    targetName = "libc";
-    targetDir = "runtimes";
-    targetRuntimes = [ targetName ];
-    isBroken = true; # https://github.com/llvm/llvm-project/issues/57719
-  };
-
-  libunwind = callPackage ./llvm.nix rec {
-    stdenv = rStdenv;
-    buildMan = false; # No man pages to build
-    targetName = "libunwind";
-    targetDir = "runtimes";
-    targetRuntimes = [ targetName ];
-
-    extraCMakeFlags = [
-      "-DLIBUNWIND_INCLUDE_DOCS=ON"
-      "-DLIBUNWIND_INCLUDE_TESTS=ON"
-      "-DLIBUNWIND_USE_COMPILER_RT=ON"
-    ];
-  };
-
-  libcxxabi = callPackage ./llvm.nix rec {
-    stdenv = rStdenv;
-    buildDocs = false; # No documentation to build
-    buildMan = false; # No man pages to build
-    targetName = "libcxxabi";
-    targetDir = "runtimes";
-
-    targetRuntimes = [
-      "libunwind"
-      targetName
-      "libcxx"
-    ];
-
-    extraCMakeFlags = [
-      "-DLIBCXXABI_INCLUDE_TESTS=ON"
-      "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-      "-DLIBCXXABI_USE_COMPILER_RT=ON"
-
-      # Workaround having to build combined
-      "-DLIBUNWIND_INCLUDE_DOCS=OFF"
-      "-DLIBUNWIND_INCLUDE_TESTS=OFF"
-      "-DLIBUNWIND_USE_COMPILER_RT=ON"
-      "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
-      "-DLIBUNWIND_INSTALL_HEADERS=OFF"
-      "-DLIBCXX_INCLUDE_DOCS=OFF"
-      "-DLIBCXX_INCLUDE_TESTS=OFF"
-      "-DLIBCXX_USE_COMPILER_RT=ON"
-      "-DLIBCXX_CXX_ABI=libcxxabi"
-      "-DLIBCXX_INSTALL_LIBRARY=OFF"
-      "-DLIBCXX_INSTALL_HEADERS=OFF"
-    ];
-  };
-
-  libcxx = callPackage ./llvm.nix rec {
-    stdenv = rStdenv;
-    buildMan = false; # No man pages to build
-    targetName = "libcxx";
-    targetDir = "runtimes";
-
-    targetRuntimes = [
-      "libunwind"
-      "libcxxabi"
-      targetName
-    ];
-
-    extraCMakeFlags = [
-      "-DLIBCXX_INCLUDE_DOCS=ON"
-      "-DLIBCXX_INCLUDE_TESTS=ON"
-      "-DLIBCXX_USE_COMPILER_RT=ON"
-      "-DLIBCXX_CXX_ABI=libcxxabi"
-
-      # Workaround having to build combined
-      "-DLIBUNWIND_INCLUDE_DOCS=OFF"
-      "-DLIBUNWIND_INCLUDE_TESTS=OFF"
-      "-DLIBUNWIND_USE_COMPILER_RT=ON"
-      "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
-      "-DLIBUNWIND_INSTALL_HEADERS=OFF"
-      "-DLIBCXXABI_INCLUDE_TESTS=OFF"
-      "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-      "-DLIBCXXABI_USE_COMPILER_RT=ON"
-      "-DLIBCXXABI_INSTALL_LIBRARY=OFF"
-      "-DLIBCXXABI_INSTALL_HEADERS=OFF"
-    ];
-
-    # Most of these can't find `bash` or `mkdir`, might just be hard-coded paths, or PATH is altered
-    extraPostPatch = ''
-      chmod +w -R ../libcxx/test/{libcxx,std}
-      rm -rf ../libcxx/test/libcxx/input.output/filesystems
-      rm ../libcxx/test/libcxx/selftest/remote-substitutions.sh.cpp
-      rm ../libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp
-      rm ../libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
-      rm ../libcxx/test/std/utilities/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp
-      rm ../libcxx/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
-      rm -rf ../libcxx/test/std/utilities/optional/optional.object/optional.object.ctor
-      rm -rf ../libcxx/test/std/input.output/filesystems/{class.directory_entry,class.directory_iterator,class.rec.dir.itr,fs.op.funcs}
-    '';
-  };
-
-  compiler-rt = callPackage ./llvm.nix rec {
-    stdenv = rStdenv;
-    buildDocs = false; # No documentation to build
-    buildMan = false; # No man pages to build
-    targetName = "compiler-rt";
-    targetDir = "runtimes";
-
-    targetRuntimes = [
-      "libunwind"
-      "libcxxabi"
-      "libcxx"
-      targetName
-    ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_POLICY_DEFAULT_CMP0114=NEW"
-      "-DCOMPILER_RT_INCLUDE_TESTS=ON"
-      "-DCOMPILER_RT_USE_LLVM_UNWINDER=ON"
-      "-DCOMPILER_RT_CXX_LIBRARY=libcxx"
-      "-DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF" # We can't run most of these
-
-      # Workaround having to build combined
-      "-DLIBUNWIND_INCLUDE_DOCS=OFF"
-      "-DLIBUNWIND_INCLUDE_TESTS=OFF"
-      "-DLIBUNWIND_USE_COMPILER_RT=ON"
-      "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
-      "-DLIBUNWIND_INSTALL_HEADERS=OFF"
-      "-DLIBCXXABI_INCLUDE_TESTS=OFF"
-      "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-      "-DLIBCXXABI_USE_COMPILER_RT=ON"
-      "-DLIBCXXABI_INSTALL_LIBRARY=OFF"
-      "-DLIBCXXABI_INSTALL_HEADERS=OFF"
-      "-DLIBCXX_INCLUDE_DOCS=OFF"
-      "-DLIBCXX_INCLUDE_TESTS=OFF"
-      "-DLIBCXX_USE_COMPILER_RT=ON"
-      "-DLIBCXX_CXX_ABI=libcxxabi"
-      "-DLIBCXX_INSTALL_LIBRARY=OFF"
-      "-DLIBCXX_INSTALL_HEADERS=OFF"
-    ];
-
-    extraPostPatch = ''
-      # `No such file or directory: 'ldd'`
-      substituteInPlace ../compiler-rt/test/lit.common.cfg.py \
-        --replace "'ldd'," "'${glibc.bin}/bin/ldd',"
-
-      # We can run these
-      substituteInPlace ../compiler-rt/test/CMakeLists.txt \
-        --replace "endfunction()" "endfunction()''\nadd_subdirectory(builtins)''\nadd_subdirectory(shadowcallstack)"
-    '';
-
-    extraLicenses = [ lib.licenses.mit ];
-  };
-
-  # Stage 3
-  # Helpers
-  rocmClangStdenv = overrideCC stdenv clang;
-
-  clang = wrapCCWith rec {
-    # inherit libc libcxx bintools;
-    inherit libcxx bintools;
-
-    # We do this to avoid HIP pathing problems, and mimic a monolithic install
-    cc = stdenv.mkDerivation (finalAttrs: {
-      inherit (clang-unwrapped) pname version;
-      dontUnpack = true;
-
-      installPhase = ''
-        runHook preInstall
-
-        clang_version=`${clang-unwrapped}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
-        mkdir -p $out/{bin,include/c++/v1,lib/{cmake,clang/$clang_version/{include,lib}},libexec,share}
-
-        for path in ${llvm} ${clang-unwrapped} ${lld} ${libunwind} ${libcxxabi} ${libcxx} ${compiler-rt}; do
-          cp -as $path/* $out
-          chmod +w $out/{*,include/c++/v1,lib/{clang/$clang_version/include,cmake}}
-          rm -f $out/lib/libc++.so
-        done
-
-        ln -s $out/lib/* $out/lib/clang/$clang_version/lib
-        ln -s $out/include/* $out/lib/clang/$clang_version/include
-
-        runHook postInstall
-      '';
-
-      passthru.isClang = true;
-    });
-
-    extraPackages = [
-      llvm
-      lld
-      libunwind
-      libcxxabi
-      compiler-rt
-    ];
-
-    nixSupport.cc-cflags = [
-      "-resource-dir=$out/resource-root"
-      "-fuse-ld=lld"
-      "-rtlib=compiler-rt"
-      "-unwindlib=libunwind"
-      "-Wno-unused-command-line-argument"
-    ];
-
-    extraBuildCommands = ''
-      clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
-      mkdir -p $out/resource-root
-      ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root
-
-      # Not sure why, but hardening seems to make things break
-      rm $out/nix-support/add-hardening.sh
-      touch $out/nix-support/add-hardening.sh
-
-      # GPU compilation uses builtin `lld`
-      substituteInPlace $out/bin/{clang,clang++} \
-        --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;"
-    '';
-  };
-
-  # Base
-  # Unfortunately, we cannot build `clang-tools-extra` separately.
-  clang-tools-extra = callPackage ./llvm.nix {
-    stdenv = rocmClangStdenv;
-    buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')`
-    targetName = "clang-tools-extra";
-
-    targetProjects = [
-      "clang"
-      "clang-tools-extra"
-    ];
-
-    extraBuildInputs = [ gtest ];
-
-    extraCMakeFlags = [
-      "-DLLVM_INCLUDE_DOCS=OFF"
-      "-DLLVM_INCLUDE_TESTS=OFF"
-      "-DCLANG_INCLUDE_DOCS=OFF"
-      "-DCLANG_INCLUDE_TESTS=ON"
-      "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON"
-    ];
-
-    extraPostInstall = ''
-      # Remove LLVM and Clang
-      for path in `find ${llvm} ${clang-unwrapped}`; do
-        if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then
-          rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true
-        fi
-      done
-
-      # Cleanup empty directories
-      find $out -type d -empty -delete
-    '';
-  };
-
-  # Projects
-  libclc = let
-    spirv = (spirv-llvm-translator.override { inherit llvm; });
-  in callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildDocs = false; # No documentation to build
-    buildMan = false; # No man pages to build
-    targetName = "libclc";
-    targetDir = targetName;
-    extraBuildInputs = [ spirv ];
-
-    # `spirv-mesa3d` isn't compiling with LLVM 15.0.0, it does with LLVM 14.0.0
-    # Try removing the `spirv-mesa3d` and `clspv` patches next update
-    # `clspv` tests fail, unresolved calls
-    extraPostPatch = ''
-      substituteInPlace CMakeLists.txt \
-        --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \
-          "find_program( LLVM_CLANG clang PATHS \"${clang}/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}/bin\" NO_DEFAULT_PATH )" \
-        --replace "  spirv-mesa3d-" "" \
-        --replace "  spirv64-mesa3d-" "" \
-        --replace "NOT \''${t} MATCHES" \
-          "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES"
-    '';
-
-    checkTargets = [ ];
-  };
-
-  lldb = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildTests = false; # ld.lld: error: unable to find library -lllvm_gtest_main
-    targetName = "lldb";
-    targetDir = targetName;
-    extraNativeBuildInputs = [ python3Packages.sphinx-automodapi ];
-
-    extraBuildInputs = [
-      xz
-      swig
-      lua5_3
-      gtest
-    ];
-
-    extraCMakeFlags = [
-      "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped"
-      "-DLLDB_INCLUDE_TESTS=ON"
-      "-DLLDB_INCLUDE_UNITTESTS=ON"
-    ];
-  };
-
-  mlir = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildDocs = false; # No decent way to hack this to work
-    buildMan = false; # No man pages to build
-    targetName = "mlir";
-    targetDir = targetName;
-    extraNativeBuildInputs = [ hip ];
-
-    extraBuildInputs = [
-      rocm-comgr
-      vulkan-headers
-      vulkan-loader
-      glslang
-      shaderc
-    ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW"
-      "-DMLIR_INCLUDE_DOCS=ON"
-      "-DMLIR_INCLUDE_TESTS=ON"
-      "-DMLIR_ENABLE_ROCM_RUNNER=ON"
-      "-DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON"
-      "-DMLIR_ENABLE_VULKAN_RUNNER=ON"
-      "-DROCM_TEST_CHIPSET=gfx000" # CPU runner
-    ];
-
-    extraPostPatch = ''
-      chmod +w ../llvm
-      mkdir -p ../llvm/build/bin
-      ln -s ${lit}/bin/lit ../llvm/build/bin/llvm-lit
-
-      substituteInPlace test/CMakeLists.txt \
-        --replace "FileCheck count not" "" \
-        --replace "list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)" ""
-
-      substituteInPlace lib/ExecutionEngine/CMakeLists.txt \
-        --replace "return()" ""
-
-      # Remove problematic tests
-      rm test/CAPI/execution_engine.c
-      rm test/Target/LLVMIR/llvmir-intrinsics.mlir
-      rm test/Target/LLVMIR/llvmir.mlir
-      rm test/Target/LLVMIR/openmp-llvm.mlir
-      rm test/mlir-cpu-runner/*.mlir
-      rm test/mlir-vulkan-runner/*.mlir
-    '';
-
-    extraPostInstall = ''
-      mkdir -p $out/bin
-      mv bin/mlir-tblgen $out/bin
-    '';
-
-    checkTargets = [ "check-${targetName}" ];
-  };
-
-  polly = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    targetName = "polly";
-    targetDir = targetName;
-    checkTargets = [ "check-${targetName}" ];
-  };
-
-  flang = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildTests = false; # `Executable "flang1" doesn't exist!`
-    targetName = "flang";
-    targetDir = targetName;
-    extraNativeBuildInputs = [ python3Packages.sphinx-markdown-tables ];
-    extraBuildInputs = [ mlir ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_POLICY_DEFAULT_CMP0116=NEW"
-      "-DCLANG_DIR=${clang-unwrapped}/lib/cmake/clang"
-      "-DFLANG_INCLUDE_TESTS=OFF"
-      "-DMLIR_TABLEGEN_EXE=${mlir}/bin/mlir-tblgen"
-    ];
-
-    extraPostPatch = ''
-      substituteInPlace test/CMakeLists.txt \
-        --replace "FileCheck" "" \
-        --replace "count" "" \
-        --replace "not" ""
-
-      substituteInPlace docs/CMakeLists.txt \
-        --replace "CLANG_TABLEGEN_EXE clang-tblgen" "CLANG_TABLEGEN_EXE ${clang-unwrapped}/bin/clang-tblgen"
-    '';
-  };
-
-  openmp = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildTests = false; # Too many failures, most pass
-    targetName = "openmp";
-    targetDir = targetName;
-    extraPatches = [ ./0000-fix-openmp.patch ];
-    extraNativeBuildInputs = [ perl ];
-
-    extraBuildInputs = [
-      rocm-device-libs
-      rocm-runtime
-      elfutils
-    ];
-
-    extraCMakeFlags = [
-      "-DCMAKE_MODULE_PATH=/build/source/llvm/cmake/modules" # For docs
-      "-DCLANG_TOOL=${clang}/bin/clang"
-      "-DCLANG_OFFLOAD_BUNDLER_TOOL=${clang-unwrapped}/bin/clang-offload-bundler"
-      "-DOPENMP_LLVM_TOOLS_DIR=${llvm}/bin"
-      "-DOPENMP_LLVM_LIT_EXECUTABLE=${lit}/bin/.lit-wrapped"
-      "-DDEVICELIBS_ROOT=${rocm-device-libs.src}"
-    ];
-
-    extraPostPatch = ''
-      # We can't build this target at the moment
-      substituteInPlace libomptarget/DeviceRTL/CMakeLists.txt \
-        --replace "gfx1010" ""
-    '';
-
-    checkTargets = [ "check-${targetName}" ];
-    extraLicenses = [ lib.licenses.mit ];
-  };
-
-  # Runtimes
-  pstl = callPackage ./llvm.nix rec {
-    stdenv = rocmClangStdenv;
-    buildDocs = false; # No documentation to build
-    buildMan = false; # No man pages to build
-    buildTests = false; # Too many errors
-    targetName = "pstl";
-    targetDir = "runtimes";
-    targetRuntimes = [ targetName ];
-    checkTargets = [ "check-${targetName}" ];
-  };
-}
diff --git a/pkgs/development/compilers/lobster/default.nix b/pkgs/development/compilers/lobster/default.nix
index 357401aaf43b0..573712b6772bf 100644
--- a/pkgs/development/compilers/lobster/default.nix
+++ b/pkgs/development/compilers/lobster/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lobster";
-  version = "2023.11";
+  version = "2023.12";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "lobster";
     rev = "v${version}";
-    sha256 = "sha256-c0EElDvoFzIZvYZpjWd9az+KUxDXTETOp89I/tRCrQ0=";
+    sha256 = "sha256-0hEcbLq8thlgMtCcWt8SR5XsNgQfNH4+qdE0cHfRveo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/minimacy/default.nix b/pkgs/development/compilers/minimacy/default.nix
index 7e14f9a91de4e..00b3db5ef06d2 100644
--- a/pkgs/development/compilers/minimacy/default.nix
+++ b/pkgs/development/compilers/minimacy/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minimacy";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "ambermind";
     repo = pname;
     rev =  version;
-    hash = "sha256-VqcMdlptoMJEsPTny/E6ly7/xmHKcljIsSeZDzaA+ig=";
+    hash = "sha256-WBmpinMnGr7Tmf1jLhdq5DXdR+ohOY0CpOBJ6fewKFU=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/development/compilers/openjdk/21.nix b/pkgs/development/compilers/openjdk/21.nix
new file mode 100644
index 0000000000000..623ac281acf7f
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/21.nix
@@ -0,0 +1,188 @@
+{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio
+, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib
+, libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst
+, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk21-bootstrap
+, ensureNewerSourcesForZipFilesHook
+, setJavaClassPath
+# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages
+# which should be fixable, this is a no-rebuild workaround for GHC.
+, headless ? stdenv.targetPlatform.isGhcjs
+, enableJavaFX ? false, openjfx
+, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
+}:
+
+let
+  version = {
+    feature = "21";
+    interim = "";
+    build = "35";
+  };
+
+  # when building a headless jdk, also bootstrap it with a headless jdk
+  openjdk-bootstrap = openjdk21-bootstrap.override { gtkSupport = !headless; };
+
+  openjdk = stdenv.mkDerivation {
+    pname = "openjdk" + lib.optionalString headless "-headless";
+    version = "${version.feature}${version.interim}+${version.build}";
+
+    src = fetchFromGitHub {
+      owner = "openjdk";
+      repo = "jdk${version.feature}u";
+      rev = "jdk-${version.feature}${version.interim}+${version.build}";
+      hash = "sha256-fA8nRWBuTL87S8mwapmNfCPPQoI2aKHjbHJ6PDN3khs=";
+    };
+
+    nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ];
+    buildInputs = [
+      cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib
+      libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
+      libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      gtk3 gnome_vfs GConf glib
+    ];
+
+    patches = [
+      ./fix-java-home-jdk21.patch
+      ./read-truststore-from-env-jdk10.patch
+      ./currency-date-range-jdk10.patch
+      ./increase-javadoc-heap-jdk13.patch
+      ./ignore-LegalNoticeFilePlugin-jdk18.patch
+
+      # -Wformat etc. are stricter in newer gccs, per
+      # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677
+      # so grab the work-around from
+      # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24
+      (fetchurl {
+        url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
+        sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
+      })
+
+      # Fix build for gnumake-4.4.1:
+      #   https://github.com/openjdk/jdk/pull/12992
+      (fetchpatch {
+        name = "gnumake-4.4.1";
+        url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch";
+        hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg=";
+      })
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      ./swing-use-gtk-jdk13.patch
+    ];
+
+    postPatch = ''
+      chmod +x configure
+      patchShebangs --build configure
+    '';
+
+    # JDK's build system attempts to specifically detect
+    # and special-case WSL, and we don't want it to do that,
+    # so pass the correct platform names explicitly
+    configurePlatforms = ["build" "host"];
+
+    configureFlags = [
+      "--with-boot-jdk=${openjdk-bootstrap.home}"
+      "--with-version-build=${version.build}"
+      "--with-version-opt=nixos"
+      "--with-version-pre="
+      "--enable-unlimited-crypto"
+      "--with-native-debug-symbols=internal"
+      "--with-libjpeg=system"
+      "--with-giflib=system"
+      "--with-libpng=system"
+      "--with-zlib=system"
+      "--with-lcms=system"
+      "--with-stdc++lib=dynamic"
+    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
+      ++ lib.optional headless "--enable-headless-only"
+      ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
+
+    separateDebugInfo = true;
+
+    env.NIX_CFLAGS_COMPILE = "-Wno-error";
+
+    NIX_LDFLAGS = toString (lib.optionals (!headless) [
+      "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
+    ]);
+
+    # -j flag is explicitly rejected by the build system:
+    #     Error: 'make -jN' is not supported, use 'make JOBS=N'
+    # Note: it does not make build sequential. Build system
+    # still runs in parallel.
+    enableParallelBuilding = false;
+
+    buildFlags = [ "images" ];
+
+    installPhase = ''
+      mkdir -p $out/lib
+
+      mv build/*/images/jdk $out/lib/openjdk
+
+      # Remove some broken manpages.
+      rm -rf $out/lib/openjdk/man/ja*
+
+      # Mirror some stuff in top-level.
+      mkdir -p $out/share
+      ln -s $out/lib/openjdk/include $out/include
+      ln -s $out/lib/openjdk/man $out/share/man
+
+      # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081)
+      ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+
+      # Remove crap from the installation.
+      rm -rf $out/lib/openjdk/demo
+      ${lib.optionalString headless ''
+        rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
+      ''}
+
+      ln -s $out/lib/openjdk/bin $out/bin
+    '';
+
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook so that any package
+      # that depends on the JDK has $CLASSPATH set up properly.
+      mkdir -p $out/nix-support
+      #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
+      echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
+
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat <<EOF > $out/nix-support/setup-hook
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+      EOF
+    '';
+
+    postFixup = ''
+      # Build the set of output library directories to rpath against
+      LIBDIRS=""
+      for output in $(getAllOutputNames); do
+        if [ "$output" = debug ]; then continue; fi
+        LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS"
+      done
+      # Add the local library paths to remove dependencies on the bootstrap
+      for output in $(getAllOutputNames); do
+        if [ "$output" = debug ]; then continue; fi
+        OUTPUTDIR=$(eval echo \$$output)
+        BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
+        echo "$BINLIBS" | while read i; do
+          patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
+          patchelf --shrink-rpath "$i" || true
+        done
+      done
+    '';
+
+    disallowedReferences = [ openjdk-bootstrap ];
+
+    pos = builtins.unsafeGetAttrPos "feature" version;
+    meta = import ./meta.nix lib version.feature;
+
+    passthru = {
+      architecture = "";
+      home = "${openjdk}/lib/openjdk";
+      inherit gtk3;
+    };
+  };
+in openjdk
diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix
deleted file mode 100644
index 48de376793853..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/11.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-11-lts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "11.66.15";
-      jdkVersion = "11.0.20";
-      hash =
-        if enableJavaFX then "sha256-pVgCJkgYTlFeL7nkkMWLeJ/J8ELhgvWb7gzf3erZP7Y="
-        else "sha256-vKqxHP5Yb651g8bZ0xHGQ4Q1T7JjjrmgEuykw/Gh2f0=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "11.66.15";
-      jdkVersion = "11.0.20";
-      hash =
-        if enableJavaFX then "sha256-VoZo34SCUU+HHnTl6iLe0QBC+4VDkPP14N98oqSg9EQ="
-        else "sha256-djK8Kfikt9SSuT87x1p7YWMIlNuF0TZFYDWrKiTTiIU=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-11.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/16.nix b/pkgs/development/compilers/openjdk/darwin/16.nix
deleted file mode 100644
index 657b3eeafeabd..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/16.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-16-sts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "16.32.15";
-      jdkVersion = "16.0.2";
-      hash =
-        if enableJavaFX then "sha256-6URaSBNHQWLauO//kCuKXb4Z7AqyshWnoeJEyVRKgaY="
-        else "sha256-NXgBj/KixTknaCYbo3B+rOo11NImH5CDUIU0LhTCtMo=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "16.32.15";
-      jdkVersion = "16.0.2";
-      hash =
-        if enableJavaFX then "sha256-QuyhIAxUY3Vv1adGihW+LIsXtpDX2taCmFsMFj9o5vs="
-        else "sha256-3bUfDcLLyahLeURFAgLAVapBZHvqtam8GHbWTA6MQog=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/17.nix b/pkgs/development/compilers/openjdk/darwin/17.nix
deleted file mode 100644
index 49b23b440e230..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/17.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-17-lts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "17.44.53";
-      jdkVersion = "17.0.8.1";
-      hash =
-        if enableJavaFX then "sha256-9U0XYZRA+LZTQ7eHrT5SWhgcxv43ajC9n9Tj3qPPLWA="
-        else "sha256-ZART6K/o/+D7Tc60U1+1DbnCg8ZGZe67C6aLGeZfSx8=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "17.44.53";
-      jdkVersion = "17.0.8.1";
-      hash =
-        if enableJavaFX then "sha256-udYW3nOADclWqVcVtS9dgjSY0w6xf2nsBpLzPmQCYlI="
-        else "sha256-MUsEVo7Arps2ugPJy9Qq3J4SZfdGeJI7GSl9ZuuE3Mo=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/18.nix b/pkgs/development/compilers/openjdk/darwin/18.nix
deleted file mode 100644
index 30a61b4b1faaf..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/18.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-18-sts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "18.32.13";
-      jdkVersion = "18.0.2.1";
-      hash =
-        if enableJavaFX then "sha256-ZVZ1gbpJwxTduq2PPOCKqbSl+shq2NTFgqG++OXvFcg="
-        else "sha256-uHPcyOgxUdTgzmIVRp/awtwve9zSt+1TZNef7DUuoRg=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "18.32.13";
-      jdkVersion = "18.0.2.1";
-      hash =
-        if enableJavaFX then "sha256-tNx0a1u9iamcN9VFOJ3eqDEA6C204dtIBJZvuAH2Vjk="
-        else "sha256-jAZDgxtWMq/74yKAxA69oOU0C9nXvKG5MjmZLsK04iM=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/19.nix b/pkgs/development/compilers/openjdk/darwin/19.nix
deleted file mode 100644
index a087de1b5727f..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/19.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-19-sts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13";
-      jdkVersion = "19.0.2";
-      hash =
-        if enableJavaFX then "sha256-AwLcIId0gH5D6DUU8CgJ3qnKVQm28LXYirBeXBHwPYE="
-        else "sha256-KARXWumsY+OcqpEOV2EL9SsPni1nGSipjRji/Mn2KsE=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13";
-      jdkVersion = "19.0.2";
-      hash =
-        if enableJavaFX then "sha256-/R2rrcBr64qPGEtvhruXBhPwnvurt/hiR1ICzZAdYxE="
-        else "sha256-F30FjZaLL756X/Xs6xjNwW9jds4pEATxoxOeeLL7Y5E=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/20.nix b/pkgs/development/compilers/openjdk/darwin/20.nix
deleted file mode 100644
index b0c62aafd78d5..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/20.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-19-sts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "20.32.11";
-      jdkVersion = "20.0.2";
-      hash =
-        if enableJavaFX then "sha256-hyxQAivZAXtqMebe30L+EYa7p+TdSdKNYj7Rl/ZwRNQ="
-        else "sha256-Ev9KG6DvuBnsZrOguLsO1KQzudHCBcJNwKh45Inpnfo=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "20.32.11";
-      jdkVersion = "20.0.2";
-      hash =
-        if enableJavaFX then "sha256-iPQzZS4CwaoqT8cSzg4kWCT1OyGBSJLq+NETcbucLo4="
-        else "sha256-15uNZ6uMfSASV3QU2q2oA/jBk2PCHOfSjn1GY7/7qIY=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JDK so that
-      # any package that depends on the JDK has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
deleted file mode 100644
index 9bfd9a8db1a39..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/8.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-, setJavaClassPath
-, enableJavaFX ? false
-}:
-let
-  # Details from https://www.azul.com/downloads/?version=java-8-lts&os=macos&package=jdk
-  # Note that the latest build may differ by platform
-  dist = {
-    x86_64-darwin = {
-      arch = "x64";
-      zuluVersion = "8.72.0.17";
-      jdkVersion = "8.0.382";
-      hash =
-        if enableJavaFX then "sha256-/x8FqygivzddXsOwIV8aj/u+LPXMmokgu97vLAVEv80="
-        else "sha256-3dTPIPGUeT6nb3gncNvEa4VTRyQIBJpp8oZadrT2ToE=";
-    };
-
-    aarch64-darwin = {
-      arch = "aarch64";
-      zuluVersion = "8.72.0.17";
-      jdkVersion = "8.0.382";
-      hash =
-        if enableJavaFX then "sha256-FkQ+0MzSZWUzc/HmiDVZEHGOrdKAVCdK5pm9wXXzzaU="
-        else "sha256-rN5AI4xAWppE4kJlzMod0JmGyHdHjTXYtx8/wOW6CFk=";
-    };
-  }."${stdenv.hostPlatform.system}";
-
-  jce-policies = fetchurl {
-    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
-    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
-  };
-
-  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
-
-  jdk = stdenv.mkDerivation rec {
-    # @hlolli: Later version than 1.8.0_202 throws error when building jvmci.
-    # dyld: lazy symbol binding failed: Symbol not found: _JVM_BeforeHalt
-    # Referenced from: ../libjava.dylib Expected in: .../libjvm.dylib
-    pname = "zulu${dist.zuluVersion}-${javaPackage}";
-    version = dist.jdkVersion;
-
-    src = fetchurl {
-      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-macosx_${dist.arch}.tar.gz";
-      inherit (dist) hash;
-      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
-    };
-
-    nativeBuildInputs = [ unzip ];
-
-    installPhase = ''
-      mkdir -p $out
-      mv * $out
-
-      unzip ${jce-policies}
-      mv -f ZuluJCEPolicies/*.jar $out/jre/lib/security/
-
-      # jni.h expects jni_md.h to be in the header search path.
-      ln -s $out/include/darwin/*_md.h $out/include/
-
-      if [ -f $out/LICENSE ]; then
-        install -D $out/LICENSE $out/share/zulu/LICENSE
-        rm $out/LICENSE
-      fi
-    '';
-
-    preFixup = ''
-      # Propagate the setJavaClassPath setup hook from the JRE so that
-      # any package that depends on the JRE has $CLASSPATH set up
-      # properly.
-      mkdir -p $out/nix-support
-      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-      # Set JAVA_HOME automatically.
-      cat <<EOF >> $out/nix-support/setup-hook
-      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-      EOF
-    '';
-
-    # fixupPhase is moving the man to share/man which breaks it because it's a
-    # relative symlink.
-    postFixup = ''
-      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
-    '';
-
-    passthru = {
-      jre = jdk;
-      home = jdk;
-    };
-
-    meta = import ./meta.nix lib version;
-  };
-in
-jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/meta.nix b/pkgs/development/compilers/openjdk/darwin/meta.nix
deleted file mode 100644
index f07a7f38a45b9..0000000000000
--- a/pkgs/development/compilers/openjdk/darwin/meta.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-lib: version: (removeAttrs (import ../meta.nix lib version) [ "maintainers" ]) // {
-  platforms = lib.platforms.darwin;
-  homepage = "https://www.azul.com/";
-}
diff --git a/pkgs/development/compilers/openjdk/fix-java-home-jdk21.patch b/pkgs/development/compilers/openjdk/fix-java-home-jdk21.patch
new file mode 100644
index 0000000000000..ede201ed1ada5
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/fix-java-home-jdk21.patch
@@ -0,0 +1,14 @@
+--- a/src/hotspot/os/linux/os_linux.cpp	2017-07-04 23:09:02.533972226 -0400
++++ b/src/hotspot/os/linux/os_linux.cpp	2017-07-04 23:07:52.118338845 -0400
+@@ -2270,8 +2270,5 @@
+   assert(ret, "cannot locate libjvm");
+   char *rp = nullptr;
+   if (ret && dli_fname[0] != '\0') {
+-    rp = os::Posix::realpath(dli_fname, buf, buflen);
+-  }
+-  if (rp == nullptr) {
+-    return;
++    snprintf(buf, buflen, "%s", dli_fname);
+   }
+
+   if (Arguments::sun_java_launcher_is_altjvm()) {
diff --git a/pkgs/development/compilers/openjdk/openjfx/21.nix b/pkgs/development/compilers/openjdk/openjfx/21.nix
new file mode 100644
index 0000000000000..4b178736854d9
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/openjfx/21.nix
@@ -0,0 +1,113 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, writeText, openjdk17_headless
+, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst
+, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby, icu68
+, withMedia ? true
+, withWebKit ? false
+}:
+
+let
+  major = "21";
+  update = "";
+  build = "-ga";
+  repover = "${major}${update}${build}";
+  gradle_ = (gradle_7.override {
+    # note: gradle does not yet support running on 19
+    java = openjdk17_headless;
+  });
+
+  makePackage = args: stdenv.mkDerivation ({
+    version = "${major}${update}${build}";
+
+    src = fetchFromGitHub {
+      owner = "openjdk";
+      repo = "jfx";
+      rev = repover;
+      hash = "sha256-deNAGfnA6gwcAa64l0AWdkX+vJd3ZOfIgAifSl+/m+s=";
+    };
+
+    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ];
+    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
+
+    dontUseCmakeConfigure = true;
+
+    config = writeText "gradle.properties" (''
+      CONF = Release
+      JDK_HOME = ${openjdk19_headless.home}
+    '' + args.gradleProperties or "");
+
+    buildPhase = ''
+      runHook preBuild
+
+      export GRADLE_USER_HOME=$(mktemp -d)
+      ln -s $config gradle.properties
+      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
+      gradle --no-daemon $gradleFlags sdk
+
+      runHook postBuild
+    '';
+  } // args);
+
+  # Fake build to pre-download deps into fixed-output derivation.
+  # We run nearly full build because I see no other way to download everything that's needed.
+  # Anyone who knows a better way?
+  deps = makePackage {
+    pname = "openjfx-deps";
+
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+      rm -rf $out/tmp
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    # suspiciously the same as for openjfx 17 ...
+    # could they really not have changed any of their dependencies?
+    # or did we miss changing another upstream hash when copy-pasting?
+    outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
+  };
+
+in makePackage {
+  pname = "openjfx-modular-sdk";
+
+  gradleProperties = ''
+    COMPILE_MEDIA = ${lib.boolToString withMedia}
+    COMPILE_WEBKIT = ${lib.boolToString withWebKit}
+  '';
+
+  preBuild = ''
+    swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
+    substituteInPlace build.gradle \
+      --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
+      --replace 'name: SWT_FILE_NAME' "files('$swtJar')"
+  '';
+
+  installPhase = ''
+    cp -r build/modular-sdk $out
+  '';
+
+  stripDebugList = [ "." ];
+
+  postFixup = ''
+    # Remove references to bootstrap.
+    export openjdkOutPath='${openjdk19_headless.outPath}'
+    find "$out" -name \*.so | while read lib; do
+      new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
+      patchelf --set-rpath "$new_refs" "$lib"
+    done
+  '';
+
+  disallowedReferences = [ openjdk17_headless openjdk19_headless ];
+
+  passthru.deps = deps;
+
+  meta = with lib; {
+    homepage = "https://openjdk.org/projects/openjfx/";
+    license = licenses.gpl2Classpath;
+    description = "The next-generation Java client toolkit";
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/opensycl/default.nix b/pkgs/development/compilers/opensycl/default.nix
index d6f11798f199d..995b21330a996 100644
--- a/pkgs/development/compilers/opensycl/default.nix
+++ b/pkgs/development/compilers/opensycl/default.nix
@@ -2,15 +2,13 @@
 , fetchFromGitHub
 , llvmPackages_15
 , lld_15
-, rocm-device-libs
 , python3
-, rocm-runtime
 , cmake
 , boost
 , libxml2
 , libffi
 , makeWrapper
-, hip
+, rocmPackages
 , rocmSupport ? false
 }:
 let
@@ -40,8 +38,8 @@ stdenv.mkDerivation rec {
     llvmPackages_15.libclang.dev
     llvmPackages_15.llvm
   ] ++ lib.optionals rocmSupport [
-    hip
-    rocm-runtime
+    rocmPackages.clr
+    rocmPackages.rocm-runtime
   ];
 
   # opensycl makes use of clangs internal headers. Its cmake does not successfully discover them automatically on nixos, so we supply the path manually
@@ -55,7 +53,7 @@ stdenv.mkDerivation rec {
       --add-flags "-L${llvmPackages_15.openmp}/lib" \
       --add-flags "-I${llvmPackages_15.openmp.dev}/include" \
   '' + lib.optionalString rocmSupport ''
-    --add-flags "--rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode"
+    --add-flags "--rocm-device-lib-path=${rocmPackages.rocm-device-libs}/amdgcn/bitcode"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 2f22f8cd616b3..951678847076b 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "polyml";
-  version = "5.9";
+  version = "5.9.1";
 
   prePatch = lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure.ac --replace stdc++ c++
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "polyml";
     repo = "polyml";
     rev = "v${version}";
-    sha256 = "sha256-4oo4AB54CivhS99RuZVTP9+Ic0CDpsBb+OiHvOhmZnM=";
+    sha256 = "sha256-72wm8dt+Id59A5058mVE5P9TkXW5/LZRthZoxUustVA=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 869dd15df0be9..0cf5020962cf1 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -263,7 +263,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.rust-lang.org/";
     description = "A safe, concurrent, practical language";
-    maintainers = with maintainers; [ cstrahan globin havvy ] ++ teams.rust.members;
+    maintainers = with maintainers; [ globin havvy ] ++ teams.rust.members;
     license = [ licenses.mit licenses.asl20 ];
     platforms = [
       # Platforms with host tools from
diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix
index c5e8ee5a6214e..c6c743ce1e595 100644
--- a/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -13,13 +13,17 @@ let
   llvmMajor = lib.versions.major llvm.version;
   isROCm = lib.hasPrefix "rocm" llvm.pname;
 
-  # ROCm will always be at the latest version
+  # ROCm, if actively updated will always be at the latest version
   branch =
-    if llvmMajor == "16" then rec {
+    if llvmMajor == "17" || isROCm then rec {
+      version = "17.0.0";
+      rev = "v${version}";
+      hash = "sha256-Rzm5Py9IPFtS9G7kME+uSwZ/0gPGW6MlL35ZWk4LfHM=";
+    } else if llvmMajor == "16" then rec {
       version = "16.0.0";
       rev = "v${version}";
       hash = "sha256-EUabcYqSjXshbPmcs1DRLvCSL1nd9rEdpqELBrItCW8=";
-    } else if llvmMajor == "15" || isROCm then rec {
+    } else if llvmMajor == "15" then rec {
       version = "15.0.0";
       rev = "v${version}";
       hash = "sha256-OsDohXRxovtEXaWiRGp8gJ0dXmoALyO+ZimeSO8aPVI=";
diff --git a/pkgs/development/compilers/stanc/default.nix b/pkgs/development/compilers/stanc/default.nix
index 92a6b7bdc2d10..ef3ed21414674 100644
--- a/pkgs/development/compilers/stanc/default.nix
+++ b/pkgs/development/compilers/stanc/default.nix
@@ -5,7 +5,7 @@
 
 ocamlPackages.buildDunePackage rec {
   pname = "stanc";
-  version = "2.32.2";
+  version = "2.33.1";
 
   minimalOCamlVersion = "4.12";
   duneVersion = "3";
@@ -14,7 +14,7 @@ ocamlPackages.buildDunePackage rec {
     owner = "stan-dev";
     repo = "stanc3";
     rev = "v${version}";
-    hash = "sha256-dngmZXVb59uV7EugYIZAqE1gk66em7iuzllbbPWK2xk=";
+    hash = "sha256-DeQOiYJ5OHIMXcYHTYlObJnxM2Rqf6pSN4T7sAGw+wg=";
   };
 
   # Error: This expression has type [ `Use_Sys_unix ]
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index ae7a653d7473a..0ea755f7348b3 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -71,13 +71,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.33";
+  version = "0.34";
 
   src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "yosys";
-    rev   = "${pname}-${version}";
-    hash  = "sha256-3MsWF161pqqeAbmeTlkQY6UpU4pq1WT0XXK9yciwt0M=";
+    rev   = "refs/tags/${pname}-${version}";
+    hash  = "sha256-GHDsMBj7DRb9ffESgzd1HzDAA6Cyft5PomidvIMzn9g=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/zulu/11.nix b/pkgs/development/compilers/zulu/11.nix
new file mode 100644
index 0000000000000..9272dc75c3e80
--- /dev/null
+++ b/pkgs/development/compilers/zulu/11.nix
@@ -0,0 +1,42 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-11-lts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-linux = {
+      zuluVersion = "11.66.15";
+      jdkVersion = "11.0.20";
+      hash =
+        if enableJavaFX then "sha256-CjWtqnirEDrpF61WXm/Yi372IzhpTpi+/AfEqirlZnc="
+        else "sha256-o0tAT4egimEUizjhQW2DcYnh33oEDZSedDYz2vRpWjw=";
+    };
+
+    aarch64-linux = {
+      zuluVersion = "11.66.15";
+      jdkVersion = "11.0.20";
+      hash =
+        if enableJavaFX then throw "JavaFX is not available for aarch64-linux"
+        else "sha256-VBdEOfKz/d0R8QSMOX/nu0XUydZtRS1oibAT0E0hxN4=";
+    };
+
+    x86_64-darwin = {
+      zuluVersion = "11.66.15";
+      jdkVersion = "11.0.20";
+      hash =
+        if enableJavaFX then "sha256-pVgCJkgYTlFeL7nkkMWLeJ/J8ELhgvWb7gzf3erZP7Y="
+        else "sha256-vKqxHP5Yb651g8bZ0xHGQ4Q1T7JjjrmgEuykw/Gh2f0=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "11.66.15";
+      jdkVersion = "11.0.20";
+      hash =
+        if enableJavaFX then "sha256-VoZo34SCUU+HHnTl6iLe0QBC+4VDkPP14N98oqSg9EQ="
+        else "sha256-djK8Kfikt9SSuT87x1p7YWMIlNuF0TZFYDWrKiTTiIU=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/16.nix b/pkgs/development/compilers/zulu/16.nix
new file mode 100644
index 0000000000000..941a7e8d64f9a
--- /dev/null
+++ b/pkgs/development/compilers/zulu/16.nix
@@ -0,0 +1,26 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-16-sts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-darwin = {
+      zuluVersion = "16.32.15";
+      jdkVersion = "16.0.2";
+      hash =
+        if enableJavaFX then "sha256-6URaSBNHQWLauO//kCuKXb4Z7AqyshWnoeJEyVRKgaY="
+        else "sha256-NXgBj/KixTknaCYbo3B+rOo11NImH5CDUIU0LhTCtMo=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "16.32.15";
+      jdkVersion = "16.0.2";
+      hash =
+        if enableJavaFX then "sha256-QuyhIAxUY3Vv1adGihW+LIsXtpDX2taCmFsMFj9o5vs="
+        else "sha256-3bUfDcLLyahLeURFAgLAVapBZHvqtam8GHbWTA6MQog=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/17.nix b/pkgs/development/compilers/zulu/17.nix
new file mode 100644
index 0000000000000..fcfe39af10ac5
--- /dev/null
+++ b/pkgs/development/compilers/zulu/17.nix
@@ -0,0 +1,42 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-17-lts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-linux = {
+      zuluVersion = "17.44.53";
+      jdkVersion = "17.0.8.1";
+      hash =
+        if enableJavaFX then "sha256-R6VJcSjpKFfsO3l32+8s+wlcuAVoXcSsW5Dg2M/hjpI="
+        else "sha256-uUgvIwShpophTfrN3PKVaacvD6wy5sdPg9wbmhV7g0A=";
+    };
+
+    aarch64-linux = {
+      zuluVersion = "17.44.53";
+      jdkVersion = "17.0.8.1";
+      hash =
+        if enableJavaFX then throw "JavaFX is not available for aarch64-linux"
+        else "sha256-ZTHO9h5BbVp7aRVVyM8r3/aJIBuKAB/0WrZ0AGK0QxM=";
+    };
+
+    x86_64-darwin = {
+      zuluVersion = "17.44.53";
+      jdkVersion = "17.0.8.1";
+      hash =
+        if enableJavaFX then "sha256-9U0XYZRA+LZTQ7eHrT5SWhgcxv43ajC9n9Tj3qPPLWA="
+        else "sha256-ZART6K/o/+D7Tc60U1+1DbnCg8ZGZe67C6aLGeZfSx8=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "17.44.53";
+      jdkVersion = "17.0.8.1";
+      hash =
+        if enableJavaFX then "sha256-udYW3nOADclWqVcVtS9dgjSY0w6xf2nsBpLzPmQCYlI="
+        else "sha256-MUsEVo7Arps2ugPJy9Qq3J4SZfdGeJI7GSl9ZuuE3Mo=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/18.nix b/pkgs/development/compilers/zulu/18.nix
new file mode 100644
index 0000000000000..cbee8ac6e5bd9
--- /dev/null
+++ b/pkgs/development/compilers/zulu/18.nix
@@ -0,0 +1,26 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-18-sts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-darwin = {
+      zuluVersion = "18.32.13";
+      jdkVersion = "18.0.2.1";
+      hash =
+        if enableJavaFX then "sha256-ZVZ1gbpJwxTduq2PPOCKqbSl+shq2NTFgqG++OXvFcg="
+        else "sha256-uHPcyOgxUdTgzmIVRp/awtwve9zSt+1TZNef7DUuoRg=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "18.32.13";
+      jdkVersion = "18.0.2.1";
+      hash =
+        if enableJavaFX then "sha256-tNx0a1u9iamcN9VFOJ3eqDEA6C204dtIBJZvuAH2Vjk="
+        else "sha256-jAZDgxtWMq/74yKAxA69oOU0C9nXvKG5MjmZLsK04iM=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/19.nix b/pkgs/development/compilers/zulu/19.nix
new file mode 100644
index 0000000000000..28dbf58876164
--- /dev/null
+++ b/pkgs/development/compilers/zulu/19.nix
@@ -0,0 +1,26 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-19-sts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-darwin = {
+      zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13";
+      jdkVersion = "19.0.2";
+      hash =
+        if enableJavaFX then "sha256-AwLcIId0gH5D6DUU8CgJ3qnKVQm28LXYirBeXBHwPYE="
+        else "sha256-KARXWumsY+OcqpEOV2EL9SsPni1nGSipjRji/Mn2KsE=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13";
+      jdkVersion = "19.0.2";
+      hash =
+        if enableJavaFX then "sha256-/R2rrcBr64qPGEtvhruXBhPwnvurt/hiR1ICzZAdYxE="
+        else "sha256-F30FjZaLL756X/Xs6xjNwW9jds4pEATxoxOeeLL7Y5E=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/20.nix b/pkgs/development/compilers/zulu/20.nix
new file mode 100644
index 0000000000000..38083a881f512
--- /dev/null
+++ b/pkgs/development/compilers/zulu/20.nix
@@ -0,0 +1,26 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-20-sts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-darwin = {
+      zuluVersion = "20.32.11";
+      jdkVersion = "20.0.2";
+      hash =
+        if enableJavaFX then "sha256-hyxQAivZAXtqMebe30L+EYa7p+TdSdKNYj7Rl/ZwRNQ="
+        else "sha256-Ev9KG6DvuBnsZrOguLsO1KQzudHCBcJNwKh45Inpnfo=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "20.32.11";
+      jdkVersion = "20.0.2";
+      hash =
+        if enableJavaFX then "sha256-iPQzZS4CwaoqT8cSzg4kWCT1OyGBSJLq+NETcbucLo4="
+        else "sha256-15uNZ6uMfSASV3QU2q2oA/jBk2PCHOfSjn1GY7/7qIY=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/21.nix b/pkgs/development/compilers/zulu/21.nix
new file mode 100644
index 0000000000000..09b420d533a2a
--- /dev/null
+++ b/pkgs/development/compilers/zulu/21.nix
@@ -0,0 +1,42 @@
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-21-lts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-linux = {
+      zuluVersion = "21.28.85";
+      jdkVersion = "21.0.0";
+      hash =
+        if enableJavaFX then "sha256-ew/tgSdkrPdk1CTguk9nyl30w7se+YZYqyqOTaeketk="
+        else "sha256-DA6t+9xHp8pkrqtRucBh9xtuTSXS2HZ0US6bY4fp46Y=";
+    };
+
+    aarch64-linux = {
+      zuluVersion = "21.28.85";
+      jdkVersion = "21.0.0";
+      hash =
+        if enableJavaFX then throw "JavaFX is not available for aarch64-linux"
+        else "sha256-H7ZLgDbF1GPYq1mvBr9bawBoEeYBLjsOtrzPV/HFWDU=";
+    };
+
+    x86_64-darwin = {
+      zuluVersion = "21.28.85";
+      jdkVersion = "21.0.0";
+      hash =
+        if enableJavaFX then "sha256-QrgEpLaNGc2aNFF38z2ckUTCpweKnuALYLOWATZFJPA="
+        else "sha256-ljm4fbWG0MifepiSrkf0IeRCxkuXuuvf8xeI++IyZb0=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "21.28.85";
+      jdkVersion = "21.0.0";
+      hash =
+        if enableJavaFX then "sha256-PUVB/R1K1dLTi1FsOYIvcI76M6EYYeMG1Bm+oMno//Y="
+        else "sha256-KnqZo+omPb2NMqZ9Hm42O6iyXGRcgm9eFnoCu6+v8fo=";
+    };
+  };
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index ed4d529ebd519..91aaaf06cd138 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -1,120 +1,34 @@
-{ stdenv
-, lib
-, fetchurl
-, autoPatchelfHook
-, unzip
-, makeWrapper
-, setJavaClassPath
-, zulu
-# minimum dependencies
-, alsa-lib
-, fontconfig
-, freetype
-, xorg
-# runtime dependencies
-, cups
-# runtime dependencies for GTK+ Look and Feel
-, gtkSupport ? stdenv.isLinux
-, cairo
-, glib
-, gtk3
-}:
-
-let
-  version = "8.68.0.19";
-  openjdk = "8.0.362";
-
-  sha256_linux = "sha256-jNty0iJoXG+sp7v2fGCrwZWCSZfQ4tkYe8ERixQMKL0=";
-  sha256_darwin = "sha256-3/P3puM6a7tCHP5eZM6IzbdPrqnhY1dTa7QWss9M08M=";
-
-  platform = if stdenv.isDarwin then "macosx" else "linux";
-  hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
-  extension = if stdenv.isDarwin then "zip" else "tar.gz";
-
-  runtimeDependencies = [
-    cups
-  ] ++ lib.optionals gtkSupport [
-    cairo glib gtk3
-  ];
-  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
-
-in stdenv.mkDerivation {
-  inherit version openjdk platform hash extension;
-
-  pname = "zulu";
-
-  src = fetchurl {
-    url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_x64.${extension}";
-    sha256 = hash;
-  };
-
-  buildInputs = lib.optionals stdenv.isLinux [
-    alsa-lib # libasound.so wanted by lib/libjsound.so
-    fontconfig
-    freetype
-    stdenv.cc.cc # libstdc++.so.6
-    xorg.libX11
-    xorg.libXext
-    xorg.libXi
-    xorg.libXrender
-    xorg.libXtst
-  ];
-
-  nativeBuildInputs = [
-    makeWrapper
-  ] ++ lib.optionals stdenv.isLinux [
-    autoPatchelfHook
-  ] ++ lib.optionals stdenv.isDarwin [
-    unzip
-  ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -r ./* "$out/"
-  '' + lib.optionalString stdenv.isLinux ''
-    # jni.h expects jni_md.h to be in the header search path.
-    ln -s $out/include/linux/*_md.h $out/include/
-  '' + ''
-    mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-    # Set JAVA_HOME automatically.
-    cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-    EOF
-  '' + lib.optionalString stdenv.isLinux ''
-    # We cannot use -exec since wrapProgram is a function but not a command.
-    for bin in $( find "$out" -executable -type f ); do
-      if patchelf --print-interpreter "$bin" &> /dev/null; then
-        wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
-      fi
-    done
-  '' + ''
-    runHook postInstall
-  '';
-
-  preFixup = ''
-    find "$out" -name libfontmanager.so -exec \
-      patchelf --add-needed libfontconfig.so {} \;
-  '';
-
-  passthru = {
-    home = zulu;
-  };
-
-  meta = with lib; {
-    homepage = "https://www.azul.com/products/zulu/";
-    sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ];
-    license = licenses.gpl2;
-    description = "Certified builds of OpenJDK";
-    longDescription = ''
-      Certified builds of OpenJDK that can be deployed across multiple
-      operating systems, containers, hypervisors and Cloud platforms.
-    '';
-    maintainers = with maintainers; [ ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    mainProgram = "java";
+{ callPackage
+, enableJavaFX ? false
+, ...
+}@args:
+
+callPackage ./common.nix ({
+  # Details from https://www.azul.com/downloads/?version=java-8-lts&package=jdk
+  # Note that the latest build may differ by platform
+  dists = {
+    x86_64-linux = {
+      zuluVersion = "8.72.0.17";
+      jdkVersion = "8.0.382";
+      hash =
+        if enableJavaFX then "sha256-mIPCFESU7hy2naYur2jvFBtVn/LZQRcFiyiG61buCYs="
+        else "sha256-exWlbyrgBb7aD4daJps9qtFP+hKWkwbMdFR4OFslupY=";
+    };
+
+    x86_64-darwin = {
+      zuluVersion = "8.72.0.17";
+      jdkVersion = "8.0.382";
+      hash =
+        if enableJavaFX then "sha256-/x8FqygivzddXsOwIV8aj/u+LPXMmokgu97vLAVEv80="
+        else "sha256-3dTPIPGUeT6nb3gncNvEa4VTRyQIBJpp8oZadrT2ToE=";
+    };
+
+    aarch64-darwin = {
+      zuluVersion = "8.72.0.17";
+      jdkVersion = "8.0.382";
+      hash =
+        if enableJavaFX then "sha256-FkQ+0MzSZWUzc/HmiDVZEHGOrdKAVCdK5pm9wXXzzaU="
+        else "sha256-rN5AI4xAWppE4kJlzMod0JmGyHdHjTXYtx8/wOW6CFk=";
+    };
   };
-}
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/development/compilers/zulu/common.nix b/pkgs/development/compilers/zulu/common.nix
new file mode 100644
index 0000000000000..d09555b00c9ca
--- /dev/null
+++ b/pkgs/development/compilers/zulu/common.nix
@@ -0,0 +1,159 @@
+{ lib
+, stdenv
+, fetchurl
+, setJavaClassPath
+, enableJavaFX ? false
+, dists
+  # minimum dependencies
+, unzip
+, autoPatchelfHook
+, makeWrapper
+, alsa-lib
+, fontconfig
+, freetype
+, zlib
+, xorg
+  # runtime dependencies
+, cups
+  # runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? stdenv.isLinux
+, cairo
+, glib
+, gtk3
+}:
+let
+  dist = dists.${stdenv.hostPlatform.system}
+    or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  arch = {
+    "aarch64" = "aarch64";
+    "x86_64" = "x64";
+  }.${stdenv.hostPlatform.parsed.cpu.name}
+    or (throw "Unsupported architecture: ${stdenv.hostPlatform.parsed.cpu.name}");
+
+  platform = {
+    "darwin" = "macosx";
+    "linux" = "linux";
+  }.${stdenv.hostPlatform.parsed.kernel.name}
+    or (throw "Unsupported platform: ${stdenv.hostPlatform.parsed.kernel.name}");
+
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo
+    glib
+    gtk3
+  ];
+
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
+
+  jce-policies = fetchurl {
+    url = "https://web.archive.org/web/20211126120343/http://cdn.azul.com/zcek/bin/ZuluJCEPolicies.zip";
+    hash = "sha256-gCGii4ysQbRPFCH9IQoKCCL8r4jWLS5wo1sv9iioZ1o=";
+  };
+
+  javaPackage = if enableJavaFX then "ca-fx-jdk" else "ca-jdk";
+
+  isJdk8 = lib.versions.major dist.jdkVersion == "8";
+
+  jdk = stdenv.mkDerivation rec {
+    pname = "zulu${dist.zuluVersion}-${javaPackage}";
+    version = dist.jdkVersion;
+
+    src = fetchurl {
+      url = "https://cdn.azul.com/zulu/bin/zulu${dist.zuluVersion}-${javaPackage}${dist.jdkVersion}-${platform}_${arch}.tar.gz";
+      inherit (dist) hash;
+      curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
+    };
+
+    nativeBuildInputs = [
+      unzip
+    ] ++ lib.optionals stdenv.isLinux [
+      autoPatchelfHook
+      makeWrapper
+    ];
+
+    buildInputs = lib.optionals stdenv.isLinux [
+      alsa-lib # libasound.so wanted by lib/libjsound.so
+      fontconfig
+      freetype
+      stdenv.cc.cc # libstdc++.so.6
+      xorg.libX11
+      xorg.libXext
+      xorg.libXi
+      xorg.libXrender
+      xorg.libXtst
+      zlib
+    ];
+
+    installPhase = ''
+      mkdir -p $out
+      mv * $out
+
+      unzip ${jce-policies}
+      mv -f ZuluJCEPolicies/*.jar $out/${lib.optionalString isJdk8 "jre/"}lib/security/
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/${stdenv.hostPlatform.parsed.kernel.name}/*_md.h $out/include/
+
+      if [ -f $out/LICENSE ]; then
+        install -D $out/LICENSE $out/share/zulu/LICENSE
+        rm $out/LICENSE
+      fi
+    '';
+
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook from the ${if isJdk8 then "JRE" else "JDK"} so that
+      # any package that depends on the ${if isJdk8 then "JRE" else "JDK"} has $CLASSPATH set up
+      # properly.
+      mkdir -p $out/nix-support
+      printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
+
+      # Set JAVA_HOME automatically.
+      cat <<EOF >> $out/nix-support/setup-hook
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
+      EOF
+    '' + lib.optionalString stdenv.isLinux ''
+      # We cannot use -exec since wrapProgram is a function but not a command.
+      #
+      # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it
+      # breaks building OpenJDK (#114495).
+      for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do
+        if patchelf --print-interpreter "$bin" &> /dev/null; then
+          wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+        fi
+      done
+    ''
+    # FIXME: move all of the above to installPhase.
+    + lib.optionalString stdenv.isLinux ''
+      find "$out" -name libfontmanager.so -exec \
+        patchelf --add-needed libfontconfig.so {} \;
+    '';
+
+    # fixupPhase is moving the man to share/man which breaks it because it's a
+    # relative symlink.
+    postFixup = lib.optionalString stdenv.isDarwin ''
+      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
+    '';
+
+    passthru = (lib.optionalAttrs isJdk8 {
+      jre = jdk;
+    }) // {
+      home = jdk;
+    };
+
+    meta = (import ../openjdk/meta.nix lib version) // {
+      description = "Certified builds of OpenJDK";
+      longDescription = ''
+        Certified builds of OpenJDK that can be deployed across multiple
+        operating systems, containers, hypervisors and Cloud platforms.
+      '';
+      homepage = "https://www.azul.com/products/zulu/";
+      mainProgram = "java";
+      maintainers = [ ];
+      platforms = builtins.attrNames dists;
+      sourceProvenance = with lib.sourceTypes; [ binaryBytecode binaryNativeCode ];
+    };
+  };
+in
+jdk
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
deleted file mode 100644
index 045aa4e5abaed..0000000000000
--- a/pkgs/development/compilers/zulu/default.nix
+++ /dev/null
@@ -1,125 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, autoPatchelfHook
-, unzip
-, makeWrapper
-, setJavaClassPath
-, zulu
-# minimum dependencies
-, alsa-lib
-, fontconfig
-, freetype
-, zlib
-, xorg
-# runtime dependencies
-, cups
-# runtime dependencies for GTK+ Look and Feel
-, gtkSupport ? stdenv.isLinux
-, cairo
-, glib
-, gtk3
-}:
-
-let
-  version = "11.62.17";
-  openjdk = "11.0.18";
-
-  sha256_x64_linux = "sha256-b65oEbDzrrsUw+WaX94USBz/QS74yiMiGZPxqzMmmqs=";
-  sha256_x64_darwin = "sha256-nRRWTWiog8bRblmmPIPE5YibA34St3ZrJpZN91qEDUg=";
-  sha256_aarch64_darwin = "sha256-TBTrBxOfGo6MV+Md49P3sDfqVG1e+NraqfVbw9WTppk=";
-
-  platform = if stdenv.isDarwin then "macosx" else "linux";
-  hash = if stdenv.isAarch64 && stdenv.isDarwin then sha256_aarch64_darwin else if stdenv.isDarwin then sha256_x64_darwin else sha256_x64_linux;
-  extension = if stdenv.isDarwin then "zip" else "tar.gz";
-  architecture = if stdenv.isAarch64 then "aarch64" else "x64";
-
-  runtimeDependencies = [
-    cups
-  ] ++ lib.optionals gtkSupport [
-    cairo glib gtk3
-  ];
-  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
-
-in stdenv.mkDerivation {
-  inherit version openjdk platform hash extension;
-
-  pname = "zulu";
-
-  src = fetchurl {
-    url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_${architecture}.${extension}";
-    sha256 = hash;
-  };
-
-  buildInputs = lib.optionals stdenv.isLinux [
-    alsa-lib # libasound.so wanted by lib/libjsound.so
-    fontconfig
-    freetype
-    stdenv.cc.cc # libstdc++.so.6
-    xorg.libX11
-    xorg.libXext
-    xorg.libXi
-    xorg.libXrender
-    xorg.libXtst
-    zlib
-  ];
-
-  nativeBuildInputs = [
-    makeWrapper
-  ] ++ lib.optionals stdenv.isLinux [
-    autoPatchelfHook
-  ] ++ lib.optionals stdenv.isDarwin [
-    unzip
-  ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -r ./* "$out/"
-  '' + lib.optionalString stdenv.isLinux ''
-    # jni.h expects jni_md.h to be in the header search path.
-    ln -s $out/include/linux/*_md.h $out/include/
-  '' + ''
-    mkdir -p $out/nix-support
-    printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
-
-    # Set JAVA_HOME automatically.
-    cat <<EOF >> $out/nix-support/setup-hook
-    if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-    EOF
-  '' + lib.optionalString stdenv.isLinux ''
-    # We cannot use -exec since wrapProgram is a function but not a command.
-    #
-    # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it
-    # breaks building OpenJDK (#114495).
-    for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do
-      wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
-    done
-  '' + ''
-    runHook postInstall
-  '';
-
-  preFixup = ''
-    find "$out" -name libfontmanager.so -exec \
-      patchelf --add-needed libfontconfig.so {} \;
-  '';
-
-  passthru = {
-    home = zulu;
-  };
-
-  meta = with lib; {
-    homepage = "https://www.azul.com/products/zulu/";
-    sourceProvenance = with sourceTypes; [ binaryBytecode binaryNativeCode ];
-    license = licenses.gpl2;
-    description = "Certified builds of OpenJDK";
-    longDescription = ''
-      Certified builds of OpenJDK that can be deployed across multiple
-      operating systems, containers, hypervisors and Cloud platforms.
-    '';
-    maintainers = with maintainers; [ ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
-    mainProgram = "java";
-  };
-}
diff --git a/pkgs/development/embedded/wch-isp/default.nix b/pkgs/development/embedded/wch-isp/default.nix
index a08afa5729af7..4bc2e06157241 100644
--- a/pkgs/development/embedded/wch-isp/default.nix
+++ b/pkgs/development/embedded/wch-isp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wch-isp";
-  version = "0.2.5";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "jmaselbas";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-JF1g2Qb1gG93lSaDQvltT6jCYk/dKntsIJPkQXYUvX4=";
+    hash = "sha256-cbQJgHZAdSfzRsf/srMlRd+QgGUPpP5r3kBTNCgINDw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 1889828528d5b..69723242dff54 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -316,7 +316,12 @@ self: super: {
 
   # Overriding the version pandoc dependency uses as the latest release has version bounds
   # defined as >= 3.1  && < 3.2, can be removed once pandoc gets bumped by Stackage.
-  patat = super.patat.override { pandoc = self.pandoc_3_1_6_1; };
+  #
+  # The patch can be removed once the commit being pulled is in a release.
+  patat = appendPatch (fetchpatch {
+    url = "https://github.com/jaspervdj/patat/pull/143/commits/cb5d5b6439204b5bd52939e42a11518ac81139fe.patch";
+    sha256 = "sha256-EPiyxziPtn2fAExKknI2uKUGahWCFnv7K8bpVkAgezQ=";
+  }) (super.patat.override { pandoc = self.pandoc_3_1_8; });
 
   # http2 also overridden in all-packages.nix for mailctl.
   # twain is currently only used by mailctl, so the .overrideScope shouldn't
@@ -347,7 +352,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "0fg3q7apdijnlgyb0yps1znjjd2nv3016r9cyxyw209sqn3whnx5";
+      sha256 = "sha256-+buXiG9auq46+reMrs2rBWoxHgPkHmP8BY5BugooU+Q=";
       # delete android and Android directories which cause issues on
       # darwin (case insensitive directory). Since we don't need them
       # during the build process, we can delete it to prevent a hash
@@ -518,13 +523,8 @@ self: super: {
   # https://github.com/ekmett/structures/issues/3
   structures = dontCheck super.structures;
 
-  jacinda = appendPatches [
-    (pkgs.fetchpatch {
-      name = "jacinda-alex-3.3.patch";
-      url = "https://github.com/vmchale/jacinda/commit/b8e18871900402e6ab0addae2e41a0f360682ae3.patch";
-      sha256 = "0c1b9hp9j44zafzjidp301dz0m54vplgfisqvb1zrh1plk6vsxsa";
-    })
-  ] (overrideCabal { revision = null; editedCabalFile = null; } super.jacinda);
+  # Requires alex >= 3.4
+  jacinda = super.jacinda.override { alex = self.alex_3_4_0_0; };
 
   # Disable test suites to fix the build.
   acme-year = dontCheck super.acme-year;                # http://hydra.cryp.to/build/497858/log/raw
@@ -1468,31 +1468,6 @@ self: super: {
     });
   };
 
-  jsaddle-webkit2gtk =
-    appendPatches [
-      (pkgs.fetchpatch {
-        name = "jsaddle-webkit2gtk-ghc-9.2.patch";
-        url = "https://github.com/ghcjs/jsaddle/commit/d2ce9e6be1dcba0ab417314a0b848012d1a47e03.diff";
-        stripLen = 1;
-        includes = [ "jsaddle-webkit2gtk.cabal" ];
-        sha256 = "16pcs3l7s8shhcnrhi80bwjgy7w23csd9b8qpmc5lnxn4wxr4c2r";
-      })
-      (pkgs.fetchpatch {
-        name = "jsaddle-webkit2gtk-ghc-9.6.patch";
-        url = "https://github.com/ghcjs/jsaddle/commit/99b23dac8b4c5b23f5ed7963e681a46c1abdd1a5.patch";
-        sha256 = "02rdifap9vzf6bhjp5siw68ghjrxh2phzd0kwjihf3hxi4a2xlp3";
-        stripLen = 1;
-        includes = [ "jsaddle-webkit2gtk.cabal" ];
-      })
-    ]
-    (overrideCabal (old: {
-      postPatch = old.postPatch or "" + ''
-        sed -i 's/aeson.*,/aeson,/' jsaddle-webkit2gtk.cabal
-        sed -i 's/text.*,/text,/' jsaddle-webkit2gtk.cabal
-      '';
-    })
-    super.jsaddle-webkit2gtk);
-
   # 2022-03-16: lens bound can be loosened https://github.com/ghcjs/jsaddle-dom/issues/19
   jsaddle-dom = overrideCabal (old: {
     postPatch = old.postPatch or "" + ''
@@ -1861,15 +1836,6 @@ self: super: {
   vivid-osc = dontCheck super.vivid-osc;
   vivid-supercollider = dontCheck super.vivid-supercollider;
 
-  # while waiting for a new release: https://github.com/brendanhay/amazonka/pull/572
-  amazonka = appendPatches [
-    (fetchpatch {
-      relative = "amazonka";
-      url = "https://github.com/brendanhay/amazonka/commit/43ddd87b1ebd6af755b166e16336259ec025b337.patch";
-      sha256 = "sha256-9Ed3qrLGRaNCdvqWMyg8ydAnqDkFqWKLLoObv/5jG54=";
-    })
-  ] (doJailbreak super.amazonka);
-
   # Test suite does not compile.
   feed = dontCheck super.feed;
 
@@ -1915,23 +1881,27 @@ self: super: {
   inherit (let
     pandoc-cli-overlay = self: super: {
       # pandoc-cli requires pandoc >= 3.1
-      pandoc = self.pandoc_3_1_6_1;
+      pandoc = self.pandoc_3_1_8;
 
       # pandoc depends on crypton-connection, which requires tls >= 1.7
-      tls = self.tls_1_7_1;
+      tls = self.tls_1_9_0;
       crypton-connection = unmarkBroken super.crypton-connection;
 
       # pandoc depends on http-client-tls, which only starts depending
       # on crypton-connection in http-client-tls-0.3.6.2.
       http-client-tls = self.http-client-tls_0_3_6_3;
+
+      # pandoc depends on skylighting >= 0.14
+      skylighting = self.skylighting_0_14;
+      skylighting-core = self.skylighting-core_0_14;
     };
   in {
     pandoc-cli = super.pandoc-cli.overrideScope pandoc-cli-overlay;
-    pandoc_3_1_6_1 = doDistribute (super.pandoc_3_1_6_1.overrideScope pandoc-cli-overlay);
+    pandoc_3_1_8 = doDistribute (super.pandoc_3_1_8.overrideScope pandoc-cli-overlay);
     pandoc-lua-engine = super.pandoc-lua-engine.overrideScope pandoc-cli-overlay;
   })
     pandoc-cli
-    pandoc_3_1_6_1
+    pandoc_3_1_8
     pandoc-lua-engine
     ;
 
@@ -2136,27 +2106,6 @@ self: super: {
     sha256 = "sha256-AVQLvul3ufxGQyoXud05qauclNanf6kunip0oJ/9lWQ=";
   }) (dontCheck super.yi-language);
 
-  # 2022-03-16: Upstream is not bumping bounds https://github.com/ghcjs/jsaddle/issues/123
-  # 2023-07-14: Upstream is also not releasing fixes.
-  jsaddle = appendPatch
-    (fetchpatch {
-      name = "jsaddle-casemapping.patch";
-      url = "https://github.com/ghcjs/jsaddle/commit/f90df85fec84fcc4927bfb67452e31342f5aec1f.patch";
-      sha256 = "sha256-xCtDxpjZbus8VSeBUEV0OnJlcQKjeL1PbYSHnhpFuyI=";
-      relative = "jsaddle";
-    })
-    (overrideCabal (drv: {
-    # lift conditional version constraint on ref-tf
-    postPatch = ''
-      sed -i 's/ref-tf.*,/ref-tf,/' jsaddle.cabal
-      sed -i 's/attoparsec.*,/attoparsec,/' jsaddle.cabal
-      sed -i 's/time.*,/time,/' jsaddle.cabal
-      sed -i 's/vector.*,/vector,/' jsaddle.cabal
-      sed -i 's/(!name)/(! name)/' src/Language/Javascript/JSaddle/Object.hs
-    '' + (drv.postPatch or "");
-    })
-    (doJailbreak super.jsaddle));
-
   # 2022-03-22: Jailbreak for base bound: https://github.com/reflex-frp/reflex-dom/pull/433
   reflex-dom = assert super.reflex-dom.version == "0.6.1.1"; doJailbreak super.reflex-dom;
 
@@ -2757,6 +2706,7 @@ self: super: {
 
   # Tests fail due to the newly-build fourmolu not being in PATH
   # https://github.com/fourmolu/fourmolu/issues/231
+  fourmolu_0_14_0_0 = dontCheck super.fourmolu_0_14_0_0;
   fourmolu_0_13_1_0 = dontCheck super.fourmolu_0_13_1_0;
 
   # Merged upstream, but never released. Allows both intel and aarch64 darwin to build.
@@ -2773,4 +2723,9 @@ self: super: {
 
   # The hackage source is somehow missing a file present in the repo (tests/ListStat.hs).
   sym = dontCheck super.sym;
+
+  # Too strict bounds on base, ghc-prim, primitive
+  # https://github.com/kowainik/typerep-map/pull/128
+  typerep-map = doJailbreak super.typerep-map;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
index 182a259df31c9..098a856f78e49 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
@@ -65,7 +65,7 @@ self: super: {
   # Version deviations from Stackage LTS
   #
 
-  doctest = doDistribute super.doctest_0_22_0;
+  doctest = doDistribute super.doctest_0_22_1;
   http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18
   some = doDistribute self.some_1_0_5;
   th-abstraction = doDistribute self.th-abstraction_0_6_0_0;
@@ -88,7 +88,7 @@ self: super: {
 
   ghc-lib = doDistribute self.ghc-lib_9_6_2_20230523;
   ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_2_20230523;
-  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_1;
+  ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2;
 
   # v0.1.6 forbids base >= 4.18
   singleton-bool = doDistribute super.singleton-bool_0_1_7;
@@ -176,7 +176,7 @@ self: super: {
     };
 
   fourmolu = super.fourmolu_0_13_1_0;
-  ormolu = super.ormolu_0_7_1_0;
+  ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu_0_7_2_0);
   stylish-haskell = super.stylish-haskell_0_14_5_0;
 
   # Newer version of servant required for GHC 9.6
@@ -272,4 +272,12 @@ self: super: {
 
   # The curl executable is required for withApplication tests.
   warp_3_3_28 = addTestToolDepend pkgs.curl super.warp_3_3_28;
+
+  # The NCG backend for aarch64 generates invalid jumps in some situations,
+  # the workaround on 9.6 is to revert to the LLVM backend (which is used
+  # for these sorts of situations even on 9.2 and 9.4).
+  # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318
+  tls = appendConfigureFlags
+    (lib.optionals pkgs.stdenv.hostPlatform.isAarch64 [ "--ghc-option=-fllvm" ])
+    super.tls;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
index d8e1e9d7320b4..4588933abc13a 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix
@@ -78,10 +78,4 @@ self: super: {
 
   # Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
   stack = doJailbreak super.stack;
-
-  # https://github.com/fpco/inline-c/pull/131
-  # and/or https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7739
-  inline-c-cpp =
-    (if isDarwin then appendConfigureFlags ["--ghc-option=-fcompact-unwind"] else x: x)
-    super.inline-c-cpp;
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index acf19176b95e8..d610dd360fd0c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -139,11 +139,11 @@ broken-packages:
   - altfloat # failure in job https://hydra.nixos.org/build/233197874 at 2023-09-02
   - alure # failure in job https://hydra.nixos.org/build/233230238 at 2023-09-02
   - amazon-emailer # failure in job https://hydra.nixos.org/build/233220018 at 2023-09-02
-  - amazonka # failure in job https://hydra.nixos.org/build/233220743 at 2023-09-02
   - amazonka-iam-policy # failure in job https://hydra.nixos.org/build/233233098 at 2023-09-02
   - amazon-products # failure in job https://hydra.nixos.org/build/233193877 at 2023-09-02
   - AMI # failure in job https://hydra.nixos.org/build/233232505 at 2023-09-02
   - amqp-conduit # failure in job https://hydra.nixos.org/build/233228080 at 2023-09-02
+  - amqp-worker # failure in job https://hydra.nixos.org/build/236675859 at 2023-10-04
   - analyze # failure in job https://hydra.nixos.org/build/233251441 at 2023-09-02
   - anansi-pandoc # failure in job https://hydra.nixos.org/build/233252389 at 2023-09-02
   - android-activity # failure in job https://hydra.nixos.org/build/233203400 at 2023-09-02
@@ -333,11 +333,13 @@ broken-packages:
   - basement-cd # failure in job https://hydra.nixos.org/build/233191991 at 2023-09-02
   - basen # failure in job https://hydra.nixos.org/build/233210680 at 2023-09-02
   - basex-client # failure in job https://hydra.nixos.org/build/233214592 at 2023-09-02
+  - basics # failure in job https://hydra.nixos.org/build/236678238 at 2023-10-04
   - basic-sop # failure in job https://hydra.nixos.org/build/233253357 at 2023-09-02
   - baskell # failure in job https://hydra.nixos.org/build/233246705 at 2023-09-02
   - battlenet # failure in job https://hydra.nixos.org/build/233260076 at 2023-09-02
   - battleplace # failure in job https://hydra.nixos.org/build/233230199 at 2023-09-02
   - bazel-coverage-report-renderer # failure in job https://hydra.nixos.org/build/233243746 at 2023-09-02
+  - bbcode # failure in job https://hydra.nixos.org/build/236693854 at 2023-10-04
   - BCMtools # failure in job https://hydra.nixos.org/build/233250221 at 2023-09-02
   - bdd # failure in job https://hydra.nixos.org/build/233248150 at 2023-09-02
   - bdelta # failure in job https://hydra.nixos.org/build/233214765 at 2023-09-02
@@ -413,7 +415,6 @@ broken-packages:
   - bindings-wlc # failure in job https://hydra.nixos.org/build/233332720 at 2023-09-02
   - bind-marshal # failure in job https://hydra.nixos.org/build/233196758 at 2023-09-02
   - binembed # failure in job https://hydra.nixos.org/build/233219100 at 2023-09-02
-  - binrep # failure in job https://hydra.nixos.org/build/233208877 at 2023-09-02
   - binsm # failure in job https://hydra.nixos.org/build/233232355 at 2023-09-02
   - biocore # failure in job https://hydra.nixos.org/build/233229466 at 2023-09-02
   - bio # failure in job https://hydra.nixos.org/build/233225273 at 2023-09-02
@@ -530,6 +531,7 @@ broken-packages:
   - bv-sized-lens # failure in job https://hydra.nixos.org/build/233237486 at 2023-09-02
   - byline # failure in job https://hydra.nixos.org/build/233231017 at 2023-09-02
   - bytearray-parsing # failure in job https://hydra.nixos.org/build/233244355 at 2023-09-02
+  - bytepatch # failure in job https://hydra.nixos.org/build/236678340 at 2023-10-04
   - bytestring-arbitrary # failure in job https://hydra.nixos.org/build/233195013 at 2023-09-02
   - bytestring-class # failure in job https://hydra.nixos.org/build/233230793 at 2023-09-02
   - bytestring-conversion # failure in job https://hydra.nixos.org/build/233211464 at 2023-09-02
@@ -1295,6 +1297,7 @@ broken-packages:
   - dump-core # failure in job https://hydra.nixos.org/build/233244428 at 2023-09-02
   - dunai-core # failure in job https://hydra.nixos.org/build/233255804 at 2023-09-02
   - Dung # failure in job https://hydra.nixos.org/build/233206343 at 2023-09-02
+  - dupIO # failure in job https://hydra.nixos.org/build/236688265 at 2023-10-04
   - duplo # failure in job https://hydra.nixos.org/build/233237341 at 2023-09-02
   - dura # failure in job https://hydra.nixos.org/build/233210320 at 2023-09-02
   - duration # failure in job https://hydra.nixos.org/build/233207705 at 2023-09-02
@@ -1434,6 +1437,7 @@ broken-packages:
   - etc # failure in job https://hydra.nixos.org/build/233199192 at 2023-09-02
   - ethereum-rlp # failure in job https://hydra.nixos.org/build/233236392 at 2023-09-02
   - eurofxref # failure in job https://hydra.nixos.org/build/233230942 at 2023-09-02
+  - evdev # failure in job https://hydra.nixos.org/build/236692293 at 2023-10-04
   - eve-cli # failure in job https://hydra.nixos.org/build/233254555 at 2023-09-02
   - eved # failure in job https://hydra.nixos.org/build/233194319 at 2023-09-02
   - event-driven # failure in job https://hydra.nixos.org/build/233233946 at 2023-09-02
@@ -1704,6 +1708,7 @@ broken-packages:
   - fused-effects-resumable # failure in job https://hydra.nixos.org/build/233242479 at 2023-09-02
   - fused-effects-th # failure in job https://hydra.nixos.org/build/233192186 at 2023-09-02
   - fusion # failure in job https://hydra.nixos.org/build/233204359 at 2023-09-02
+  - futhark # failure in job https://hydra.nixos.org/build/236673091 at 2023-10-04
   - futhask # failure in job https://hydra.nixos.org/build/233229281 at 2023-09-02
   - futun # failure in job https://hydra.nixos.org/build/233245115 at 2023-09-02
   - future # failure in job https://hydra.nixos.org/build/233224844 at 2023-09-02
@@ -2381,6 +2386,7 @@ broken-packages:
   - hlibBladeRF # failure in job https://hydra.nixos.org/build/233237204 at 2023-09-02
   - hlibev # failure in job https://hydra.nixos.org/build/233256218 at 2023-09-02
   - hlibfam # failure in job https://hydra.nixos.org/build/233244702 at 2023-09-02
+  - hlint-plugin # failure in job https://hydra.nixos.org/build/236693381 at 2023-10-04
   - HList # failure in job https://hydra.nixos.org/build/233193236 at 2023-09-02
   - hlivy # failure in job https://hydra.nixos.org/build/233222495 at 2023-09-02
   - hlogger # failure in job https://hydra.nixos.org/build/233197314 at 2023-09-02
@@ -2473,6 +2479,7 @@ broken-packages:
   - hpasteit # failure in job https://hydra.nixos.org/build/233197680 at 2023-09-02
   - HPath # failure in job https://hydra.nixos.org/build/233257819 at 2023-09-02
   - hpc-coveralls # failure in job https://hydra.nixos.org/build/233255685 at 2023-09-02
+  - hpdft # failure in job https://hydra.nixos.org/build/236675535 at 2023-10-04
   - hpg # failure in job https://hydra.nixos.org/build/233243212 at 2023-09-02
   - HPi # failure in job https://hydra.nixos.org/build/233257411 at 2023-09-02
   - hpio # failure in job https://hydra.nixos.org/build/233215789 at 2023-09-02
@@ -2486,6 +2493,7 @@ broken-packages:
   - hpyrg # failure in job https://hydra.nixos.org/build/233225042 at 2023-09-02
   - hquantlib-time # failure in job https://hydra.nixos.org/build/233192009 at 2023-09-02
   - hquery # failure in job https://hydra.nixos.org/build/233203709 at 2023-09-02
+  - h-raylib # failure in job https://hydra.nixos.org/build/236686375 at 2023-10-04
   - hreq-core # failure in job https://hydra.nixos.org/build/233259937 at 2023-09-02
   - hRESP # failure in job https://hydra.nixos.org/build/233229961 at 2023-09-02
   - h-reversi # failure in job https://hydra.nixos.org/build/233235617 at 2023-09-02
@@ -2592,6 +2600,7 @@ broken-packages:
   - hsrelp # failure in job https://hydra.nixos.org/build/233255841 at 2023-09-02
   - hs-rqlite # failure in job https://hydra.nixos.org/build/233191478 at 2023-09-02
   - hs-rs-notify # failure in job https://hydra.nixos.org/build/233253577 at 2023-09-02
+  - hs-samtools # failure in job https://hydra.nixos.org/build/236688025 at 2023-10-04
   - hs-scrape # failure in job https://hydra.nixos.org/build/233244221 at 2023-09-02
   - hsseccomp # failure in job https://hydra.nixos.org/build/233194411 at 2023-09-02
   - hsshellscript # failure in job https://hydra.nixos.org/build/233197858 at 2023-09-02
@@ -2937,6 +2946,7 @@ broken-packages:
   - json-rpc-server # failure in job https://hydra.nixos.org/build/233201284 at 2023-09-02
   - jsonrpc-tinyclient # failure in job https://hydra.nixos.org/build/233214174 at 2023-09-02
   - jsonschema-gen # failure in job https://hydra.nixos.org/build/233225063 at 2023-09-02
+  - json-spec # failure in job https://hydra.nixos.org/build/236684808 at 2023-10-04
   - jsonsql # failure in job https://hydra.nixos.org/build/233255704 at 2023-09-02
   - json-syntax # failure in job https://hydra.nixos.org/build/233250639 at 2023-09-02
   - json-tools # failure in job https://hydra.nixos.org/build/233247019 at 2023-09-02
@@ -3040,6 +3050,7 @@ broken-packages:
   - Lambdajudge # failure in job https://hydra.nixos.org/build/233227016 at 2023-09-02
   - LambdaNet # failure in job https://hydra.nixos.org/build/233197999 at 2023-09-02
   - lambda-sampler # failure in job https://hydra.nixos.org/build/233205734 at 2023-09-02
+  - lambdasound # failure in updateAutotoolsGnuConfigScriptsPhase in job https://hydra.nixos.org/build/237027557 at 2023-10-04
   - lambdatex # failure in job https://hydra.nixos.org/build/233215389 at 2023-09-02
   - lambda-toolbox # failure in job https://hydra.nixos.org/build/233194921 at 2023-09-02
   - lambdatwit # failure in job https://hydra.nixos.org/build/233219603 at 2023-09-02
@@ -3171,6 +3182,7 @@ broken-packages:
   - linda # failure in job https://hydra.nixos.org/build/233249512 at 2023-09-02
   - linden # failure in job https://hydra.nixos.org/build/233198590 at 2023-09-02
   - linear-algebra-cblas # failure in job https://hydra.nixos.org/build/233239710 at 2023-09-02
+  - linearmap-category # failure in job https://hydra.nixos.org/build/236690982 at 2023-10-04
   - linear-maps # failure in job https://hydra.nixos.org/build/233258332 at 2023-09-02
   - linear-opengl # failure in job https://hydra.nixos.org/build/233237268 at 2023-09-02
   - linearscan # failure in job https://hydra.nixos.org/build/233257541 at 2023-09-02
@@ -3767,7 +3779,6 @@ broken-packages:
   - numtype # failure in job https://hydra.nixos.org/build/233219211 at 2023-09-02
   - numtype-tf # failure in job https://hydra.nixos.org/build/233243483 at 2023-09-02
   - Nutri # failure in job https://hydra.nixos.org/build/233244244 at 2023-09-02
-  - nvfetcher # failure in job https://hydra.nixos.org/build/233598212 at 2023-09-02
   - NXTDSL # failure in job https://hydra.nixos.org/build/233193483 at 2023-09-02
   - nylas # failure in job https://hydra.nixos.org/build/233193540 at 2023-09-02
   - oanda-rest-api # failure in job https://hydra.nixos.org/build/233250190 at 2023-09-02
@@ -4183,6 +4194,7 @@ broken-packages:
   - polysemy-req # failure in job https://hydra.nixos.org/build/233224435 at 2023-09-02
   - polysemy-several # failure in job https://hydra.nixos.org/build/233216921 at 2023-09-02
   - polysemy-socket # failure in job https://hydra.nixos.org/build/233195754 at 2023-09-02
+  - polysemy-test # failure in job https://hydra.nixos.org/build/236686974 at 2023-10-04
   - polyseq # failure in job https://hydra.nixos.org/build/233191210 at 2023-09-02
   - polytypeable # failure in job https://hydra.nixos.org/build/233211797 at 2023-09-02
   - polyvariadic # failure in job https://hydra.nixos.org/build/233250822 at 2023-09-02
@@ -4830,6 +4842,7 @@ broken-packages:
   - servant-pandoc # failure in job https://hydra.nixos.org/build/233203008 at 2023-09-02
   - servant-polysemy # failure in job https://hydra.nixos.org/build/233218670 at 2023-09-02
   - servant-pool # failure in job https://hydra.nixos.org/build/233208935 at 2023-09-02
+  - servant-prometheus # failure in job https://hydra.nixos.org/build/236685165 at 2023-10-04
   - servant-purescript # failure in job https://hydra.nixos.org/build/233598080 at 2023-09-02
   - servant-py # failure in job https://hydra.nixos.org/build/233598104 at 2023-09-02
   - servant-quickcheck # failure in job https://hydra.nixos.org/build/233236741 at 2023-09-02
@@ -5116,6 +5129,7 @@ broken-packages:
   - stan # failure in job https://hydra.nixos.org/build/233200000 at 2023-09-02
   - starling # failure in job https://hydra.nixos.org/build/233255468 at 2023-09-02
   - starter # failure in job https://hydra.nixos.org/build/233208799 at 2023-09-02
+  - starter-snake-haskell # failure in job https://hydra.nixos.org/build/236685019 at 2023-10-04
   - stash # failure in job https://hydra.nixos.org/build/233193110 at 2023-09-02
   - Stasis # failure in job https://hydra.nixos.org/build/233209365 at 2023-09-02
   - state-bag # failure in job https://hydra.nixos.org/build/233222753 at 2023-09-02
@@ -5278,6 +5292,7 @@ broken-packages:
   - Sysmon # failure in job https://hydra.nixos.org/build/233224152 at 2023-09-02
   - system-canonicalpath # failure in job https://hydra.nixos.org/build/233254297 at 2023-09-02
   - system-command # failure in job https://hydra.nixos.org/build/233239356 at 2023-09-02
+  - systemd-ntfy # failure in job https://hydra.nixos.org/build/236686880 at 2023-10-04
   - system-extra # failure in job https://hydra.nixos.org/build/233203137 at 2023-09-02
   - system-inotify # failure in job https://hydra.nixos.org/build/233206871 at 2023-09-02
   - system-lifted # failure in job https://hydra.nixos.org/build/233236013 at 2023-09-02
@@ -5319,6 +5334,7 @@ broken-packages:
   - tasty-autocollect # failure in job https://hydra.nixos.org/build/233256957 at 2023-09-02
   - tasty-auto # failure in job https://hydra.nixos.org/build/233220008 at 2023-09-02
   - tasty-fail-fast # failure in job https://hydra.nixos.org/build/233200040 at 2023-09-02
+  - tasty-grading-system # failure in job https://hydra.nixos.org/build/236673021 at 2023-10-04
   - tasty-hedgehog-coverage # failure in job https://hydra.nixos.org/build/233231332 at 2023-09-02
   - tasty-mgolden # failure in job https://hydra.nixos.org/build/233248196 at 2023-09-02
   - tasty-stats # failure in job https://hydra.nixos.org/build/233228752 at 2023-09-02
@@ -5607,6 +5623,7 @@ broken-packages:
   - TypeCompose # failure in job https://hydra.nixos.org/build/233212999 at 2023-09-02
   - typed-digits # failure in job https://hydra.nixos.org/build/233198266 at 2023-09-02
   - typed-encoding # failure in job https://hydra.nixos.org/build/233208093 at 2023-09-02
+  - typed-process-effectful # failure in job https://hydra.nixos.org/build/236684332 at 2023-10-04
   - typedquery # failure in job https://hydra.nixos.org/build/233215307 at 2023-09-02
   - typed-spreadsheet # failure in job https://hydra.nixos.org/build/233248967 at 2023-09-02
   - typed-time # failure in job https://hydra.nixos.org/build/233246930 at 2023-09-02
@@ -5617,6 +5634,7 @@ broken-packages:
   - type-indexed-queues # failure in job https://hydra.nixos.org/build/233197833 at 2023-09-02
   - type-interpreter # failure in job https://hydra.nixos.org/build/233192182 at 2023-09-02
   - type-int # failure in job https://hydra.nixos.org/build/233245978 at 2023-09-02
+  - typelet # failure in job https://hydra.nixos.org/build/236691051 at 2023-10-04
   - type-level-bst # failure in job https://hydra.nixos.org/build/233202030 at 2023-09-02
   - type-level-natural-number-induction # failure in job https://hydra.nixos.org/build/233259499 at 2023-09-02
   - type-level-natural-number-operations # failure in job https://hydra.nixos.org/build/233198314 at 2023-09-02
@@ -5629,7 +5647,6 @@ broken-packages:
   - type-operators # failure in job https://hydra.nixos.org/build/233232802 at 2023-09-02
   - typeparams # failure in job https://hydra.nixos.org/build/233192078 at 2023-09-02
   - type-prelude # failure in job https://hydra.nixos.org/build/233221195 at 2023-09-02
-  - typerep-map # failure in job https://hydra.nixos.org/build/233202720 at 2023-09-02
   - type-safe-avl # failure in job https://hydra.nixos.org/build/233203946 at 2023-09-02
   - types-compat # failure in job https://hydra.nixos.org/build/233249850 at 2023-09-02
   - type-settheory # failure in job https://hydra.nixos.org/build/233209513 at 2023-09-02
@@ -5652,6 +5669,7 @@ broken-packages:
   - uhttpc # failure in job https://hydra.nixos.org/build/233232481 at 2023-09-02
   - ui-command # failure in job https://hydra.nixos.org/build/233223762 at 2023-09-02
   - ukrainian-phonetics-basic-array-bytestring # failure in job https://hydra.nixos.org/build/233228787 at 2023-09-02
+  - unac-bindings # failure in job https://hydra.nixos.org/build/236686523 at 2023-10-04
   - unamb-custom # failure in job https://hydra.nixos.org/build/233197458 at 2023-09-02
   - unbeliever # failure in job https://hydra.nixos.org/build/233221256 at 2023-09-02
   - unbounded-delays-units # failure in job https://hydra.nixos.org/build/233200989 at 2023-09-02
@@ -5858,6 +5876,7 @@ broken-packages:
   - wai-static-cache # failure in job https://hydra.nixos.org/build/233228597 at 2023-09-02
   - waitfree # failure in job https://hydra.nixos.org/build/233222583 at 2023-09-02
   - wai-throttler # failure in job https://hydra.nixos.org/build/233231002 at 2023-09-02
+  - wai-token-bucket-ratelimiter # failure in job https://hydra.nixos.org/build/236682758 at 2023-10-04
   - waitra # failure in job https://hydra.nixos.org/build/233222291 at 2023-09-02
   - wakame # failure in job https://hydra.nixos.org/build/233254673 at 2023-09-02
   - wallpaper # failure in job https://hydra.nixos.org/build/233219027 at 2023-09-02
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 030ed98a64065..8f6af23747f39 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -45,11 +45,15 @@ default-package-overrides:
   # breaking change was introduced in implicit-hie-0.1.3.0.
   # https://github.com/haskell/haskell-language-server/blob/feb596592de95f09cf4ee885f3e74178161919f1/ghcide/ghcide.cabal#L107-L111
   - implicit-hie < 0.1.3
+  - hie-bios < 0.13
 
   # 2023-07-06: newer versions of stylish-haskell require
   # ghc-lib-parser-ex >= 9.6, but LTS-21 contains ghc-lib-parser-ex-9.4
   - stylish-haskell < 0.14.5.0
 
+  # 2023-09-17: reflex-dom 0.6.3.0 is broken https://github.com/reflex-frp/reflex-dom/issues/462
+  - reflex-dom < 0.6.2.0
+
   # Only an older version of dependent-sum-template is compatible with ghc 9.4
   # https://github.com/obsidiansystems/dependent-sum-template/issues/5
   - dependent-sum-template < 0.1.2
@@ -121,6 +125,7 @@ extra-packages:
   - ormolu == 0.5.2.0                   # 2023-08-08: for hls on ghc 9.0 and 9.2
   - fourmolu == 0.9.0.0                 # 2022-09-21: for hls on ghc 8.10
   - fourmolu == 0.10.1.0                # 2023-04-18: for hls on ghc 9.0 and 9.2
+  - fourmolu == 0.13.*                  # 2023-09-16: latest version compatible with hls 2.2.* on ghc 9.6
   - mod == 0.1.2.2                      # needed for hls on ghc 8.10
   - pantry == 0.5.2.1                   # needed for stack-2.7.3
   - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
@@ -128,6 +133,7 @@ extra-packages:
   - sbv == 7.13                         # required for pkgs.petrinizer
   - stylish-haskell == 0.14.3.0         # 2022-09-19: needed for hls on ghc 8.8
   - tasty-hspec == 1.1.6                # 2022-04-07: Needed for elm-format
+  - text == 2.0.2                       # 2023-09-14: Needed for elm (which is currently on ghc-8.10)
   - th-abstraction < 0.6                # 2023-09-11: needed for aeson-2.2.0.0
   - vty == 5.35.1                       # 2022-07-08: needed for glirc-2.39.0.1
   - weeder == 2.2.*                     # 2022-02-21: preserve for GHC 8.10.7
@@ -656,7 +662,7 @@ unsupported-platforms:
   Raincat:                                      [ platforms.darwin ]
   reactive-balsa:                               [ platforms.darwin ] # depends on alsa-core
   reflex-dom-fragment-shader-canvas:            [ platforms.darwin, aarch64-linux ]
-  reflex-dom:                                   [ platforms.darwin, aarch64-linux ]
+  reflex-dom:                                   [ platforms.darwin ]
   reflex-localize-dom:                          [ platforms.darwin, aarch64-linux ]
   rtlsdr:                                       [ platforms.darwin ]
   rubberband:                                   [ platforms.darwin ]
@@ -682,7 +688,7 @@ unsupported-platforms:
   webkit2gtk3-javascriptcore:                   [ platforms.darwin ]
   wiringPi:                                     [ aarch64-darwin ]
   xattr:                                        [ platforms.darwin ]
-  xgboost-haskell:                              [ aarch64-linux, armv7l-linux ]
+  xgboost-haskell:                              [ aarch64-linux, armv7l-linux, platforms.darwin ]
   xmobar:                                       [ platforms.darwin ]
   xmonad-extras:                                [ platforms.darwin ]
   xmonad-volume:                                [ platforms.darwin ]
@@ -707,6 +713,7 @@ supported-platforms:
   evdev:                                        [ platforms.linux ]
   evdev-streamly:                               [ platforms.linux ]
   geomancy:                                     [ platforms.x86 ] # x86 intrinsics
+  geomancy-layout:                              [ platforms.x86 ] # x86 intrinsics
   gi-gtkosxapplication:                         [ platforms.darwin ]
   gtk-mac-integration:                          [ platforms.darwin ]
   gtk3-mac-integration:                         [ platforms.darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index aad7f3182909f..9f46ba60bdfec 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 21.7
+# Stackage LTS 21.11
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -16,12 +16,12 @@ default-package-overrides:
   - adjunctions ==4.4.2
   - adler32 ==0.1.2.0
   - advent-of-code-api ==0.2.8.4
-  - aern2-mp ==0.2.15.0
+  - aern2-mp ==0.2.15.1
   - aern2-real ==0.2.15
   - aeson ==2.1.2.1
   - aeson-attoparsec ==0.0.0
   - aeson-casing ==0.2.0.0
-  - aeson-combinators ==0.1.0.1
+  - aeson-combinators ==0.1.1.0
   - aeson-diff ==1.1.0.13
   - aeson-extra ==0.5.1.2
   - aeson-generic-compat ==0.0.1.3
@@ -54,7 +54,7 @@ default-package-overrides:
   - ALUT ==2.4.0.3
   - amqp ==0.22.1
   - amqp-utils ==0.6.3.2
-  - annotated-exception ==0.2.0.4
+  - annotated-exception ==0.2.0.5
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.5
   - ansi-terminal-game ==1.9.1.3
@@ -92,7 +92,7 @@ default-package-overrides:
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.4
-  - assert-failure ==0.1.2.6
+  - assert-failure ==0.1.3.0
   - assoc ==1.1
   - astro ==0.4.3.0
   - async ==2.2.4
@@ -195,7 +195,7 @@ default-package-overrides:
   - bits ==0.6
   - bitset-word8 ==0.1.1.2
   - bits-extra ==0.0.2.3
-  - bitvec ==1.1.4.0
+  - bitvec ==1.1.5.0
   - bitwise-enum ==1.0.1.2
   - blake2 ==0.3.0
   - Blammo ==1.1.2.1
@@ -206,7 +206,7 @@ default-package-overrides:
   - blas-ffi ==0.1
   - blas-hs ==0.1.1.0
   - blaze-bootstrap ==0.1.0.1
-  - blaze-builder ==0.4.2.2
+  - blaze-builder ==0.4.2.3
   - blaze-colonnade ==1.2.2.1
   - blaze-html ==0.9.1.2
   - blaze-markup ==0.8.2.8
@@ -233,7 +233,7 @@ default-package-overrides:
   - boundingboxes ==0.2.3
   - box ==0.9.2.0
   - boxes ==0.1.5
-  - breakpoint ==0.1.2.1
+  - breakpoint ==0.1.2.2
   - brick ==1.9
   - broadcast-chan ==0.2.1.2
   - brotli ==0.0.0.1
@@ -294,7 +294,7 @@ default-package-overrides:
   - ca-province-codes ==1.0.0.0
   - cardano-coin-selection ==1.0.1
   - carray ==0.1.6.8
-  - casa-client ==0.0.1
+  - casa-client ==0.0.2
   - casa-types ==0.0.2
   - cased ==0.1.0.0
   - case-insensitive ==1.2.1.0
@@ -326,9 +326,9 @@ default-package-overrides:
   - checkers ==0.6.0
   - checksum ==0.0.0.1
   - chimera ==0.3.3.0
-  - choice ==0.2.2
+  - choice ==0.2.3
   - chronologique ==0.3.1.3
-  - chronos ==1.1.5
+  - chronos ==1.1.5.1
   - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -347,7 +347,7 @@ default-package-overrides:
   - closed ==0.2.0.2
   - clumpiness ==0.17.0.2
   - ClustalParser ==1.3.0
-  - cmark-gfm ==0.2.5
+  - cmark-gfm ==0.2.6
   - cmdargs ==0.10.22
   - codec-beam ==0.2.0
   - code-conjure ==0.5.2
@@ -391,7 +391,7 @@ default-package-overrides:
   - concise ==0.1.0.1
   - concurrency ==1.11.0.3
   - concurrent-extra ==0.7.0.12
-  - concurrent-output ==1.10.18
+  - concurrent-output ==1.10.19
   - concurrent-split ==0.0.1.1
   - cond ==0.4.1.1
   - conduino ==0.2.2.0
@@ -484,7 +484,7 @@ default-package-overrides:
   - curl ==1.3.8
   - curl-runnings ==0.17.0
   - currency ==0.2.0.0
-  - currycarbon ==0.2.1.1
+  - currycarbon ==0.2.1.2
   - cursor ==0.3.2.0
   - cursor-brick ==0.1.0.1
   - cursor-fuzzy-time ==0.0.0.0
@@ -560,7 +560,7 @@ default-package-overrides:
   - deriving-compat ==0.6.5
   - deriving-trans ==0.5.2.0
   - detour-via-sci ==1.0.0
-  - df1 ==0.4.1
+  - df1 ==0.4.2
   - dhall ==1.41.2
   - dhall-bash ==1.0.40
   - dhall-json ==1.7.11
@@ -586,7 +586,7 @@ default-package-overrides:
   - digits ==0.3.1
   - di-handle ==1.0.1
   - dimensional ==1.5
-  - di-monad ==1.3.1
+  - di-monad ==1.3.2
   - directory-tree ==0.12.1
   - direct-sqlite ==2.3.28
   - dirichlet ==0.1.0.7
@@ -599,7 +599,7 @@ default-package-overrides:
   - distributive ==0.6.2.1
   - diversity ==0.8.1.0
   - djinn-lib ==0.0.1.4
-  - dl-fedora ==0.9.5.1
+  - dl-fedora ==0.9.6
   - dlist ==1.0
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.3
@@ -637,7 +637,7 @@ default-package-overrides:
   - dual ==0.1.1.1
   - dual-tree ==0.2.3.1
   - dublincore-xml-conduit ==0.1.0.3
-  - dunai ==0.11.1
+  - dunai ==0.11.2
   - duration ==0.2.0.0
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3.1
@@ -700,7 +700,7 @@ default-package-overrides:
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - ersatz ==0.4.13
-  - esqueleto ==3.5.10.1
+  - esqueleto ==3.5.10.3
   - event-list ==0.1.2
   - eventstore ==1.4.2
   - every ==0.0.1
@@ -709,7 +709,7 @@ default-package-overrides:
   - exact-pi ==0.5.0.2
   - exception-hierarchy ==0.1.0.8
   - exception-mtl ==0.4.0.2
-  - exception-transformers ==0.4.0.11
+  - exception-transformers ==0.4.0.12
   - executable-hash ==0.2.0.4
   - executable-path ==0.0.3.1
   - exinst ==0.9
@@ -894,8 +894,8 @@ default-package-overrides:
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
   - ghcjs-perch ==0.3.3.3
-  - ghc-lib ==9.4.6.20230808
-  - ghc-lib-parser ==9.4.6.20230808
+  - ghc-lib ==9.4.7.20230826
+  - ghc-lib-parser ==9.4.7.20230826
   - ghc-lib-parser-ex ==9.4.0.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.12
@@ -984,7 +984,7 @@ default-package-overrides:
   - hackage-security ==0.6.2.3
   - haddock-library ==1.11.0
   - haha ==0.3.1.1
-  - hakyll ==4.16.0.0
+  - hakyll ==4.16.1.0
   - hal ==1.0.0.1
   - half ==0.3.1
   - hall-symbols ==0.1.0.6
@@ -1026,7 +1026,7 @@ default-package-overrides:
   - hasql-interpolate ==0.1.0.4
   - hasql-listen-notify ==0.1.0
   - hasql-migration ==0.3.0
-  - hasql-notifications ==0.2.0.5
+  - hasql-notifications ==0.2.0.6
   - hasql-optparse-applicative ==0.7
   - hasql-pool ==0.9.0.1
   - hasql-queue ==1.2.0.2
@@ -1080,7 +1080,7 @@ default-package-overrides:
   - hkd-default ==1.1.0.0
   - hkgr ==0.4.3.1
   - hledger ==1.30.1
-  - hledger-interest ==1.6.5
+  - hledger-interest ==1.6.6
   - hledger-lib ==1.30
   - hledger-stockquotes ==0.1.2.1
   - hledger-ui ==1.30
@@ -1114,7 +1114,7 @@ default-package-overrides:
   - HPDF ==1.6.1
   - hpp ==0.6.5
   - hpqtypes ==1.11.1.1
-  - hpqtypes-extras ==1.16.4.3
+  - hpqtypes-extras ==1.16.4.4
   - hreader ==1.1.0
   - hreader-lens ==0.1.3.0
   - hruby ==0.5.0.0
@@ -1196,7 +1196,7 @@ default-package-overrides:
   - HTTP ==4000.4.1
   - http-api-data ==0.5
   - http-api-data-qq ==0.1.0.0
-  - http-client ==0.7.13.1
+  - http-client ==0.7.14
   - http-client-openssl ==0.3.3
   - http-client-overrides ==0.1.1.0
   - http-client-restricted ==0.0.5
@@ -1209,7 +1209,7 @@ default-package-overrides:
   - httpd-shed ==0.4.1.1
   - http-io-streams ==0.1.6.2
   - http-link-header ==1.2.1
-  - http-media ==0.8.0.0
+  - http-media ==0.8.1.0
   - http-query ==0.1.3
   - http-reverse-proxy ==0.6.0.1
   - http-streams ==0.8.9.8
@@ -1318,7 +1318,7 @@ default-package-overrides:
   - io-storage ==0.3
   - io-streams ==1.5.2.2
   - io-streams-haproxy ==1.0.1.0
-  - ip ==1.7.6
+  - ip ==1.7.7
   - ip6addr ==1.0.3
   - iproute ==1.7.12
   - IPv6Addr ==2.0.5.1
@@ -1420,7 +1420,7 @@ default-package-overrides:
   - leapseconds-announced ==2017.1.0.1
   - learn-physics ==0.6.5
   - leb128-cereal ==1.2
-  - lens ==5.2.2
+  - lens ==5.2.3
   - lens-action ==0.2.6
   - lens-aeson ==1.2.3
   - lens-csv ==0.1.1.0
@@ -1546,12 +1546,12 @@ default-package-overrides:
   - mfsolve ==0.3.2.2
   - microaeson ==0.1.0.1
   - microlens ==0.4.13.1
-  - microlens-aeson ==2.5.0
+  - microlens-aeson ==2.5.1
   - microlens-contra ==0.1.0.3
   - microlens-ghc ==0.4.14.1
   - microlens-mtl ==0.2.0.3
   - microlens-platform ==0.4.3.3
-  - microlens-th ==0.4.3.13
+  - microlens-th ==0.4.3.14
   - microspec ==0.2.1.3
   - microstache ==1.0.2.3
   - midair ==0.2.0.1
@@ -1584,7 +1584,7 @@ default-package-overrides:
   - mock-time ==0.1.0
   - mod ==0.2.0.1
   - model ==0.5
-  - modern-uri ==0.3.6.0
+  - modern-uri ==0.3.6.1
   - modular ==0.1.0.8
   - monad-chronicle ==1.0.1
   - monad-control ==1.0.3.1
@@ -1618,7 +1618,7 @@ default-package-overrides:
   - mongoDB ==2.7.1.2
   - monoidal-containers ==0.6.4.0
   - monoid-extras ==0.6.2
-  - monoid-subclasses ==1.2.3
+  - monoid-subclasses ==1.2.4
   - monoid-transformer ==0.0.4
   - mono-traversable ==1.0.15.3
   - mono-traversable-instances ==0.1.1.0
@@ -1645,7 +1645,7 @@ default-package-overrides:
   - multi-containers ==0.2
   - multimap ==1.2.1
   - multipart ==0.2.1
-  - MultipletCombiner ==0.0.4
+  - MultipletCombiner ==0.0.6
   - multiset ==0.3.4.3
   - murmur3 ==1.0.5
   - murmur-hash ==0.1.0.10
@@ -1711,7 +1711,7 @@ default-package-overrides:
   - NoHoed ==0.1.1
   - nonce ==1.0.7
   - nondeterminism ==1.5
-  - non-empty ==0.3.3
+  - non-empty ==0.3.4
   - nonempty-containers ==0.3.4.4
   - nonemptymap ==0.0.6.0
   - non-empty-sequence ==0.2.0.4
@@ -1852,7 +1852,7 @@ default-package-overrides:
   - pem ==0.2.4
   - percent-format ==0.0.4
   - perfect-hash-generator ==1.0.0
-  - persistent ==2.14.5.1
+  - persistent ==2.14.5.2
   - persistent-discover ==0.1.0.6
   - persistent-documentation ==0.1.0.4
   - persistent-iproute ==0.2.5
@@ -1872,7 +1872,7 @@ default-package-overrides:
   - pg-harness-client ==0.6.0
   - pgp-wordlist ==0.1.0.3
   - pg-transact ==0.3.2.0
-  - phantom-state ==0.2.1.2
+  - phantom-state ==0.2.1.3
   - phatsort ==0.6.0.0
   - picosat ==0.1.6
   - pid1 ==0.1.3.1
@@ -1908,7 +1908,7 @@ default-package-overrides:
   - poly-arity ==0.1.0
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.13
-  - polysemy ==1.9.1.0
+  - polysemy ==1.9.1.1
   - polysemy-fs ==0.1.0.0
   - polysemy-plugin ==0.4.5.0
   - polysemy-webserver ==0.2.1.2
@@ -1991,7 +1991,7 @@ default-package-overrides:
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
   - purescript-bridge ==0.15.0.0
-  - pusher-http-haskell ==2.1.0.15
+  - pusher-http-haskell ==2.1.0.16
   - pvar ==1.0.0.0
   - pwstore-fast ==2.4.4
   - PyF ==0.11.1.1
@@ -2052,7 +2052,6 @@ default-package-overrides:
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
   - rcu ==0.2.7
-  - rdf ==0.1.0.7
   - rdtsc ==1.3.0.1
   - re2 ==0.3
   - reactive-balsa ==0.4.0.1
@@ -2064,14 +2063,14 @@ default-package-overrides:
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
   - rebase ==1.19
-  - rec-def ==0.2.1
+  - rec-def ==0.2.2
   - record-dot-preprocessor ==0.2.16
   - record-hasfield ==1.0
   - recursion-schemes ==5.2.2.4
   - recv ==0.1.0
   - redact ==0.5.0.0
   - reddit-scrape ==0.0.1
-  - redis-glob ==0.1.0.5
+  - redis-glob ==0.1.0.6
   - reducers ==3.12.4
   - refact ==0.3.0.2
   - ref-fd ==0.5.0.1
@@ -2123,7 +2122,7 @@ default-package-overrides:
   - riak-protobuf ==0.25.0.0
   - rio ==0.1.22.0
   - rio-orphans ==0.1.2.0
-  - rio-prettyprint ==0.1.4.0
+  - rio-prettyprint ==0.1.5.0
   - rng-utils ==0.3.1
   - rocksdb-haskell ==1.0.1
   - rocksdb-haskell-jprupp ==2.1.4
@@ -2158,7 +2157,7 @@ default-package-overrides:
   - safe-exceptions-checked ==0.1.0
   - safe-foldable ==0.1.0.0
   - safe-gen ==1.0.1
-  - safeio ==0.0.5.0
+  - safeio ==0.0.6.0
   - safe-json ==1.1.4.0
   - safe-money ==0.9.1
   - SafeSemaphore ==0.10.1
@@ -2266,7 +2265,7 @@ default-package-overrides:
   - shared-memory ==0.2.0.1
   - shell-conduit ==5.0.0
   - shell-escape ==0.2.0
-  - shelltestrunner ==1.9
+  - shelltestrunner ==1.9.0.1
   - shell-utility ==0.1
   - shellwords ==0.1.3.1
   - shelly ==1.12.1
@@ -2307,7 +2306,7 @@ default-package-overrides:
   - skylighting ==0.13.4.1
   - skylighting-core ==0.13.4.1
   - skylighting-format-ansi ==0.1
-  - skylighting-format-blaze-html ==0.1.1
+  - skylighting-format-blaze-html ==0.1.1.1
   - skylighting-format-context ==0.1.0.2
   - skylighting-format-latex ==0.1
   - slack-progressbar ==0.1.0.1
@@ -2360,7 +2359,7 @@ default-package-overrides:
   - srtree ==1.0.0.5
   - stache ==2.3.4
   - stack-all ==0.4.1
-  - stack-clean-old ==0.4.6
+  - stack-clean-old ==0.4.8
   - stack-templatizer ==0.1.1.0
   - state-codes ==0.1.3
   - stateref ==0.3
@@ -2400,7 +2399,6 @@ default-package-overrides:
   - streaming-commons ==0.2.2.6
   - streaming-wai ==0.1.1
   - streamly ==0.9.0
-  - streamly-bytestring ==0.2.0
   - streamly-core ==0.1.0
   - streamly-examples ==0.1.3
   - streamly-process ==0.3.0
@@ -2440,7 +2438,7 @@ default-package-overrides:
   - SVGFonts ==1.8.0.1
   - svg-tree ==0.6.2.4
   - swagger2 ==2.8.7
-  - swish ==0.10.4.0
+  - swish ==0.10.5.0
   - syb ==0.7.2.4
   - sydtest ==0.15.1.0
   - sydtest-aeson ==0.1.0.0
@@ -2546,12 +2544,12 @@ default-package-overrides:
   - test-fun ==0.1.0.0
   - testing-feat ==1.1.1.1
   - testing-type-modifiers ==0.1.0.1
-  - texmath ==0.12.8
+  - texmath ==0.12.8.2
   - text-ansi ==0.2.1.1
   - text-binary ==0.2.1.1
   - text-builder ==0.6.7
   - text-builder-dev ==0.3.3.2
-  - text-builder-linear ==0.1.1
+  - text-builder-linear ==0.1.1.1
   - text-conversions ==0.3.1.1
   - text-format ==0.3.2.1
   - text-icu ==0.8.0.2
@@ -2609,7 +2607,7 @@ default-package-overrides:
   - time-lens ==0.4.0.2
   - time-locale-compat ==0.1.1.5
   - time-locale-vietnamese ==1.0.0.0
-  - time-manager ==0.0.0
+  - time-manager ==0.0.1
   - time-parsers ==0.2
   - timerep ==2.1.0.0
   - timers-tick ==0.5.0.4
@@ -2634,7 +2632,7 @@ default-package-overrides:
   - token-bucket ==0.1.0.1
   - toml-reader ==0.2.1.0
   - toml-reader-parse ==0.1.1.1
-  - tophat ==1.0.6.0
+  - tophat ==1.0.6.1
   - topograph ==1.0.0.2
   - torrent ==10000.1.3
   - torsor ==0.1
@@ -2687,7 +2685,7 @@ default-package-overrides:
   - type-rig ==0.1
   - type-spec ==0.4.0.0
   - typography-geometry ==1.0.1.0
-  - typst-symbols ==0.1.2
+  - typst-symbols ==0.1.4
   - tz ==0.1.3.6
   - tzdata ==0.2.20230322.0
   - tztime ==0.1.0.0
@@ -2705,7 +2703,7 @@ default-package-overrides:
   - unexceptionalio-trans ==0.5.1
   - unfork ==1.0.0.1
   - unicode ==0.0.1.1
-  - unicode-collation ==0.1.3.4
+  - unicode-collation ==0.1.3.5
   - unicode-data ==0.4.0.1
   - unicode-show ==0.1.1.1
   - unicode-transforms ==0.4.0.1
@@ -2803,7 +2801,7 @@ default-package-overrides:
   - void ==0.7.3
   - vty ==5.38
   - wai ==3.2.3
-  - wai-app-static ==3.1.7.4
+  - wai-app-static ==3.1.8
   - wai-cli ==0.2.3
   - wai-conduit ==3.0.0.4
   - wai-control ==0.2.0.0
@@ -2875,7 +2873,7 @@ default-package-overrides:
   - word-wrap ==0.5
   - world-peace ==1.0.2.0
   - wrap ==0.0.0
-  - wreq ==0.5.4.1
+  - wreq ==0.5.4.2
   - wreq-stringless ==0.5.9.1
   - writer-cps-exceptions ==0.1.0.1
   - writer-cps-mtl ==0.1.1.6
@@ -2933,7 +2931,7 @@ default-package-overrides:
   - yesod-core ==1.6.24.4
   - yesod-eventsource ==1.6.0.1
   - yesod-fb ==0.6.1
-  - yesod-form ==1.7.4
+  - yesod-form ==1.7.6
   - yesod-form-bootstrap4 ==3.0.1.1
   - yesod-gitrepo ==0.3.0
   - yesod-gitrev ==0.2.2
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 92800986c9713..2d33f3f2c1e36 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -482,9 +482,6 @@ dont-distribute-packages:
  - alsa-seq-tests
  - alto
  - amazon-emailer-client-snap
- - amazonka-contrib-rds-utils
- - amazonka-s3-encryption
- - amazonka-s3-streaming
  - amby
  - ampersand
  - amqp-streamly
@@ -500,17 +497,11 @@ dont-distribute-packages:
  - anonymous-sums-tests
  - antagonist
  - anticiv
- - antiope-athena
  - antiope-contract
  - antiope-core
  - antiope-dynamodb
- - antiope-es
- - antiope-messages
- - antiope-optparse-applicative
  - antiope-s3
  - antiope-shell
- - antiope-sns
- - antiope-sqs
  - antlrc
  - apecs-gloss
  - apecs-physics-gloss
@@ -587,7 +578,6 @@ dont-distribute-packages:
  - aws-configuration-tools
  - aws-dynamodb-conduit
  - aws-dynamodb-streams
- - aws-easy
  - aws-elastic-transcoder
  - aws-kinesis
  - aws-kinesis-client
@@ -596,9 +586,7 @@ dont-distribute-packages:
  - aws-mfa-credentials
  - aws-sdk
  - aws-sdk-xml-unordered
- - aws-ses-easy
  - aws-sign4
- - aws-simple
  - aws-sns
  - axel
  - axiom
@@ -698,7 +686,6 @@ dont-distribute-packages:
  - blink1
  - blip
  - blogination
- - bloodhound-amazonka-auth
  - bloxorz
  - blubber
  - bluetile
@@ -741,7 +728,6 @@ dont-distribute-packages:
  - bytable
  - bytehash
  - bytelog
- - bytepatch
  - bytestring-builder-varword
  - bytestring-read
  - ca
@@ -773,7 +759,6 @@ dont-distribute-packages:
  - cao
  - cap
  - capnp
- - caps
  - captcha-2captcha
  - captcha-capmonster
  - captcha-core
@@ -899,8 +884,6 @@ dont-distribute-packages:
  - cmv
  - cnc-spec-compiler
  - co-feldspar
- - co-log
- - co-log-polysemy-formatting
  - cobot-io
  - codec
  - codec-libevent
@@ -1003,8 +986,6 @@ dont-distribute-packages:
  - craftwerk-cairo
  - craftwerk-gtk
  - craze
- - credentials
- - credentials-cli
  - crf-chain1
  - crf-chain1-constrained
  - crf-chain2-generic
@@ -1205,11 +1186,9 @@ dont-distribute-packages:
  - dynamic-pipeline
  - dynamic-plot
  - dynamic-pp
- - dynamodb-simple
  - dynobud
  - easytensor
  - easytensor-vulkan
- - ec2-unikernel
  - ecdsa
  - edenskel
  - edentv
@@ -1227,7 +1206,6 @@ dont-distribute-packages:
  - egison-tutorial
  - ekg
  - ekg-carbon
- - ekg-cloudwatch
  - ekg-wai
  - elasticsearch-interchange
  - electrs-client
@@ -1468,6 +1446,7 @@ dont-distribute-packages:
  - gargoyle-postgresql
  - gargoyle-postgresql-connect
  - gargoyle-postgresql-nix
+ - gbs-downloader
  - gbu
  - gdax
  - gdiff-ig
@@ -1783,7 +1762,6 @@ dont-distribute-packages:
  - gridland
  - grisette
  - grisette-monad-coroutine
- - groot
  - gross
  - groundhog-converters
  - groundhog-inspector
@@ -2024,7 +2002,6 @@ dont-distribute-packages:
  - heavy-logger-instances
  - hecc
  - hedgehog-checkers-lens
- - hedgehog-gen
  - hedgehog-gen-json
  - hedis-pile
  - heist-aeson
@@ -2210,6 +2187,8 @@ dont-distribute-packages:
  - http-client-rustls
  - http-client-tls_0_3_6_3
  - http-enumerator
+ - http-exchange
+ - http-exchange-instantiations
  - http-io-streams
  - http-response-decoder
  - http2-client-exe
@@ -2230,7 +2209,6 @@ dont-distribute-packages:
  - hurl-xml
  - huzzy
  - hw-all
- - hw-aws-sqs-conduit
  - hw-json
  - hw-json-demo
  - hw-json-lens
@@ -2283,7 +2261,6 @@ dont-distribute-packages:
  - imj-base
  - imj-game-hamazed
  - imj-measure-stdout
- - imm
  - imparse
  - imperative-edsl
  - imperative-edsl-vhdl
@@ -2291,6 +2268,7 @@ dont-distribute-packages:
  - imprevu-happstack
  - improve
  - inch
+ - incipit
  - incremental-computing
  - incremental-maps
  - increments
@@ -2391,7 +2369,8 @@ dont-distribute-packages:
  - json-query
  - json-rpc-client
  - json-schema
- - json-spec
+ - json-spec-elm
+ - json-spec-elm-servant
  - json-spec-openapi
  - json-togo
  - json-tokens
@@ -2833,7 +2812,7 @@ dont-distribute-packages:
  - nero-wai
  - nero-warp
  - nested-routes
- - net-mqtt_0_8_5_0
+ - net-mqtt_0_8_6_0
  - net-spider
  - net-spider-cli
  - net-spider-pangraph
@@ -2865,6 +2844,7 @@ dont-distribute-packages:
  - neuron
  - newsletter-mailgun
  - newsynth
+ - ngx-export-distribution
  - ngx-export-tools-extra
  - nikepub
  - nirum
@@ -3082,6 +3062,8 @@ dont-distribute-packages:
  - polysemy-RandomFu
  - polysemy-account
  - polysemy-account-api
+ - polysemy-chronos
+ - polysemy-conc
  - polysemy-db
  - polysemy-extra
  - polysemy-fskvstore
@@ -3089,12 +3071,16 @@ dont-distribute-packages:
  - polysemy-hasql-test
  - polysemy-http
  - polysemy-kvstore-jsonfile
+ - polysemy-log
  - polysemy-log-co
+ - polysemy-log-di
  - polysemy-methodology
  - polysemy-methodology-co-log
  - polysemy-methodology-composite
  - polysemy-path
+ - polysemy-resume
  - polysemy-scoped-fs
+ - polysemy-time
  - polysemy-uncontrolled
  - polysemy-video
  - polysemy-vinyl
@@ -3123,7 +3109,6 @@ dont-distribute-packages:
  - potoki-conduit
  - potoki-hasql
  - potoki-zlib
- - powerqueue-sqs
  - pqueue-mtl
  - practice-room
  - pred-set
@@ -3168,9 +3153,6 @@ dont-distribute-packages:
  - proton
  - psc-ide
  - psql
- - ptera
- - ptera-core
- - ptera-th
  - puffytools
  - pugs-compat
  - pugs-hsregex
@@ -3267,6 +3249,7 @@ dont-distribute-packages:
  - rbr
  - rc
  - rdioh
+ - react
  - react-flux-servant
  - reactive
  - reactive-banana-sdl
@@ -3579,6 +3562,7 @@ dont-distribute-packages:
  - shady-gen
  - shady-graphics
  - shake-bindist
+ - shake-futhark
  - shake-minify-css
  - shakebook
  - shaker
@@ -3733,7 +3717,6 @@ dont-distribute-packages:
  - sql-simple-postgresql
  - sql-simple-sqlite
  - sqlite-simple-typed
- - sqsd-local
  - squeal-postgresql
  - squeal-postgresql-ltree
  - squeal-postgresql-uuid-ossp
@@ -3752,12 +3735,10 @@ dont-distribute-packages:
  - stackage
  - stackage-build-plan
  - stackage-cabal
- - stackage-curator
  - stackage-query
  - stackage-sandbox
  - stackage-setup
  - stackage-upload
- - stackage2nix
  - stackctl
  - starrover2
  - stateful-mtl
@@ -3847,6 +3828,7 @@ dont-distribute-packages:
  - tagsoup-navigate
  - tagstew
  - tahoe-chk
+ - tahoe-directory
  - tahoe-great-black-swamp
  - tahoe-ssk
  - tak-ai
@@ -3918,11 +3900,6 @@ dont-distribute-packages:
  - tip-haskell-frontend
  - tip-lib
  - titan
- - tlex
- - tlex-core
- - tlex-debug
- - tlex-encoding
- - tlex-th
  - tls-extra
  - tmpl
  - tn
@@ -4317,6 +4294,7 @@ dont-distribute-packages:
  - zerobin
  - zeromq3-conduit
  - zeroth
+ - zeugma
  - zifter-cabal
  - zifter-git
  - zifter-google-java-format
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index d6cc9f68a0914..f7749e4094a90 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2165,8 +2165,8 @@ self: {
      }:
      mkDerivation {
        pname = "BlogLiterately-diagrams";
-       version = "0.3";
-       sha256 = "0l9h8anjbvm49fg1niy4sg8cxr3fl1kvmqfb1lfdi5vypdgqqwms";
+       version = "0.3.1";
+       sha256 = "0yjdlwkgqz0788f57ddlkzmxdlxsnmzxy4456l4ni8610v220njj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -3575,8 +3575,8 @@ self: {
      }:
      mkDerivation {
        pname = "ConClusion";
-       version = "0.2.1";
-       sha256 = "095ygqh0si6ahv41hjkwnwfxwkz16pgriwwnw0v53bvbryjqfvja";
+       version = "0.2.2";
+       sha256 = "1zcminavp0yxj514mnvncyc78gqf1x0pcsj2pqxg5znbqjsp09qa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -6750,10 +6750,8 @@ self: {
     ({ mkDerivation, base, base-compat, GLUT, OpenGL, random }:
      mkDerivation {
        pname = "FunGEn";
-       version = "1.1.1";
-       sha256 = "167bf5p4qcb9wj89x5i5zjjx1f7pmi6s5xbbh43ljhp1f25s9147";
-       revision = "2";
-       editedCabalFile = "1dffca6qm0x5j0b2rii6r9ilsbvsg3ilsv4a05kzmpdsd94b5j16";
+       version = "1.2";
+       sha256 = "0hr5rx6b80ra4sndsdag3q2gjnwb01fwnsk39fyd0l9cca8p1s82";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -11288,8 +11286,8 @@ self: {
        pname = "HsYAML";
        version = "0.2.1.1";
        sha256 = "0a7nbvpl4p8kwbbjfn1dj6s3fif5k8zhbckdvyz1k74pj3yb8ns6";
-       revision = "4";
-       editedCabalFile = "1ai0y5jmj68q1rami0hdg34rflammpagb96sww4fkbr127cbdwhx";
+       revision = "5";
+       editedCabalFile = "018lvykffss0mmip9qr9bhqrmxvsznxwfyqi8jqi85r5vjy97n6h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -13207,6 +13205,8 @@ self: {
        pname = "ListLike";
        version = "4.7.8.1";
        sha256 = "10i1ynfhafnmiw0ka9w0v05y5dcdcifsh0kx5f8py1k5ax1ha4by";
+       revision = "1";
+       editedCabalFile = "1kalhs60wszshvni5awwnmr7bzbz0j602z76lik44arcxghf3ck8";
        libraryHaskellDepends = [
          array base bytestring containers deepseq dlist fmlist text
          utf8-string vector
@@ -14024,6 +14024,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "MissingH_1_6_0_1" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , hslogger, HUnit, mtl, network, network-bsd, old-locale, old-time
+     , parsec, process, regex-compat, time, unix
+     }:
+     mkDerivation {
+       pname = "MissingH";
+       version = "1.6.0.1";
+       sha256 = "0f5d7ws2vqm1vpwjab9cp691jn5j3dxycfn4w5p1rb4aim504aa9";
+       libraryHaskellDepends = [
+         array base containers directory filepath hslogger mtl network
+         network-bsd old-locale old-time parsec process regex-compat time
+         unix
+       ];
+       testHaskellDepends = [
+         base containers directory filepath HUnit old-time parsec
+         regex-compat time unix
+       ];
+       description = "Large utility library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "MissingK" = callPackage
     ({ mkDerivation, base, glib, template-haskell }:
      mkDerivation {
@@ -14498,12 +14521,25 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "MultipletCombiner";
-       version = "0.0.4";
-       sha256 = "13sps65mxr4jczw8b08civylzvsqdh1zy8h2miz27c9lr2wxmqj8";
+       version = "0.0.6";
+       sha256 = "18kfn355zib3mhssm4zqnr3ily4snxsjnkxhca453vhhs6n8fca2";
+       libraryHaskellDepends = [ base HUnit ];
+       testHaskellDepends = [ base HUnit ];
+       description = "A Haskell implementation for combining SU(n) multiplets";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "MultipletCombiner_0_0_7" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "MultipletCombiner";
+       version = "0.0.7";
+       sha256 = "19x0dw5jisxzbb739z8l5mh8kbd3nixqn0x3q10qzlgvczh91hj2";
        libraryHaskellDepends = [ base HUnit ];
        testHaskellDepends = [ base HUnit ];
        description = "A Haskell implementation for combining SU(n) multiplets";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Munkres" = callPackage
@@ -18524,6 +18560,8 @@ self: {
        pname = "STMonadTrans";
        version = "0.4.7";
        sha256 = "1x83f48wbzx6rzbls6h8walfayzdv4j3j1mqbk8lfnkdqff9ri5d";
+       revision = "1";
+       editedCabalFile = "01zfv7jdqf8wfmgxx2gdb1nik93iqvkmblrd18py5hy5mpbxp9dy";
        libraryHaskellDepends = [ array base mtl transformers ];
        testHaskellDepends = [
          array base tasty tasty-hunit tasty-quickcheck transformers
@@ -25381,8 +25419,8 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-mp";
-       version = "0.2.15.0";
-       sha256 = "04kjjd86q2hj13y8dvnqfir6dhqy2n5nx6xr7q19f0j0sc0654vl";
+       version = "0.2.15.1";
+       sha256 = "1s1znj80frx9dqwqp294jzafyqrg9p0pkdqhhcgzzqi9f2iqxhmv";
        libraryHaskellDepends = [
          base cdar-mBound collect-errors deepseq hspec integer-logarithms
          mixed-types-num QuickCheck reflection regex-tdfa template-haskell
@@ -25624,8 +25662,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-combinators";
-       version = "0.1.0.1";
-       sha256 = "1vpsw29336xcybr87xj3k573qf2j7qxgv9wd7fccpcahgixpp2db";
+       version = "0.1.1.0";
+       sha256 = "09cig73947z1z76m572s2cs8kjz6lj3h923rcpmysi36f8hn8q9f";
        libraryHaskellDepends = [
          aeson base bytestring containers fail scientific text time
          time-compat unordered-containers uuid-types vector void
@@ -28054,6 +28092,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "allen" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , mtl, QuickCheck, text, vector
+     }:
+     mkDerivation {
+       pname = "allen";
+       version = "0.1.0.0";
+       sha256 = "04kj463151iy5b9gsvhi2q9jx7iwbiad6azckzccnr6jzrg8jfpd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers mtl vector ];
+       executableHaskellDepends = [
+         aeson base bytestring containers mtl text vector
+       ];
+       testHaskellDepends = [ base containers mtl QuickCheck vector ];
+       benchmarkHaskellDepends = [ base containers criterion mtl vector ];
+       description = "A monadic way of calculating relations between intervals of time";
+       license = lib.licenses.bsd3;
+       mainProgram = "allen-calculator";
+     }) {};
+
   "allocated-processor" = callPackage
     ({ mkDerivation, base, vector-space }:
      mkDerivation {
@@ -28620,8 +28679,6 @@ self: {
        ];
        description = "Comprehensive Amazon Web Services SDK";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "amazonka-accessanalyzer" = callPackage
@@ -30010,7 +30067,6 @@ self: {
        ];
        description = "A Haskell equivalent of \"aws rds generate-db-auth-token\"";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "generate-db-auth-token";
      }) {};
 
@@ -33587,27 +33643,25 @@ self: {
        ];
        description = "Amazon Simple Storage Service SDK - Client-Side Encryption";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-s3-streaming" = callPackage
-    ({ mkDerivation, amazonka, amazonka-core, amazonka-s3, async, base
-     , bytestring, conduit, dlist, exceptions, http-client, lens, mmorph
-     , mtl
+    ({ mkDerivation, amazonka, amazonka-s3, async, base, bytestring
+     , conduit, deepseq, exceptions, http-client, http-client-tls
+     , resourcet, text, transformers
      }:
      mkDerivation {
        pname = "amazonka-s3-streaming";
-       version = "1.1.0.0";
-       sha256 = "0w5jqqc6m1cnhwdhyfb2k5kc9fzn499y2s9jkpsfqxpqynsivlwa";
+       version = "2.0.0.0";
+       sha256 = "1kfysyh0g8m2d2c6dmsxam3s9crrlg9dgwvw11b4py7i3vkmx495";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         amazonka amazonka-core amazonka-s3 async base bytestring conduit
-         dlist exceptions http-client lens mmorph mtl
+         amazonka amazonka-s3 async base bytestring conduit deepseq
+         exceptions http-client http-client-tls resourcet text transformers
        ];
        description = "Provides conduits to upload data to S3 using the Multipart API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-s3outposts" = callPackage
@@ -34929,6 +34983,8 @@ self: {
        pname = "amqp-utils";
        version = "0.6.3.2";
        sha256 = "1qdhp96zqcjd8yd2hmg7c2cl9gdvywp1p3v1xjcax9si5pr83w1i";
+       revision = "1";
+       editedCabalFile = "062l0xawak87hp6xni7mz4w5dr9za30nm1shzpc88jm7618hndl9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -34964,33 +35020,33 @@ self: {
      }) {};
 
   "amqp-worker" = callPackage
-    ({ mkDerivation, aeson, amqp, base, bytestring, data-default
-     , exceptions, monad-control, monad-loops, mtl, resource-pool
-     , server, split, text, transformers-base
+    ({ mkDerivation, aeson, amqp, base, bytestring, exceptions
+     , monad-loops, mtl, resource-pool, text
      }:
      mkDerivation {
        pname = "amqp-worker";
-       version = "0.3.2";
-       sha256 = "0w6nz5crrvr8wb0ylszl3ckxc17pll03swr30zvpqaz855pqriw3";
+       version = "2.0.0";
+       sha256 = "0jnyrd7xmk66qi5kkmjc8r57zck064yfkrmgddnw288qzcq5051d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson amqp base bytestring data-default exceptions monad-control
-         monad-loops mtl resource-pool split text transformers-base
+         aeson amqp base bytestring exceptions monad-loops mtl resource-pool
+         text
        ];
        executableHaskellDepends = [
-         aeson amqp base bytestring data-default exceptions monad-control
-         monad-loops mtl resource-pool split text transformers-base
+         aeson amqp base bytestring exceptions monad-loops mtl resource-pool
+         text
        ];
        testHaskellDepends = [
-         aeson amqp base bytestring data-default exceptions monad-control
-         monad-loops mtl resource-pool server split text transformers-base
+         aeson amqp base bytestring exceptions monad-loops mtl resource-pool
+         text
        ];
+       description = "Type-safe AMQP workers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "example";
        broken = true;
-     }) {server = null;};
+     }) {};
 
   "amrun" = callPackage
     ({ mkDerivation, base, deepseq, parsec }:
@@ -35485,8 +35541,8 @@ self: {
      }:
      mkDerivation {
        pname = "annotated-exception";
-       version = "0.2.0.4";
-       sha256 = "090mv2a0k4mrhspa7wj62krl5m9y3c33nnr5m39qqdhgys37qrmb";
+       version = "0.2.0.5";
+       sha256 = "1gxmnd4qffybh2fpx8kns4y7figf2zfwgckhcfcvwqpb040k8i3g";
        libraryHaskellDepends = [
          base containers safe-exceptions text unliftio-core
        ];
@@ -35832,7 +35888,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-contract" = callPackage
@@ -35916,7 +35971,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-messages" = callPackage
@@ -35941,7 +35995,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-optparse-applicative" = callPackage
@@ -35963,7 +36016,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-s3" = callPackage
@@ -36046,7 +36098,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-sqs" = callPackage
@@ -36073,7 +36124,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-swf" = callPackage
@@ -37786,24 +37836,25 @@ self: {
      }) {};
 
   "arbtt" = callPackage
-    ({ mkDerivation, aeson, array, attoparsec, base, binary, bytestring
-     , bytestring-progress, conduit, containers, deepseq, directory
-     , exceptions, filepath, mtl, parsec, pcre-light, process-extras
-     , resourcet, strict, tasty, tasty-golden, tasty-hunit
-     , terminal-progress-bar, text, time, transformers, tz, unix
-     , unliftio-core, utf8-string, X11
+    ({ mkDerivation, aeson, array, attoparsec, attoparsec-aeson, base
+     , binary, bytestring, bytestring-progress, conduit, containers
+     , deepseq, directory, exceptions, filepath, mtl, parsec, pcre-light
+     , process-extras, resourcet, strict, tasty, tasty-golden
+     , tasty-hunit, terminal-progress-bar, text, time, transformers, tz
+     , unix, unliftio-core, utf8-string, X11
      }:
      mkDerivation {
        pname = "arbtt";
-       version = "0.12.0.2";
-       sha256 = "022jb9bi9jxqiv3f2cfkpi1m6zwp719x9xnq2xnhy2hysz3x1ss6";
+       version = "0.12.0.3";
+       sha256 = "1wgc17fwnsqff8amwvv6jymhwjqrw653simv6gyxx89s1cla954d";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson array attoparsec base binary bytestring bytestring-progress
-         conduit containers deepseq directory exceptions filepath mtl parsec
-         pcre-light resourcet strict terminal-progress-bar text time
-         transformers tz unix unliftio-core utf8-string X11
+         aeson array attoparsec attoparsec-aeson base binary bytestring
+         bytestring-progress conduit containers deepseq directory exceptions
+         filepath mtl parsec pcre-light resourcet strict
+         terminal-progress-bar text time transformers tz unix unliftio-core
+         utf8-string X11
        ];
        testHaskellDepends = [
          base binary bytestring containers deepseq directory mtl parsec
@@ -37859,6 +37910,8 @@ self: {
        pname = "arch-hs";
        version = "0.11.1.0";
        sha256 = "1f50id3xplp8zwi379n6xi4in01gms97qbqnfxnsqzrv47xszwj4";
+       revision = "1";
+       editedCabalFile = "1kpjz5x3f0g1jz0bkji0xnysgzbvg4livjgg4bbq3r1123d3rryy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38627,8 +38680,8 @@ self: {
      }:
      mkDerivation {
        pname = "array-builder";
-       version = "0.1.3.0";
-       sha256 = "1al32j1akh83lsmzppkv0290xz42qndfsqnyyx568v8q0lfgw605";
+       version = "0.1.4.0";
+       sha256 = "03ry85miknhj8r21wbnmdixg114l5jg7dssvalnlykr8m6p0h3lf";
        libraryHaskellDepends = [
          array-chunks base bytebuild byteslice bytestring natural-arithmetic
          primitive run-st text-short
@@ -38644,10 +38697,8 @@ self: {
      }:
      mkDerivation {
        pname = "array-chunks";
-       version = "0.1.3.0";
-       sha256 = "0alf0d4ifla7i47pl7xqmrhcwsky56rp4b76qgmh19kji8mfcq5z";
-       revision = "1";
-       editedCabalFile = "1vv5lsn44aq48yinl9ljm433g00cj44laldd3bdv08v979qjzs3j";
+       version = "0.1.4.0";
+       sha256 = "0m2719qyfpv5d9sm5wyyxcaq48fyggabjya9m5zx7idh94sqqm3p";
        libraryHaskellDepends = [ base primitive run-st ];
        testHaskellDepends = [
          base primitive QuickCheck quickcheck-classes tasty tasty-hunit
@@ -39632,8 +39683,8 @@ self: {
     ({ mkDerivation, base, pretty-show, text }:
      mkDerivation {
        pname = "assert-failure";
-       version = "0.1.2.6";
-       sha256 = "198bvr7wgshwmbl8gcgq91hz7d87ar6gkqhhp1xgsg1mqikqi02z";
+       version = "0.1.3.0";
+       sha256 = "0lbx22agc2rq119yf2d0fy5cchfbgvjln1w147iiwgvrqd0xgyff";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base pretty-show text ];
        description = "Syntactic sugar improving 'assert' and 'error'";
@@ -42509,7 +42560,6 @@ self: {
        ];
        description = "Helper function and types for working with amazonka";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "aws-easy-demo";
      }) {};
 
@@ -42999,7 +43049,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Wrapper over Amazonka's SES";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-sign4" = callPackage
@@ -43041,7 +43090,6 @@ self: {
        ];
        description = "Dead simple bindings to commonly used AWS Services";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-sns" = callPackage
@@ -44164,6 +44212,25 @@ self: {
        mainProgram = "barley";
      }) {};
 
+  "barlow-lens" = callPackage
+    ({ mkDerivation, base, first-class-families, generic-lens, lens
+     , profunctors, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "barlow-lens";
+       version = "0.1.0.2";
+       sha256 = "1gw3r1hwk5j147lpz0pvhv92fd2kyfp7kdvw60dpnv4j5hhw6s24";
+       libraryHaskellDepends = [
+         base first-class-families generic-lens lens profunctors
+       ];
+       testHaskellDepends = [
+         base first-class-families generic-lens lens profunctors tasty
+         tasty-hunit
+       ];
+       description = "lens via string literals";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "barrie" = callPackage
     ({ mkDerivation, base, containers, filepath, glib, gtk }:
      mkDerivation {
@@ -44185,8 +44252,8 @@ self: {
        pname = "barrier";
        version = "0.1.1";
        sha256 = "1n8yx66lvyn90ixyvpjafrmhpgnznnqj9il5rixlr651xq0xm5b3";
-       revision = "1";
-       editedCabalFile = "167akvi72l47gcqbq5609m24469pq0xmv0kjbmivnrxs796gh890";
+       revision = "2";
+       editedCabalFile = "0b0va208hc9blny6pbzk2a7mc834xkafaza07a5liaccniach3m3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -45050,6 +45117,29 @@ self: {
        broken = true;
      }) {};
 
+  "basics" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, primitive
+     , primitive-unlifted, quickcheck-instances, tasty, tasty-hunit
+     , tasty-quickcheck, text-short, transformers, wide-word
+     }:
+     mkDerivation {
+       pname = "basics";
+       version = "0.2.0.0";
+       sha256 = "1yf1lcb462h33whxq5x0zc2smbq5mvb6wj7r5x2ll4rgyzv5sv4r";
+       libraryHaskellDepends = [
+         base bifunctors bytestring primitive primitive-unlifted text-short
+         wide-word
+       ];
+       testHaskellDepends = [
+         base primitive quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck transformers
+       ];
+       description = "Modules for primitive types";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "baskell" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, pretty, unix }:
      mkDerivation {
@@ -45389,6 +45479,26 @@ self: {
        mainProgram = "bazel-runfiles-exe";
      }) {};
 
+  "bbcode" = callPackage
+    ({ mkDerivation, base, containers, lens, megaparsec, mtl, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "bbcode";
+       version = "0.1.0.2";
+       sha256 = "1bnmjca7gjv4df5hbyniiy4s6n8llshiwxxc0pknc73wjjb8nmm8";
+       libraryHaskellDepends = [
+         base containers lens megaparsec mtl text transformers
+       ];
+       testHaskellDepends = [
+         base containers lens megaparsec mtl text transformers
+       ];
+       description = "Library for parsing, constructing, and printing BBCode";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bbdb" = callPackage
     ({ mkDerivation, base, hspec, parsec }:
      mkDerivation {
@@ -45856,8 +45966,8 @@ self: {
      }:
      mkDerivation {
        pname = "bearriver";
-       version = "0.14.3";
-       sha256 = "1qndif1gl9qdg2mhp2w419g4p7nz3khjlhhycm66dzb47rf0scaq";
+       version = "0.14.4";
+       sha256 = "0bdz64rq6vri2kri5c6rja6x3dn4k62d0id462ar2dxwqaj8cqjc";
        libraryHaskellDepends = [
          base deepseq dunai MonadRandom mtl simple-affine-space transformers
        ];
@@ -48492,32 +48602,36 @@ self: {
      }) {};
 
   "binrep" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, either, flatparse
-     , generic-random, hspec, hspec-discover, mason, megaparsec
-     , QuickCheck, quickcheck-instances, refined, strongweak, text
-     , text-icu, vector, vector-sized
+    ({ mkDerivation, aeson, base, bytestring, deepseq, flatparse, gauge
+     , generic-data-functions, generic-random, hspec, hspec-discover
+     , mason, megaparsec, parser-combinators, QuickCheck
+     , quickcheck-instances, refined1, strongweak, text, text-icu
+     , vector, vector-sized
      }:
      mkDerivation {
        pname = "binrep";
-       version = "0.3.1";
-       sha256 = "01adzragxiick3l2q4cm0x1xd2pmrxw9xl8m39ysk9l8d15b0n4n";
-       revision = "1";
-       editedCabalFile = "17l5x2vpdwdp6x14n1wayh6751cpsxsywj205n94khnm1cgcfp1a";
+       version = "0.5.0";
+       sha256 = "069038cx1b0ch2g0jf94l1wp8f09zrcr1xlzflrgpk2ka1y5rr3c";
        libraryHaskellDepends = [
-         aeson base bytestring either flatparse mason megaparsec refined
-         strongweak text text-icu vector vector-sized
+         aeson base bytestring deepseq flatparse generic-data-functions
+         mason megaparsec parser-combinators refined1 strongweak text
+         text-icu vector vector-sized
        ];
        testHaskellDepends = [
-         aeson base bytestring either flatparse generic-random hspec mason
-         megaparsec QuickCheck quickcheck-instances refined strongweak text
-         text-icu vector vector-sized
+         aeson base bytestring deepseq flatparse generic-data-functions
+         generic-random hspec mason megaparsec parser-combinators QuickCheck
+         quickcheck-instances refined1 strongweak text text-icu vector
+         vector-sized
        ];
        testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         aeson base bytestring deepseq flatparse gauge
+         generic-data-functions mason megaparsec parser-combinators refined1
+         strongweak text text-icu vector vector-sized
+       ];
        description = "Encode precise binary representations directly in types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.raehik ];
-       broken = true;
      }) {};
 
   "bins" = callPackage
@@ -49834,29 +49948,6 @@ self: {
      }:
      mkDerivation {
        pname = "bitvec";
-       version = "1.1.4.0";
-       sha256 = "1a2ljisd7m6c3qr0m0nnfrpnsigcz8hkcyzlmvg8pjh42vhb3w38";
-       libraryHaskellDepends = [
-         base bytestring deepseq ghc-bignum primitive vector
-       ];
-       testHaskellDepends = [
-         base ghc-bignum primitive quickcheck-classes
-         quickcheck-classes-base tasty tasty-quickcheck vector
-       ];
-       benchmarkHaskellDepends = [
-         base containers ghc-bignum random tasty tasty-bench vector
-       ];
-       description = "Space-efficient bit vectors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "bitvec_1_1_5_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-bignum
-     , primitive, quickcheck-classes, quickcheck-classes-base, random
-     , tasty, tasty-bench, tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "bitvec";
        version = "1.1.5.0";
        sha256 = "1ifyz0lsmgqz8yjyx4887m1wnm7ar389k6gkvcnk9mg1bgp7rll3";
        libraryHaskellDepends = [
@@ -49871,7 +49962,6 @@ self: {
        ];
        description = "Space-efficient bit vectors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bitwise" = callPackage
@@ -50196,8 +50286,8 @@ self: {
        pname = "blank-canvas";
        version = "0.7.3";
        sha256 = "1g10959ly5nv2xfhax4pamzxnxkqbniahplc5za8k5r4nq1vjrm2";
-       revision = "14";
-       editedCabalFile = "0gh51aadihnssbqs146l10vajbgkj92cb0wfi1kjrlyknljy39rg";
+       revision = "16";
+       editedCabalFile = "1kkc6m89sk0xjhpji416wjpk8672w32m5l2pvd3386v1yvd1x7vj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat-batteries base64-bytestring bytestring
@@ -50367,10 +50457,8 @@ self: {
      }:
      mkDerivation {
        pname = "blaze-builder";
-       version = "0.4.2.2";
-       sha256 = "0rxg6vjr0ji6g1nngrqpl4k1q9w66fwkhld9cqm5yfhx0a69kp1c";
-       revision = "1";
-       editedCabalFile = "026vxh94h2hwncy1mn51xzfpnhj8ijp5xc8fpq7dwc63fkrps0gh";
+       version = "0.4.2.3";
+       sha256 = "0fvh8sfhnkpwbl4l9ysxhsi26jj1mvfkqgh3mfnl4wvb4ds1hab6";
        libraryHaskellDepends = [ base bytestring deepseq ghc-prim text ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck test-framework
@@ -50455,8 +50543,8 @@ self: {
        pname = "blaze-html";
        version = "0.9.1.2";
        sha256 = "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30";
-       revision = "3";
-       editedCabalFile = "1ra30mpah5k275cb4h9bin80z0nhlkdr7imq7yapl8g399wl11av";
+       revision = "4";
+       editedCabalFile = "0l645sbq8igqgvqnjdq89kys0vv8zf8l0x895w9742rj50wash1f";
        libraryHaskellDepends = [
          base blaze-builder blaze-markup bytestring text
        ];
@@ -50652,8 +50740,8 @@ self: {
      }:
      mkDerivation {
        pname = "blazeT";
-       version = "0.0.5";
-       sha256 = "14bh3sck4s2hyrd4s943y8sc13n5k1dg6xlzz67blqha2615ill1";
+       version = "0.0.6";
+       sha256 = "1ggyjg2rd5rwlpfv4djc7dmbiap6lda3w1yj949fc7ic7iq0icfb";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring mtl text
@@ -50773,13 +50861,13 @@ self: {
      }) {};
 
   "blizzard-html" = callPackage
-    ({ mkDerivation, base, blaze-html, text }:
+    ({ mkDerivation, base, text }:
      mkDerivation {
        pname = "blizzard-html";
-       version = "0.4.0.1";
-       sha256 = "11k9pdr5f8vxypk05c2aysqkl3199ywvkh2dk9jf5rgkpf2j221p";
-       libraryHaskellDepends = [ base blaze-html text ];
-       description = "An HTML renderer for Haskell";
+       version = "0.5.0.0";
+       sha256 = "0i5nbwpm9p25jb1iykrsjvf0y505l9vdhqdm7yfnj633fpqq5bv4";
+       libraryHaskellDepends = [ base text ];
+       description = "An HTML generator for Haskell";
        license = lib.licenses.mit;
      }) {};
 
@@ -51001,7 +51089,6 @@ self: {
        ];
        description = "Adds convenient Amazon ElasticSearch Service authentication to Bloodhound";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bloomfilter" = callPackage
@@ -51287,8 +51374,8 @@ self: {
        pname = "bm";
        version = "0.2.0.0";
        sha256 = "17dnv1vdsh43nc8b0p92d01nz1zvxd9bfcghlz0w6c8wc5yflg31";
-       revision = "1";
-       editedCabalFile = "1fz82dk7hmpnwf0s2z1xcs9l2fm4gcqz35m9v15f4lmyd967l8bv";
+       revision = "2";
+       editedCabalFile = "0nrppsjb43pf4ifng35gp7wrn62ss6c6rkc843gllhr6ac74pj06";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51953,17 +52040,18 @@ self: {
 
   "boomwhacker" = callPackage
     ({ mkDerivation, array, base, containers, event-list, filepath
-     , HPDF, midi, optparse-applicative, utility-ht
+     , HPDF, midi, non-empty, optparse-applicative, shell-utility
+     , utility-ht
      }:
      mkDerivation {
        pname = "boomwhacker";
-       version = "0.0";
-       sha256 = "0755v8315g03fhhh9a12jnczdapz6gs1my4gvz1y9arbyc3xngym";
+       version = "0.0.1";
+       sha256 = "1vzjw89warn3rr6vdggfmisj4ki5c4fdxrrrs4f7l9k9n3b4rggv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base containers event-list filepath HPDF midi
-         optparse-applicative utility-ht
+         array base containers event-list filepath HPDF midi non-empty
+         optparse-applicative shell-utility utility-ht
        ];
        description = "Convert MIDI file to play-along boomwhacker animation";
        license = lib.licenses.bsd3;
@@ -52348,8 +52436,8 @@ self: {
        pname = "bounded-array";
        version = "0.1.0.0";
        sha256 = "0zv5a82rm6hwikgls2hw9d18igvfgw655s5pw5h1xbwcv1d8d0ji";
-       revision = "3";
-       editedCabalFile = "1m0kmns9my73idfkp5n5qix7w0lzrqbq96p4hhxa3702z5cvqkpf";
+       revision = "4";
+       editedCabalFile = "1fagylzqlzrz5dmxnnfbcqswzl32yyv7ndyrjy93mq2810r1m903";
        libraryHaskellDepends = [ array base ];
        description = "Arrays with a value for every index";
        license = lib.licenses.bsd3;
@@ -52721,17 +52809,17 @@ self: {
      }) {};
 
   "breakpoint" = callPackage
-    ({ mkDerivation, ansi-terminal, base, containers, ghc, haskeline
-     , mtl, pretty-simple, tasty, tasty-hunit, template-haskell, text
-     , transformers
+    ({ mkDerivation, ansi-terminal, base, containers, deepseq, ghc
+     , haskeline, mtl, pretty-simple, tasty, tasty-hunit
+     , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "breakpoint";
-       version = "0.1.2.1";
-       sha256 = "1bj3bccmrk5c7zxb29rwzz39l0ph6qk0crw1vdhhsrcybmdc96h5";
+       version = "0.1.2.2";
+       sha256 = "02x2hak0kf9fg5fgr0365fjrnlbfkp3mqdpvkmxfvfp5hmvpa6mm";
        libraryHaskellDepends = [
-         ansi-terminal base containers ghc haskeline mtl pretty-simple
-         template-haskell text transformers
+         ansi-terminal base containers deepseq ghc haskeline mtl
+         pretty-simple template-haskell text transformers
        ];
        testHaskellDepends = [ base containers tasty tasty-hunit ];
        description = "Set breakpoints using a GHC plugin";
@@ -52829,6 +52917,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "brick_1_10" = callPackage
+    ({ mkDerivation, base, bimap, bytestring, config-ini, containers
+     , data-clist, deepseq, directory, exceptions, filepath, microlens
+     , microlens-mtl, microlens-th, mtl, QuickCheck, stm
+     , template-haskell, text, text-zipper, unix, vector, vty, word-wrap
+     }:
+     mkDerivation {
+       pname = "brick";
+       version = "1.10";
+       sha256 = "13s5vy5q450v4aynf35sdhl9idnyy96gz27x869yfrqpghb0q6br";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bimap bytestring config-ini containers data-clist deepseq
+         directory exceptions filepath microlens microlens-mtl microlens-th
+         mtl stm template-haskell text text-zipper unix vector vty word-wrap
+       ];
+       testHaskellDepends = [
+         base containers microlens QuickCheck vector vty
+       ];
+       description = "A declarative terminal user interface library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "brick-dropdownmenu" = callPackage
     ({ mkDerivation, base, brick, containers, microlens, microlens-ghc
      , microlens-th, pointedlist, vector, vty
@@ -52889,8 +53002,8 @@ self: {
     ({ mkDerivation, base, brick, containers, microlens, vector }:
      mkDerivation {
        pname = "brick-list-skip";
-       version = "0.1.1.4";
-       sha256 = "09f6w8m0wpljfxksm4d09014jhf4hh0ngr5cgp3616nf7mp3cazr";
+       version = "0.1.1.5";
+       sha256 = "18113bfyak9bsn7fwjx01511g4v3qls8w5qls1q407gx3dafhyw2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base brick containers microlens vector ];
@@ -52962,8 +53075,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick-tabular-list";
-       version = "2.2.0.2";
-       sha256 = "19kk4rr5h5a6cis2k6qvh7c8l7hixx3lmx79ax2qzfb1vps5ri5g";
+       version = "2.2.0.3";
+       sha256 = "1f299fss8p7111wr56a8346zqkl02b7pcp9n6pri7wh2zrc4lw8i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -53380,8 +53493,8 @@ self: {
        pname = "brotli";
        version = "0.0.0.1";
        sha256 = "0fp8vhqzl6i1vvb4fw4zya6cgkzmj0yaaw94jdf2kggm3gn8zwfc";
-       revision = "3";
-       editedCabalFile = "00n7r8wwn40qbd6qvqzmkdf374nzd703rbsmn1szdwiw0zyp6ipa";
+       revision = "4";
+       editedCabalFile = "1p6zr2yr1hd6k9vkpgwdidrkiykv09av2q77f37bfg0985b0xwpx";
        libraryHaskellDepends = [ base bytestring transformers ];
        libraryPkgconfigDepends = [ brotli ];
        testHaskellDepends = [
@@ -53975,6 +54088,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bugsnag-hs_0_2_0_12" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hedgehog, http-client
+     , text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "bugsnag-hs";
+       version = "0.2.0.12";
+       sha256 = "0850a02jy023wn3vipj409wmys2caxq3bf60j90yhh52f75skis8";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-client text time unordered-containers
+       ];
+       testHaskellDepends = [ aeson base bytestring hedgehog ];
+       description = "A Bugsnag client for Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bugsnag-wai" = callPackage
     ({ mkDerivation, base, bugsnag, bytestring, case-insensitive, hspec
      , http-types, iproute, network, text, unordered-containers, wai
@@ -54940,6 +55071,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
        mainProgram = "bytepatch";
        maintainers = [ lib.maintainers.raehik ];
+       broken = true;
      }) {};
 
   "bytes" = callPackage
@@ -54951,6 +55083,8 @@ self: {
        pname = "bytes";
        version = "0.17.3";
        sha256 = "1ir9v4gjw7zgm9f55wa3y8wgn4zfpi71pvbsdmjgjk9dh02wy2ni";
+       revision = "1";
+       editedCabalFile = "1jj5fk23wvvvlbkxcpvgp69gglbf719ard5g795irbcx11zkhjd2";
        libraryHaskellDepends = [
          base binary binary-orphans bytestring cereal containers hashable
          scientific text time transformers transformers-compat
@@ -55127,6 +55261,8 @@ self: {
        pname = "bytestring-conversion";
        version = "0.3.2";
        sha256 = "0ls1jqf4r2hk0mcxmlviw6vgs0cn1db99w2fggsg6x39pi31rk8c";
+       revision = "1";
+       editedCabalFile = "08j18kk0pg8h35vi1m7sb2hr190byyhnhjc39ixdbqbq27p08s0m";
        libraryHaskellDepends = [
          attoparsec base bytestring case-insensitive double-conversion text
        ];
@@ -56929,8 +57065,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-plan-bounds";
-       version = "0.1.3.1";
-       sha256 = "0cyvmzgfzw6x2rl9jsswqgzxcvffjzc0px48ia22852vqa9qw1ax";
+       version = "0.1.5";
+       sha256 = "0585mjv6vj8iggkazc53ccl8nvv35vk6m9r2y0zs47ifijdzl2f5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -58895,7 +59031,6 @@ self: {
        testHaskellDepends = [ base mtl tasty tasty-hunit ];
        description = "Monadic capabilities with late binding";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "captcha-2captcha" = callPackage
@@ -59298,27 +59433,6 @@ self: {
 
   "casa-client" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
-     , bytestring, casa-types, conduit, conduit-extra, cryptonite
-     , exceptions, http-conduit, http-types, memory, network-uri
-     , resourcet, template-haskell, text, th-lift, unliftio-core
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "casa-client";
-       version = "0.0.1";
-       sha256 = "1l8lhk7bbrpjip693a3p6kp92aryajb6aw1w4ycak7nrb947dvjw";
-       libraryHaskellDepends = [
-         aeson attoparsec base base16-bytestring bytestring casa-types
-         conduit conduit-extra cryptonite exceptions http-conduit http-types
-         memory network-uri resourcet template-haskell text th-lift
-         unliftio-core unordered-containers
-       ];
-       description = "Client for Casa";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "casa-client_0_0_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , bytestring, casa-types, conduit, conduit-extra, crypton
      , exceptions, http-conduit, http-types, memory, network-uri
      , resourcet, template-haskell, text, th-lift, unliftio-core
@@ -59336,7 +59450,6 @@ self: {
        ];
        description = "Client for Casa";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "casa-types" = callPackage
@@ -59827,8 +59940,8 @@ self: {
        pname = "cassava";
        version = "0.5.3.0";
        sha256 = "1gp954w05bj83z4i6isq2qxi1flqwppsgxxrp1f75mrs8cglbj5l";
-       revision = "3";
-       editedCabalFile = "192y0bwxyn290rf1zh4snsb2x6nk3siz3rac265cddd087c6zkg8";
+       revision = "4";
+       editedCabalFile = "0iabyfiwj08gfzrllaz836n28gx2jybszw45jcsy7y333wwcsg7q";
        configureFlags = [ "-f-bytestring--lt-0_10_4" ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers deepseq hashable Only
@@ -60019,18 +60132,12 @@ self: {
      }) {};
 
   "castagnoli" = callPackage
-    ({ mkDerivation, base, byteslice, bytestring, primitive
-     , primitive-unlifted, text
-     }:
+    ({ mkDerivation, base, byteslice, bytestring, primitive, text }:
      mkDerivation {
        pname = "castagnoli";
-       version = "0.2.0.0";
-       sha256 = "1k7nlr0aq7rsm73ivxcfrxb1pl0hl51ahpk8k0b0n66jrhwksqnz";
-       revision = "1";
-       editedCabalFile = "0p6p4jgir9f11vg4mpwc43diyc5bsjx50yp3qfcaimdk4iyyd3cb";
-       libraryHaskellDepends = [
-         base byteslice primitive primitive-unlifted
-       ];
+       version = "0.2.0.1";
+       sha256 = "02kpplvfgiq7qlsd5xq9a5bnvjza3n8zalaakz2y9wxilajsnfp4";
+       libraryHaskellDepends = [ base byteslice primitive ];
        testHaskellDepends = [ base bytestring primitive text ];
        description = "Portable CRC-32C";
        license = lib.licenses.bsd3;
@@ -61701,21 +61808,18 @@ self: {
 
   "chart-svg" = callPackage
     ({ mkDerivation, adjunctions, attoparsec, base, bytestring, Color
-     , containers, cubicbezier, flatparse, foldl, formatn, mtl, numhask
-     , numhask-array, numhask-space, optics-core, random
-     , string-interpolate, tasty, tasty-golden, text, time, tree-diff
+     , containers, cubicbezier, flatparse, foldl, formatn, markup-parse
+     , mtl, numhask, numhask-array, numhask-space, optics-core, random
+     , string-interpolate, text, time
      }:
      mkDerivation {
        pname = "chart-svg";
-       version = "0.4.1.1";
-       sha256 = "198b817pq673fsxi24v9llnf90vrpy16j4qlbhij88mknmhx2cr3";
+       version = "0.5.1.1";
+       sha256 = "1jvlqp1cdszc0hrlma01kx34wvdmh1pz4gkavd20w76v0p7485rb";
        libraryHaskellDepends = [
          adjunctions attoparsec base bytestring Color containers cubicbezier
-         flatparse foldl formatn mtl numhask numhask-array numhask-space
-         optics-core random string-interpolate text time tree-diff
-       ];
-       testHaskellDepends = [
-         base bytestring flatparse tasty tasty-golden tree-diff
+         flatparse foldl formatn markup-parse mtl numhask numhask-array
+         numhask-space optics-core random string-interpolate text time
        ];
        description = "Charting library targetting SVGs";
        license = lib.licenses.bsd3;
@@ -62458,23 +62562,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "choice";
-       version = "0.2.2";
-       sha256 = "0qcyf6nqi0nyhbf3xwyib95y29j5ir94d5vg449mkpr92crf8ryk";
-       libraryHaskellDepends = [ base ];
-       description = "A solution to boolean blindness";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "choice_0_2_3" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "choice";
        version = "0.2.3";
        sha256 = "15nls2azmhwi3nnf5rkl954pa0bjgi231ff74hgw8r3nb5axrgrn";
        libraryHaskellDepends = [ base ];
        description = "A solution to boolean blindness";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "choose" = callPackage
@@ -62779,10 +62871,8 @@ self: {
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.1.5";
-       sha256 = "0q81i9zwhsmik3j0zlgf61y48s4zhqs4d77ad4yxwvqqm8312gqi";
-       revision = "2";
-       editedCabalFile = "10f7a2r5y71cycx8m74swpplvd68s736fi3b48a48f5vvdgvwdfa";
+       version = "1.1.5.1";
+       sha256 = "0nld5xfqgihqf2lichd5ym60knwsfp40l4mn8qg6pxvydgwdcsw8";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive semigroups text
@@ -63076,8 +63166,8 @@ self: {
      }:
      mkDerivation {
        pname = "cimple";
-       version = "0.0.16";
-       sha256 = "02pxk1r076j0vkn0vhny9nxzf0dlql1hcn8sdw0nili8mb41pbj4";
+       version = "0.0.17";
+       sha256 = "0brzkxa09b5ammfm6qlkxffmhlgxfnf115lzdx3xvbq5ciar902x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65849,8 +65939,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-gfm";
-       version = "0.2.5";
-       sha256 = "0la4sd0cmv3zmn0kygbd77dknyh55h0b0qx5jg883hqnvnhaq721";
+       version = "0.2.6";
+       sha256 = "0sd8q42j51ba7ymyxk5360mhvhbnirsd371d3sggl6sbslxzp34m";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [ base HUnit text ];
        benchmarkHaskellDepends = [
@@ -66280,7 +66370,6 @@ self: {
        testHaskellDepends = [ base co-log-core doctest Glob hedgehog ];
        description = "Composable Contravariant Comonadic Logging Library";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "co-log-concurrent" = callPackage
@@ -66363,7 +66452,6 @@ self: {
        ];
        description = "A Polysemy logging effect for high quality (unstructured) logs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "example";
      }) {};
 
@@ -68239,6 +68327,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "commonmark-extensions_0_2_3_6" = callPackage
+    ({ mkDerivation, base, commonmark, containers, emojis, filepath
+     , network-uri, parsec, tasty, tasty-bench, tasty-hunit, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "commonmark-extensions";
+       version = "0.2.3.6";
+       sha256 = "0b26h9fmr5pqv0d66az3af38ha07jkxrf5874m0k7i9ymaxwbckg";
+       libraryHaskellDepends = [
+         base commonmark containers emojis filepath network-uri parsec text
+         transformers
+       ];
+       testHaskellDepends = [
+         base commonmark parsec tasty tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ base commonmark tasty-bench text ];
+       description = "Pure Haskell commonmark parser";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "commonmark-pandoc" = callPackage
     ({ mkDerivation, base, commonmark, commonmark-extensions
      , pandoc-types, text
@@ -70063,8 +70173,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.18";
-       sha256 = "1nxc7wl37hsyz8axzy99gy40qsa6065z6m9a9pfjkgfq4s4k7a5p";
+       version = "1.10.19";
+       sha256 = "16g749ghsqp0n6xqk9z3hj8di97r09gvw0dfk7jfq5crc02b69j2";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -73267,8 +73377,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.16";
-       sha256 = "119b8bqk3x14wmd9xzk9y3zv6walm982n0bjzc0f64fkjaqgqhsr";
+       version = "3.16.1";
+       sha256 = "1rbr9wq2ag8qzq696i833qzqhnl634dkssvvnz3ig0i0c8qai2c7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73289,8 +73399,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.16";
-       sha256 = "00rh4x9jc5dzrp5k2nhl0203kbyfpdrkn8sqc9fyzfnpw4hvxgjk";
+       version = "3.16.1";
+       sha256 = "028alpcppzcpj6vhbqmay9jvpw7p2ycw5ck92330zjh03iky51lf";
        libraryHaskellDepends = [
          base copilot-core directory filepath language-c99
          language-c99-simple mtl pretty
@@ -73328,8 +73438,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.16";
-       sha256 = "0zw2xxf1c9ri0npcxjhb3iws01vnlhbkqjpsyvixvz564lzpiksm";
+       version = "3.16.1";
+       sha256 = "09z4ar0rip79gzf7a8bm6l2lx71y4cvh1dxpr4qjvys2mql7kb1k";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base HUnit QuickCheck test-framework test-framework-hunit
@@ -73363,8 +73473,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-interpreter";
-       version = "3.16";
-       sha256 = "1l512bnkdhldg3qy02pp84c83zd08jc7nfvqqnbsl9a446qwlmic";
+       version = "3.16.1";
+       sha256 = "0lklzprscm02dhd78ny5i34c7820571k78abjblcbjnwrkd6hm8h";
        libraryHaskellDepends = [ base copilot-core pretty ];
        testHaskellDepends = [
          base copilot-core copilot-prettyprinter pretty QuickCheck
@@ -73382,8 +73492,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.16";
-       sha256 = "0a0r6pkkpbmjwfqlwgr0f652g8h5764q2vx1crw1j0ilk4j09c0v";
+       version = "3.16.1";
+       sha256 = "0yvc23x49ajc0mzcxcsxkx3gyqx3jivlhcsh8898c9wf1rqkwb51";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-interpreter
          copilot-theorem data-reify mtl
@@ -73401,8 +73511,8 @@ self: {
     ({ mkDerivation, base, containers, copilot-language, mtl, parsec }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.16";
-       sha256 = "14cmc623di13kz223mg07baxi2gwm2pwih7w9kvy2g7j4rbaip5l";
+       version = "3.16.1";
+       sha256 = "05admi6aiz96ly898wgpzxfp21h8s7q1x2fy2hb3ya5a1z6vz6r3";
        libraryHaskellDepends = [
          base containers copilot-language mtl parsec
        ];
@@ -73415,8 +73525,8 @@ self: {
     ({ mkDerivation, base, copilot-core, pretty }:
      mkDerivation {
        pname = "copilot-prettyprinter";
-       version = "3.16";
-       sha256 = "175vs3wc9igzf6fggb5b9lbvx9za80xng9k7clq28404rn6qn0mw";
+       version = "3.16.1";
+       sha256 = "1gacx9j3ngsv590qqx35la0n2y58898qki4hr3ynj4l63b7566m4";
        libraryHaskellDepends = [ base copilot-core pretty ];
        description = "A prettyprinter of Copilot Specifications";
        license = lib.licenses.bsd3;
@@ -73446,8 +73556,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.16";
-       sha256 = "07vb547irkxgxpwzqajkwqacbxmi8az1vnp4fch0hpdhfsmwj4cm";
+       version = "3.16.1";
+       sha256 = "0j8pvc0w512cnh8af3vkcdf651nbz2g84frccam24aiy38ikvnmp";
        libraryHaskellDepends = [
          base bimap bv-sized containers copilot-core copilot-prettyprinter
          data-default directory libBF mtl panic parameterized-utils parsec
@@ -75048,7 +75158,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Secure Credentials Storage and Distribution";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "credentials-cli" = callPackage
@@ -75073,7 +75182,6 @@ self: {
        ];
        description = "Secure Credentials Administration";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "credentials";
      }) {};
 
@@ -75765,6 +75873,8 @@ self: {
        pname = "crypto-keys-ssh";
        version = "0.1.0.0";
        sha256 = "17r15w7rw6klcw5nlq6acka7rq3kba3vikwggb2fssr8x7wfrm5r";
+       revision = "1";
+       editedCabalFile = "1za578r04gdvmmanf4a458q7cdv6zpa6w4h9rzmj96aar95vgz83";
        libraryHaskellDepends = [
          base base64-bytestring binary bytestring
        ];
@@ -77650,8 +77760,8 @@ self: {
      }:
      mkDerivation {
        pname = "currycarbon";
-       version = "0.2.1.1";
-       sha256 = "07r6pzwihdmw1c7rp3lvhka5zcm2pk1knkp8z2nzlf8a3szm63kq";
+       version = "0.2.1.2";
+       sha256 = "0f2c4600058syw3qpy5c7jzxc2q0n2zvvjvad2ffv52zfbvysk20";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -81491,6 +81601,34 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "dbus_1_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, conduit, containers
+     , criterion, deepseq, directory, exceptions, extra, filepath, lens
+     , network, parsec, process, QuickCheck, random, resourcet, split
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell, temporary
+     , text, th-lift, transformers, unix, vector, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "dbus";
+       version = "1.3.0";
+       sha256 = "0qvlq4qaxvpyx9ckiaqlj210gm98fqbd9f7bwq021vwdm3xwzh3c";
+       libraryHaskellDepends = [
+         base bytestring cereal conduit containers deepseq exceptions
+         filepath lens network parsec random split template-haskell text
+         th-lift transformers unix vector xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring cereal containers directory extra filepath network
+         parsec process QuickCheck random resourcet tasty tasty-hunit
+         tasty-quickcheck temporary text transformers unix vector
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       doCheck = false;
+       description = "A client library for the D-Bus IPC system";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "dbus-client" = callPackage
     ({ mkDerivation, base, containers, dbus-core, monads-tf, text
      , transformers
@@ -82040,10 +82178,10 @@ self: {
      }:
      mkDerivation {
        pname = "dear-imgui";
-       version = "2.1.3";
-       sha256 = "1czb3g51wh761r0s7d9v47fyx926r1prp3agi5cxpa34vwmghr9x";
-       revision = "2";
-       editedCabalFile = "08sif5iw24l329ikzfa2540f44667f95ck78a13ggl0wp7kjxzjx";
+       version = "2.2.0";
+       sha256 = "050xpwsx2ydpq8p81i3dc37a9f0p8z41i3vp84wr26psrqbnv6lx";
+       revision = "1";
+       editedCabalFile = "1x52qa09p3ql8sykcj3r46bln0gds5c6rix9sybf2vg39j14igfz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -84083,20 +84221,22 @@ self: {
 
   "desktop-portal" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
-     , data-default-class, dbus, hspec, hspec-discover
-     , hspec-expectations, modern-uri, process, random, text
+     , data-default-class, dbus, directory, hspec, hspec-discover
+     , hspec-expectations, modern-uri, network, process, random
+     , temporary, text, unix
      }:
      mkDerivation {
        pname = "desktop-portal";
-       version = "0.2.1.0";
-       sha256 = "0fa1d5fqvfixbvl50yrqhqiw1dc4wkjlh7qdd9iavn44iz4b06zq";
+       version = "0.3.1.0";
+       sha256 = "00pr8l4m1g5mcnxv8w8dab2iah1935fq79az7chsa6jgki6lflqf";
        libraryHaskellDepends = [
-         base binary bytestring containers data-default-class dbus
-         modern-uri random text
+         base binary bytestring containers data-default-class dbus directory
+         modern-uri network random text unix
        ];
        testHaskellDepends = [
-         base binary bytestring containers data-default-class dbus hspec
-         hspec-expectations modern-uri process random text
+         base binary bytestring containers data-default-class dbus directory
+         hspec hspec-expectations modern-uri network process random
+         temporary text unix
        ];
        testToolDepends = [ hspec-discover ];
        description = "Desktop Portal";
@@ -84274,8 +84414,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.4.1";
-       sha256 = "0fz9krv450kn4qymgggcgfkmrxgzcsgcbwbbfw2cqa0rvslw71g8";
+       version = "0.4.2";
+       sha256 = "038bk9qaa1qx4c7g2g7m5vqfbmcbpm0ybm64znhdc63dpyzninm8";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -85406,14 +85546,15 @@ self: {
 
   "di-monad" = callPackage
     ({ mkDerivation, base, containers, di-core, exceptions, mtl, pipes
-     , stm, transformers
+     , stm, streaming, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "di-monad";
-       version = "1.3.1";
-       sha256 = "190n6hwa7xs4b75bfvk4k2kn3rq8hkgs52f9plxfixlrl7jympgm";
+       version = "1.3.2";
+       sha256 = "1j8s44kg2r5s59vjy7g8d7pg14nkafpdsg4xn17p3v26jyfzcsmh";
        libraryHaskellDepends = [
-         base containers di-core exceptions mtl pipes stm transformers
+         base containers di-core exceptions mtl pipes stm streaming
+         transformers unliftio-core
        ];
        description = "mtl flavoured typeful hierarchical structured logging for di-core";
        license = lib.licenses.bsd3;
@@ -85997,8 +86138,8 @@ self: {
        pname = "diagrams-solve";
        version = "0.1.3";
        sha256 = "09qqwcvbvd3a0j5fnp40dbzw0i3py9c7kgizj2aawajwbyjvpd17";
-       revision = "1";
-       editedCabalFile = "0dp61igq17l7hvhs3167skdi1vmlm773qrrmsqmj08951l4cgv0h";
+       revision = "2";
+       editedCabalFile = "08l6q5751lrpyrjiliig94a2s7ahlm2045bp5mngnl9nf6xr1rwb";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -86518,6 +86659,8 @@ self: {
        pname = "digest";
        version = "0.0.1.7";
        sha256 = "02jzw0bsng87y1n2kgpy7vb30lvqsnpbfd8dpg4hmvbg9s06qgdj";
+       revision = "1";
+       editedCabalFile = "0wh34kyag2vhwvsdwv8qmvm13gy32nc94yfyqfdnl67nyc2sx8wl";
        libraryHaskellDepends = [ base bytestring ];
        libraryPkgconfigDepends = [ zlib ];
        description = "Various hashes for bytestrings; CRC32 and Adler32 for now";
@@ -87563,8 +87706,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.15.6";
-       sha256 = "02vf4a9pz67s0l5y6il14vqsicifzj88ak8nw2sa758gccyjj6mv";
+       version = "1.16.0";
+       sha256 = "04zbpb5g9nanpzxnr94z6g0pr3jm74im4r70wz3lwyknl6r106bc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88862,8 +89005,8 @@ self: {
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.9.5.1";
-       sha256 = "1fiman4bwgc2rz1nwvcbzj6xflh9fr4l4fr32x2i8q8zxhisd541";
+       version = "0.9.6";
+       sha256 = "18i1vw4k50pavimhdz3ym9wh4ahn2s540i6p9qja05vgbh65wy7l";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -88884,6 +89027,8 @@ self: {
        pname = "dlist";
        version = "1.0";
        sha256 = "0581a60xw4gw7pmqlmg5w2hr4hm9yjgx4c2z6v63y5xv51rn6g8p";
+       revision = "1";
+       editedCabalFile = "0s758nqs16mzj3vn6dyg7lfsd3c65xzycbil4xvzqf761k96kzsm";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Difference lists";
@@ -89788,30 +89933,30 @@ self: {
        mainProgram = "doctest";
      }) {};
 
-  "doctest_0_22_0" = callPackage
-    ({ mkDerivation, base, base-compat, code-page, deepseq, directory
-     , exceptions, filepath, ghc, ghc-paths, hspec, hspec-core
-     , hspec-discover, HUnit, mockery, process, QuickCheck, setenv
-     , silently, stringbuilder, syb, transformers
+  "doctest_0_22_1" = callPackage
+    ({ mkDerivation, base, code-page, deepseq, directory, exceptions
+     , filepath, ghc, ghc-paths, hspec, hspec-core, hspec-discover
+     , HUnit, mockery, process, QuickCheck, setenv, silently
+     , stringbuilder, syb, transformers
      }:
      mkDerivation {
        pname = "doctest";
-       version = "0.22.0";
-       sha256 = "1fkz2ygj3q88m2mf1b6c5yw29kmacip7r8xn3xq88yxxd39m6cvn";
+       version = "0.22.1";
+       sha256 = "0xszdclizmlf5gsnn4fwbvncjs6fbif9a5956pnxr50g5fxfi6xk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base-compat code-page deepseq directory exceptions filepath
-         ghc ghc-paths process syb transformers
+         base code-page deepseq directory exceptions filepath ghc ghc-paths
+         process syb transformers
        ];
        executableHaskellDepends = [
-         base base-compat code-page deepseq directory exceptions filepath
-         ghc ghc-paths process syb transformers
+         base code-page deepseq directory exceptions filepath ghc ghc-paths
+         process syb transformers
        ];
        testHaskellDepends = [
-         base base-compat code-page deepseq directory exceptions filepath
-         ghc ghc-paths hspec hspec-core HUnit mockery process QuickCheck
-         setenv silently stringbuilder syb transformers
+         base code-page deepseq directory exceptions filepath ghc ghc-paths
+         hspec hspec-core HUnit mockery process QuickCheck setenv silently
+         stringbuilder syb transformers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Test interactive Haskell examples";
@@ -90262,16 +90407,16 @@ self: {
 
   "domain-auth" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, attoparsec, base
-     , bytestring, containers, cryptonite, dns, doctest, iproute, memory
-     , network, pretty-simple, word8, x509
+     , bytestring, containers, crypton, crypton-x509, dns, doctest
+     , iproute, memory, network, pretty-simple, word8
      }:
      mkDerivation {
        pname = "domain-auth";
-       version = "0.2.2";
-       sha256 = "0ipmj209wdvqy8cncsq2bbnnms2ymd3n5kbiv2ydm8ahpiav5dhx";
+       version = "0.2.3";
+       sha256 = "1kwc7rgqcv5jyi8071cbfac5q3anhdd0jl1kq5x9bnync6lriv69";
        libraryHaskellDepends = [
          asn1-encoding asn1-types attoparsec base bytestring containers
-         cryptonite dns iproute memory network word8 x509
+         crypton crypton-x509 dns iproute memory network word8
        ];
        testHaskellDepends = [ base doctest pretty-simple ];
        description = "Domain authentication library";
@@ -91255,8 +91400,8 @@ self: {
     ({ mkDerivation, base, containers, hspec, QuickCheck }:
      mkDerivation {
        pname = "drawille";
-       version = "0.1.2.0";
-       sha256 = "1prpca2glkh8rwqwppjnqlqw71pba221hmcn9jbnih86gbl8w65q";
+       version = "0.1.3.0";
+       sha256 = "16wkxnlhfqc8lmnc5wg2by8vdj4r5varnbhdhyapxcajakfs2d2f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers ];
@@ -91994,17 +92139,19 @@ self: {
      }) {};
 
   "dunai" = callPackage
-    ({ mkDerivation, base, MonadRandom, simple-affine-space, tasty
-     , tasty-hunit, transformers, transformers-base
+    ({ mkDerivation, base, criterion, filepath, MonadRandom
+     , simple-affine-space, tasty, tasty-hunit, time, transformers
+     , transformers-base
      }:
      mkDerivation {
        pname = "dunai";
-       version = "0.11.1";
-       sha256 = "1cypw949jqf3m8xpic5niq385a23k61fr9p8kbys8vxnskykvj23";
+       version = "0.11.2";
+       sha256 = "0zyd1dx6g7i8d9iza2y1iljyz8xca1z3nfywjhmjnj2qsarlkw13";
        libraryHaskellDepends = [
          base MonadRandom simple-affine-space transformers transformers-base
        ];
        testHaskellDepends = [ base tasty tasty-hunit transformers ];
+       benchmarkHaskellDepends = [ base criterion filepath time ];
        description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
        license = lib.licenses.bsd3;
        maintainers = [ lib.maintainers.turion ];
@@ -92030,8 +92177,8 @@ self: {
     ({ mkDerivation, base, dunai, normaldistribution, QuickCheck }:
      mkDerivation {
        pname = "dunai-test";
-       version = "0.11.1";
-       sha256 = "19v5rqyfl3dany833bavl8893nzjj3l99dsly71bkwq26y0j9l82";
+       version = "0.11.2";
+       sha256 = "18f45db2n45khn2vxs1wpqsyapy6iivbmv86snx1d0hd2f9bfmx1";
        libraryHaskellDepends = [
          base dunai normaldistribution QuickCheck
        ];
@@ -92039,6 +92186,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dupIO" = callPackage
+    ({ mkDerivation, base, ghc-prim, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "dupIO";
+       version = "0.1.0";
+       sha256 = "1j2xi1hskmgkknmg01fbkfa3ry2a1f7mzkvjhkqlsz27v3f3q4lm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ghc-prim ];
+       testHaskellDepends = [ base ghc-prim tasty tasty-hunit ];
+       description = "Duplicate any closure";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "duplo" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , base64-bytestring, bytestring, containers, directory
@@ -92276,8 +92439,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "dwergaz";
-       version = "0.2.0.5";
-       sha256 = "0g88xm00j0b5k20rw7fdzmswn1migqs6sw3sm0yy9na4b5l1mf4p";
+       version = "0.2.0.6";
+       sha256 = "0cm4jb40iflg8vbnaplp2qbzhjdm53zfkigh0jgml5jjf1yzvc8p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "A minimal testing library";
@@ -92693,7 +92856,6 @@ self: {
        ];
        description = "Typesafe library for working with DynamoDB database";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dynloader" = callPackage
@@ -93260,7 +93422,6 @@ self: {
        ];
        description = "A handy tool for uploading unikernels to Amazon's EC2";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "ec2-unikernel";
      }) {};
 
@@ -93900,6 +94061,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "effectful_2_3_0_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , effectful-core, exceptions, lifted-base, primitive, process, stm
+     , tasty, tasty-bench, tasty-hunit, text, time, unix, unliftio
+     }:
+     mkDerivation {
+       pname = "effectful";
+       version = "2.3.0.0";
+       sha256 = "03yr8hr1aahqfm04jdn7nnfblvxpj1zgrv8c9ymgjnn6gxjvwhk7";
+       libraryHaskellDepends = [
+         async base bytestring directory effectful-core process stm time
+         unliftio
+       ];
+       testHaskellDepends = [
+         base containers effectful-core exceptions lifted-base primitive
+         tasty tasty-hunit unliftio
+       ];
+       benchmarkHaskellDepends = [
+         async base tasty-bench text unix unliftio
+       ];
+       description = "An easy to use, performant extensible effects library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "effectful-core" = callPackage
     ({ mkDerivation, base, containers, exceptions, monad-control
      , primitive, transformers-base, unliftio-core
@@ -93916,6 +94102,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "effectful-core_2_3_0_0" = callPackage
+    ({ mkDerivation, base, containers, exceptions, monad-control
+     , primitive, transformers-base, unliftio-core
+     }:
+     mkDerivation {
+       pname = "effectful-core";
+       version = "2.3.0.0";
+       sha256 = "1yrywdzys1fsg0403g5slg88a33hnk5cm0cshrb2idhsv77bfhkv";
+       libraryHaskellDepends = [
+         base containers exceptions monad-control primitive
+         transformers-base unliftio-core
+       ];
+       description = "An easy to use, performant extensible effects library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "effectful-plugin" = callPackage
     ({ mkDerivation, base, containers, effectful-core, ghc }:
      mkDerivation {
@@ -93928,6 +94131,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "effectful-plugin_1_1_0_2" = callPackage
+    ({ mkDerivation, base, containers, effectful-core, ghc }:
+     mkDerivation {
+       pname = "effectful-plugin";
+       version = "1.1.0.2";
+       sha256 = "1g4ic03aad2sc62jxspcq5zsisqmr03fs39ganzcklh86asmdb8h";
+       libraryHaskellDepends = [ base containers effectful-core ghc ];
+       testHaskellDepends = [ base effectful-core ];
+       description = "A GHC plugin for improving disambiguation of effects";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "effectful-st" = callPackage
     ({ mkDerivation, base, effectful-core, primitive }:
      mkDerivation {
@@ -94528,7 +94744,6 @@ self: {
        ];
        description = "An ekg backend for Amazon Cloudwatch";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ekg-core" = callPackage
@@ -94907,6 +95122,8 @@ self: {
        pname = "eliminators";
        version = "0.9.3";
        sha256 = "0pmh4ds1xmk464988airlwdj47mbq9xzgvfmpsp7dw84k0226pyg";
+       revision = "1";
+       editedCabalFile = "0nxnc1y8lnwmbg1igd8mndkav0ilvb20pbs0d2yvxr032bi35jc4";
        libraryHaskellDepends = [
          base extra singleton-nats singletons-base template-haskell text
          th-abstraction th-desugar
@@ -95902,20 +96119,20 @@ self: {
      , blaze-html, bytestring, commonmark, commonmark-extensions
      , commonmark-pandoc, commonmark-simple, commonmark-wikilink
      , containers, data-default, dependent-sum, deriving-aeson
-     , directory, ema, filepath, filepattern, fsnotify, hedgehog, heist
-     , heist-extra, hspec, hspec-hedgehog, ixset-typed, lvar, map-syntax
-     , megaparsec, monad-logger, monad-logger-extras, mtl
+     , directory, ema, feed, filepath, filepattern, fsnotify, hedgehog
+     , heist, heist-extra, hspec, hspec-hedgehog, ixset-typed, lvar
+     , map-syntax, megaparsec, monad-logger, monad-logger-extras, mtl
      , neat-interpolation, optics-core, optics-th, optparse-applicative
-     , pandoc, pandoc-link-context, pandoc-types, parsec, path-tree
-     , process-extras, profunctors, relude, shower, some, stm, tagged
-     , tagtree, tailwind, text, time, tomland, unionmount, unliftio
-     , unordered-containers, uri-encode, url-slug, uuid, which
-     , with-utf8, xmlhtml, yaml
+     , pandoc, pandoc-link-context, pandoc-lua-engine, pandoc-types
+     , parsec, path-tree, process-extras, profunctors, relude, shower
+     , some, stm, tagged, tagtree, tailwind, text, time, tomland
+     , unionmount, unliftio, unordered-containers, uri-encode, url-slug
+     , uuid, which, with-utf8, xmlhtml, yaml
      }:
      mkDerivation {
        pname = "emanote";
-       version = "1.0.2.0";
-       sha256 = "0g6mla1izms1i4l08kzg0js56gz54z87458k0k3w7fnj5f1576y7";
+       version = "1.2.0.0";
+       sha256 = "1797n6s86dx64wpvng9zvzpww6qw70i4a2l06bzvvw8xsdr031qh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -95923,43 +96140,43 @@ self: {
          aeson aeson-extra aeson-optics async base blaze-html bytestring
          commonmark commonmark-extensions commonmark-pandoc
          commonmark-simple commonmark-wikilink containers data-default
-         dependent-sum deriving-aeson directory ema filepath filepattern
-         fsnotify hedgehog heist heist-extra hspec hspec-hedgehog
-         ixset-typed lvar map-syntax megaparsec monad-logger
+         dependent-sum deriving-aeson directory ema feed filepath
+         filepattern fsnotify hedgehog heist heist-extra hspec
+         hspec-hedgehog ixset-typed lvar map-syntax megaparsec monad-logger
          monad-logger-extras mtl neat-interpolation optics-core optics-th
-         optparse-applicative pandoc pandoc-link-context pandoc-types parsec
-         path-tree process-extras profunctors relude shower some stm tagged
-         tagtree tailwind text time tomland unionmount unliftio
-         unordered-containers uri-encode url-slug uuid which with-utf8
-         xmlhtml yaml
+         optparse-applicative pandoc pandoc-link-context pandoc-lua-engine
+         pandoc-types parsec path-tree process-extras profunctors relude
+         shower some stm tagged tagtree tailwind text time tomland
+         unionmount unliftio unordered-containers uri-encode url-slug uuid
+         which with-utf8 xmlhtml yaml
        ];
        executableHaskellDepends = [
          aeson aeson-extra aeson-optics async base blaze-html bytestring
          commonmark commonmark-extensions commonmark-pandoc
          commonmark-simple commonmark-wikilink containers data-default
-         dependent-sum deriving-aeson directory ema filepath filepattern
-         fsnotify hedgehog heist heist-extra hspec hspec-hedgehog
-         ixset-typed lvar map-syntax megaparsec monad-logger
+         dependent-sum deriving-aeson directory ema feed filepath
+         filepattern fsnotify hedgehog heist heist-extra hspec
+         hspec-hedgehog ixset-typed lvar map-syntax megaparsec monad-logger
          monad-logger-extras mtl neat-interpolation optics-core optics-th
-         optparse-applicative pandoc pandoc-link-context pandoc-types parsec
-         path-tree process-extras profunctors relude shower some stm tagged
-         tagtree tailwind text time tomland unionmount unliftio
-         unordered-containers uri-encode url-slug uuid which with-utf8
-         xmlhtml yaml
+         optparse-applicative pandoc pandoc-link-context pandoc-lua-engine
+         pandoc-types parsec path-tree process-extras profunctors relude
+         shower some stm tagged tagtree tailwind text time tomland
+         unionmount unliftio unordered-containers uri-encode url-slug uuid
+         which with-utf8 xmlhtml yaml
        ];
        testHaskellDepends = [
          aeson aeson-extra aeson-optics async base blaze-html bytestring
          commonmark commonmark-extensions commonmark-pandoc
          commonmark-simple commonmark-wikilink containers data-default
-         dependent-sum deriving-aeson directory ema filepath filepattern
-         fsnotify hedgehog heist heist-extra hspec hspec-hedgehog
-         ixset-typed lvar map-syntax megaparsec monad-logger
+         dependent-sum deriving-aeson directory ema feed filepath
+         filepattern fsnotify hedgehog heist heist-extra hspec
+         hspec-hedgehog ixset-typed lvar map-syntax megaparsec monad-logger
          monad-logger-extras mtl neat-interpolation optics-core optics-th
-         optparse-applicative pandoc pandoc-link-context pandoc-types parsec
-         path-tree process-extras profunctors relude shower some stm tagged
-         tagtree tailwind text time tomland unionmount unliftio
-         unordered-containers uri-encode url-slug uuid which with-utf8
-         xmlhtml yaml
+         optparse-applicative pandoc pandoc-link-context pandoc-lua-engine
+         pandoc-types parsec path-tree process-extras profunctors relude
+         shower some stm tagged tagtree tailwind text time tomland
+         unionmount unliftio unordered-containers uri-encode url-slug uuid
+         which with-utf8 xmlhtml yaml
        ];
        description = "Emanate a structured view of your plain-text notes";
        license = lib.licenses.agpl3Only;
@@ -97092,8 +97309,8 @@ self: {
      }:
      mkDerivation {
        pname = "epub-tools";
-       version = "3.0";
-       sha256 = "0wgylv4jsd9c7bpfnh82yh05vgli907c9fgldvv207lj4bhmdvsz";
+       version = "3.1";
+       sha256 = "10xzdj59axw2bxv4zanx5ykrbaj6vrs90dp4fycywv7mz0jd2r63";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -97433,12 +97650,16 @@ self: {
      }) {};
 
   "error-codes" = callPackage
-    ({ mkDerivation, base, primitive, primitive-unlifted }:
+    ({ mkDerivation, base, bytestring, primitive, primitive-unlifted
+     , text, text-short
+     }:
      mkDerivation {
        pname = "error-codes";
-       version = "0.1.1.0";
-       sha256 = "0sz2wr2aa87nj8k3izrqcwzgl7cqfa5qsyghny8iv1sp4xhpvpwn";
-       libraryHaskellDepends = [ base primitive primitive-unlifted ];
+       version = "0.1.2.0";
+       sha256 = "1ylbbanzwxh2ggqj1f4c4mib91swvvp3mk5cxn1d2ppkkssx7h8z";
+       libraryHaskellDepends = [
+         base bytestring primitive primitive-unlifted text text-short
+       ];
        testHaskellDepends = [ base ];
        description = "Error code functions";
        license = lib.licenses.bsd3;
@@ -97891,8 +98112,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.5.10.1";
-       sha256 = "09lwrvlxr6isfk1b9qkhsg268grbnjw7lqh3fxjpks84yq7ymc2y";
+       version = "3.5.10.3";
+       sha256 = "0amvg1857gnqi4g8x3dcig3l1mfvqxsfm4l61kjixbfb7zfksn0i";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged template-haskell text time
@@ -98615,26 +98836,28 @@ self: {
 
   "evdev" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, containers, extra
-     , filepath-bytestring, libevdev, monad-loops, rawfilepath, tasty
-     , tasty-hunit, tasty-quickcheck, time, unix
+     , filepath-bytestring, libevdev, monad-loops, mtl, rawfilepath
+     , tasty, tasty-hunit, tasty-quickcheck, time, unix
      }:
      mkDerivation {
        pname = "evdev";
-       version = "2.2.0";
-       sha256 = "128i0rlxdskd63jjz887c0mjrrcm0v4xac8k2m0csglp7jap1cb7";
+       version = "2.3.1.1";
+       sha256 = "1jq7ayi4rv8v02wyxva9776iqymv0ac1h7jbfxf96gmk5ifwyinf";
        libraryHaskellDepends = [
          base bytestring containers extra filepath-bytestring monad-loops
-         rawfilepath time unix
+         mtl rawfilepath time unix
        ];
        libraryPkgconfigDepends = [ libevdev ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
          base bytestring containers extra filepath-bytestring monad-loops
-         rawfilepath tasty tasty-hunit tasty-quickcheck time unix
+         mtl rawfilepath tasty tasty-hunit tasty-quickcheck time unix
        ];
        description = "Bindings to libevdev";
        license = lib.licenses.bsd3;
        platforms = lib.platforms.linux;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) libevdev;};
 
   "evdev-streamly" = callPackage
@@ -99622,8 +99845,8 @@ self: {
      }:
      mkDerivation {
        pname = "exception-transformers";
-       version = "0.4.0.11";
-       sha256 = "1zmd2s40m86c9mhv32l5bvvf5r52cgpxvb4v5phyc3pjwlr7m8g5";
+       version = "0.4.0.12";
+       sha256 = "11qlr78hlp1ivsx2l06sac56wj900l6diwh6dv7jfzgary8dax4k";
        libraryHaskellDepends = [
          base fail transformers transformers-compat
        ];
@@ -99639,8 +99862,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "exception-via";
-       version = "0.1.0.0";
-       sha256 = "046f787jw3v1c61q9c9canq0m266wv39rsk0613fyrhl96sss66m";
+       version = "0.2.0.0";
+       sha256 = "1nxg0ckvh5ibhbh2pjfc7qid0qlvmacw8lrsyl7akrnxazr2s5md";
        libraryHaskellDepends = [ base template-haskell ];
        description = "DerivingVia for your hierarchical exceptions";
        license = lib.licenses.bsd3;
@@ -100235,8 +100458,8 @@ self: {
      }:
      mkDerivation {
        pname = "exon";
-       version = "1.4.0.0";
-       sha256 = "1xmpbr53yrdhx9dfh6b6al9r146pdm4cv17l2apr7xxqy0capsy7";
+       version = "1.5.0.0";
+       sha256 = "0j3l228ygb8gg8lgfmmajq78hv2y6078rqlmps8gs62vvbfrsnri";
        libraryHaskellDepends = [
          base flatparse generics-sop ghc-hs-meta incipit-base
          template-haskell
@@ -100245,7 +100468,7 @@ self: {
          base hedgehog incipit-base tasty tasty-hedgehog template-haskell
        ];
        benchmarkHaskellDepends = [ base criterion incipit-base ];
-       description = "Customizable Quasiquote Interpolation";
+       description = "Customizable quasiquote interpolation";
        license = "BSD-2-Clause-Patent";
      }) {};
 
@@ -100255,8 +100478,8 @@ self: {
      }:
      mkDerivation {
        pname = "exotic-list-monads";
-       version = "1.0.1";
-       sha256 = "0nazyvsyh4721nq81pl6kmlwc0wxlfhxjp77l38s86prg0iwpvz0";
+       version = "1.1.0";
+       sha256 = "155h7zl431j5dr0qgds2dlavm2mqg1xjadp8pknrjbfyh8sz95g3";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec hspec-core QuickCheck ];
        testToolDepends = [ hspec-discover ];
@@ -101057,8 +101280,8 @@ self: {
      }:
      mkDerivation {
        pname = "extism";
-       version = "0.3.0";
-       sha256 = "1yb7s7ryaph8qpnbmkrx3xlhc6anli8d1gifmjmh1k67zq0isiyc";
+       version = "0.5.0";
+       sha256 = "1yb0lw7bpinnnqllkjxad83g1lh2gx68w9c63jplkivygws800n2";
        libraryHaskellDepends = [ base bytestring extism-manifest json ];
        librarySystemDepends = [ extism ];
        testHaskellDepends = [ base bytestring HUnit ];
@@ -101072,8 +101295,8 @@ self: {
     ({ mkDerivation, base, base64-bytestring, bytestring, json }:
      mkDerivation {
        pname = "extism-manifest";
-       version = "0.2.0";
-       sha256 = "1rhs949c7bmdcz209f0ms482dvc3l789hbmd3ywrps8fhbny4hc4";
+       version = "0.3.0";
+       sha256 = "0cfp8akz64ama88ls5885dvvxfswy1w709gl2h9qp0ga6fvkx0xf";
        libraryHaskellDepends = [ base base64-bytestring bytestring json ];
        description = "Extism manifest bindings";
        license = lib.licenses.bsd3;
@@ -102785,8 +103008,8 @@ self: {
        pname = "fclabels";
        version = "2.0.5.1";
        sha256 = "0g4ca5pm2bafsnpari7wqhy79i5qs8njb3kdknk0xsrazdsl174k";
-       revision = "1";
-       editedCabalFile = "03df1mvfsnm4zbppvig7y49y935qxvkz4b5y24b17hsdj4l1nnyk";
+       revision = "2";
+       editedCabalFile = "1my11j22fayfcm28h676mjrvnjyd4xsd8lpsc3pdc7jna7zh1hhf";
        libraryHaskellDepends = [
          base base-orphans mtl template-haskell transformers
        ];
@@ -105211,23 +105434,28 @@ self: {
      }) {};
 
   "fits-parse" = callPackage
-    ({ mkDerivation, base, binary, bytestring, data-default
-     , fast-logger, JuicyPixels, megaparsec, optparse-applicative
-     , parser-combinators, statistics, text, text-latin1, vector
+    ({ mkDerivation, base, binary, bytestring, containers, fast-logger
+     , JuicyPixels, megaparsec, microlens, microlens-th, mtl
+     , optparse-applicative, statistics, tasty, tasty-hunit, text
+     , text-latin1, vector
      }:
      mkDerivation {
        pname = "fits-parse";
-       version = "0.0.1";
-       sha256 = "13a072ribpn10hfiiqkx2bkns8rjcsf32zx4lsvxzfhm7p24p499";
+       version = "0.3.4";
+       sha256 = "0kahw1bciy793wabn5v0xzxzr2csy99byycls7g3f3q0hly2y293";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring data-default megaparsec parser-combinators
+         base binary bytestring containers megaparsec microlens microlens-th
          text text-latin1
        ];
        executableHaskellDepends = [
-         base bytestring fast-logger JuicyPixels optparse-applicative
-         statistics vector
+         base bytestring fast-logger JuicyPixels microlens microlens-th
+         optparse-applicative statistics vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers megaparsec microlens microlens-th mtl
+         tasty tasty-hunit text
        ];
        description = "Parse FITS files";
        license = lib.licenses.bsd2;
@@ -108255,8 +108483,8 @@ self: {
     ({ mkDerivation, ansi-terminal, base, doctest, hspec, text }:
      mkDerivation {
        pname = "fortytwo";
-       version = "1.0.6";
-       sha256 = "1jms8a39i6vvvdcs5ichzjcglz3dhmswldczd25gnpx5ahkl1d4r";
+       version = "2.0.0";
+       sha256 = "0yq3gl0pm1yafa0bc1i9pplz147i1ddsafh4r5lhcyr7rg2a0jq1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-terminal base text ];
@@ -108541,6 +108769,41 @@ self: {
        mainProgram = "fourmolu";
      }) {};
 
+  "fourmolu_0_14_0_0" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, array, base, binary
+     , bytestring, Cabal-syntax, containers, deepseq, Diff, directory
+     , file-embed, filepath, ghc-lib-parser, hspec, hspec-discover
+     , hspec-megaparsec, megaparsec, MemoTrie, mtl, optparse-applicative
+     , path, path-io, pretty, process, QuickCheck, scientific, syb
+     , temporary, text, th-env, yaml
+     }:
+     mkDerivation {
+       pname = "fourmolu";
+       version = "0.14.0.0";
+       sha256 = "1mnszw3lak3vmjcgp40xskjmzd526rw5rs06mnix2fahz8nkrrys";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal array base binary bytestring Cabal-syntax
+         containers deepseq Diff directory file-embed filepath
+         ghc-lib-parser megaparsec MemoTrie mtl scientific syb text yaml
+       ];
+       executableHaskellDepends = [
+         base Cabal-syntax containers directory filepath ghc-lib-parser
+         optparse-applicative text th-env yaml
+       ];
+       testHaskellDepends = [
+         base bytestring Cabal-syntax containers Diff directory filepath
+         ghc-lib-parser hspec hspec-megaparsec megaparsec path path-io
+         pretty process QuickCheck temporary text yaml
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A formatter for Haskell source code";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "fourmolu";
+     }) {};
+
   "fp-ieee" = callPackage
     ({ mkDerivation, base, doctest, ghc-bignum, hspec, hspec-core
      , integer-logarithms, QuickCheck, random, tasty-bench
@@ -108931,8 +109194,8 @@ self: {
      }:
      mkDerivation {
        pname = "freckle-app";
-       version = "1.9.2.1";
-       sha256 = "1rpdfl09v88g5lliilhd5y6rkbq30dz3b899r5yj4cmqi16kbjb5";
+       version = "1.9.4.0";
+       sha256 = "0z2hra1vc7ky1q5l6bjrnf78cdadf6dml5xzqqq085px4bcy4ca3";
        libraryHaskellDepends = [
          aeson aws-xray-client-persistent aws-xray-client-wai base Blammo
          bugsnag bytestring case-insensitive cassava conduit conduit-extra
@@ -109888,8 +110151,8 @@ self: {
     ({ mkDerivation, base, casing, hspec, hspec-discover, text }:
      mkDerivation {
        pname = "from-env";
-       version = "0.1.2.0";
-       sha256 = "0xpqzk9vc9nsqimjh35w6xjhgkxxj2arzyj038nxv199045ffn1q";
+       version = "0.1.3.0";
+       sha256 = "01bav8kcm8cirk4q4kywzn9njsl4znakzars0rl0k0pgkiqb9f35";
        libraryHaskellDepends = [ base casing text ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -111344,8 +111607,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.25.2";
-       sha256 = "1mnpcagqvq37rlcf2a1pliajl7yjn0r6b3nq8n9fi3m95ngv11vq";
+       version = "0.25.3";
+       sha256 = "0vqww2fmn2ksnxwrkzmxizgcnd0k20dgq9v20fqnn3xkyi7a5das";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111368,7 +111631,9 @@ self: {
        ];
        description = "An optimising compiler for a functional, array-oriented language";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "futhark";
+       broken = true;
      }) {};
 
   "futhark-data" = callPackage
@@ -112252,6 +112517,44 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gbs-downloader" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, asn1-types, async, base
+     , base32, base64-bytestring, binary, bytestring, connection
+     , containers, crypto-api, cryptonite, data-default-class
+     , exceptions, hedgehog, http-client, http-client-tls, http-types
+     , megaparsec, memory, network-uri, servant-client
+     , servant-client-core, tahoe-chk, tahoe-directory
+     , tahoe-great-black-swamp, tahoe-ssk, tasty, tasty-hedgehog
+     , tasty-hunit, text, x509, yaml
+     }:
+     mkDerivation {
+       pname = "gbs-downloader";
+       version = "0.1.0.0";
+       sha256 = "1x873y2vvj4ddyyf4lhnz5b717xgprdhhip3l4fjwz6wbf47rc19";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base base32 base64-bytestring binary bytestring
+         connection containers data-default-class exceptions http-client
+         http-client-tls http-types network-uri servant-client
+         servant-client-core tahoe-chk tahoe-directory
+         tahoe-great-black-swamp tahoe-ssk text yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers megaparsec tahoe-chk
+         tahoe-directory tahoe-ssk text yaml
+       ];
+       testHaskellDepends = [
+         asn1-encoding asn1-types base base32 binary bytestring containers
+         crypto-api cryptonite data-default-class hedgehog http-client
+         http-types memory servant-client servant-client-core tahoe-chk
+         tahoe-ssk tasty tasty-hedgehog tasty-hunit text x509 yaml
+       ];
+       description = "A library for downloading data from a Great Black Swamp server";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gbu" = callPackage
     ({ mkDerivation, base, containers, fgl, Graphalyze, haskell98, mtl
      , regex-posix
@@ -114933,6 +115236,18 @@ self: {
        platforms = lib.platforms.x86;
      }) {};
 
+  "geomancy-layout" = callPackage
+    ({ mkDerivation, base, geomancy, gl-block }:
+     mkDerivation {
+       pname = "geomancy-layout";
+       version = "0.1";
+       sha256 = "0pwd35cydwgp6vv31dz8lwvgqdpa2jjm2lv0cnkgcfgl5lpc22wc";
+       libraryHaskellDepends = [ base geomancy gl-block ];
+       description = "Geometry and matrix manipulation";
+       license = lib.licenses.bsd3;
+       platforms = lib.platforms.x86;
+     }) {};
+
   "geos" = callPackage
     ({ mkDerivation, base, bytestring, cassava, geos, hspec, mtl
      , transformers, vector
@@ -115887,6 +116202,8 @@ self: {
        pname = "ghc-hs-meta";
        version = "0.1.2.0";
        sha256 = "13i4fcc3wfx94n75cxp00p62mnm0raf2xqj2afrzcw3q6mc0l0y4";
+       revision = "1";
+       editedCabalFile = "18wp54bnfx7ks9zvsjpykpkpr7gwqql6bq8n85mydgx9zm5638dz";
        libraryHaskellDepends = [
          base bytestring ghc ghc-boot template-haskell
        ];
@@ -116021,8 +116338,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.4.6.20230808";
-       sha256 = "1dyz7cby2ap4nii1g32f31hcqlxri880h33vr30sixms5zzy400j";
+       version = "9.4.7.20230826";
+       sha256 = "161ibbb4fyqahamykbdrfrw6zx9djk57vqj785bhrrqxys4k29d5";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -116104,8 +116421,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "9.4.6.20230808";
-       sha256 = "1s3lmmaj9aw1ykccqf7rdfnmsgbcilxavwgqm9xkhpfnzri06mqq";
+       version = "9.4.7.20230826";
+       sha256 = "0hnpalndf087mda3hirws31cxjxvgh0h618fc18y2bhmf5hy10gl";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -116197,14 +116514,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser-ex_9_6_0_1" = callPackage
+  "ghc-lib-parser-ex_9_6_0_2" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
      , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "9.6.0.1";
-       sha256 = "0a9dmn5qhy0h1zxkq03mv6w9a2g1a1difxwvg55ix8ig1r6mbr0g";
+       version = "9.6.0.2";
+       sha256 = "1fr653b4hgwxz12mvbf9wd93r83qk3qdajplrdmw85hk0f9qfq9a";
        libraryHaskellDepends = [
          base bytestring containers ghc-lib-parser uniplate
        ];
@@ -116848,8 +117165,8 @@ self: {
     ({ mkDerivation, base, containers, ghc, transformers }:
      mkDerivation {
        pname = "ghc-tcplugin-api";
-       version = "0.10.0.0";
-       sha256 = "0ynn4acij7n3vfmsm02chdi6j4m3p3cyz9f7vhhi7z9aqzawxd0l";
+       version = "0.11.0.0";
+       sha256 = "0k0hr9l3w3xf60var20by5xp0wqfcwv8x4lfcag94f9bn60cnvra";
        libraryHaskellDepends = [ base containers ghc transformers ];
        description = "An API for type-checker plugins";
        license = lib.licenses.bsd3;
@@ -117262,8 +117579,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "2.1.0.0";
-       sha256 = "1886k12lad3gm5848380q6s08hb0fmfhhbsr0azi3n2vcycc1mcy";
+       version = "2.2.0.0";
+       sha256 = "0rsai3xk50qxr234vwz6rmh1na9jxnacjibx71c3qj6pnh60ynl4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117653,8 +117970,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcup";
-       version = "0.1.19.2";
-       sha256 = "1230hs209w7j427pkibzw4x9skcji4fhsmhjxlks4c6amanianmj";
+       version = "0.1.19.5";
+       sha256 = "1cx93721jz0laakhy8krxbk51l8wxvi3wk0cpdwdcmb4jmzpivxi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117673,13 +117990,14 @@ self: {
          cabal-plan containers deepseq directory filepath haskus-utils-types
          haskus-utils-variant libarchive megaparsec mtl optparse-applicative
          pretty pretty-terminal process resourcet safe safe-exceptions
-         tagsoup template-haskell temporary text unix unordered-containers
-         uri-bytestring utf8-string vector versions yaml-streamly
+         tagsoup template-haskell temporary text time unix
+         unordered-containers uri-bytestring utf8-string vector versions
+         yaml-streamly
        ];
        testHaskellDepends = [
          base bytestring containers directory filepath generic-arbitrary
          hspec hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt
-         streamly text unix uri-bytestring versions
+         streamly text time unix uri-bytestring versions
        ];
        testToolDepends = [ hspec-discover ];
        description = "ghc toolchain installer";
@@ -118315,8 +118633,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gst";
-       version = "1.0.28";
-       sha256 = "00svvri3ckpr9c12kx6081sq17vhgbij6dzr3d674p7cq1853dqj";
+       version = "1.0.29";
+       sha256 = "1cfyrvkgdhdpgmpxl5dg9s5slz3pqbg9gb9dp1alzjjf8n1fg39h";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
        libraryHaskellDepends = [
          base bytestring containers gi-glib gi-gobject haskell-gi
@@ -119460,8 +119778,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "10.20230802";
-       sha256 = "05vjc3wg7yxh37pwffc9afjrbmza3yjc8yzy4kcid5fbkpnrrs67";
+       version = "10.20230828";
+       sha256 = "0pb6834dwjs9kdki977rfkdyg58dfzy8wfwvswrz3n7h6bcnjd0b";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -119519,8 +119837,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-brunch";
-       version = "1.6.0.0";
-       sha256 = "1crpcv68lpfl0cs6cxmi7mcd1vawmif6qz1n0j2in49ypr75qkdk";
+       version = "1.7.2.0";
+       sha256 = "0v11y1ashifgcgyfrm58940sckzcfamgnszgv1c6lcjn9yvglvf0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -121574,8 +121892,8 @@ self: {
      }:
      mkDerivation {
        pname = "glualint";
-       version = "1.25.0";
-       sha256 = "042j1dpndzxdmskvnc8hsna6hnws1xk0klyxnkn5c5ammva4hhgv";
+       version = "1.26.0";
+       sha256 = "1ywvffzmpk4igzj46f2bck938hlim8kfbf5nh2mv4jv80k0535g5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124732,8 +125050,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-server-api";
-       version = "0.4.1.0";
-       sha256 = "1l0cgj8z210a9b4xa4y6rvnfgmxzj2pjpk0r6hxkb2qwjkrnbs8h";
+       version = "0.4.1.1";
+       sha256 = "06vbkf17dqss5cv9gfkqcgsnrx6hwx511ygc21w8h3jz3djsgf56";
        libraryHaskellDepends = [
          aeson aeson-casing base base64-bytestring bytestring HsOpenSSL
          http-api-data http-client http-client-tls http-media mime-mail
@@ -126996,7 +127314,6 @@ self: {
        ];
        description = "Command line utility to manage AWS ECS resources";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "groot";
      }) {};
 
@@ -128440,8 +128757,8 @@ self: {
      }:
      mkDerivation {
        pname = "h-raylib";
-       version = "4.6.0.6";
-       sha256 = "0hq60qb10izjgc8d44762cj5fvnb93qs4ajaqcmjn11kj01z8a8q";
+       version = "4.6.0.7";
+       sha256 = "0spgwi9d33srx8r04jfv0x73xakc9s6489w8zgig0gqm40ry9zdm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers exceptions lens ];
@@ -128451,6 +128768,8 @@ self: {
        description = "Raylib bindings for Haskell";
        license = lib.licenses.asl20;
        badPlatforms = lib.platforms.darwin;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {c = null; inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
          inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
          inherit (pkgs.xorg) libXi; inherit (pkgs.xorg) libXinerama; 
@@ -129549,8 +129868,8 @@ self: {
        pname = "hackage-cli";
        version = "0.1.0.1";
        sha256 = "023gnhdxwn36k3pd74j5jcykqbrj7nvp131mg761h8913h9ldw1r";
-       revision = "3";
-       editedCabalFile = "10sy9bf7kqibqmpjdhh6lbbqs7yyzlpim7za76v8pkm638hvn56x";
+       revision = "4";
+       editedCabalFile = "0vg0l95gri3kynmzvnbq3nw7pwg08mmia28k26pa3nvlcj8xlqjh";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129743,8 +130062,8 @@ self: {
        pname = "hackage-security";
        version = "0.6.2.3";
        sha256 = "0rm0avcc1k247qbrajhzi3vz92cgcc4nr3kbhhfmfm8rjxv0bvjj";
-       revision = "5";
-       editedCabalFile = "031x30yn0wbbniy4ykfnxcxyha0v6d9lk8290fcpm5p89qrr6n1f";
+       revision = "6";
+       editedCabalFile = "1999rc45cq04gf4c28zn8hylx47kxhij7q9p1wzgd706f0l6c33q";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          Cabal-syntax containers cryptohash-sha256 directory ed25519
@@ -130443,17 +130762,17 @@ self: {
 
   "haggle" = callPackage
     ({ mkDerivation, base, containers, deepseq, fgl, hashable, HUnit
-     , monad-primitive, primitive, QuickCheck, ref-tf, test-framework
+     , primitive, QuickCheck, ref-tf, test-framework
      , test-framework-hunit, test-framework-quickcheck2, vector
      , vector-th-unbox
      }:
      mkDerivation {
        pname = "haggle";
-       version = "0.2";
-       sha256 = "1n7rg63bz283d938vr2w7ghza2qmljw04bg1wr4zhpylw6jjy2b7";
+       version = "0.3";
+       sha256 = "0cnl62w8fwb033gyx473ghbawnj0vpmjpjnlpv0wsvh3qhlax4hj";
        libraryHaskellDepends = [
-         base containers deepseq hashable monad-primitive primitive ref-tf
-         vector vector-th-unbox
+         base containers deepseq hashable primitive ref-tf vector
+         vector-th-unbox
        ];
        testHaskellDepends = [
          base containers fgl HUnit QuickCheck test-framework
@@ -130795,28 +131114,26 @@ self: {
     ({ mkDerivation, aeson, base, binary, blaze-html, blaze-markup
      , bytestring, containers, data-default, deepseq, directory
      , file-embed, filepath, fsnotify, hashable, http-conduit
-     , http-types, lifted-async, lrucache, mtl, network-uri
-     , optparse-applicative, pandoc, parsec, process, QuickCheck, random
-     , regex-tdfa, resourcet, scientific, tagsoup, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , http-types, lrucache, mtl, network-uri, optparse-applicative
+     , pandoc, parsec, process, QuickCheck, random, regex-tdfa
+     , resourcet, scientific, tagsoup, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time
      , time-locale-compat, unordered-containers, util-linux, vector, wai
      , wai-app-static, warp, yaml
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.16.0.0";
-       sha256 = "1cxhi1k2fzxzgx6wvplq90jx7mqdzpnab0qjf763s8ih8bf6zck4";
-       revision = "1";
-       editedCabalFile = "1lwfhzxg74fqzf5g61bldhwfdh3dhls3mxf02rrd32vgv6c60hk8";
+       version = "4.16.1.0";
+       sha256 = "0w1x2m1395a47b0712v4j8qjhha8sjqlmxdmfbxnr65nz36340jj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base binary blaze-html blaze-markup bytestring containers
          data-default deepseq directory file-embed filepath fsnotify
-         hashable http-conduit http-types lifted-async lrucache mtl
-         network-uri optparse-applicative pandoc parsec process random
-         regex-tdfa resourcet scientific tagsoup template-haskell text time
+         hashable http-conduit http-types lrucache mtl network-uri
+         optparse-applicative pandoc parsec process random regex-tdfa
+         resourcet scientific tagsoup template-haskell text time
          time-locale-compat unordered-containers vector wai wai-app-static
          warp yaml
        ];
@@ -131022,8 +131339,8 @@ self: {
        pname = "hakyll-convert";
        version = "0.3.0.4";
        sha256 = "09fqr05mvs0qs53psq97kn1s4axinwn1vr5d6af4sqj3zc5k6k39";
-       revision = "3";
-       editedCabalFile = "1nmcmc4vs4kwb521qvpxirgi1ykg8d6cx76d1v98prmrjnk2i9s5";
+       revision = "4";
+       editedCabalFile = "0lqh8dijpzw1piy3b8j2haqkkx0cqlpfs0i7x7636y2r9yl0kxl7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133360,8 +133677,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.2.2";
-       sha256 = "169xcvnf0qyxhzv3ji3vncaxm7zn69jmgxrzij7fr9byvkvpxqdh";
+       version = "0.0.3.0";
+       sha256 = "0cvbwybvxzy5bq6y6sh9pvjjr0s5pslz32a0ip9bklg7ivvpd8f7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -135167,8 +135484,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "2.1.0.0";
-       sha256 = "0i8fwc4m0rc5dzs1rp14g20cz2awm2x9pc46rhkcql3x89kn6knf";
+       version = "2.2.0.0";
+       sha256 = "0896ji6drjkmpsgzhq64ls3wgk2fg8imr3hdxyjlb8izkrq1vvmy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137583,7 +137900,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "haskoin-store-data_1_0_1" = callPackage
+  "haskoin-store-data_1_0_2" = callPackage
     ({ mkDerivation, aeson, base, binary, bytes, bytestring, cereal
      , containers, data-default, deepseq, hashable, haskoin-core, hspec
      , hspec-discover, http-client, http-types, lens, mtl, network
@@ -137592,8 +137909,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "1.0.1";
-       sha256 = "19jax9bz68qakjrx54fbsqz5h1jiad4cmn3g7xln8q1qaq0pyl08";
+       version = "1.0.2";
+       sha256 = "1h5barixyfvjaqdk9k14l4n4nz6gaxn37zhwydd296gbzzg6fg0y";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -138706,6 +139023,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hasql-interpolate_0_2_1_0" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, containers
+     , haskell-src-meta, hasql, megaparsec, mtl, scientific, tasty
+     , tasty-hunit, template-haskell, text, time, tmp-postgres
+     , transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "hasql-interpolate";
+       version = "0.2.1.0";
+       sha256 = "1gmi552pkjbsxxqjprnq6696xqzh1swcib73p6892q65irgnhd5x";
+       libraryHaskellDepends = [
+         aeson array base bytestring containers haskell-src-meta hasql
+         megaparsec mtl scientific template-haskell text time transformers
+         uuid vector
+       ];
+       testHaskellDepends = [
+         base hasql tasty tasty-hunit template-haskell text tmp-postgres
+       ];
+       description = "QuasiQuoter that supports expression interpolation for hasql";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hasql-listen-notify" = callPackage
     ({ mkDerivation, base, bytestring, hasql, mtl, postgresql-libpq
      , text
@@ -138749,8 +139089,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-notifications";
-       version = "0.2.0.5";
-       sha256 = "1vxd896q3br75132swyab8lm7zhlc8c5bggc1ks2m883df4lmsc7";
+       version = "0.2.0.6";
+       sha256 = "0ykwvmfhv3x4a6b58crxp1akndz9n7rkr4wbbl6dnikc7rzggh8j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -141611,7 +141951,6 @@ self: {
        ];
        description = "Customizable Gen for ADT using Generics";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hedgehog-gen-json" = callPackage
@@ -142014,8 +142353,8 @@ self: {
        pname = "heist";
        version = "1.1.1.1";
        sha256 = "0s6ydncib0g4mdmx4vzwmp1cnbvxrb2pngvkd5jc5kn5vb3g929l";
-       revision = "2";
-       editedCabalFile = "0xgigspz2wbszs1vmx8ykp6b7j87j2r346pay0wdrpx8hqyzzjfl";
+       revision = "3";
+       editedCabalFile = "0lqh0qjphsfv65k8jgjrgnfln7c7wh8gqzmn9qa8s5m4viz6fkqs";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -142917,23 +143256,23 @@ self: {
      }) {};
 
   "hermes-json" = callPackage
-    ({ mkDerivation, aeson, attoparsec, attoparsec-iso8601, base
-     , bytestring, containers, deepseq, dlist, hedgehog, primitive
-     , scientific, system-cxx-std-lib, tasty, tasty-hedgehog, text, time
-     , time-compat, transformers, vector
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , dlist, hedgehog, integer-conversion, primitive, scientific
+     , system-cxx-std-lib, tasty, tasty-hedgehog, tasty-hunit, text
+     , text-iso8601, time, time-compat, transformers, vector
      }:
      mkDerivation {
        pname = "hermes-json";
-       version = "0.5.0.0";
-       sha256 = "0d0vy74z0m9vcs5rngigsqd6642dfx40a8bzh5finwrwgjb9k2dk";
+       version = "0.6.1.0";
+       sha256 = "05xxc3r9gbicrdc2jfhxv556n3y46alafkcfks7dz31kq9mz619g";
        libraryHaskellDepends = [
-         attoparsec attoparsec-iso8601 base bytestring containers deepseq
-         dlist primitive scientific system-cxx-std-lib text time time-compat
-         transformers vector
+         base bytestring containers deepseq dlist integer-conversion
+         primitive scientific system-cxx-std-lib text text-iso8601 time
+         time-compat transformers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers hedgehog scientific tasty
-         tasty-hedgehog text time vector
+         tasty-hedgehog tasty-hunit text time vector
        ];
        description = "Fast JSON decoding via simdjson C++ bindings";
        license = lib.licenses.mit;
@@ -144419,6 +144758,8 @@ self: {
        pname = "hgmp";
        version = "0.1.2.1";
        sha256 = "08w0b6yla086vk802xqcqslpkqpjx2h2hc6l3jyymms77qyn70f6";
+       revision = "1";
+       editedCabalFile = "01mgxv6gchzxkd8aqzl97mbs4bidnpvkb6462pz7s96c5kgm0z2q";
        libraryHaskellDepends = [ base ghc-bignum ghc-prim ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Haskell interface to GMP";
@@ -144838,6 +145179,41 @@ self: {
        mainProgram = "hie-bios";
      }) {};
 
+  "hie-bios_0_13_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , co-log-core, conduit, conduit-extra, cryptohash-sha1, deepseq
+     , directory, exceptions, extra, file-embed, filepath, ghc
+     , optparse-applicative, prettyprinter, tasty
+     , tasty-expected-failure, tasty-hunit, template-haskell, temporary
+     , text, time, transformers, unix-compat, unordered-containers, yaml
+     }:
+     mkDerivation {
+       pname = "hie-bios";
+       version = "0.13.0";
+       sha256 = "0gv2ip6zlrfcxngv7kh1a6ah4avj6y2n406h0i66wnc9l11l9mvb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring co-log-core conduit
+         conduit-extra cryptohash-sha1 deepseq directory exceptions extra
+         file-embed filepath ghc prettyprinter template-haskell temporary
+         text time transformers unix-compat unordered-containers yaml
+       ];
+       executableHaskellDepends = [
+         base co-log-core directory filepath optparse-applicative
+         prettyprinter
+       ];
+       testHaskellDepends = [
+         aeson base co-log-core directory extra filepath ghc prettyprinter
+         tasty tasty-expected-failure tasty-hunit temporary transformers
+         yaml
+       ];
+       description = "Set up a GHC API session";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "hie-bios";
+     }) {};
+
   "hie-compat" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, directory
      , filepath, ghc, ghc-boot, transformers
@@ -146411,8 +146787,8 @@ self: {
      }:
      mkDerivation {
        pname = "hix";
-       version = "0.5.8";
-       sha256 = "0x1yaj99ss7wmzfad51zj36n9qahqap970pkbxxc72s295y0prbx";
+       version = "0.6.1";
+       sha256 = "15961xpyw5zibqqr8svix1d96njvgzxh464ahx5fyprmznxwkj59";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146874,8 +147250,8 @@ self: {
        pname = "hledger";
        version = "1.30.1";
        sha256 = "0ri8zg1pq011cbry5cxj2rc5g19vgl3rjcl5b2qk4bhdgxy7na98";
-       revision = "2";
-       editedCabalFile = "10r6ywfipsahxdbpnpg9cki5i201wglvdga3snhf7218wpr8rbrp";
+       revision = "3";
+       editedCabalFile = "1qsy6axbldm2az2bnxgklnd9hhyhdlrkb395zpgrli9sla2mqdfv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146910,6 +147286,54 @@ self: {
        ];
      }) {};
 
+  "hledger_1_31" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
+     , containers, data-default, Decimal, Diff, directory, extra
+     , filepath, githash, hashable, haskeline, hledger-lib, lucid
+     , math-functions, megaparsec, microlens, mtl, process, regex-tdfa
+     , safe, shakespeare, split, tabular, tasty, temporary, terminfo
+     , text, text-ansi, time, timeit, transformers, unordered-containers
+     , utf8-string, utility-ht, wizards
+     }:
+     mkDerivation {
+       pname = "hledger";
+       version = "1.31";
+       sha256 = "0pzzllcd6g1sg0ax3287k5dsrf537al4zz36nw70awdpb24ij8h3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring cmdargs containers data-default
+         Decimal Diff directory extra filepath githash hashable haskeline
+         hledger-lib lucid math-functions megaparsec microlens mtl process
+         regex-tdfa safe shakespeare split tabular tasty temporary terminfo
+         text text-ansi time timeit transformers unordered-containers
+         utf8-string utility-ht wizards
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring cmdargs containers data-default
+         Decimal directory extra filepath githash haskeline hledger-lib
+         math-functions megaparsec microlens mtl process regex-tdfa safe
+         shakespeare split tabular tasty temporary terminfo text text-ansi
+         time timeit transformers unordered-containers utf8-string
+         utility-ht wizards
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal base bytestring cmdargs containers data-default
+         Decimal directory extra filepath githash haskeline hledger-lib
+         math-functions megaparsec microlens mtl process regex-tdfa safe
+         shakespeare split tabular tasty temporary terminfo text text-ansi
+         time timeit transformers unordered-containers utf8-string
+         utility-ht wizards
+       ];
+       description = "Command-line interface for the hledger accounting system";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "hledger";
+       maintainers = [
+         lib.maintainers.maralorn lib.maintainers.sternenseemann
+       ];
+     }) {};
+
   "hledger-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , Decimal, docopt, either, hledger, hledger-lib, microlens
@@ -147012,6 +147436,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.18";
        sha256 = "0j2p785hxjzmisz2yi5841zdfyl1sqjwzacm7ijz9px8gx812kbc";
+       revision = "2";
+       editedCabalFile = "0833bg0awc4sr3hlslirbivrcvy0varmhdklx0dwx0mz1gikyp9r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147042,10 +147468,10 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-interest";
-       version = "1.6.5";
-       sha256 = "0znrypimfcr4immy3x5651cfkny1n8yi8isfh72mv2px70994pm1";
-       revision = "2";
-       editedCabalFile = "0qfvbs25dir3xra9pgi5fd41vm0hji666ws8sikb01ik4w5mmj7z";
+       version = "1.6.6";
+       sha256 = "0hklpg9sgghrcvkrgz7kfr8jc6kwsv8zzpbbg0c3idhbdxwg74d8";
+       revision = "1";
+       editedCabalFile = "17l6skwg9s598r7k8y6fmqa44vmk2yqrbgkf3g39xiygf1hn6ags";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -147093,8 +147519,47 @@ self: {
        pname = "hledger-lib";
        version = "1.30";
        sha256 = "0qyhkx1bhrmnwwxqbqa4pqghg7j2vn63829j5s2zdn8ys2mm8s64";
-       revision = "2";
-       editedCabalFile = "136j2f4wyqcaihkpisxnw3afn2v953zl4fx9w2hdvavqpv99yj0m";
+       revision = "3";
+       editedCabalFile = "0v1pfx3mzd4zhygadf1hd51v7qfq9zj0q5yh515d1ly6xqgilbv5";
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal array base base-compat
+         blaze-markup bytestring call-stack cassava cassava-megaparsec
+         cmdargs colour containers data-default Decimal deepseq directory
+         doclayout extra file-embed filepath Glob hashtables megaparsec
+         microlens microlens-th mtl pager parser-combinators pretty-simple
+         regex-tdfa safe tabular tasty tasty-hunit template-haskell
+         terminal-size text text-ansi time timeit transformers uglymemo
+         unordered-containers utf8-string
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty ansi-terminal array base base-compat
+         blaze-markup bytestring call-stack cassava cassava-megaparsec
+         cmdargs colour containers data-default Decimal deepseq directory
+         doclayout doctest extra file-embed filepath Glob hashtables
+         megaparsec microlens microlens-th mtl pager parser-combinators
+         pretty-simple regex-tdfa safe tabular tasty tasty-hunit
+         template-haskell terminal-size text text-ansi time timeit
+         transformers uglymemo unordered-containers utf8-string
+       ];
+       description = "A reusable library providing the core functionality of hledger";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
+  "hledger-lib_1_31" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, base
+     , base-compat, blaze-markup, bytestring, call-stack, cassava
+     , cassava-megaparsec, cmdargs, colour, containers, data-default
+     , Decimal, deepseq, directory, doclayout, doctest, extra
+     , file-embed, filepath, Glob, hashtables, megaparsec, microlens
+     , microlens-th, mtl, pager, parser-combinators, pretty-simple
+     , regex-tdfa, safe, tabular, tasty, tasty-hunit, template-haskell
+     , terminal-size, text, text-ansi, time, timeit, transformers
+     , uglymemo, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "hledger-lib";
+       version = "1.31";
+       sha256 = "16lhcjbm6nkpdiawwj71d5y4g3k2l3674g30sc7mv5qckfwhxaal";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array base base-compat
          blaze-markup bytestring call-stack cassava cassava-megaparsec
@@ -147117,6 +147582,7 @@ self: {
        ];
        description = "A reusable library providing the core functionality of hledger";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hledger-makeitso" = callPackage
@@ -147184,8 +147650,8 @@ self: {
        pname = "hledger-ui";
        version = "1.30";
        sha256 = "1il3849rn8zimn79d7b81v6yb916w5w8lp4ykxkyc3fwwyjcc2q5";
-       revision = "1";
-       editedCabalFile = "05h4adyf7h48fgihpq9swp92j255s4dhgp0q5fg2kdis78i24p7d";
+       revision = "2";
+       editedCabalFile = "1a4hnkn45qic4arrna20kfzdp2yhhw66dmhma7zagbrf2ljwl1jj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -147200,6 +147666,32 @@ self: {
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
+  "hledger-ui_1_31" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, brick, cmdargs
+     , containers, data-default, directory, doclayout, extra, filepath
+     , fsnotify, hledger, hledger-lib, megaparsec, microlens
+     , microlens-platform, mtl, process, safe, split, text, text-zipper
+     , time, transformers, unix, vector, vty
+     }:
+     mkDerivation {
+       pname = "hledger-ui";
+       version = "1.31";
+       sha256 = "14rflgkmx2b7gl0c3c30chqqm12lhwc4kaqja3cy6fcwyl0dz9yb";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ansi-terminal async base brick cmdargs containers data-default
+         directory doclayout extra filepath fsnotify hledger hledger-lib
+         megaparsec microlens microlens-platform mtl process safe split text
+         text-zipper time transformers unix vector vty
+       ];
+       description = "Curses-style terminal interface for the hledger accounting system";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "hledger-ui";
+       maintainers = [ lib.maintainers.maralorn ];
+     }) {};
+
   "hledger-vty" = callPackage
     ({ mkDerivation, base, cmdargs, hledger, hledger-lib, HUnit, safe
      , time, vty
@@ -147235,8 +147727,8 @@ self: {
        pname = "hledger-web";
        version = "1.30";
        sha256 = "0lcw8qigh1507hn287zwmp00vsccsm6lw6r87c5rp0ikxsxmwbds";
-       revision = "2";
-       editedCabalFile = "0cixs5p93f2dx82w7krki4znsgdkl6hi2rqqdj0yx2xlp5m4jzq5";
+       revision = "3";
+       editedCabalFile = "1fclgmqidsmz7is5kksr5f9icnrvyhjyks3hak1cc3hxsd2gz3k2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147259,6 +147751,44 @@ self: {
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
+  "hledger-web_1_31" = callPackage
+    ({ mkDerivation, aeson, base, base64, blaze-html, blaze-markup
+     , bytestring, case-insensitive, clientsession, cmdargs, conduit
+     , conduit-extra, containers, data-default, Decimal, directory
+     , extra, filepath, hjsmin, hledger, hledger-lib, hspec, http-client
+     , http-conduit, http-types, megaparsec, mtl, network, shakespeare
+     , template-haskell, text, time, transformers, unix-compat
+     , unordered-containers, utf8-string, wai, wai-cors, wai-extra
+     , wai-handler-launch, warp, yaml, yesod, yesod-core, yesod-form
+     , yesod-static, yesod-test
+     }:
+     mkDerivation {
+       pname = "hledger-web";
+       version = "1.31";
+       sha256 = "0g5cc5bscxqrj6lij9gyh7sbl39s968ksm3xglccszg2pzgsnl90";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64 blaze-html blaze-markup bytestring
+         case-insensitive clientsession cmdargs conduit conduit-extra
+         containers data-default Decimal directory extra filepath hjsmin
+         hledger hledger-lib hspec http-client http-conduit http-types
+         megaparsec mtl network shakespeare template-haskell text time
+         transformers unix-compat unordered-containers utf8-string wai
+         wai-cors wai-extra wai-handler-launch warp yaml yesod yesod-core
+         yesod-form yesod-static yesod-test
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hledger hledger-lib hspec text yesod yesod-test
+       ];
+       description = "Web-based user interface for the hledger accounting system";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "hledger-web";
+       maintainers = [ lib.maintainers.maralorn ];
+     }) {};
+
   "hlex" = callPackage
     ({ mkDerivation, base, HUnit, regex-tdfa }:
      mkDerivation {
@@ -147476,6 +148006,19 @@ self: {
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
+  "hlint-plugin" = callPackage
+    ({ mkDerivation, base, containers, ghc, hlint }:
+     mkDerivation {
+       pname = "hlint-plugin";
+       version = "1.0.1";
+       sha256 = "1npzxf380wq24zmvrxid318afh6g41nl5pb7bqldf4y6m9wamp1k";
+       libraryHaskellDepends = [ base containers ghc hlint ];
+       description = "GHC plugin for hlint";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hlint-test" = callPackage
     ({ mkDerivation, base, hlint }:
      mkDerivation {
@@ -147615,8 +148158,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-alternate-number-format-plugin";
-       version = "2.1.0.0";
-       sha256 = "0zp5y6k5hk9xkc45nz64w550af2a881jbzpl3nwif9w3qx7q0966";
+       version = "2.2.0.0";
+       sha256 = "05jz7nf4mp0z0bag0ym42c511c05w0hx3ai18kwamavin68a41kb";
        libraryHaskellDepends = [
          aeson base containers extra ghc-boot-th ghcide hie-compat hls-graph
          hls-plugin-api lens lsp mtl regex-tdfa syb text
@@ -147644,15 +148187,16 @@ self: {
 
   "hls-cabal-fmt-plugin" = callPackage
     ({ mkDerivation, base, directory, filepath, ghcide, hls-plugin-api
-     , hls-test-utils, lens, lsp-types, mtl, process, text, transformers
+     , hls-test-utils, lens, lsp-types, mtl, process-extras, text
+     , transformers
      }:
      mkDerivation {
        pname = "hls-cabal-fmt-plugin";
-       version = "2.1.0.0";
-       sha256 = "0qrjflj02y600y8793gwhkz13hgnl8dv1nmgv5ajlr59md0r8gvf";
+       version = "2.2.0.0";
+       sha256 = "1lmf1cni6kclcdvwd70n40n14hd6b3din6apnmbwbdh84i7z43s6";
        libraryHaskellDepends = [
          base directory filepath ghcide hls-plugin-api lens lsp-types mtl
-         process text transformers
+         process-extras text transformers
        ];
        testHaskellDepends = [ base directory filepath hls-test-utils ];
        description = "Integration with the cabal-fmt code formatter";
@@ -147668,8 +148212,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-cabal-plugin";
-       version = "2.1.0.0";
-       sha256 = "1qv70vj4znn5yswnsr41h313y8p6zx006hzqc7fzk3f2khz079rp";
+       version = "2.2.0.0";
+       sha256 = "0pl5zn09vbbfklkf49azd447353rb4x6mr95kswlckvk8qvxcb5n";
        libraryHaskellDepends = [
          base bytestring Cabal-syntax containers deepseq directory extra
          filepath ghcide hashable hls-graph hls-plugin-api lens lsp
@@ -147692,8 +148236,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-call-hierarchy-plugin";
-       version = "2.1.0.0";
-       sha256 = "1rlnx62y6271mfka1qp48fhfkv89dz4qbhiz6n7sh9mp5bplkkbh";
+       version = "2.2.0.0";
+       sha256 = "0ng0567z3fpsxzkxx60jhk6d3a1cllcgrdscijcndqknr38c97jk";
        libraryHaskellDepends = [
          aeson base containers extra ghcide hiedb hls-plugin-api lens lsp
          sqlite-simple text unordered-containers
@@ -147713,8 +148257,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-change-type-signature-plugin";
-       version = "2.1.0.0";
-       sha256 = "1hv0hdgqxkxs3lad29ikpswal08gvql4bd9qwsq3p94brc59c6nz";
+       version = "2.2.0.0";
+       sha256 = "0vpv87mnbk7d18vxl01r6f7pyz94107v9mc4mnbb2z2fmq6bcsfj";
        libraryHaskellDepends = [
          base containers ghcide hls-plugin-api lsp-types regex-tdfa syb text
          transformers unordered-containers
@@ -147734,8 +148278,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-class-plugin";
-       version = "2.1.0.0";
-       sha256 = "0m3aprgv1inmj9lq85g1vrngrqvgrq9r39jq2vy4rlm14cqlgjk2";
+       version = "2.2.0.0";
+       sha256 = "042z92xjdxjp5f6zig692nq2f8dk1m5rhhjqqczn3zkw0zs9v96v";
        libraryHaskellDepends = [
          aeson base containers deepseq extra ghc ghc-boot-th ghc-exactprint
          ghcide hls-graph hls-plugin-api lens lsp mtl text transformers
@@ -147756,8 +148300,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-code-range-plugin";
-       version = "2.1.0.0";
-       sha256 = "1jqh37gd5hqznx4gjvbx0k077bryic1j15b843l02vy9iymsmaj5";
+       version = "2.2.0.0";
+       sha256 = "0w6hh36szkjgpvxx07cckjr3jnrk80y2ib2mfga7xmw55pmcvrg8";
        libraryHaskellDepends = [
          aeson base containers deepseq extra ghcide hashable hls-plugin-api
          lens lsp mtl semigroupoids text transformers vector
@@ -147782,8 +148326,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "2.1.0.0";
-       sha256 = "1ic1giwwndmijbnbnani2xxfmxwpp66jh03l614wphvlxqchgf67";
+       version = "2.2.0.0";
+       sha256 = "05ap5rzrr8qjqn18l5gyn598iksmjf563f6ksg9mv5hkpzbiin1j";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default deepseq Diff
          directory dlist extra filepath ghc ghc-boot-th ghc-paths ghcide
@@ -147824,8 +148368,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-fixity-plugin";
-       version = "2.1.0.0";
-       sha256 = "12kv301kwl84xd30fz7s3mmcyf51kypwfl7nhcqx7829xjrsxkbb";
+       version = "2.2.0.0";
+       sha256 = "00mpdx9szdmbgh5glfi9lbwfb8qdqqi7jyi61d5fcppmniy51vcl";
        libraryHaskellDepends = [
          base containers deepseq extra ghc ghcide hashable hls-plugin-api
          lsp text transformers
@@ -147843,8 +148387,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-imports-plugin";
-       version = "2.1.0.0";
-       sha256 = "12aj8px0sbi5qh9q4381rmh3p9nyk2x5mk91i0mm5m9as4gwbk4k";
+       version = "2.2.0.0";
+       sha256 = "0gh2vxdnyxhxhldfnrsj41p099jd113z1a8qnn4p4d0ba7j2qsic";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide hls-graph hls-plugin-api
          lens lsp mtl text transformers unordered-containers
@@ -147857,17 +148401,18 @@ self: {
      }) {};
 
   "hls-explicit-record-fields-plugin" = callPackage
-    ({ mkDerivation, base, containers, filepath, ghc-boot-th, ghcide
-     , hls-graph, hls-plugin-api, hls-test-utils, lens, lsp, lsp-test
-     , syb, text, transformers, unordered-containers
+    ({ mkDerivation, aeson, base, containers, filepath, ghc
+     , ghc-boot-th, ghcide, hls-graph, hls-plugin-api, hls-test-utils
+     , lens, lsp, lsp-test, syb, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-explicit-record-fields-plugin";
-       version = "2.1.0.0";
-       sha256 = "0bnvc7sd6sn98m9y1kszlm7ca8ddwjl9106c895j28yq5pjxarff";
+       version = "2.2.0.0";
+       sha256 = "1xhc2zb56q1bziiypdll0898nz26pvwgmqfwps3dh8agixfpvn15";
        libraryHaskellDepends = [
-         base containers ghc-boot-th ghcide hls-graph hls-plugin-api lens
-         lsp syb text transformers unordered-containers
+         aeson base containers ghc ghc-boot-th ghcide hls-graph
+         hls-plugin-api lens lsp syb text transformers unordered-containers
        ];
        testHaskellDepends = [
          base filepath hls-test-utils lsp-test text
@@ -147882,8 +148427,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-floskell-plugin";
-       version = "2.1.0.0";
-       sha256 = "13igdc86qpk7j9cbc9cpfyhpahi8wcnxar45wl81piaqahqpn581";
+       version = "2.2.0.0";
+       sha256 = "1kj1f7k0fdcj1mqijng56qax42y9aywkd3gi2pvivdsfd7rnc9dr";
        libraryHaskellDepends = [
          base floskell ghcide hls-plugin-api lsp-types mtl text transformers
        ];
@@ -147899,8 +148444,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-fourmolu-plugin";
-       version = "2.1.0.0";
-       sha256 = "0lrm6f1npqplf1sw5a3pc7qyzd3clys5dylbywh6m66h2bns96yf";
+       version = "2.2.0.0";
+       sha256 = "16i26nk6zrjgrz1yf7xariygiin2h8xa0sqwfnm81nybzszr50h6";
        libraryHaskellDepends = [
          base filepath fourmolu ghc ghc-boot-th ghcide hls-plugin-api lens
          lsp mtl process-extras text transformers
@@ -147922,8 +148467,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-gadt-plugin";
-       version = "2.1.0.0";
-       sha256 = "1lb5zk21gx620ywz1wb2034jvq4mc9amp2zmydfc1lwg5ad1my0b";
+       version = "2.2.0.0";
+       sha256 = "1pbqy9ndxkcn57lpwfgd2y38gs8vq55sqxhw44rdfsw6gjpmw1xj";
        libraryHaskellDepends = [
          aeson base containers extra ghc ghc-boot-th ghc-exactprint ghcide
          hls-plugin-api hls-refactor-plugin lens lsp mtl text transformers
@@ -147945,8 +148490,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-graph";
-       version = "2.1.0.0";
-       sha256 = "0gsi7a2qpi9qybaig2manbd7pggg429hzwbiwlfjrlnmd4apvs6x";
+       version = "2.2.0.0";
+       sha256 = "0c306fb54kylj8bg6l4nm0f5fw88hyyk59nzps4w16gciqbdjlw1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson async base bytestring containers deepseq directory exceptions
@@ -147967,8 +148512,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "hls-haddock-comments-plugin";
-       version = "2.1.0.0";
-       sha256 = "0xf38ikm0r0sx4b25g3ns8q421swmy7an4fbs5dmv86r4pr3999m";
+       version = "2.2.0.0";
+       sha256 = "0wp8hk5hwl43z5mjcas332z92y3zv9g8wrc5zhzli8pa37ab6r8x";
        description = "Haddock comments plugin for Haskell Language Server";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
@@ -147985,8 +148530,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "2.1.0.0";
-       sha256 = "1z96hry723n236v8v05yzjrs5nxaxh58vqm2ixmkldpgf1i5qklq";
+       version = "2.2.0.0";
+       sha256 = "0qrygjvgm5x88j7cjw9dhzli38by0gzmda8f8bkqi8v1qx09ny76";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
          deepseq Diff directory extra filepath ghc-exactprint ghc-lib-parser
@@ -148009,8 +148554,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-module-name-plugin";
-       version = "2.1.0.0";
-       sha256 = "1h34cy75mbpdzv4a63k3kcwds7d0c0k87a5fcvgyxbi6a0pkchps";
+       version = "2.2.0.0";
+       sha256 = "1z3iiqw7h08cpz99wciaqwdcsrnvpxff95jswidzk696lnlzyvbh";
        libraryHaskellDepends = [
          aeson base containers directory filepath ghcide hls-plugin-api lsp
          text transformers unordered-containers
@@ -148027,8 +148572,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-ormolu-plugin";
-       version = "2.1.0.0";
-       sha256 = "0ianjskwbvh3lshp74mwddc3b3k472zn8gpa1fwglhcixv1i4d92";
+       version = "2.2.0.0";
+       sha256 = "0c6kj7870q5fi00cgx3z4cpvldsdvn4brjg4v7vv32grfj7nwdc1";
        libraryHaskellDepends = [
          base extra filepath ghc ghc-boot-th ghcide hls-plugin-api lens lsp
          mtl ormolu text
@@ -148048,8 +148593,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-overloaded-record-dot-plugin";
-       version = "2.1.0.0";
-       sha256 = "1x575xdqlynghnirqik6w8mm84jdwlm8wvaigkhhnqw2fqii991i";
+       version = "2.2.0.0";
+       sha256 = "1cllpyqnwfy7kk2h17igzv2ly71qm1k76mm2wjjgpy3qfh3fz7wm";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc-boot-th ghcide hls-graph
          hls-plugin-api lens lsp syb text transformers unordered-containers
@@ -148074,8 +148619,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-plugin-api";
-       version = "2.1.0.0";
-       sha256 = "0s2pnvakmvahwrxm7mvdrs5gmhds0i3yak6axfw8ng0f139lglhx";
+       version = "2.2.0.0";
+       sha256 = "0j95g116vv92wx7mm7anjifx3w494f4bycw0ad7wxf57qrb063l1";
        libraryHaskellDepends = [
          aeson base co-log-core containers data-default dependent-map
          dependent-sum Diff dlist extra filepath ghc hashable hls-graph
@@ -148101,8 +148646,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-pragmas-plugin";
-       version = "2.1.0.0";
-       sha256 = "1ny20jpzf7qhvc80pz80drjpkljr07nbriy5f9nfd5izhdkdbjp6";
+       version = "2.2.0.0";
+       sha256 = "07dy9r63ixvzf5isbw8nl9vfpym17h66vzmxn79kgnh8xkx11rgm";
        libraryHaskellDepends = [
          base containers extra fuzzy ghc ghcide hls-plugin-api lens lsp text
          transformers unordered-containers
@@ -148121,8 +148666,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-qualify-imported-names-plugin";
-       version = "2.1.0.0";
-       sha256 = "1lcc2ga264p79shd26rpl961rqr583p4ncgb38f1wx6c6jl7r251";
+       version = "2.2.0.0";
+       sha256 = "0viam4zzkbbi8lv4c86bqhy3r00x7qjrbwwaqakdgfhn4l8d97r6";
        libraryHaskellDepends = [
          aeson base containers deepseq dlist ghc ghcide hls-graph
          hls-plugin-api lens lsp text transformers unordered-containers
@@ -148144,8 +148689,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-refactor-plugin";
-       version = "2.1.0.0";
-       sha256 = "0v96fgsx2hh45xiby0q9jxg2px927v7rynl4qq0mcrsidfwrwaqd";
+       version = "2.2.0.0";
+       sha256 = "0c7b00kx4imxvs4ydbr1g409ikl6lh0r9wl1m749xzx5dhblmwbh";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default deepseq dlist extra
          ghc ghc-boot ghc-exactprint ghcide hls-graph hls-plugin-api lens
@@ -148192,8 +148737,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-rename-plugin";
-       version = "2.1.0.0";
-       sha256 = "07bnc1d05hd8pjwxgxhrkrxaiqg2f082vzvh0c942ri2knpf6f2g";
+       version = "2.2.0.0";
+       sha256 = "094kk4fi2bih43gqr9ndp7vfqbmsw0gzsgpmpbh6k2ad00csj5w6";
        libraryHaskellDepends = [
          base containers extra ghc ghc-exactprint ghcide hashable hie-compat
          hiedb hls-plugin-api hls-refactor-plugin lens lsp lsp-types mod mtl
@@ -148215,8 +148760,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "2.1.0.0";
-       sha256 = "1lq1bb73cp8sp846ib3apynk6iy3v1qn47hlj8spiq4lx7wa2an9";
+       version = "2.2.0.0";
+       sha256 = "0ssx703pphm0m9930cjklwr02hx0y9qnrh6936ws55zvkpgq81fa";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory extra ghc ghcide
          hashable hls-plugin-api hls-refactor-plugin lens lsp lsp-types mtl
@@ -148264,8 +148809,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-splice-plugin";
-       version = "2.1.0.0";
-       sha256 = "03b4l49g8c3z45c3my0b50m0960snip17w3p3r6wa04afm9r6g6f";
+       version = "2.2.0.0";
+       sha256 = "0vzawa9zq6bjb81847my2a62n091vm4292miq0jynbi1g075jgh5";
        libraryHaskellDepends = [
          aeson base containers dlist extra foldl ghc ghc-exactprint ghcide
          hls-plugin-api hls-refactor-plugin lens lsp mtl retrie syb text
@@ -148282,8 +148827,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "hls-stan-plugin";
-       version = "2.1.0.0";
-       sha256 = "0azlvn5mibmsj3w5pwfkgaydji58bb88bvhzyc49y7gzg24cm23s";
+       version = "2.2.0.0";
+       sha256 = "0y4s6m3kw4ab0g6h7dgbsxjm61ryk1i7skdvr8h8w5m39lm46hkw";
        description = "Stan integration plugin with Haskell Language Server";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
@@ -148297,8 +148842,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-stylish-haskell-plugin";
-       version = "2.1.0.0";
-       sha256 = "025g6laxsffdp5alvilpq71slqkybwfak5ayr3m8h2ymylhf4vy3";
+       version = "2.2.0.0";
+       sha256 = "0rgkk4kfcwnzl2xvvj9v184xniapsn3lcbrxfzqw41qpl59k21xk";
        libraryHaskellDepends = [
          base directory filepath ghc ghc-boot-th ghcide hls-plugin-api
          lsp-types mtl stylish-haskell text
@@ -148312,8 +148857,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "hls-tactics-plugin";
-       version = "2.1.0.0";
-       sha256 = "0mry1y7p26lraina8ynsrnm441wprrrp4wcl5ys6xs6z860kxaqf";
+       version = "2.2.0.0";
+       sha256 = "05rgapkpr3giln245aswlcgwqpfglifsjq1n8sgwgi04bn2w6vng";
        description = "Wingman plugin for Haskell Language Server";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
@@ -148329,8 +148874,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-test-utils";
-       version = "2.1.0.0";
-       sha256 = "1dmnbnlz4yk8w1ln6dc2gqv10gsjb8mkzv89lv3h3vc5q6pqimpw";
+       version = "2.2.0.0";
+       sha256 = "1pn87ba17x1fbd80nw7a2klgf8yh2swj037j36ljm5c4b07xbj3b";
        libraryHaskellDepends = [
          aeson async base blaze-markup bytestring containers data-default
          directory extra filepath ghcide hls-graph hls-plugin-api lens lsp
@@ -150060,10 +150605,8 @@ self: {
      }:
      mkDerivation {
        pname = "homotuple";
-       version = "0.2.0.0";
-       sha256 = "17vr2g8jv71k2bwv5x973xjjxacr5br4xlngxjpzbq6xk9n37laf";
-       revision = "1";
-       editedCabalFile = "02l2bna56psk6zlpa1wxcvizh7y1rrwsm8mgnzv77kvym80d92cy";
+       version = "0.2.1.1";
+       sha256 = "1zmi1lwlk7h38s8zvl152k5m0bzwdjgcdvy0f261axlm66yh0p4z";
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base OneTuple Only single-tuple ];
        description = "Homotuple, all whose elements are the same type";
@@ -150976,6 +151519,8 @@ self: {
        pname = "horizontal-rule";
        version = "0.6.0.0";
        sha256 = "03rh58znaghcf1gicbwbxkx5ya4lv7qi8b2lq5nawi35ljars02x";
+       revision = "2";
+       editedCabalFile = "064dg5g0ya8bsmb7rid80lmlvnn12ry0plza6vxgqlhif0ihnhry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base terminal-size text ];
@@ -151126,6 +151671,41 @@ self: {
        broken = true;
      }) {};
 
+  "hotel-california" = callPackage
+    ({ mkDerivation, base, bytestring, hs-opentelemetry-api
+     , hs-opentelemetry-exporter-otlp, hs-opentelemetry-propagator-w3c
+     , hs-opentelemetry-sdk, hs-opentelemetry-utils-exceptions
+     , hs-opentelemetry-vendor-honeycomb, http-types
+     , optparse-applicative, text, time, typed-process, unliftio
+     }:
+     mkDerivation {
+       pname = "hotel-california";
+       version = "0.0.1.0";
+       sha256 = "11l3pkdnkyya5sr4v00wjv7p1shikvmcc75g74l5a2b7n7p7ill1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring hs-opentelemetry-api hs-opentelemetry-exporter-otlp
+         hs-opentelemetry-propagator-w3c hs-opentelemetry-sdk
+         hs-opentelemetry-utils-exceptions hs-opentelemetry-vendor-honeycomb
+         http-types optparse-applicative text time typed-process unliftio
+       ];
+       executableHaskellDepends = [
+         base bytestring hs-opentelemetry-api hs-opentelemetry-exporter-otlp
+         hs-opentelemetry-propagator-w3c hs-opentelemetry-sdk
+         hs-opentelemetry-utils-exceptions hs-opentelemetry-vendor-honeycomb
+         http-types optparse-applicative text time typed-process unliftio
+       ];
+       testHaskellDepends = [
+         base bytestring hs-opentelemetry-api hs-opentelemetry-exporter-otlp
+         hs-opentelemetry-propagator-w3c hs-opentelemetry-sdk
+         hs-opentelemetry-utils-exceptions hs-opentelemetry-vendor-honeycomb
+         http-types optparse-applicative text time typed-process unliftio
+       ];
+       license = lib.licenses.bsd3;
+       mainProgram = "hotel";
+     }) {};
+
   "hothasktags" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, filemanip
      , filepath, Glob, haskell-src-exts, optparse-applicative, split
@@ -151389,7 +151969,7 @@ self: {
        mainProgram = "hpack";
      }) {};
 
-  "hpack_0_35_4" = callPackage
+  "hpack_0_35_5" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, crypton, deepseq, directory, filepath, Glob, hspec
      , hspec-discover, http-client, http-client-tls, http-types, HUnit
@@ -151399,8 +151979,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.35.4";
-       sha256 = "13zz10c3nc9lfr6n7xjb4j05vin9r3mg1aribpz26sx6y83lpy7y";
+       version = "0.35.5";
+       sha256 = "1qm7fam54b2910nxg3xgv8bpqnkl06szl0gd7wvd6gi9ar8h3nr0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151869,28 +152449,28 @@ self: {
   "hpdft" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, containers
      , directory, file-embed, memory, optparse-applicative, parsec
-     , regex-base, regex-compat-tdfa, semigroups, text, utf8-string
-     , zlib
+     , regex-base, regex-tdfa, semigroups, text, utf8-string, zlib
      }:
      mkDerivation {
        pname = "hpdft";
-       version = "0.1.1.1";
-       sha256 = "1klpm1p19pixi051a7ld5hp6qbwvcbbiwy6zgf39n5zx3hi9yxx0";
+       version = "0.1.1.3";
+       sha256 = "13k9948xaxm3vgfzksqy9djx6fj4npip6wsiz3488dvrfknxhzmx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base binary bytestring containers directory file-embed
-         memory optparse-applicative parsec regex-compat-tdfa semigroups
-         text utf8-string zlib
+         memory optparse-applicative parsec semigroups text utf8-string zlib
        ];
        executableHaskellDepends = [
-         base bytestring memory optparse-applicative regex-base
-         regex-compat-tdfa semigroups text utf8-string
+         base bytestring memory optparse-applicative regex-base regex-tdfa
+         semigroups text utf8-string
        ];
        description = "A tool for looking through PDF file using Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "hpdft";
+       broken = true;
      }) {};
 
   "hpg" = callPackage
@@ -152069,16 +152649,16 @@ self: {
 
   "hpqtypes-extras" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
-     , cryptohash, deepseq, exceptions, extra, hpqtypes, log-base, mtl
-     , tasty, tasty-bench, tasty-hunit, text, text-show, uuid-types
+     , crypton, deepseq, exceptions, extra, hpqtypes, log-base, memory
+     , mtl, tasty, tasty-bench, tasty-hunit, text, text-show, uuid-types
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.16.4.3";
-       sha256 = "0xb9igkwmkcqjv7a8mvsjcsgglbd4jgwn4cbw4s1frsb7bnibm4w";
+       version = "1.16.4.4";
+       sha256 = "1qi17ssciafb341ihhf1nkk3xb8vh6h3f0ymx3y409w8ckfm3kg5";
        libraryHaskellDepends = [
-         base base16-bytestring bytestring containers cryptohash exceptions
-         extra hpqtypes log-base mtl text text-show
+         base base16-bytestring bytestring containers crypton exceptions
+         extra hpqtypes log-base memory mtl text text-show
        ];
        testHaskellDepends = [
          base containers exceptions hpqtypes log-base tasty tasty-hunit text
@@ -153149,8 +153729,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.3.8";
-       sha256 = "1p36z8vsna5xr3ff9ggy1mkx7yn4n9ypg2gv4a15694vmqy74h8y";
+       version = "0.1.0.0";
+       sha256 = "1bi0qzlwn5k9x5j9lvv97m85ckmpvywigy3jajw2rxi8zi84v9s2";
        libraryHaskellDepends = [
          async attoparsec base binary bytestring charset clock containers
          ghc-prim hashable http-types memory mtl template-haskell text
@@ -153188,12 +153768,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hs-opentelemetry-exporter-handle" = callPackage
+    ({ mkDerivation, base, hs-opentelemetry-api, text }:
+     mkDerivation {
+       pname = "hs-opentelemetry-exporter-handle";
+       version = "0.0.1.1";
+       sha256 = "11b89q6xm2kln4acib26g3bgkqiw3ilpf8vd88kch7zmgprhvccl";
+       libraryHaskellDepends = [ base hs-opentelemetry-api text ];
+       testHaskellDepends = [ base hs-opentelemetry-api text ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hs-opentelemetry-exporter-in-memory" = callPackage
     ({ mkDerivation, async, base, hs-opentelemetry-api, unagi-chan }:
      mkDerivation {
        pname = "hs-opentelemetry-exporter-in-memory";
-       version = "0.0.1.2";
-       sha256 = "18f0wv1drlbyp1vm4za2a4l1vyi8hwd34imz6m81n4kqz3sdabf3";
+       version = "0.0.1.3";
+       sha256 = "0hb8hcq9dhqpnv5v6k48vmlc3d56v24maxj8jqp0w5yakhw59zir";
        libraryHaskellDepends = [
          async base hs-opentelemetry-api unagi-chan
        ];
@@ -153211,8 +153802,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-exporter-otlp";
-       version = "0.0.1.4";
-       sha256 = "08xjpv451mfx4gfahp6w8m49da9mzvcj59g9fq6p0k85fl9ybva2";
+       version = "0.0.1.5";
+       sha256 = "10da3cxdab4iiw3a7n1wkajw7rqip0wm5sni82ph1i7k0mf83ycv";
        libraryHaskellDepends = [
          base bytestring case-insensitive clock hs-opentelemetry-api
          hs-opentelemetry-otlp http-client http-conduit http-types microlens
@@ -153230,20 +153821,23 @@ self: {
   "hs-opentelemetry-instrumentation-cloudflare" = callPackage
     ({ mkDerivation, base, case-insensitive, hs-opentelemetry-api
      , hs-opentelemetry-instrumentation-conduit
-     , hs-opentelemetry-instrumentation-wai, http-types, text, wai
+     , hs-opentelemetry-instrumentation-wai, http-types, text
+     , unordered-containers, wai
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-cloudflare";
-       version = "0.1.0.0";
-       sha256 = "06y13lh1f6nad7rvkrgxmqm6rhaxfi97dgwqrjj5kv3cdi3rdl5m";
+       version = "0.2.0.0";
+       sha256 = "0hynk3sicxnrnnh0lfr0xl4ksw9yynygpz6z6fsyhq0mn7li8404";
        libraryHaskellDepends = [
          base case-insensitive hs-opentelemetry-api
-         hs-opentelemetry-instrumentation-wai http-types text wai
+         hs-opentelemetry-instrumentation-wai http-types text
+         unordered-containers wai
        ];
        testHaskellDepends = [
          base case-insensitive hs-opentelemetry-api
          hs-opentelemetry-instrumentation-conduit
-         hs-opentelemetry-instrumentation-wai http-types text wai
+         hs-opentelemetry-instrumentation-wai http-types text
+         unordered-containers wai
        ];
        license = lib.licenses.bsd3;
      }) {};
@@ -153252,8 +153846,8 @@ self: {
     ({ mkDerivation, base, conduit, hs-opentelemetry-api, text }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-conduit";
-       version = "0.0.1.1";
-       sha256 = "1gc93nnkdbm5drqwg20w317x3n4n7fjp61j3kdy7x7q1qd55khfn";
+       version = "0.1.0.0";
+       sha256 = "1ai8pcag30d64qfiq3vm6pa9knlcn61baxgvx7r453ryyyj283rg";
        libraryHaskellDepends = [ base conduit hs-opentelemetry-api text ];
        testHaskellDepends = [ base conduit hs-opentelemetry-api text ];
        license = lib.licenses.bsd3;
@@ -153265,8 +153859,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-hspec";
-       version = "0.0.1.0";
-       sha256 = "0ya2s4x37fz8zzdik1mbxv5j69rz8m4gv9viizcgp5wcknjs818z";
+       version = "0.0.1.1";
+       sha256 = "06hxr45pf8jy9dhl2q2ffaqfypacqvbcns1pj450qybc8rv2n0ay";
        libraryHaskellDepends = [
          base hs-opentelemetry-api hspec hspec-core mtl resourcet text
          unliftio vault
@@ -153282,40 +153876,42 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit
      , hs-opentelemetry-api, hs-opentelemetry-instrumentation-conduit
      , http-client, http-client-tls, http-conduit, http-types, text
-     , unliftio
+     , unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-http-client";
-       version = "0.0.2.0";
-       sha256 = "1miw1p8dzwsnmdl63jyrbw8lygb5gk1j76dix9pmpsjp2520977j";
+       version = "0.1.0.0";
+       sha256 = "0hm29fhp1q1qy6dc9iadms5wvwr5ixh96kz7zizi2p2b9p4iqypd";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive conduit hs-opentelemetry-api
          hs-opentelemetry-instrumentation-conduit http-client
          http-client-tls http-conduit http-types text unliftio
+         unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring case-insensitive conduit hs-opentelemetry-api
          hs-opentelemetry-instrumentation-conduit http-client
          http-client-tls http-conduit http-types text unliftio
+         unordered-containers
        ];
        license = lib.licenses.bsd3;
      }) {};
 
   "hs-opentelemetry-instrumentation-persistent" = callPackage
-    ({ mkDerivation, base, hs-opentelemetry-api, mtl, persistent
-     , resourcet, text, unliftio, vault
+    ({ mkDerivation, base, clock, hs-opentelemetry-api, mtl, persistent
+     , resourcet, text, unliftio, unordered-containers, vault
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-persistent";
-       version = "0.0.1.0";
-       sha256 = "0windpdg269g376mhza26swsvl32pfsfzqjrd9psybp9mdsw1lwq";
+       version = "0.1.0.0";
+       sha256 = "1z47mna0n39iqss9s9ddbqa6nqjcdf6zadqmfdhbsybdr71l738j";
        libraryHaskellDepends = [
-         base hs-opentelemetry-api mtl persistent resourcet text unliftio
-         vault
+         base clock hs-opentelemetry-api mtl persistent resourcet text
+         unliftio unordered-containers vault
        ];
        testHaskellDepends = [
-         base hs-opentelemetry-api mtl persistent resourcet text unliftio
-         vault
+         base clock hs-opentelemetry-api mtl persistent resourcet text
+         unliftio unordered-containers vault
        ];
        license = lib.licenses.bsd3;
      }) {};
@@ -153323,18 +153919,21 @@ self: {
   "hs-opentelemetry-instrumentation-postgresql-simple" = callPackage
     ({ mkDerivation, base, bytestring, hs-opentelemetry-api, iproute
      , network, postgresql-libpq, postgresql-simple, text, unliftio
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-postgresql-simple";
-       version = "0.0.1.0";
-       sha256 = "1rz2gdaq1dwrnghbmrx58nza2g9h6z2pi5rnl6hzv6n1sm6i80rx";
+       version = "0.1.0.0";
+       sha256 = "011g3m0gqmrkrcvfa0y5zq0zbwwz33wwwmypi9g2b3a5b2qrgy4x";
        libraryHaskellDepends = [
          base bytestring hs-opentelemetry-api iproute network
          postgresql-libpq postgresql-simple text unliftio
+         unordered-containers
        ];
        testHaskellDepends = [
          base bytestring hs-opentelemetry-api iproute network
          postgresql-libpq postgresql-simple text unliftio
+         unordered-containers
        ];
        license = lib.licenses.bsd3;
      }) {};
@@ -153345,8 +153944,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-wai";
-       version = "0.0.1.4";
-       sha256 = "1g45pwl0fsc3i6s3wwxnn469xgivn4wmnay9w6xrfhq8c5ha6b2z";
+       version = "0.1.0.0";
+       sha256 = "161xasgy82c0vzk38dz8441f5h90w05jjb1v3yzaarhkj6zm29cb";
        libraryHaskellDepends = [
          base bytestring hs-opentelemetry-api http-types iproute network
          text vault wai
@@ -153362,19 +153961,22 @@ self: {
   "hs-opentelemetry-instrumentation-yesod" = callPackage
     ({ mkDerivation, base, hs-opentelemetry-api
      , hs-opentelemetry-instrumentation-wai, microlens, mtl
-     , template-haskell, text, unliftio, wai, yesod-core
+     , template-haskell, text, unliftio, unordered-containers, wai
+     , yesod-core
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-yesod";
-       version = "0.0.1.3";
-       sha256 = "1222hkn0zjxd1bdclsridbz2bpr699k78fdvpcybgqvr2yazhyxa";
+       version = "0.1.0.0";
+       sha256 = "1m3ph1g2rkg0a45zrfq5781gqjc5nk5ppg107b1lqsnngb3r659r";
        libraryHaskellDepends = [
          base hs-opentelemetry-api hs-opentelemetry-instrumentation-wai
-         microlens mtl template-haskell text unliftio wai yesod-core
+         microlens mtl template-haskell text unliftio unordered-containers
+         wai yesod-core
        ];
        testHaskellDepends = [
          base hs-opentelemetry-api hs-opentelemetry-instrumentation-wai
-         microlens mtl template-haskell text unliftio wai yesod-core
+         microlens mtl template-haskell text unliftio unordered-containers
+         wai yesod-core
        ];
        description = "Yesod middleware for providing OpenTelemetry instrumentation";
        license = lib.licenses.bsd3;
@@ -153397,8 +153999,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-propagator-b3";
-       version = "0.0.1.0";
-       sha256 = "0ibca4xc19hc77wwi8z5cb86rwrj7ali2fzm8pp2qa6hrrrcy83g";
+       version = "0.0.1.1";
+       sha256 = "0ncv85hsal7vqhfb0z4il0x8lwjibjji22japsi45w9fkkqhs8wd";
        libraryHaskellDepends = [
          attoparsec base bytestring hs-opentelemetry-api http-types memory
          primitive text
@@ -153417,8 +154019,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-propagator-w3c";
-       version = "0.0.1.2";
-       sha256 = "1z4f7hsdbp6gr2ymbrvfkb0ynzy8kxfwpcyl2718qib7m2qjyysz";
+       version = "0.0.1.3";
+       sha256 = "0n99kmy2ka3rmwhn56dqzsszhpv7phgcmkqng7drvr6qi5jzlfpz";
        libraryHaskellDepends = [
          attoparsec base bytestring hs-opentelemetry-api http-types text
        ];
@@ -153433,27 +154035,26 @@ self: {
     ({ mkDerivation, async, base, bytestring, clock
      , hs-opentelemetry-api, hs-opentelemetry-exporter-otlp
      , hs-opentelemetry-propagator-b3, hs-opentelemetry-propagator-w3c
-     , hspec, http-types, mwc-random, network-bsd, random
-     , random-bytestring, stm, text, transformers, unagi-chan, unix
-     , unordered-containers, vector, vector-builder
+     , hspec, http-types, network-bsd, random, stm, text, transformers
+     , unagi-chan, unix, unordered-containers, vector, vector-builder
      }:
      mkDerivation {
        pname = "hs-opentelemetry-sdk";
-       version = "0.0.3.5";
-       sha256 = "1h0fvhhxdgbb9jgs9g8snbnmv00iwr2xzb70q35087yy2476sdab";
+       version = "0.0.3.6";
+       sha256 = "042cb38dilf965dmyapv6c09v70520lrl389yv98yk1wwflkyrhi";
        libraryHaskellDepends = [
          async base bytestring hs-opentelemetry-api
          hs-opentelemetry-exporter-otlp hs-opentelemetry-propagator-b3
-         hs-opentelemetry-propagator-w3c http-types mwc-random network-bsd
-         random random-bytestring stm text transformers unagi-chan unix
-         unordered-containers vector vector-builder
+         hs-opentelemetry-propagator-w3c http-types network-bsd random stm
+         text transformers unagi-chan unix unordered-containers vector
+         vector-builder
        ];
        testHaskellDepends = [
          async base bytestring clock hs-opentelemetry-api
          hs-opentelemetry-exporter-otlp hs-opentelemetry-propagator-b3
-         hs-opentelemetry-propagator-w3c hspec http-types mwc-random
-         network-bsd random random-bytestring stm text transformers
-         unagi-chan unix unordered-containers vector vector-builder
+         hs-opentelemetry-propagator-w3c hspec http-types network-bsd random
+         stm text transformers unagi-chan unix unordered-containers vector
+         vector-builder
        ];
        description = "OpenTelemetry SDK for use in applications";
        license = lib.licenses.bsd3;
@@ -153465,8 +154066,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-utils-exceptions";
-       version = "0.1.0.0";
-       sha256 = "0syz50by1n5818pwfap58rj6d76frwvhk14aqxk1x3mx2ddsz0yc";
+       version = "0.2.0.0";
+       sha256 = "1jcczl8q78d1fz32s0sb6g8qr4s70zdwn13p789w7m5xvycjdvrg";
        libraryHaskellDepends = [
          base exceptions hs-opentelemetry-api hs-opentelemetry-sdk text
        ];
@@ -153678,6 +154279,27 @@ self: {
        broken = true;
      }) {notifier = null;};
 
+  "hs-samtools" = callPackage
+    ({ mkDerivation, ascii, attoparsec, base, bitvec, bytestring
+     , containers, crypton, generic-deriving, hspec, pcre-heavy
+     , regex-tdfa, streamly, streamly-bytestring, streamly-core
+     }:
+     mkDerivation {
+       pname = "hs-samtools";
+       version = "0.6.0.1";
+       sha256 = "0i3klgjjai1ax8nyijb3qrach93d6r2pmsxbf2vq56cg3d8j3ym7";
+       libraryHaskellDepends = [
+         ascii attoparsec base bitvec bytestring containers crypton
+         generic-deriving pcre-heavy regex-tdfa streamly streamly-bytestring
+         streamly-core
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Read and write SAM, BAM, and CRAM files";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hs-scrape" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default
      , exceptions, hspec, html-conduit, lens, retry, safe, tasty
@@ -155017,6 +155639,23 @@ self: {
        mainProgram = "HsColour";
      }) {};
 
+  "hscolour_1_25" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "hscolour";
+       version = "1.25";
+       sha256 = "0z679khnmb6as1zcdb44n9qjk7in32jpm4ldscpqg7jrapd31kjl";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [ base containers ];
+       description = "Colourise Haskell code";
+       license = "LGPL";
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "HsColour";
+     }) {};
+
   "hscope" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cpphs, deepseq
      , directory, haskell-src-exts, mtl, process, pure-cdb, test-simple
@@ -155283,8 +155922,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.3";
-       sha256 = "01zwrq37877jb39yji622ibmb8nmgqhgflb9bbl7pnf7ck7cj0aq";
+       version = "0.1.3.1";
+       sha256 = "0vcrh15p479x7yl4npr85wqalgkzs76h4smqwlsrp9m4w4lgaskz";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -157053,6 +157692,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hspec-hedgehog_0_1_0_0" = callPackage
+    ({ mkDerivation, base, hedgehog, hspec, hspec-core, QuickCheck
+     , splitmix
+     }:
+     mkDerivation {
+       pname = "hspec-hedgehog";
+       version = "0.1.0.0";
+       sha256 = "0jlz6niac56v4x3dxd56cmgzxhirsabgyicc39b8iv7b97lc1pkm";
+       libraryHaskellDepends = [
+         base hedgehog hspec hspec-core QuickCheck splitmix
+       ];
+       testHaskellDepends = [ base hedgehog hspec ];
+       description = "Integrate Hedgehog and Hspec!";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hspec-jenkins" = callPackage
     ({ mkDerivation, base, blaze-markup, hspec }:
      mkDerivation {
@@ -157648,8 +158304,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspray";
-       version = "0.1.2.0";
-       sha256 = "0x85ya24w47qh38w0rndnik2niy3mh0n2zamxfvzshbj3zqdip5d";
+       version = "0.1.3.0";
+       sha256 = "167kg2qcjr9r1yqiq9cjz20bvwwj1z2msdjp7n6mfc2q9266294l";
        libraryHaskellDepends = [
          base containers hashable numeric-prelude text unordered-containers
        ];
@@ -159376,10 +160032,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.13.1";
-       sha256 = "09qfmakjk285jz2rnb53c1m9c764fg8vngfq43ipga1g72h8d3n9";
-       revision = "1";
-       editedCabalFile = "168nbb80kcxyz59sz4mnaydpag5flq32y9ikfxa1jygj8j8p9034";
+       version = "0.7.14";
+       sha256 = "0hgrzy05ynivip7l2lv788y8prma2cb99007jrl6q3hph3w3cbi2";
        libraryHaskellDepends = [
          array async base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -159983,6 +160637,53 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "http-exchange" = callPackage
+    ({ mkDerivation, base, byteslice, bytesmith, bytestring
+     , http-interchange, primitive, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "http-exchange";
+       version = "0.1.1.0";
+       sha256 = "0v3zgl324f6xinjiymlc90w7s22yir49rdn3nvrj1lrixrvkdgv9";
+       libraryHaskellDepends = [
+         base byteslice bytesmith http-interchange primitive text
+       ];
+       testHaskellDepends = [
+         base byteslice bytestring http-interchange primitive tasty
+         tasty-hunit
+       ];
+       doHaddock = false;
+       description = "Perform HTTP Requests";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "http-exchange-instantiations" = callPackage
+    ({ mkDerivation, base, byteslice, bytestring, data-default
+     , error-codes, http-exchange, http-interchange, network
+     , network-unexceptional, pretty-show, stm, tls
+     }:
+     mkDerivation {
+       pname = "http-exchange-instantiations";
+       version = "0.1.1.0";
+       sha256 = "0fvkmhd8571r4k548l9x8n3ybdnlh9b8rczkcxv3f32xim0k9rx9";
+       revision = "1";
+       editedCabalFile = "1rn4yfwlxv1j4d917v0fggdl1qy47vl8dhibvvdma1v2554dgrcv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base byteslice bytestring error-codes http-exchange
+         http-interchange network network-unexceptional stm tls
+       ];
+       executableHaskellDepends = [
+         base data-default http-interchange network pretty-show tls
+       ];
+       doHaddock = false;
+       description = "Instantiations of http-exchange";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-grammar" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring }:
      mkDerivation {
@@ -160143,24 +160844,43 @@ self: {
 
   "http-media" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , QuickCheck, test-framework, test-framework-quickcheck2
-     , utf8-string
+     , QuickCheck, tasty, tasty-quickcheck, utf8-string
      }:
      mkDerivation {
        pname = "http-media";
-       version = "0.8.0.0";
-       sha256 = "0lww5cxrc9jlvzsysjv99lca33i4rb7cll66p3c0rdpmvz8pk0ir";
-       revision = "8";
-       editedCabalFile = "08r5iq0hi1y4y1b6vdi4kp52blvxzmd9gxa38xwzz86xnz84xvzl";
+       version = "0.8.1.0";
+       sha256 = "1ydrs7iichc06mfj65x1f3g1piy06b7gbjidjf1lf3jp325k2him";
+       revision = "1";
+       editedCabalFile = "119vhcwlgra8s097jwxvkp51grr3kabjfy7a60jpqybrsncfjn0a";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers utf8-string
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers QuickCheck tasty
+         tasty-quickcheck utf8-string
+       ];
+       description = "Processing HTTP Content-Type and Accept headers";
+       license = lib.licenses.mit;
+     }) {};
+
+  "http-media_0_8_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , QuickCheck, tasty, tasty-quickcheck, utf8-string
+     }:
+     mkDerivation {
+       pname = "http-media";
+       version = "0.8.1.1";
+       sha256 = "10zi0c6v0vngxadlbzfp1y1fgyx1ac5gvyvl0gv6gl8m3grss80r";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers utf8-string
        ];
        testHaskellDepends = [
-         base bytestring case-insensitive containers QuickCheck
-         test-framework test-framework-quickcheck2 utf8-string
+         base bytestring case-insensitive containers QuickCheck tasty
+         tasty-quickcheck utf8-string
        ];
        description = "Processing HTTP Content-Type and Accept headers";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-mock" = callPackage
@@ -161740,7 +162460,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "AWS SQS conduit";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-balancedparens" = callPackage
@@ -165186,8 +165905,8 @@ self: {
     ({ mkDerivation, base, ghc, ghc-tcplugin-api }:
      mkDerivation {
        pname = "if-instance";
-       version = "0.4.0.0";
-       sha256 = "09q3l2fz2ym89cpah6gm3db47i2m7cwzz0wgz2c6sfycxfq6vzp8";
+       version = "0.5.1.0";
+       sha256 = "1gl6m7schrca8kqz10ia8qz3kad4h21ijjrqcarl7r0ipvpc9hz8";
        libraryHaskellDepends = [ base ghc ghc-tcplugin-api ];
        testHaskellDepends = [ base ghc ];
        doHaddock = false;
@@ -166070,7 +166789,6 @@ self: {
        ];
        description = "Execute arbitrary actions for each item from RSS/Atom feeds";
        license = lib.licenses.cc0;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "immortal_0_2_2_1" = callPackage
@@ -166627,6 +167345,7 @@ self: {
        ];
        description = "A Prelude for Polysemy";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "incipit-base" = callPackage
@@ -168534,8 +169253,8 @@ self: {
     ({ mkDerivation, base, posix-timer, streaming, unix }:
      mkDerivation {
        pname = "intel-powermon";
-       version = "0";
-       sha256 = "036g1lm3n5zm67yr151xvwq8134a0n6wbfzp3avqkjpn478khiyq";
+       version = "0.0.1";
+       sha256 = "0ld1rfmvm73d81v3cc1kfb9v1wm09lvg8a75djsfkaz7xkpx2kdn";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base posix-timer streaming unix ];
@@ -168696,6 +169415,8 @@ self: {
        pname = "intern";
        version = "0.9.5";
        sha256 = "0jsylr86vlwn7pqzpkbja84br6i2r7d4a1vgqb3zcl92n306wzln";
+       revision = "1";
+       editedCabalFile = "0vhn9sxi0fbkh0f9340vlckpbdflsp9j02as5hxs7yh5vvnp9sz4";
        libraryHaskellDepends = [
          array base bytestring hashable text unordered-containers
        ];
@@ -169770,10 +170491,8 @@ self: {
      }:
      mkDerivation {
        pname = "ip";
-       version = "1.7.6";
-       sha256 = "11ckl62w9005pww467ydx38imadzwrn36ww21c535x3jhhbic3a9";
-       revision = "1";
-       editedCabalFile = "0j9zs161awzvcbnc72prs6byzcy65gqg3q2m3hsi70hxbvpkm0zk";
+       version = "1.7.7";
+       sha256 = "0yhhmy51s2sbm1qlbx2z9h6bizswi2ck15fxxl76vc3dzbd7gj27";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive text text-short
@@ -171723,10 +172442,8 @@ self: {
      }:
      mkDerivation {
        pname = "jacinda";
-       version = "1.2.0.0";
-       sha256 = "11xgbxhbhd6j974invscbmc1r41f4synjqhc2499kdknjfvnvnv5";
-       revision = "1";
-       editedCabalFile = "03rj2ygqman0ynr9ns7w8z42x5xbvqkxgr2x6skldlipqamj9pb2";
+       version = "2.0.1.0";
+       sha256 = "0ydpaj6mjdmprshfqa9p9gwlkn4v02zm97pq3g5lhbi6jlfx6f3w";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -171736,13 +172453,9 @@ self: {
          transformers vector
        ];
        libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [
-         base bytestring optparse-applicative
-       ];
-       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq silently
-       ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       benchmarkHaskellDepends = [ base criterion deepseq silently text ];
        doHaddock = false;
        description = "Functional, expression-oriented data processing language";
        license = lib.licenses.agpl3Only;
@@ -173216,8 +173929,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle";
-       version = "0.9.8.2";
-       sha256 = "17xffxyl4h8fbb608gzhflli89qxhrzf38bp9l8n2w2bwix7w01i";
+       version = "0.9.8.3";
+       sha256 = "03d89cyhkwcvk3xjac3hgp7nfg8bq6lkig7y98yyha0chda1206w";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat base64-bytestring bytestring
          containers deepseq exceptions filepath ghc-prim http-types lens
@@ -173234,8 +173947,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-clib";
-       version = "0.9.8.2";
-       sha256 = "0nbsjmn52dr0rfslz6c7f16z7brc76ljq78bkkbq3aj8ljadh0p6";
+       version = "0.9.8.3";
+       sha256 = "1ss1f7nlmkpby4xfcviq1lmw5x8mvqq5zs406lyp3bksxgkvs6vj";
        libraryHaskellDepends = [
          aeson base base-compat bytestring data-default jsaddle text
        ];
@@ -173283,25 +173996,21 @@ self: {
      }) {};
 
   "jsaddle-warp" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
-     , doctest, exceptions, filepath, foreign-store, ghc-prim
-     , http-types, jsaddle, lens, network, primitive, process
-     , QuickCheck, random, ref-tf, stm, text, time, transformers
-     , unliftio-core, wai, wai-websockets, warp, webdriver, websockets
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , foreign-store, hspec, http-types, jsaddle, lens, mtl, process
+     , stm, text, time, transformers, wai, wai-websockets, warp
+     , websockets
      }:
      mkDerivation {
        pname = "jsaddle-warp";
-       version = "0.9.8.2";
-       sha256 = "12914i4l7hkwvwvzf25vr7zywc6xp9cq0mfzr57kzw6ga1y3gvxb";
+       version = "0.9.8.3";
+       sha256 = "1hdcaxspazd8yxk6f6a0jcdr3hwwr2xwrmp40qarbklx33b9ajqa";
        libraryHaskellDepends = [
          aeson base bytestring containers foreign-store http-types jsaddle
          stm text time transformers wai wai-websockets warp websockets
        ];
        testHaskellDepends = [
-         aeson base bytestring containers deepseq doctest exceptions
-         filepath foreign-store ghc-prim http-types jsaddle lens network
-         primitive process QuickCheck random ref-tf stm text time
-         transformers unliftio-core wai wai-websockets warp webdriver
+         base bytestring directory hspec jsaddle lens mtl process text warp
          websockets
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
@@ -173318,8 +174027,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsaddle-webkit2gtk";
-       version = "0.9.8.2";
-       sha256 = "0cqn013dzn5wwap74i5j9kd6maxsqxb84zys6p80kjl5vnk5pvxh";
+       version = "0.9.8.4";
+       sha256 = "1aky8lczbvhm11s6hhn5vnmssq8sdhd3nx93dihhsvlma1gg8gs3";
        libraryHaskellDepends = [
          aeson base bytestring directory gi-gio gi-glib gi-gtk
          gi-javascriptcore gi-webkit2 haskell-gi-base haskell-gi-overloading
@@ -173353,8 +174062,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "jsaddle-wkwebview";
-       version = "0.9.8.2";
-       sha256 = "07qba7bnygnsy3yg4mk8bn8wfzca43cd7mzzjp5b4yracchvljqj";
+       version = "0.9.8.3";
+       sha256 = "0lh613ws0lgrw298p1sbq1jdj1ka5nzn1ijpg2zwwr5wc2g5ha4w";
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -174095,23 +174804,70 @@ self: {
      }) {};
 
   "json-spec" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, hspec, lens, openapi3
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , scientific, text, time, vector
      }:
      mkDerivation {
        pname = "json-spec";
-       version = "0.1.0.0";
-       sha256 = "0cm2k50vi2ys9p24ziwfw0f4sky9gq07ibf3s5hw22cz4gpf47ys";
+       version = "0.2.1.1";
+       sha256 = "0p8hyl06cprribjh6p1zdhkamyfxlv8s6az3k5jax4xazzm6rji8";
        libraryHaskellDepends = [
-         aeson base bytestring lens openapi3 scientific text time vector
+         aeson base containers scientific text time vector
        ];
        testHaskellDepends = [
-         aeson base bytestring hspec lens openapi3 scientific text time
-         vector
+         aeson base bytestring containers hspec scientific text time vector
        ];
        description = "Type-level JSON specification";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "json-spec-elm" = callPackage
+    ({ mkDerivation, base, bound, containers, directory, elm-syntax
+     , hspec, json-spec, mtl, prettyprinter, process, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "json-spec-elm";
+       version = "0.3.0.2";
+       sha256 = "0g1y6kfrysnpyha7b752y5vk8mxvbwqw3bhag8g0ylnl4wbl00xf";
+       libraryHaskellDepends = [
+         base bound containers elm-syntax json-spec mtl prettyprinter text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base bound containers directory elm-syntax hspec json-spec mtl
+         prettyprinter process text unordered-containers
+       ];
+       description = "Elm code generate for `json-spec`";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "json-spec-elm-servant" = callPackage
+    ({ mkDerivation, aeson, base, binary, bound, bytestring, containers
+     , cookie, directory, elm-syntax, hspec, http-types, json-spec
+     , json-spec-elm, mtl, prettyprinter, process, servant, text, time
+     , unordered-containers, uuid
+     }:
+     mkDerivation {
+       pname = "json-spec-elm-servant";
+       version = "0.3.1.1";
+       sha256 = "07k7ccn2j0jyfslzpq6nvvkc0yng9xwkly6jzrgmcbidd2gc831k";
+       libraryHaskellDepends = [
+         base bound containers directory elm-syntax http-types json-spec
+         json-spec-elm mtl prettyprinter process servant text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base binary bound bytestring containers cookie directory
+         elm-syntax hspec http-types json-spec json-spec-elm mtl
+         prettyprinter process servant text time unordered-containers uuid
+       ];
+       description = "Generated elm code for servant APIs";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "json-spec-openapi" = callPackage
@@ -174998,6 +175754,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "junit-xml_0_1_0_3" = callPackage
+    ({ mkDerivation, base, filepath, tasty, tasty-golden, temporary
+     , text, xml-conduit
+     }:
+     mkDerivation {
+       pname = "junit-xml";
+       version = "0.1.0.3";
+       sha256 = "1iwa8x0nbap2q6kjybxnrsyay64z77dlsm83nq2l6818jwgiji5r";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base text xml-conduit ];
+       testHaskellDepends = [
+         base filepath tasty tasty-golden temporary
+       ];
+       description = "Producing JUnit-style XML test reports";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "jupyter" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, cereal, containers
      , directory, exceptions, extra, filepath, monad-control, mtl
@@ -175519,8 +176293,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4.1";
        sha256 = "1j54rsqna8xrw1si8i74v0c9k4jjv8a2q001aa8sx4rxb7d1qbzy";
-       revision = "7";
-       editedCabalFile = "15i4wiqpxhmx80n5wavwgyvwlv8sn6z8xiq3h61rksjlacjq05jw";
+       revision = "8";
+       editedCabalFile = "02b9q0s45wlrszr623mzv5zx7vya61ix697w6f2mjnicip9hga90";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
@@ -176647,7 +177421,7 @@ self: {
   "keid-core" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , cryptohash-md5, derive-storable, derive-storable-plugin
-     , file-embed, foldl, geomancy, GLFW-b, ktx-codec
+     , file-embed, foldl, geomancy, geomancy-layout, GLFW-b, ktx-codec
      , neat-interpolation, optparse-applicative, optparse-simple
      , resourcet, rio, rio-app, serialise, spirv-reflect-ffi
      , spirv-reflect-types, StateVar, tagged, template-haskell, text
@@ -176656,15 +177430,18 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.8.0";
-       sha256 = "1lybgxmvyx74ib9mlg8dx5vgliskrww3810p06ni2wcpg1malycm";
+       version = "0.1.9.0";
+       sha256 = "0gx8hgn52a3hsirna09zn3j8amplp6kp5r8y4wzdr1fz03abas7d";
+       revision = "1";
+       editedCabalFile = "0wk745437iyyd247q3b8kgdqnysbzcsikbf60cvf3x2ycs8hlb4m";
        libraryHaskellDepends = [
          base binary bytestring containers cryptohash-md5 derive-storable
-         derive-storable-plugin file-embed foldl geomancy GLFW-b ktx-codec
-         neat-interpolation optparse-applicative optparse-simple resourcet
-         rio rio-app serialise spirv-reflect-ffi spirv-reflect-types
-         StateVar tagged template-haskell text transformers unagi-chan
-         unliftio vector vulkan vulkan-utils VulkanMemoryAllocator zstd
+         derive-storable-plugin file-embed foldl geomancy geomancy-layout
+         GLFW-b ktx-codec neat-interpolation optparse-applicative
+         optparse-simple resourcet rio rio-app serialise spirv-reflect-ffi
+         spirv-reflect-types StateVar tagged template-haskell text
+         transformers unagi-chan unliftio vector vulkan vulkan-utils
+         VulkanMemoryAllocator zstd
        ];
        description = "Core parts of Keid engine";
        license = lib.licenses.bsd3;
@@ -176672,15 +177449,16 @@ self: {
      }) {};
 
   "keid-frp-banana" = callPackage
-    ({ mkDerivation, base, geomancy, keid-core, reactive-banana
-     , resourcet, rio, these, vulkan
+    ({ mkDerivation, base, geomancy, geomancy-layout, keid-core
+     , reactive-banana, resourcet, rio, these, vulkan
      }:
      mkDerivation {
        pname = "keid-frp-banana";
-       version = "0.1.1.0";
-       sha256 = "0m62bj6cc9xl5rricmc1xxs8q8vlbn7ablcrx923289bynyiir0i";
+       version = "0.1.2.0";
+       sha256 = "1yaj6mjwqwa99v74bkn42r06l8gxw7cfydwyi013jfgxrjk0kn4l";
        libraryHaskellDepends = [
-         base geomancy keid-core reactive-banana resourcet rio these vulkan
+         base geomancy geomancy-layout keid-core reactive-banana resourcet
+         rio these vulkan
        ];
        description = "Reactive Banana integration for Keid engine";
        license = lib.licenses.bsd3;
@@ -176705,19 +177483,20 @@ self: {
 
   "keid-render-basic" = callPackage
     ({ mkDerivation, aeson, base, bytestring, derive-storable
-     , derive-storable-plugin, file-embed, geomancy, keid-core
-     , keid-geometry, neat-interpolation, resourcet, rio, tagged, text
-     , unliftio, vector, vulkan, vulkan-utils
+     , derive-storable-plugin, file-embed, geomancy, geomancy-layout
+     , gl-block, keid-core, keid-geometry, neat-interpolation, resourcet
+     , rio, tagged, text, unliftio, vector, vulkan, vulkan-utils
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.8.0";
-       sha256 = "071f7dxfar0r4al3v74h2shb0hgkw1dnw7nbwpahqh6gm5x96ynl";
+       version = "0.1.9.0";
+       sha256 = "1iz6ciyi5qn4garrpr3xvl2bwvcvrjl8diyzw3cnd49p6zgs0kh3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring derive-storable derive-storable-plugin
-         file-embed geomancy keid-core keid-geometry neat-interpolation
-         resourcet rio tagged text unliftio vector vulkan vulkan-utils
+         file-embed geomancy geomancy-layout gl-block keid-core
+         keid-geometry neat-interpolation resourcet rio tagged text unliftio
+         vector vulkan vulkan-utils
        ];
        description = "Basic rendering programs for Keid engine";
        license = lib.licenses.bsd3;
@@ -176727,15 +177506,16 @@ self: {
      }) {};
 
   "keid-resource-gltf" = callPackage
-    ({ mkDerivation, base, bytestring, containers, geomancy, gltf-codec
-     , keid-core, rio
+    ({ mkDerivation, base, bytestring, containers, geomancy, gl-block
+     , gltf-codec, keid-core, rio, vector
      }:
      mkDerivation {
        pname = "keid-resource-gltf";
-       version = "0.1.0.1";
-       sha256 = "1b5bsarlgwgdwmkv9s5ma9lmqmanxr20zdd6dlz3z0akgakzl4h8";
+       version = "0.1.0.2";
+       sha256 = "1z11nsjzzgrlbkmv6r2j7x6fwn22hw7x029yxjam20nnf4lqmzg6";
        libraryHaskellDepends = [
-         base bytestring containers geomancy gltf-codec keid-core rio
+         base bytestring containers geomancy gl-block gltf-codec keid-core
+         rio vector
        ];
        description = "GLTF loader for Keid engine";
        license = lib.licenses.bsd3;
@@ -177722,8 +178502,8 @@ self: {
      }:
      mkDerivation {
        pname = "knead";
-       version = "0.5";
-       sha256 = "07j0sw10qs0zpz5hgxmrhs3rrwhnxf6441jasyagl96724svxq21";
+       version = "1.0";
+       sha256 = "144x124wqdywrn158d3jzrhja09gzakfsfgvwvb9p67vzns7nv42";
        libraryHaskellDepends = [
          base bool8 comfort-array fixed-length llvm-dsl llvm-extra llvm-tf
          prelude-compat storable-enum storable-record tagged tfp
@@ -179469,6 +180249,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lambdasound" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , bytestring-to-vector, deepseq, directory, falsify, filepath
+     , hashable, hashtables, massiv, proteaaudio-sdl, random, tasty
+     , tasty-bench, tasty-hunit, text, transformers, vector, wave, zlib
+     }:
+     mkDerivation {
+       pname = "lambdasound";
+       version = "1.0.1";
+       sha256 = "0g98gg397srwg5mcx4x56sgnmz5lm9jr1qd505i7r6maiq05v539";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base binary bytestring bytestring-to-vector deepseq
+         directory filepath hashable hashtables massiv proteaaudio-sdl
+         random text transformers vector wave zlib
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base falsify massiv tasty tasty-hunit ];
+       benchmarkHaskellDepends = [ base massiv tasty tasty-bench ];
+       description = "A libary for generating low-level sounds with high-level combinators";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "lambdatex" = callPackage
     ({ mkDerivation, async, base, containers, directory, filepath
      , HaTeX, hspec, mtl, QuickCheck, quickcheck-text, text
@@ -179887,8 +180693,8 @@ self: {
     ({ mkDerivation, base, language-c99, language-c99-util, mtl }:
      mkDerivation {
        pname = "language-c99-simple";
-       version = "0.2.2";
-       sha256 = "16va8nd3xa4a8nfdpazcnrl0192cpdc7z06ixcx0ya04sycc9cx9";
+       version = "0.2.3";
+       sha256 = "0myjz09psk7snv4366qxdx1wn4a4xc50vnp97yg6bgmasl8kibz3";
        libraryHaskellDepends = [
          base language-c99 language-c99-util mtl
        ];
@@ -182950,10 +183756,10 @@ self: {
      }:
      mkDerivation {
        pname = "lens";
-       version = "5.2.2";
-       sha256 = "1qvnzxa8z3jk7kcrc394cd6drckcncpqd1jq3kk8dg9m372mhp45";
+       version = "5.2.3";
+       sha256 = "0kcr1dqvnjmi05yd9m9ylipk5210jwd7d00c9scq9n49vnl8q7nz";
        revision = "1";
-       editedCabalFile = "0dc47dfby74lmw5y436yhqi0pkgmw7vs12d14c7vhi9n2wr5f7g0";
+       editedCabalFile = "0bbycnw01xxiidjjwg902wbla9mp0m17a2lpm5qw0za1gsnyl4q1";
        libraryHaskellDepends = [
          array assoc base base-orphans bifunctors bytestring call-stack
          comonad containers contravariant distributive exceptions filepath
@@ -183033,8 +183839,8 @@ self: {
        pname = "lens-aeson";
        version = "1.2.3";
        sha256 = "00ac8anw6a3alwlqqvbr1vp7brajrdp66ximl7ylvj28wbznmg3v";
-       revision = "1";
-       editedCabalFile = "1h3y26a6z9dxifqm1ndqhlnwa41gb8majr3rqs7i93xnyp8y20b6";
+       revision = "2";
+       editedCabalFile = "1mw2ijrdkkpazgnfb1msahgf1dlygrcl2i3hi4g7vqf8b95knwss";
        libraryHaskellDepends = [
          aeson base bytestring lens scientific text text-short
          unordered-containers vector
@@ -183376,15 +184182,15 @@ self: {
 
   "lens-toml-parser" = callPackage
     ({ mkDerivation, base, containers, dwergaz, hlint, lens-family
-     , profunctors, text, time, toml-parser
+     , profunctors, time, toml-parser
      }:
      mkDerivation {
        pname = "lens-toml-parser";
-       version = "0.1.0.4";
-       sha256 = "01gxm5p7bhylp1mkad4mng5rkh3wn2cvjcxkqp11pc51f4mkkqml";
-       libraryHaskellDepends = [ base profunctors text time toml-parser ];
+       version = "0.2.0.0";
+       sha256 = "09fihza44jksq1lqx6ks68aqi1z0ks0338f8qz1zlzmnnfp32gfw";
+       libraryHaskellDepends = [ base profunctors time toml-parser ];
        testHaskellDepends = [
-         base containers dwergaz hlint lens-family text toml-parser
+         base containers dwergaz hlint lens-family toml-parser
        ];
        description = "Lenses for toml-parser";
        license = lib.licenses.isc;
@@ -183505,6 +184311,8 @@ self: {
        pname = "lentil";
        version = "1.5.6.0";
        sha256 = "0sjhhvrw3xbisg8mi1g67yj5r43wzyhqav61wm0ynb1wakc7das1";
+       revision = "2";
+       editedCabalFile = "1075p06xxahc00pqvk6025axvbcfyzw41cqgrhizj1kbrs1alrlb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -183967,13 +184775,12 @@ self: {
     ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
      , composition-prelude, cpphs, criterion, deepseq, dir-traverse
      , directory, dlist, filepath, hspec, libarchive, mtl
-     , pathological-bytestrings, tar, tar-conduit, temporary
-     , unix-compat
+     , pathological-bytestrings, tar, temporary, unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "3.0.3.2";
-       sha256 = "000yq98nm151p0j95nm6dy2pp4g0dz8sh704ga3gcsp2dhk3vrji";
+       version = "3.0.4.2";
+       sha256 = "1jzpp4sn3lchp68c6wrcfvg4yr8g1fhhki1s2qp2a15nyzljpq8i";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal chs-cabal ];
@@ -183989,7 +184796,7 @@ self: {
        ];
        testToolDepends = [ cpphs ];
        benchmarkHaskellDepends = [
-         base bytestring criterion tar tar-conduit temporary
+         base bytestring criterion tar temporary
        ];
        description = "Haskell interface to libarchive";
        license = lib.licenses.bsd3;
@@ -186158,6 +186965,8 @@ self: {
        ];
        description = "Native, complete-ish, matrix-free linear algebra";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "linearscan" = callPackage
@@ -187466,10 +188275,8 @@ self: {
      }:
      mkDerivation {
        pname = "list-tuple";
-       version = "0.1.3.0";
-       sha256 = "1qd5pr7i9xsym09ly6am3a0id3cwbb8w4xphbsjkv3wrlfv9z9v0";
-       revision = "1";
-       editedCabalFile = "1xmim80y3mcj81ak2xh3mpy1g2kqwqy4q7rh8n69ipbwsldqcfwg";
+       version = "0.1.4.1";
+       sha256 = "1xikv5wq6xqq8wcxw9vjp5s5ci9qqyw2kxbxp03madzaawdqq0g6";
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base OneTuple Only single-tuple ];
        testHaskellDepends = [
@@ -187682,8 +188489,8 @@ self: {
        pname = "literatex";
        version = "0.3.0.0";
        sha256 = "0ph3s26hxvnkdqc3s09d3ka1p224zmgwc3k6zi7jmma0sgrmnm9x";
-       revision = "1";
-       editedCabalFile = "1nn5manl4133hl3r2xnk1m36kb43j7k1vaw5v71pn5krdnx9ygkp";
+       revision = "3";
+       editedCabalFile = "0k1b9pbdlrz9n4aaj07arbzbzz4l4dy0srh3x8px3d0rjpvwyld7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -187965,15 +188772,16 @@ self: {
   "llvm-dsl" = callPackage
     ({ mkDerivation, base, bool8, llvm-extra, llvm-tf, numeric-prelude
      , prelude-compat, storable-enum, storable-record, tfp, transformers
-     , utility-ht
+     , unsafe, utility-ht, vault
      }:
      mkDerivation {
        pname = "llvm-dsl";
-       version = "0.0";
-       sha256 = "0ij2y3q8c46z731b1hlqcjgrkmzsj066mnb0rpnwkn70caai3vz8";
+       version = "0.1";
+       sha256 = "1x3br3g227gh7hydfllzwjp3lv9lgq9p1rnrh09sw4whcv4crhbb";
        libraryHaskellDepends = [
          base bool8 llvm-extra llvm-tf numeric-prelude prelude-compat
-         storable-enum storable-record tfp transformers utility-ht
+         storable-enum storable-record tfp transformers unsafe utility-ht
+         vault
        ];
        description = "Support for writing an EDSL with LLVM-JIT as target";
        license = lib.licenses.bsd3;
@@ -188000,17 +188808,15 @@ self: {
      }) {};
 
   "llvm-extra" = callPackage
-    ({ mkDerivation, base, base-orphans, bool8, containers, enumset
-     , fixed-length, llvm-tf, non-empty, prelude-compat, QuickCheck
-     , storable-enum, storable-record, tagged, tfp, transformers
-     , utility-ht
+    ({ mkDerivation, base, base-orphans, bool8, containers
+     , doctest-exitcode-stdio, enumset, fixed-length, llvm-tf, non-empty
+     , prelude-compat, QuickCheck, storable-enum, storable-record
+     , tagged, tfp, transformers, utility-ht
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.10.1";
-       sha256 = "0m8fxip4345k92nq5n0dqdbjyahah0nind6lrwa5r7f9ff9j8gc9";
-       revision = "1";
-       editedCabalFile = "12b7icp5vk26nwl5q8jhsrcqp10h0w72yxqsw9dzr3lzca4g6wl2";
+       version = "0.11";
+       sha256 = "1ck6cama0l89rgjcqhnasvzzy1pacr9h2z6v32pi7xci3h7ijhy2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -188019,7 +188825,8 @@ self: {
          transformers utility-ht
        ];
        testHaskellDepends = [
-         base llvm-tf QuickCheck storable-record tfp utility-ht
+         base doctest-exitcode-stdio llvm-tf QuickCheck storable-record tfp
+         transformers utility-ht
        ];
        doHaddock = false;
        description = "Utility functions for the llvm interface";
@@ -188322,8 +189129,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "12.0.0.1";
-       sha256 = "0l576wi605lqj8lgvqz1a4kd99bk93fi09gpppifbizw1vgihhy1";
+       version = "12.1";
+       sha256 = "0p285ssw0wii8pn1ml110wjpzd6hb8h1yb0zff0hyhzs8k23pm7a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -190506,22 +191313,23 @@ self: {
   "lsp" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , co-log-core, containers, data-default, directory, exceptions
-     , filepath, hashable, hspec, hspec-discover, lens, lsp-types, mtl
-     , prettyprinter, random, row-types, sorted-list, stm, temporary
-     , text, text-rope, transformers, unliftio-core
+     , filepath, hashable, hspec, hspec-discover, lens, lens-aeson
+     , lsp-types, mtl, prettyprinter, random, row-types, sorted-list
+     , stm, temporary, text, text-rope, transformers, unliftio-core
      , unordered-containers, uuid
      }:
      mkDerivation {
        pname = "lsp";
-       version = "2.1.0.0";
-       sha256 = "03gk98fgf32blywdds0fc5351bmcbbfrnqwlg33l2ih75nwa59y8";
+       version = "2.2.0.0";
+       sha256 = "0nqxkx7vjzvn5ysalk9nd1aqwzfxjj39g3g91qr01hdzydfjsajr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bytestring co-log-core containers
-         data-default directory exceptions filepath hashable lens lsp-types
-         mtl prettyprinter random row-types sorted-list stm temporary text
-         text-rope transformers unliftio-core unordered-containers uuid
+         data-default directory exceptions filepath hashable lens lens-aeson
+         lsp-types mtl prettyprinter random row-types sorted-list stm
+         temporary text text-rope transformers unliftio-core
+         unordered-containers uuid
        ];
        testHaskellDepends = [
          base containers hspec row-types sorted-list text text-rope
@@ -190563,18 +191371,20 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, co-log-core, conduit, conduit-parse, containers
      , data-default, Diff, directory, exceptions, extra, filepath, Glob
-     , hspec, lens, lsp, lsp-types, mtl, parser-combinators, process
-     , row-types, some, text, time, transformers, unix, unliftio
+     , hspec, lens, lens-aeson, lsp, lsp-types, mtl, parser-combinators
+     , process, row-types, some, text, time, transformers, unix
+     , unliftio
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.15.0.1";
-       sha256 = "1n3sqmb41kzczyqpz9ddqi3wmkpdwdjvgzldjn3pncs4lfxfjnxd";
+       version = "0.16.0.0";
+       sha256 = "0a2xv9nqz84ymmbz7yyhxkrxhghafgpmma9iqz32jwr8wqn6g9hf";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring co-log-core
          conduit conduit-parse containers data-default Diff directory
-         exceptions filepath Glob lens lsp lsp-types mtl parser-combinators
-         process row-types some text time transformers unix
+         exceptions filepath Glob lens lens-aeson lsp lsp-types mtl
+         parser-combinators process row-types some text time transformers
+         unix
        ];
        testHaskellDepends = [
          aeson base co-log-core containers data-default directory filepath
@@ -190613,20 +191423,24 @@ self: {
   "lsp-types" = callPackage
     ({ mkDerivation, aeson, base, binary, containers, data-default
      , deepseq, Diff, directory, dlist, exceptions, file-embed, filepath
-     , hashable, hspec, hspec-discover, lens, mod, mtl, network-uri
-     , prettyprinter, QuickCheck, quickcheck-instances, regex, row-types
-     , safe, some, template-haskell, text, unordered-containers
+     , hashable, hspec, hspec-discover, indexed-traversable
+     , indexed-traversable-instances, lens, lens-aeson, mod, mtl
+     , network-uri, prettyprinter, QuickCheck, quickcheck-instances
+     , regex, row-types, safe, some, template-haskell, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "2.0.1.1";
-       sha256 = "0g5z28iy4ar96x5fmj1v8g60wz3drp39393161f2hjyp3kq8nfh0";
+       version = "2.0.2.0";
+       sha256 = "0s895x3b8fpcj2b0ia3d4dmwk4vhg6h2anmzffkpr3drsq5bi1j6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base binary containers data-default deepseq Diff dlist
-         exceptions file-embed filepath hashable lens mod mtl network-uri
-         row-types safe some template-haskell text unordered-containers
+         exceptions file-embed filepath hashable indexed-traversable
+         indexed-traversable-instances lens lens-aeson mod mtl network-uri
+         prettyprinter row-types safe some template-haskell text
+         unordered-containers
        ];
        executableHaskellDepends = [
          base containers directory filepath mtl prettyprinter regex text
@@ -191019,8 +191833,8 @@ self: {
     ({ mkDerivation, base, lucid, servant, text }:
      mkDerivation {
        pname = "lucid-htmx";
-       version = "0.1.0.6";
-       sha256 = "0jd0igz4hymx5fnjsgx2y97440djfz416phnczz52g2vw7amgqjw";
+       version = "0.1.0.7";
+       sha256 = "16dm2p5p9ng83xhgpxi7jai48ddi5pvg5q23rq7gv1378pfypc2w";
        libraryHaskellDepends = [ base lucid servant text ];
        testHaskellDepends = [ base lucid servant text ];
        description = "Use htmx in your lucid templates";
@@ -193822,6 +194636,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "markup-parse" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, flatparse
+     , html-parse, optparse-applicative, perf, string-interpolate, tasty
+     , tasty-golden, text, these, tree-diff
+     }:
+     mkDerivation {
+       pname = "markup-parse";
+       version = "0.1.1";
+       sha256 = "1ybmppxd4hpqjr2lnb1x9jk96fkd8snq6l2p0fzpr7q6bq09wx0a";
+       revision = "1";
+       editedCabalFile = "1p9hba5fcfbv9qm4aqg9hn5bamw6slyr1sxz5pzg3hnj1c8npzl6";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq flatparse string-interpolate
+         tasty tasty-golden these tree-diff
+       ];
+       testHaskellDepends = [
+         base bytestring string-interpolate tasty tasty-golden tree-diff
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring flatparse html-parse optparse-applicative perf text
+       ];
+       description = "A markup parser";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "markup-preview" = callPackage
     ({ mkDerivation, base, cmdargs, directory, glib, gtk
      , gtk2hs-buildtools, MissingH, mtl, pandoc, temporary, text
@@ -195452,8 +196291,8 @@ self: {
      }:
      mkDerivation {
        pname = "mealy";
-       version = "0.4.3";
-       sha256 = "1p5dn0phbvz5jfkhfifppdzz3jphcmifcqmrv9nxklw4cfcbgl6w";
+       version = "0.4.4";
+       sha256 = "1pji7gkfni3h5db1jlmgxkfwnih1954nd224lb45n0v7ihmjkpsi";
        libraryHaskellDepends = [
          adjunctions base containers mwc-probability numhask numhask-array
          primitive profunctors tdigest text vector vector-algorithms
@@ -195828,15 +196667,15 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
-  "megaparsec_9_4_1" = callPackage
+  "megaparsec_9_5_0" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , criterion, deepseq, mtl, parser-combinators, scientific, text
      , transformers, weigh
      }:
      mkDerivation {
        pname = "megaparsec";
-       version = "9.4.1";
-       sha256 = "0a8s4i2vi1q9l75nf65jdjfkf25dhra4ij9y35a5fi5vk9848sf1";
+       version = "9.5.0";
+       sha256 = "0lnsqdphr3fnxvn87z2ni110wzq60pq6fl407ihddpyavpb0hw38";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -195874,25 +196713,22 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
-  "megaparsec-tests_9_4_1" = callPackage
+  "megaparsec-tests_9_5_0" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
-     , megaparsec, mtl, parser-combinators, QuickCheck, scientific
-     , temporary, text, transformers
+     , hspec, hspec-discover, hspec-megaparsec, megaparsec, mtl
+     , QuickCheck, scientific, temporary, text, transformers
      }:
      mkDerivation {
        pname = "megaparsec-tests";
-       version = "9.4.1";
-       sha256 = "08lvya4c1vbwyi1130rhm3xd8aq4x1m3wnyphwzal2p556hzlr2g";
+       version = "9.5.0";
+       sha256 = "18ishnklylaiphkz6dd9rfbxnqlrb4fqqd8pr5mk9qb5j0fkbv13";
        libraryHaskellDepends = [
-         base bytestring containers hspec hspec-expectations
-         hspec-megaparsec megaparsec mtl QuickCheck text transformers
+         base bytestring containers hspec hspec-megaparsec megaparsec mtl
+         QuickCheck text transformers
        ];
        testHaskellDepends = [
-         base bytestring case-insensitive containers hspec
-         hspec-expectations hspec-megaparsec megaparsec mtl
-         parser-combinators QuickCheck scientific temporary text
-         transformers
+         base bytestring case-insensitive containers hspec hspec-megaparsec
+         megaparsec mtl QuickCheck scientific temporary text transformers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Test utilities and the test suite of Megaparsec";
@@ -197313,8 +198149,8 @@ self: {
        pname = "microaeson";
        version = "0.1.0.1";
        sha256 = "0rx5gm7apazc0sm65v687ab5106ximka9khizxq1lbckd2x0cq3q";
-       revision = "6";
-       editedCabalFile = "0m32nnlldj2q261p6hwya9f9jqv6w33ws8wkizar4p2c1mv7lf2k";
+       revision = "7";
+       editedCabalFile = "01skh5580zxf1032b25wm410jr52kaxq822jz6n568sfx90hmfl7";
        libraryHaskellDepends = [
          array base bytestring containers deepseq fail text
        ];
@@ -197448,26 +198284,6 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.5.0";
-       sha256 = "0h5q0b2b4y28llhq28mb28kpdv2iifz0qkbbhmrwrz2bs6arr3d2";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring hashable microlens scientific text
-         vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring hashable microlens tasty tasty-hunit text
-         vector
-       ];
-       description = "Law-abiding lenses for Aeson, using microlens";
-       license = lib.licenses.mit;
-     }) {};
-
-  "microlens-aeson_2_5_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, hashable
-     , microlens, scientific, tasty, tasty-hunit, text, vector
-     }:
-     mkDerivation {
-       pname = "microlens-aeson";
        version = "2.5.1";
        sha256 = "02p5qk1d7rn6h7vfvj0rzi05swd6fp04mhri60nysm6dv135qxgp";
        libraryHaskellDepends = [
@@ -197480,7 +198296,6 @@ self: {
        ];
        description = "Law-abiding lenses for Aeson, using microlens";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "microlens-contra" = callPackage
@@ -197578,8 +198393,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-th";
-       version = "0.4.3.13";
-       sha256 = "1g41wb61k2l99xxy23yp2zqk0wanskgdypbjhib71ji0y1dcsfz7";
+       version = "0.4.3.14";
+       sha256 = "0sjvzywcar5fxmpbdj5ili4m4pcz77hnk27i99qsdrxjzmmwkycj";
        libraryHaskellDepends = [
          base containers microlens template-haskell th-abstraction
          transformers
@@ -199371,8 +200186,8 @@ self: {
        pname = "mmark-ext";
        version = "0.2.1.5";
        sha256 = "1dy3xnzpbbnp03k3r04q8y10pcj2r708dk8bff0pxzkvypm75g88";
-       revision = "2";
-       editedCabalFile = "0kz0389rrjd4wy6a5m89w7a4pcd4765kah7rwa7i649l8h5a5asm";
+       revision = "3";
+       editedCabalFile = "0yxl2wpxmvjnhn0qy8p1ajmi61hpkfqqfj206dl7q1xn9kmkg3fc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri
@@ -199721,8 +200536,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmzk-typeid";
-       version = "0.4.0.0";
-       sha256 = "1311xy49fs6psciks8sii2k9agqr6pnvykvvxqjlmwp9gkys6rjc";
+       version = "0.5.0.0";
+       sha256 = "00q7rmbjkjjabs9a4cfhqb0d37g124j0j4jb64qbi77m0pa7l9dv";
        libraryHaskellDepends = [
          aeson array base binary bytestring entropy hashable random text
          time uuid uuid-types
@@ -199970,28 +200785,25 @@ self: {
      }) {};
 
   "modern-uri" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant
-     , criterion, deepseq, exceptions, hashable, hspec, hspec-discover
-     , hspec-megaparsec, megaparsec, mtl, profunctors, QuickCheck
-     , reflection, tagged, template-haskell, text, weigh
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , exceptions, hashable, hspec, hspec-discover, hspec-megaparsec
+     , megaparsec, mtl, profunctors, QuickCheck, reflection, tagged
+     , template-haskell, text, weigh
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.3.6.0";
-       sha256 = "1lj3il9wg7v88l1hj08k07g3f76xas0gz20l2wy8z6xbpcn5ng6g";
-       revision = "1";
-       editedCabalFile = "0bfg0m3iynx41am17l9gb8di3kaldz9129s34vsc1qx5y13dnwl3";
+       version = "0.3.6.1";
+       sha256 = "1sag8l91qd7xs56rlx8r6dz9zxxmqsnfw0v47az7l8nirv7zjih2";
        libraryHaskellDepends = [
-         base bytestring containers contravariant deepseq exceptions
-         hashable megaparsec mtl profunctors QuickCheck reflection tagged
-         template-haskell text
+         base bytestring containers deepseq exceptions hashable megaparsec
+         mtl profunctors QuickCheck reflection tagged template-haskell text
        ];
        testHaskellDepends = [
          base bytestring hspec hspec-megaparsec megaparsec QuickCheck text
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
-         base bytestring criterion deepseq megaparsec text weigh
+         base bytestring criterion megaparsec text weigh
        ];
        description = "Modern library for working with URIs";
        license = lib.licenses.bsd3;
@@ -201991,14 +202803,14 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
-  "monadology_0_2" = callPackage
+  "monadology_0_3" = callPackage
     ({ mkDerivation, base, constraints, invariant, tasty, tasty-hunit
      , text, transformers, type-rig, witness
      }:
      mkDerivation {
        pname = "monadology";
-       version = "0.2";
-       sha256 = "0ad15iz8na5dm34p8gcy2jz9h6ayanfarzi4maiy263949vhm9pv";
+       version = "0.3";
+       sha256 = "1nfx9hl6vimqwr7dv3nlvf0c5brjppznjzrqr0kqdxjz7mvjmvy1";
        libraryHaskellDepends = [
          base constraints invariant transformers type-rig witness
        ];
@@ -202461,8 +203273,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "1.2.3";
-       sha256 = "1pfha97ww3wic7sb2fk005q0s17yi4j0kfg7imv2djxrp9447hgy";
+       version = "1.2.4";
+       sha256 = "1ycxv01hf7svhaczsdprklh1r96300zdlkhar8dxwggajs9njyjn";
        libraryHaskellDepends = [
          base bytestring commutative-semigroups containers primes text
          vector
@@ -202634,20 +203446,20 @@ self: {
      }) {inherit (pkgs) glew;};
 
   "monomer-flatpak-example" = callPackage
-    ({ mkDerivation, base, containers, data-default-class, dbus
-     , desktop-portal, directory, modern-uri, monomer, monomer-hagrid
-     , random, text
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , dbus, desktop-portal, directory, modern-uri, monomer
+     , monomer-hagrid, random, text
      }:
      mkDerivation {
        pname = "monomer-flatpak-example";
-       version = "0.0.9.0";
-       sha256 = "1cvvqhc86q0589yh6g1p1pgvcp5dzvjnqbbln8pkq4fqcl4n7cwd";
+       version = "0.0.12.0";
+       sha256 = "185vv9ihrjssncpkhfh7gchw6whx0ll951y7j4pznnn6s0b3k2yk";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base containers data-default-class dbus desktop-portal directory
-         modern-uri monomer monomer-hagrid random text
+         base bytestring containers data-default-class dbus desktop-portal
+         directory modern-uri monomer monomer-hagrid random text
        ];
        description = "Monomer Flatpak Example Application";
        license = lib.licenses.mit;
@@ -207242,8 +208054,8 @@ self: {
      }:
      mkDerivation {
        pname = "mysql-haskell";
-       version = "1.1.2";
-       sha256 = "10mscgpml293kpjj9f6cap55pqxjcbp7hspigmdpm806ir6119ga";
+       version = "1.1.3";
+       sha256 = "1bq2yhnbglfdhvax5bnk3h87j840bmi0ls9qhanbv92ly2zsi48j";
        libraryHaskellDepends = [
          base binary blaze-textual bytestring bytestring-lexing crypton
          crypton-x509 crypton-x509-store crypton-x509-system
@@ -208474,8 +209286,8 @@ self: {
        pname = "natural-transformation";
        version = "0.4";
        sha256 = "1by8xwjc23l6pa9l4iv7zp82dykpll3vc3hgxk0pgva724n8xhma";
-       revision = "10";
-       editedCabalFile = "18d14fasp1l5xdfgp8swgcyyjd3irqj19cn298ksx9wiw43j818p";
+       revision = "11";
+       editedCabalFile = "1j4gmkamz6r7xggyfyb3by8lbmaah164haqakbxi2kb7y0v4kl24";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base containers quickcheck-instances tasty tasty-quickcheck
@@ -209105,36 +209917,39 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "net-mqtt_0_8_5_0" = callPackage
+  "net-mqtt_0_8_6_0" = callPackage
     ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
      , bytestring, checkers, conduit, conduit-extra, containers
-     , crypton-connection, deepseq, HUnit, network-conduit-tls
-     , network-uri, optparse-applicative, QuickCheck, stm, tasty
-     , tasty-hunit, tasty-quickcheck, text, websockets
+     , crypton-connection, deepseq, HUnit, lens, monad-loops, mtl
+     , network-conduit-tls, network-uri, optparse-applicative
+     , QuickCheck, stm, tasty, tasty-discover, tasty-hunit
+     , tasty-quickcheck, text, time, websockets
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.8.5.0";
-       sha256 = "1k66ljcskk26kqf0dhrrh4f5fc23rlfdlisgsifqjyppfqfnxfkc";
+       version = "0.8.6.0";
+       sha256 = "1pfwlx4g02x1nniihpz8q10zzy4i51jij2p3vhlxaps7hx2dh8p2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra containers crypton-connection deepseq
-         network-conduit-tls network-uri QuickCheck stm text websockets
+         conduit-extra containers crypton-connection deepseq monad-loops
+         network-conduit-tls network-uri QuickCheck stm text time websockets
        ];
        executableHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra containers crypton-connection deepseq
+         conduit-extra containers crypton-connection deepseq monad-loops
          network-conduit-tls network-uri optparse-applicative QuickCheck stm
-         text websockets
+         text time websockets
        ];
        testHaskellDepends = [
          async attoparsec attoparsec-binary base binary bytestring checkers
          conduit conduit-extra containers crypton-connection deepseq HUnit
-         network-conduit-tls network-uri QuickCheck stm tasty tasty-hunit
-         tasty-quickcheck text websockets
+         lens monad-loops mtl network-conduit-tls network-uri QuickCheck stm
+         tasty tasty-discover tasty-hunit tasty-quickcheck text time
+         websockets
        ];
+       testToolDepends = [ tasty-discover ];
        description = "An MQTT Protocol Implementation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -210676,6 +211491,8 @@ self: {
        pname = "network-transport";
        version = "0.5.6";
        sha256 = "10ichr66j06w2sdx5523rjvwf17cxhl5iw6izw7l066lrbzkr270";
+       revision = "1";
+       editedCabalFile = "1fmlpfya9qakzyqwgiiw1gssz919yrm5fbbf6d9rzqdvmar5g2n8";
        libraryHaskellDepends = [
          base binary bytestring deepseq hashable transformers
        ];
@@ -210831,15 +211648,15 @@ self: {
 
   "network-unexceptional" = callPackage
     ({ mkDerivation, base, byteslice, bytestring, error-codes, network
-     , posix-api, primitive, primitive-addr
+     , posix-api, primitive, primitive-addr, stm
      }:
      mkDerivation {
        pname = "network-unexceptional";
-       version = "0.1.1.0";
-       sha256 = "17dmifcv7cwg875yk02r0r5npjk9zw1c03fmpk4l1qa3x7ziyj2x";
+       version = "0.1.3.1";
+       sha256 = "0g99931i44f07byxv14a89d2rda12ibzv1b3vxi6rkwqikrh3jk3";
        libraryHaskellDepends = [
          base byteslice bytestring error-codes network posix-api primitive
-         primitive-addr
+         primitive-addr stm
        ];
        description = "Network functions that do not throw exceptions";
        license = lib.licenses.bsd3;
@@ -211504,8 +212321,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.7.5";
-       sha256 = "0n94r5q3awf5imx08fwmx5c2vm44jc2apnakw8q91bwlg0gfa0iq";
+       version = "1.7.7.1";
+       sha256 = "1ynsqhyb8y0rqj2bzwl4pffbwv2cdfxc133ic2lpprjy2hrz5pz5";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -211515,32 +212332,40 @@ self: {
      }) {};
 
   "ngx-export-distribution" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
+    ({ mkDerivation, ansi-terminal, base, Cabal, cabal-plan, containers
+     , directory, filepath, parsec, text
+     }:
      mkDerivation {
        pname = "ngx-export-distribution";
-       version = "0.4.0.0";
-       sha256 = "027av6pzd3w6c1kvfps1vf7jzvdd2hx159f7chykgy6n1zmybgxy";
+       version = "0.5.0.3";
+       sha256 = "1czpf9sjsqzzzf78aqvp8n3ja0bdhchwj3i79qzf3mvhhkcfqj3i";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [
+         ansi-terminal base Cabal cabal-plan containers directory filepath
+         parsec text
+       ];
        description = "Build custom libraries for Nginx haskell module";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "nhm-tool";
      }) {};
 
   "ngx-export-healthcheck" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , enclosed-exceptions, http-client, http-client-brread-timeout
-     , http-types, ngx-export, safe, snap-core, snap-server, text, time
-     , vector
+     , http-client-tls, http-types, ngx-export, safe, snap-core
+     , snap-server, text, time, vector
      }:
      mkDerivation {
        pname = "ngx-export-healthcheck";
-       version = "1.5";
-       sha256 = "00qzkyfxzh8c0hmj0xzsisncvww1ar2k9a6ngkrgaypl96abbkln";
-       revision = "1";
-       editedCabalFile = "05yhi77x339byxln8b2mvkslrkmw7jpflaj1ma8jc8gbxbk868lp";
+       version = "1.6";
+       sha256 = "0haz3md5hx6rs9apdqd4ivm3f0vqvxa099ig3liw4mjjqnzmhdhy";
        libraryHaskellDepends = [
          aeson async base bytestring containers enclosed-exceptions
-         http-client http-client-brread-timeout http-types ngx-export safe
-         snap-core snap-server text time vector
+         http-client http-client-brread-timeout http-client-tls http-types
+         ngx-export safe snap-core snap-server text time vector
        ];
        description = "Active health checks and monitoring of Nginx upstreams";
        license = lib.licenses.bsd3;
@@ -211582,22 +212407,22 @@ self: {
     ({ mkDerivation, aeson, array, async, base, base64, binary
      , bytestring, case-insensitive, containers, ede
      , enclosed-exceptions, http-client, http-client-brread-timeout
-     , http-types, network, ngx-export, ngx-export-tools, pcre-heavy
-     , pcre-light, prettyprinter, resolv, safe, safe-exceptions
-     , snap-core, snap-server, template-haskell, text, time, trifecta
-     , unordered-containers
+     , http-client-tls, http-types, network, ngx-export
+     , ngx-export-tools, pcre-heavy, pcre-light, prettyprinter, resolv
+     , safe, safe-exceptions, snap-core, snap-server, template-haskell
+     , text, time, trifecta, unordered-containers
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "1.2.3";
-       sha256 = "16j7sjqrbd1f4hlblgf381b3ds0iwyi5r3czm90h4i5higa0r7cm";
+       version = "1.2.4";
+       sha256 = "1phxcz622yz2als564ab0bs425lz44lbp9q0nmxgnp03bxlcn9gs";
        libraryHaskellDepends = [
          aeson array async base base64 binary bytestring case-insensitive
          containers ede enclosed-exceptions http-client
-         http-client-brread-timeout http-types network ngx-export
-         ngx-export-tools pcre-heavy pcre-light prettyprinter resolv safe
-         safe-exceptions snap-core snap-server template-haskell text time
-         trifecta unordered-containers
+         http-client-brread-timeout http-client-tls http-types network
+         ngx-export ngx-export-tools pcre-heavy pcre-light prettyprinter
+         resolv safe safe-exceptions snap-core snap-server template-haskell
+         text time trifecta unordered-containers
        ];
        description = "More extra tools for Nginx haskell module";
        license = lib.licenses.bsd3;
@@ -212785,8 +213610,8 @@ self: {
      }:
      mkDerivation {
        pname = "non-empty";
-       version = "0.3.3";
-       sha256 = "01vhkj9xgggml51zmrj3hngxxnzrcd4zs0a7yjg69i6z518mh0pg";
+       version = "0.3.4";
+       sha256 = "0x88vi1llky86fdrzgvfilgl724jp3kfj8mn8zf9vwjbilap5qy1";
        libraryHaskellDepends = [
          base containers deepseq QuickCheck utility-ht
        ];
@@ -214334,6 +215159,17 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "numerical-integration" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "numerical-integration";
+       version = "0.1.0.2";
+       sha256 = "0vg9pdlqv5wl84q7jcjgd3g6hir1kkd5acmplivpn2gq9hdf8mwi";
+       libraryHaskellDepends = [ base ];
+       description = "Numerical integration";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "numericpeano" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -214357,12 +215193,12 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "numhask_0_11_0_2" = callPackage
+  "numhask_0_11_1_0" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "numhask";
-       version = "0.11.0.2";
-       sha256 = "1km9lnkiswgf5xiy4wzcsgpnirjxbcrvj2vgr8rjj1hwfzrnwksw";
+       version = "0.11.1.0";
+       sha256 = "1fnav552f99hbc83vsxvjccak06pqil8kyg8fhbgsllmsbhbzpqq";
        libraryHaskellDepends = [ base QuickCheck ];
        description = "A numeric class hierarchy";
        license = lib.licenses.bsd3;
@@ -214615,41 +215451,40 @@ self: {
      , binary-instances, bytestring, containers, data-default, extra
      , free, hspec, hspec-discover, microlens, microlens-th
      , neat-interpolation, optparse-simple, parsec, prettyprinter
-     , regex-tdfa, shake, stm, text, tomland, transformers, unliftio
+     , regex-tdfa, shake, stm, text, toml-reader, transformers, unliftio
      , unordered-containers, validation-selective
      }:
      mkDerivation {
        pname = "nvfetcher";
-       version = "0.6.1.0";
-       sha256 = "1899x279x236h71infk6h6cxw6sckhzh2z15frq92wpl6viq9qwz";
+       version = "0.6.2.0";
+       sha256 = "0lgbnam9gb9sdgmbxc5iznzbyv13s27j7s74fnrp09xdij0fgq3q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base binary binary-instances bytestring
          containers data-default extra free microlens microlens-th
          neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
-         shake text tomland transformers unordered-containers
+         shake text toml-reader transformers unordered-containers
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base binary binary-instances bytestring
          containers data-default extra free microlens microlens-th
          neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
-         shake text tomland transformers unordered-containers
+         shake text toml-reader transformers unordered-containers
          validation-selective
        ];
        testHaskellDepends = [
          aeson aeson-pretty async base binary binary-instances bytestring
          containers data-default extra free hspec microlens microlens-th
          neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
-         shake stm text tomland transformers unliftio unordered-containers
+         shake stm text toml-reader transformers unliftio
+         unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Generate nix sources expr for the latest version of packages";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "nvfetcher";
        maintainers = [ lib.maintainers.berberman ];
-       broken = true;
      }) {};
 
   "nvim-hs" = callPackage
@@ -216033,8 +216868,8 @@ self: {
      }:
      mkDerivation {
        pname = "om-http";
-       version = "0.3.0.1";
-       sha256 = "1fp2sm2phc7ij108v466ah8dbjgr2js3yl7yil6dcayh90z6yvd0";
+       version = "0.3.0.4";
+       sha256 = "0rwq81m251hdqs9l5zkkq8z3yd7gnpjx9cl999gs3n12s469bc0z";
        libraryHaskellDepends = [
          async base bytestring directory filepath http-types mime-types
          monad-logger network om-show safe-exceptions servant
@@ -218355,6 +219190,8 @@ self: {
        pname = "optics-operators";
        version = "0.1.0.1";
        sha256 = "09518gnk6a83fn1b0y46vzg1y7l4c17nkip2qiz286y9p8g4w1j7";
+       revision = "1";
+       editedCabalFile = "1rbdfml4iyblxcdmcjzdsx7b530jqnggf4avpgaa39wby820yvjx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mtl optics-core ];
@@ -218611,6 +219448,8 @@ self: {
        pname = "optparse-applicative";
        version = "0.17.1.0";
        sha256 = "1vx5w03vvfr3hdk79lvl34x8bxj5xbx0xh53mmnmxi9r05scnyfi";
+       revision = "1";
+       editedCabalFile = "1mhyjlmb1hylmhv77w6gq663drpyiqd09w1x1vy4d63lr46mypyb";
        libraryHaskellDepends = [
          ansi-wl-pprint base process transformers transformers-compat
        ];
@@ -219442,7 +220281,7 @@ self: {
        mainProgram = "ormolu";
      }) {};
 
-  "ormolu_0_7_1_0" = callPackage
+  "ormolu_0_7_2_0" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, binary, bytestring
      , Cabal-syntax, containers, deepseq, Diff, directory, file-embed
      , filepath, ghc-lib-parser, hspec, hspec-discover, hspec-megaparsec
@@ -219451,8 +220290,8 @@ self: {
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.7.1.0";
-       sha256 = "175pjxbys6l94rzm9bzwymvh5fhclxwq9vj592m8zcga4bcaa6iv";
+       version = "0.7.2.0";
+       sha256 = "1nbgm12fif9yzmkrbsqsgfsbgbgdkc5xnhwp5dy35zpgbyx9bz81";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -220125,8 +220964,8 @@ self: {
        pname = "package-version";
        version = "0.3";
        sha256 = "01d0345qs5c02gmh3ccsl0xbmiqwcbdpzlqgx2pwj6iv9vvjrf5l";
-       revision = "1";
-       editedCabalFile = "1s0s4vlzmxg1fzdjs3d0ya54sifwbnfwbbsgya62hknkyk6mzg0h";
+       revision = "2";
+       editedCabalFile = "0gx7di73yl8a83ba1fmqgkcqwdjvm27y6i0vffb9893b7248495h";
        libraryHaskellDepends = [
          base bytestring deepseq prettyprinter safe-exceptions
          template-haskell text
@@ -220827,7 +221666,7 @@ self: {
        ];
      }) {};
 
-  "pandoc_3_1_6_1" = callPackage
+  "pandoc_3_1_8" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, attoparsec, base
      , base64, binary, blaze-html, blaze-markup, bytestring
      , case-insensitive, citeproc, commonmark, commonmark-extensions
@@ -220846,8 +221685,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "3.1.6.1";
-       sha256 = "0lihc1bgis8dmmbd06i2chk0c5wwj3hp6mr4nqxcc2mp3kwh7hma";
+       version = "3.1.8";
+       sha256 = "0yr4lkc50ygwvv9kv6f9s5bclar4syvbcrf9lzdvf3450x00brva";
        configureFlags = [ "-f-trypandoc" ];
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
@@ -221305,8 +222144,10 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-lua-engine";
-       version = "0.2.1.1";
-       sha256 = "0f0zd54qkrx7m6h2xll3ln788w939gwbz1ak25c4jvnya12sm23f";
+       version = "0.2.1.2";
+       sha256 = "06m546261r2bwrrhg04qzbwaxqsrfxh301z0pmrs6ic3qxsmlzgv";
+       revision = "1";
+       editedCabalFile = "1n4pzfaiqyfxsnv5svh756ras9c86xn1p82z8qf94n80sgla3bb2";
        libraryHaskellDepends = [
          aeson base bytestring citeproc containers data-default doclayout
          doctemplates exceptions hslua hslua-module-doclayout
@@ -221510,8 +222351,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-server";
-       version = "0.1.0.2";
-       sha256 = "0cd7dmg9hsm8j9jrh181331rwqlng1hkvpf8ksfh394j99dkjj0h";
+       version = "0.1.0.3";
+       sha256 = "0g7a5yb3cdh1jaj5z3mhcp1jka5fm138d6176jkg08jh74vdydga";
        libraryHaskellDepends = [
          aeson base base64 bytestring containers data-default doctemplates
          pandoc pandoc-types servant-server skylighting text
@@ -221977,10 +222818,10 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "pantry_0_9_1" = callPackage
+  "pantry_0_9_2" = callPackage
     ({ mkDerivation, aeson, aeson-warning-parser, ansi-terminal, base
      , bytestring, Cabal, casa-client, casa-types, companion, conduit
-     , conduit-extra, containers, cryptonite, cryptonite-conduit, digest
+     , conduit-extra, containers, crypton, crypton-conduit, digest
      , exceptions, filelock, generic-deriving, hackage-security
      , hedgehog, hpack, hspec, hspec-discover, http-client
      , http-client-tls, http-conduit, http-download, http-types, memory
@@ -221992,14 +222833,14 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.9.1";
-       sha256 = "05rn8ib4215rdsh5jzi9a0s920zp7i4vq47af4zvmaji17bn6nnp";
+       version = "0.9.2";
+       sha256 = "1bn323lpsrjygxp4g0vm4ni8cxrnj2zmhlhqw798b90zv1bz5711";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-warning-parser ansi-terminal base bytestring Cabal
          casa-client casa-types companion conduit conduit-extra containers
-         cryptonite cryptonite-conduit digest filelock generic-deriving
+         crypton crypton-conduit digest filelock generic-deriving
          hackage-security hpack http-client http-client-tls http-conduit
          http-download http-types memory mtl network-uri path path-io
          persistent persistent-sqlite persistent-template primitive
@@ -222010,14 +222851,13 @@ self: {
        testHaskellDepends = [
          aeson aeson-warning-parser ansi-terminal base bytestring Cabal
          casa-client casa-types companion conduit conduit-extra containers
-         cryptonite cryptonite-conduit digest exceptions filelock
-         generic-deriving hackage-security hedgehog hpack hspec http-client
-         http-client-tls http-conduit http-download http-types memory mtl
-         network-uri path path-io persistent persistent-sqlite
-         persistent-template primitive QuickCheck raw-strings-qq resourcet
-         rio rio-orphans rio-prettyprint static-bytes tar-conduit text
-         text-metrics time transformers unix-compat unliftio
-         unordered-containers vector yaml zip-archive
+         crypton crypton-conduit digest exceptions filelock generic-deriving
+         hackage-security hedgehog hpack hspec http-client http-client-tls
+         http-conduit http-download http-types memory mtl network-uri path
+         path-io persistent persistent-sqlite persistent-template primitive
+         QuickCheck raw-strings-qq resourcet rio rio-orphans rio-prettyprint
+         static-bytes tar-conduit text text-metrics time transformers
+         unix-compat unliftio unordered-containers vector yaml zip-archive
        ];
        testToolDepends = [ hspec-discover ];
        doHaddock = false;
@@ -223411,6 +224251,8 @@ self: {
        pname = "parsers";
        version = "0.12.11";
        sha256 = "068k7fm0s13z0jkkffc149cqcxnzpk1m066lp4ccdfcb41km1zwi";
+       revision = "1";
+       editedCabalFile = "11slps7yccraacb67c862g2iv1sh7m09dnvbafhyw134krch0i5v";
        libraryHaskellDepends = [
          attoparsec base base-orphans binary charset containers mtl parsec
          scientific text transformers unordered-containers
@@ -223499,29 +224341,22 @@ self: {
      }) {};
 
   "parsley" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, containers
-     , criterion, deepseq, happy, megaparsec, mtl, parsec, parsley-core
-     , parsley-garnish, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, th-test-utils
+    ({ mkDerivation, base, containers, cpphs, deepseq, parsley-core
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-test-utils
      }:
      mkDerivation {
        pname = "parsley";
-       version = "2.0.0.0";
-       sha256 = "0h6msk2a11bq4bzl5gs3aq0sqd1z13smp2n8bxsr49vm51hmd1qh";
-       revision = "1";
-       editedCabalFile = "112643pvn60a0146d6804pafv5n1na2fn6awdivpdkxxngvy7xji";
+       version = "2.0.0.1";
+       sha256 = "0rczc2p0qpmzsy5rpaxq4xshkn4w32x2961xc3pjkvs6994ydsnz";
        libraryHaskellDepends = [
          base parsley-core template-haskell text
        ];
        testHaskellDepends = [
-         base deepseq parsley-core parsley-garnish tasty tasty-hunit
+         base containers deepseq parsley-core tasty tasty-hunit
          tasty-quickcheck template-haskell th-test-utils
        ];
-       benchmarkHaskellDepends = [
-         array attoparsec base bytestring containers criterion deepseq
-         megaparsec mtl parsec parsley-garnish template-haskell text
-       ];
-       benchmarkToolDepends = [ happy ];
+       testToolDepends = [ cpphs ];
        description = "A fast parser combinator library backed by Typed Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -223530,16 +224365,17 @@ self: {
   "parsley-core" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, cpphs
      , deepseq, dependent-map, dependent-sum, ghc-prim, hashable, mtl
-     , pretty-terminal, rangeset, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, th-test-utils, unordered-containers
+     , pretty-terminal, rangeset, syb, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, th-test-utils
+     , unordered-containers
      }:
      mkDerivation {
        pname = "parsley-core";
-       version = "2.2.0.1";
-       sha256 = "11wa1kkjpdiyg007llic926zpfc3bal9rl3i6hhmrh2w4pf13a7g";
+       version = "2.3.0.0";
+       sha256 = "15l90d6bq4il1qj9136mlwj07hncv185vmgj0mn6qjj16bqalp40";
        libraryHaskellDepends = [
          array base bytestring containers dependent-map dependent-sum
-         ghc-prim hashable mtl pretty-terminal rangeset template-haskell
+         ghc-prim hashable mtl pretty-terminal rangeset syb template-haskell
          text unordered-containers
        ];
        libraryToolDepends = [ cpphs ];
@@ -223872,6 +224708,8 @@ self: {
        pname = "password";
        version = "3.0.2.1";
        sha256 = "03fnl95g99sy2agwmpwfmkdd308qwq95s582zkhn7bkg2smzqdg9";
+       revision = "1";
+       editedCabalFile = "0a4avz0g6nwr293718h63mpqkxhxsjmmfnyk2wfcfkb4pbm1q0y8";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base64 bytestring cryptonite memory password-types
@@ -224034,8 +224872,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.8.9.0";
-       sha256 = "1lis3ifji30vxhgaw211z8g6v0sjag4fpsnh2x8zw20h2phiwdm0";
+       version = "0.9.0.0";
+       sha256 = "1g7i2mjrppnvz4c7v0w4a4c3s30b74s1adnssi1rmahm4qf1cqmn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -224047,7 +224885,8 @@ self: {
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base directory QuickCheck tasty tasty-hunit tasty-quickcheck text
+         base directory pandoc QuickCheck tasty tasty-hunit tasty-quickcheck
+         text
        ];
        description = "Terminal-based presentations using Pandoc";
        license = lib.licenses.gpl2Only;
@@ -224092,26 +224931,24 @@ self: {
      }) {};
 
   "patch-image" = callPackage
-    ({ mkDerivation, array, base, bool8, bytestring, carray, cassava
-     , comfort-array, containers, dsp, enumset, explicit-exception, fft
-     , filepath, JuicyPixels, knead, llvm-extra, llvm-tf, non-empty
-     , pqueue, prelude-compat, semigroups, shell-utility
-     , storable-complex, storable-record, tfp, unordered-containers
-     , utility-ht, vector
+    ({ mkDerivation, array, base, bool8, bytestring, cassava
+     , comfort-array, comfort-fftw, containers, dsp, enumset
+     , explicit-exception, filepath, JuicyPixels, knead, llvm-extra
+     , llvm-tf, netlib-ffi, non-empty, pqueue, prelude-compat
+     , semigroups, shell-utility, storable-complex, storable-record, tfp
+     , unordered-containers, utility-ht, vector
      }:
      mkDerivation {
        pname = "patch-image";
-       version = "0.3.3.1";
-       sha256 = "0nvp2y2f5cb29vzk2a9bvr3mgf17j70ir0nhb648pzfa0h1xj76k";
-       revision = "1";
-       editedCabalFile = "0l21xqwh95v5jdv46qbmaw6d4rfbmn1yx3zraq0srxawc1fgdfgx";
+       version = "0.3.3.2";
+       sha256 = "1kbd19vaizhbrpb4pa3py125kaw313yn3aq70yr7wygk1kk6v7ql";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base bool8 bytestring carray cassava comfort-array containers
-         dsp enumset explicit-exception fft filepath JuicyPixels knead
-         llvm-extra llvm-tf non-empty pqueue prelude-compat semigroups
-         shell-utility storable-complex storable-record tfp
+         array base bool8 bytestring cassava comfort-array comfort-fftw
+         containers dsp enumset explicit-exception filepath JuicyPixels
+         knead llvm-extra llvm-tf netlib-ffi non-empty pqueue prelude-compat
+         semigroups shell-utility storable-complex storable-record tfp
          unordered-containers utility-ht vector
        ];
        description = "Compose a big image from overlapping parts";
@@ -224958,6 +225795,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) pcre;};
 
+  "pcre-light_0_4_1_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl, pcre }:
+     mkDerivation {
+       pname = "pcre-light";
+       version = "0.4.1.2";
+       sha256 = "0fmdb1kv7fyjvcii788cg95zb2bzrg851h42x5pgdcgp3m3lm4p4";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ pcre ];
+       testHaskellDepends = [ base bytestring containers HUnit mtl ];
+       description = "Portable regex library for Perl 5 compatible regular expressions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) pcre;};
+
   "pcre-light-extra" = callPackage
     ({ mkDerivation, base, bytestring, pcre-light }:
      mkDerivation {
@@ -226263,26 +227114,26 @@ self: {
      }) {};
 
   "persistent" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , blaze-html, bytestring, conduit, containers, criterion, deepseq
-     , fast-logger, file-embed, hspec, http-api-data, lift-type
-     , monad-logger, mtl, path-pieces, QuickCheck, quickcheck-instances
-     , resource-pool, resourcet, scientific, shakespeare, silently
-     , template-haskell, text, th-lift-instances, time, transformers
-     , unliftio, unliftio-core, unordered-containers, vault, vector
+    ({ mkDerivation, aeson, attoparsec, attoparsec-aeson, base
+     , base64-bytestring, blaze-html, bytestring, conduit, containers
+     , criterion, deepseq, fast-logger, file-embed, hspec, http-api-data
+     , lift-type, monad-logger, mtl, path-pieces, QuickCheck
+     , quickcheck-instances, resource-pool, resourcet, scientific
+     , shakespeare, silently, template-haskell, text, th-lift-instances
+     , time, transformers, unliftio, unliftio-core, unordered-containers
+     , vault, vector
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.14.5.1";
-       sha256 = "0sv4naw17rdg9mh1q2jba5qdjcx296z6nf409d1i3ihw8r31xq5w";
-       revision = "1";
-       editedCabalFile = "0in8mijqrrnzlr11640nwwgm836xw9v6lyw4iaqi3qf7zpdlf8zr";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring blaze-html bytestring
-         conduit containers deepseq fast-logger http-api-data lift-type
-         monad-logger mtl path-pieces resource-pool resourcet scientific
-         silently template-haskell text th-lift-instances time transformers
-         unliftio unliftio-core unordered-containers vault vector
+       version = "2.14.5.2";
+       sha256 = "13j9aawkdiy5wqx8q4xbnskjr35g0pgx1l0iv3ir0z60xfl717gz";
+       libraryHaskellDepends = [
+         aeson attoparsec attoparsec-aeson base base64-bytestring blaze-html
+         bytestring conduit containers deepseq fast-logger http-api-data
+         lift-type monad-logger mtl path-pieces resource-pool resourcet
+         scientific silently template-haskell text th-lift-instances time
+         transformers unliftio unliftio-core unordered-containers vault
+         vector
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
@@ -226710,8 +227561,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql-pure";
-       version = "1.0.1";
-       sha256 = "1kw51ijhwd5iv8kaz16yxrmfmdfakng3qdvd9yhj3dvjjz07d9g7";
+       version = "1.0.2";
+       sha256 = "0aaw7w52ba57r27mjmjkrwpv0949aiad5515ypckkqpi0i2cj4n5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227591,8 +228442,8 @@ self: {
     ({ mkDerivation, base, criterion, transformers, vector }:
      mkDerivation {
        pname = "phantom-state";
-       version = "0.2.1.2";
-       sha256 = "049q1ii8rgwwjli16hxs9ak813x2lw5k8y8l7zjsks8hx2cfyy7r";
+       version = "0.2.1.3";
+       sha256 = "0wqjjghsxjhqj4z6snqcc0lkx84d84qnxlpkc5nignxywksbka8x";
        libraryHaskellDepends = [ base transformers ];
        benchmarkHaskellDepends = [ base criterion transformers vector ];
        description = "Phantom State Transformer. Like State Monad, but without values.";
@@ -227658,8 +228509,8 @@ self: {
        pname = "phatsort";
        version = "0.6.0.0";
        sha256 = "1cjmamla9383fk9715jxzlw87qnd26hpkcqhk4vvgld51nraf2pl";
-       revision = "1";
-       editedCabalFile = "0ivqjrahwjg6bl6k2nwb58avvyz7643js3zprabla1znlss36alv";
+       revision = "2";
+       editedCabalFile = "0k8yadhps2dgfc0ba016il0lv4idfb9phz492ah6z0k42i0grffa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229148,8 +229999,8 @@ self: {
        pname = "ping";
        version = "0.1.0.5";
        sha256 = "11zcdrji1m1b9rhi10fv4pr2cs488c13qb5nggi7abhkavzvxbzb";
-       revision = "1";
-       editedCabalFile = "1pa4zdvn5579vl6084ai3zf236rac5hd2lb5jn6hyfyd7ma566i5";
+       revision = "3";
+       editedCabalFile = "1aig7pbc8gfz8kzf958qsj85gjsypljfabq6980l92bk99jna2hm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -232456,8 +233307,8 @@ self: {
        pname = "polyparse";
        version = "1.13";
        sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w";
-       revision = "8";
-       editedCabalFile = "0gb5cdf46rh5vbxssj6zc3l85fmyg5b44hzjrls1p8rl1l1p3pda";
+       revision = "9";
+       editedCabalFile = "0abzqic0askffn6nmh1f08d9rd9fykdlcdd9gj1c7p1ykp9zlq29";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A variety of alternative parser combinator libraries";
        license = "LGPL";
@@ -232471,8 +233322,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy";
-       version = "1.9.1.0";
-       sha256 = "0jqxxnsmlhjvdfwplvw4m6y6a04glsgmrdhnrjfcvj4mvla48cvv";
+       version = "1.9.1.1";
+       sha256 = "0k6nq182lx5yca3c7i24byq1aik1f09ydy6g34nfd27lraa31w2b";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          async base containers first-class-families mtl stm syb
@@ -232595,6 +233446,7 @@ self: {
        ];
        description = "Polysemy effects for Chronos";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-conc" = callPackage
@@ -232618,6 +233470,7 @@ self: {
        ];
        description = "Polysemy effects for concurrency";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-db" = callPackage
@@ -232831,6 +233684,7 @@ self: {
        ];
        description = "Polysemy effects for logging";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-log-co" = callPackage
@@ -232873,6 +233727,7 @@ self: {
        ];
        description = "Di adapters for Polysemy.Log";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-managed" = callPackage
@@ -233099,6 +233954,7 @@ self: {
        ];
        description = "Polysemy error tracking";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-scoped-fs" = callPackage
@@ -233156,9 +234012,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.7.0.0";
-       sha256 = "0s6p163hydh20bwn4k3pjhgl27jbdd9kfgj8xs89kdi1pa65icyl";
-       enableSeparateDataOutput = true;
+       version = "0.8.0.0";
+       sha256 = "1i4nsl7vml8m2nca357bsp9yy92h74zl9k80jdv4kab5bk7l1avd";
        libraryHaskellDepends = [
          base hedgehog incipit-core path path-io polysemy tasty
          tasty-hedgehog transformers
@@ -233166,8 +234021,10 @@ self: {
        testHaskellDepends = [
          base hedgehog incipit-core path polysemy tasty
        ];
-       description = "Polysemy Effects for Testing";
+       description = "Polysemy effects for testing";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-time" = callPackage
@@ -233186,6 +234043,7 @@ self: {
        ];
        description = "Polysemy effects for time";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-uncontrolled" = callPackage
@@ -233534,14 +234392,64 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pontarius-xmpp_0_5_6_8" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring, binary
+     , bytestring, Cabal, conduit, containers, criterion, crypto-api
+     , cryptohash, cryptohash-cryptoapi, crypton-x509-system
+     , data-default, dns, exceptions, generic-arbitrary, hslogger, hspec
+     , hspec-expectations, iproute, lens, lens-family, lifted-base, mtl
+     , network, profunctors, pureMD5, QuickCheck, quickcheck-instances
+     , random, ranges, resourcet, smallcheck, split, stm, stringprep
+     , tasty, tasty-hspec, tasty-hunit, tasty-quickcheck, tasty-th
+     , template-haskell, text, tls, transformers, unbounded-delays, void
+     , xml-conduit, xml-picklers, xml-types
+     }:
+     mkDerivation {
+       pname = "pontarius-xmpp";
+       version = "0.5.6.8";
+       sha256 = "1mylrcnpcwrj9zgfy6plydqyvl34s6xwzsrj6sf7xgxy1zqg0px7";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary bytestring conduit
+         containers crypto-api cryptohash cryptohash-cryptoapi
+         crypton-x509-system data-default dns exceptions hslogger iproute
+         lens lens-family lifted-base mtl network profunctors pureMD5 random
+         resourcet split stm stringprep template-haskell text tls
+         transformers unbounded-delays void xml-conduit xml-picklers
+         xml-types
+       ];
+       testHaskellDepends = [
+         async attoparsec base base64-bytestring binary bytestring Cabal
+         conduit containers crypto-api cryptohash cryptohash-cryptoapi
+         crypton-x509-system data-default dns exceptions generic-arbitrary
+         hslogger hspec hspec-expectations iproute lens lens-family
+         lifted-base mtl network profunctors pureMD5 QuickCheck
+         quickcheck-instances random ranges resourcet smallcheck split stm
+         stringprep tasty tasty-hspec tasty-hunit tasty-quickcheck tasty-th
+         template-haskell text tls transformers unbounded-delays void
+         xml-conduit xml-picklers xml-types
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base base64-bytestring binary bytestring conduit
+         containers criterion crypto-api cryptohash cryptohash-cryptoapi
+         crypton-x509-system data-default dns exceptions hslogger iproute
+         lens lens-family lifted-base mtl network profunctors pureMD5 random
+         resourcet split stm stringprep template-haskell text tls
+         transformers unbounded-delays void xml-conduit xml-picklers
+         xml-types
+       ];
+       description = "An XMPP client library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pontarius-xmpp-extras" = callPackage
     ({ mkDerivation, base, data-default, pontarius-xmpp, text, time
      , xml-types
      }:
      mkDerivation {
        pname = "pontarius-xmpp-extras";
-       version = "0.1.0.8";
-       sha256 = "0ybbzbyv7zmzrz1bnx61aax1s4ckv55pmyf2rmba8gf4gf5kqj79";
+       version = "0.1.0.9";
+       sha256 = "1pbwbhymdfqcpmpgcx1473fqaygr9mchlpqhr4i7hqbvhndwvqnl";
        libraryHaskellDepends = [
          base data-default pontarius-xmpp text time xml-types
        ];
@@ -234174,8 +235082,8 @@ self: {
      }:
      mkDerivation {
        pname = "posit";
-       version = "2022.0.1.4";
-       sha256 = "0sqs9ya0jvviwcd7ggclz09amzgkdkvakkr2pszmd6zh96q07nnw";
+       version = "2022.1.0.0";
+       sha256 = "19ahwh40n2kl3dm4pj7290x6xs37whfafr0lydvccg9vdydavywj";
        libraryHaskellDepends = [
          base data-dword deepseq random scientific
        ];
@@ -234243,11 +235151,11 @@ self: {
      }:
      mkDerivation {
        pname = "posix-api";
-       version = "0.6.1.0";
-       sha256 = "0dplxy3zv9n239c8w7ja95qv2f343sz4n83ji42f0f8v00ryghys";
+       version = "0.7.0.0";
+       sha256 = "1wza7flfy2v5c44a0w1mr486ljba6n6wp2gn79zhknq8m0hd3q50";
        libraryHaskellDepends = [
          base byte-order byteslice primitive primitive-addr primitive-offset
-         primitive-unlifted run-st text-short
+         run-st text-short
        ];
        testHaskellDepends = [
          base primitive primitive-unlifted tasty tasty-hunit
@@ -234385,8 +235293,8 @@ self: {
      }:
      mkDerivation {
        pname = "posplyu";
-       version = "0.1.0.2";
-       sha256 = "091cwg07wzhqcrbm285n6yzgp0sa19a0q0y2f5q52zdq815wc96x";
+       version = "0.1.0.3";
+       sha256 = "1b02i7c6kjmkd8naazfdr7fjy19rd0p2hyrhjgf3q60h09ipi15g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -235897,7 +236805,6 @@ self: {
        ];
        description = "A Amazon SQS backend for powerqueue";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ppm" = callPackage
@@ -237038,16 +237945,16 @@ self: {
 
   "prettychart" = callPackage
     ({ mkDerivation, async, base, box, bytestring, chart-svg
-     , containers, flatparse, formatn, lucid, mealy, numhask-space
-     , optics-core, profunctors, text, time, web-rep
+     , containers, markup-parse, numhask-space, optics-core, text, time
+     , web-rep
      }:
      mkDerivation {
        pname = "prettychart";
-       version = "0.1.1.0";
-       sha256 = "1cdxdin7k4rswph61h625lkf57669xiid67c09a7libqdq6yya98";
+       version = "0.1.2.0";
+       sha256 = "117ak0mjyfgs5g3qr9prrg5wkbv5i9k9f218gs27czhb10xxhahs";
        libraryHaskellDepends = [
-         async base box bytestring chart-svg containers flatparse formatn
-         lucid mealy numhask-space optics-core profunctors text time web-rep
+         async base box bytestring chart-svg containers markup-parse
+         numhask-space optics-core text time web-rep
        ];
        description = "Pretty print charts from ghci";
        license = lib.licenses.bsd3;
@@ -237415,8 +238322,10 @@ self: {
      }:
      mkDerivation {
        pname = "primecount";
-       version = "0.1.0.0";
-       sha256 = "16ls5fb8z0mpnggs9c1sjksgzpj558gdp9fk3wrv55z41pch53r0";
+       version = "0.1.0.1";
+       sha256 = "113cyvmm5yg4ybmxdp6m2adlmfdsk3mja3nzkgr6hdywyy94jczs";
+       revision = "1";
+       editedCabalFile = "0sb7pfc68f3cbx4086k3zld8mnp8b9lmr7mnfy4yb75ynp0p6qm9";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ primecount ];
        testHaskellDepends = [ base silently tasty tasty-hunit ];
@@ -237476,6 +238385,8 @@ self: {
        pname = "primitive";
        version = "0.8.0.0";
        sha256 = "0pwr5g3bra5m2zjm14pj98klqj2qrjcfasgd3rcrp7vq98dw4lsm";
+       revision = "1";
+       editedCabalFile = "0w1nf0rabgyk5q7ccw7va1mj6k50lswvikhi6vr2myb1dvx4bzyh";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -240600,76 +241511,72 @@ self: {
 
   "ptera" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
-     , enummapset-th, hspec, hspec-discover, membership, ptera-core
+     , enummapset, hspec, hspec-discover, membership, ptera-core
      , QuickCheck, unordered-containers
      }:
      mkDerivation {
        pname = "ptera";
-       version = "0.3.0.0";
-       sha256 = "1zbs7h8lvq9m8qw4267kpp3lr5q2yd3v4jsw4ghrgpa6xwhji7z4";
+       version = "0.4.0.0";
+       sha256 = "1jf77wr3dfahlsz77iavb519zzvzg208bbyzlzwirwahz3czpc6p";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base containers enummapset-th membership ptera-core
+         base containers enummapset membership ptera-core
          unordered-containers
        ];
        testHaskellDepends = [
-         base containers doctest enummapset-th hspec membership ptera-core
+         base containers doctest enummapset hspec membership ptera-core
          QuickCheck unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ptera-core" = callPackage
     ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
-     , doctest, enummapset-th, hashable, hspec, hspec-discover
-     , membership, QuickCheck, transformers, unordered-containers
+     , doctest, enummapset, hashable, hspec, hspec-discover, membership
+     , QuickCheck, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "ptera-core";
-       version = "0.1.0.0";
-       sha256 = "1bpgnd68c070i1azig6r0ck843hvxjcg17yhmy3nizm1bx4nppk1";
+       version = "0.2.0.0";
+       sha256 = "1sp0xwmfg0nspwhzp9li3hw0yszdzhy6rzzahvs91hhvbjc3ia55";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         array base containers enummapset-th hashable membership
-         transformers unordered-containers
+         array base containers enummapset hashable membership transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         array base containers doctest enummapset-th hashable hspec
-         membership QuickCheck transformers unordered-containers
+         array base containers doctest enummapset hashable hspec membership
+         QuickCheck transformers unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ptera-th" = callPackage
     ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
-     , doctest, enummapset-th, ghc-prim, hspec, hspec-discover
-     , membership, ptera, ptera-core, QuickCheck, template-haskell
+     , doctest, enummapset, ghc-prim, hspec, hspec-discover, membership
+     , ptera, ptera-core, QuickCheck, template-haskell
      , unordered-containers
      }:
      mkDerivation {
        pname = "ptera-th";
-       version = "0.6.1.0";
-       sha256 = "19hw98iz0crdyl3yiv3v39mn7j8nz0vx7vfyw6qky62rp8njrnc9";
+       version = "0.7.0.0";
+       sha256 = "1w9i0gzrbphg2jvrkvlxhzkdgz64c01hms8rw0g5nbd6xhk01lby";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         array base containers enummapset-th ghc-prim membership ptera
+         array base containers enummapset ghc-prim membership ptera
          ptera-core template-haskell unordered-containers
        ];
        testHaskellDepends = [
-         array base containers doctest enummapset-th ghc-prim hspec
-         membership ptera ptera-core QuickCheck template-haskell
-         unordered-containers
+         array base containers doctest enummapset ghc-prim hspec membership
+         ptera ptera-core QuickCheck template-haskell unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pthread" = callPackage
@@ -241742,8 +242649,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "2.1.0.15";
-       sha256 = "1h88xbx9wvbay5pg82329amsrbkgmm8whf96jknzjk3gd6h952fg";
+       version = "2.1.0.16";
+       sha256 = "10220z3mg2dqvywsqg8jbgpq5yzwlnv0gc8yv1xwibf8ilwd5km6";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite hashable
          http-client http-client-tls http-types memory text time
@@ -242735,6 +243642,8 @@ self: {
        pname = "quantification";
        version = "0.7.0";
        sha256 = "1aj0pxafcjzgc6akxyh7bbin1jfp66y24afgg546gqqyc2hj45xc";
+       revision = "1";
+       editedCabalFile = "1sfccf4hgsqkh0wpy1cwkx3lq2grsnr1zbv73k9gj4m66mkijkhh";
        libraryHaskellDepends = [
          aeson base binary containers hashable path-pieces text
          unordered-containers vector
@@ -243100,8 +244009,8 @@ self: {
      }:
      mkDerivation {
        pname = "quic";
-       version = "0.1.3";
-       sha256 = "0n6l559q5y31jwr8bba3jav7ghsg76y3w0rbi7lz9jsrh0i4l7bh";
+       version = "0.1.5";
+       sha256 = "1zpic6v03432hld44jldxh0j1fmb226qkgmjrydyybaxihkkkvj4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -243295,12 +244204,17 @@ self: {
      }) {};
 
   "quickcheck-dynamic" = callPackage
-    ({ mkDerivation, base, containers, mtl, QuickCheck, random }:
+    ({ mkDerivation, base, containers, mtl, QuickCheck, random, stm
+     , tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "quickcheck-dynamic";
-       version = "3.1.1";
-       sha256 = "0vpf98a2zqqrn96cdwfbgjlf61grn6rb5aylm7ywjwcqmi3bwzkn";
+       version = "3.3.1";
+       sha256 = "1xh1s80aynhyfkdcg5w4fy5fibhkh19zlidr2zwsiignxbqv0dgl";
        libraryHaskellDepends = [ base containers mtl QuickCheck random ];
+       testHaskellDepends = [
+         base containers mtl QuickCheck stm tasty tasty-quickcheck
+       ];
        description = "A library for stateful property-based testing";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
@@ -246248,6 +247162,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "rawfilepath_1_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, unix }:
+     mkDerivation {
+       pname = "rawfilepath";
+       version = "1.1.0";
+       sha256 = "08jaqppvfqgpbv3h89rk63a6h8pby6hgvyskkfsjhnb66ai93lrp";
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring ];
+       description = "Use RawFilePath instead of FilePath";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "rawr" = callPackage
     ({ mkDerivation, base, criterion, deepseq, doctest, ghc-datasize
      , ghc-prim, lens, tasty, tasty-hunit, template-haskell
@@ -246564,6 +247491,22 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) re2;};
 
+  "react" = callPackage
+    ({ mkDerivation, base, containers, jsaddle, jsaddle-warp, mtl
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "react";
+       version = "0.1.0.0";
+       sha256 = "1kddqb8s7nx4v40b89wzdjyf72z5niy23xjvwa94glq30v9xqpcp";
+       libraryHaskellDepends = [
+         base containers jsaddle jsaddle-warp mtl template-haskell text
+       ];
+       description = "Create React components in Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "react-flux" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, mtl
      , template-haskell, text, time, unordered-containers
@@ -247474,8 +248417,8 @@ self: {
      }:
      mkDerivation {
        pname = "rec-def";
-       version = "0.2.1";
-       sha256 = "13d8bij2r6zxyygi2rk3jdrk6s7srj8lpsx1k9qn14sq401yjqpa";
+       version = "0.2.2";
+       sha256 = "0hrca7v3visyppzzszilydhmrpkwc7hmhm0ld8ha2dd9ijvgrd22";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base concurrency containers dejafu doctest QuickCheck random tasty
@@ -247976,6 +248919,8 @@ self: {
        pname = "redact";
        version = "0.5.0.0";
        sha256 = "0f9nfkli9spbcidfwq81z4ryjnlyqf4snj1dmhsngpcp0x2am798";
+       revision = "1";
+       editedCabalFile = "1sc16ap5mlfhwp903h8jb0xcjrlkmqrn6qzmdykalipy05knfdnf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-terminal base text ];
@@ -248066,8 +249011,8 @@ self: {
      }:
      mkDerivation {
        pname = "redis-glob";
-       version = "0.1.0.5";
-       sha256 = "1qj95mwywlhpb6g284gnxwv1fy367ck3kd5vk2mkwpg1wrkkrqkd";
+       version = "0.1.0.6";
+       sha256 = "1kz4klvp84my3z6zpsrvn8kwna1dhix51v40zjf1cxvg81mvya5k";
        libraryHaskellDepends = [ ascii-char base bytestring megaparsec ];
        testHaskellDepends = [
          ascii-char ascii-superset base bytestring hspec QuickCheck
@@ -248257,8 +249202,8 @@ self: {
        pname = "reducers";
        version = "3.12.4";
        sha256 = "0hsycdir52jdijnnvc77jj971fjrrc722v952wr62ivrvx2zarn0";
-       revision = "4";
-       editedCabalFile = "13wxljk7mn8bna1xv2965lnbizjh6c7cz813jk8r62msskn4xkbj";
+       revision = "5";
+       editedCabalFile = "18b7vr5gzj2739wlxdb0qyzl2sd5y67mmwvkm27vlzvzbff61lxn";
        libraryHaskellDepends = [
          array base bytestring containers fingertree hashable semigroupoids
          text transformers unordered-containers
@@ -248739,7 +249684,27 @@ self: {
        ];
        description = "Functional Reactive Web Apps with Reflex";
        license = lib.licenses.bsd3;
-       badPlatforms = [ "aarch64-linux" ] ++ lib.platforms.darwin;
+       badPlatforms = lib.platforms.darwin;
+       maintainers = [ lib.maintainers.maralorn ];
+     }) {};
+
+  "reflex-dom_0_6_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, jsaddle-webkit2gtk, reflex
+     , reflex-dom-core, text
+     }:
+     mkDerivation {
+       pname = "reflex-dom";
+       version = "0.6.3.1";
+       sha256 = "162nnk5vk115p06mlf0d3bsr295814jk6d61hi58k97axgrlb6sn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring jsaddle-webkit2gtk reflex reflex-dom-core text
+       ];
+       description = "Functional Reactive Web Apps with Reflex";
+       license = lib.licenses.bsd3;
+       badPlatforms = lib.platforms.darwin;
+       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.maralorn ];
      }) {};
 
@@ -249908,8 +250873,8 @@ self: {
        pname = "regex-pcre-builtin";
        version = "0.95.2.3.8.44";
        sha256 = "0pn55ssrwr05c9sa9jvp0knvzjksz04wn3pmzf5dz4xgbyjadkna";
-       revision = "4";
-       editedCabalFile = "1gzczx15v4yjxm2b787qjgc64n284d2jx33vn484j6cndjfjx58r";
+       revision = "5";
+       editedCabalFile = "0lsciwi4akvk6s6h69ga359lj7cnn6p2i6dmqsy5nvar8m22i0cn";
        libraryHaskellDepends = [
          array base bytestring containers regex-base text
        ];
@@ -250025,6 +250990,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.3.2.2";
        sha256 = "1dvmplkhma32y68v4vvpbwmjbg3hzd7qhsyq6pim1fs68b2xaglk";
+       revision = "1";
+       editedCabalFile = "03jwla88hxzf7mpp1pimjcfwfbm0icr3wbp4cjibl10853v65x6d";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -252440,8 +253407,8 @@ self: {
        pname = "resolv";
        version = "0.2.0.2";
        sha256 = "0jz798kliih4lb16s9bjk7sa9034x1qhyrr8z9sp6ahkz4yjh3c8";
-       revision = "1";
-       editedCabalFile = "0ijx9vlchgq7prbsk49hbr25aar3vc1m8xcgfbs95nvq6i3llax4";
+       revision = "2";
+       editedCabalFile = "1pcprxb456s7l654l7rh2mx7ahxn0fjj8hqq1rjl08b29f50am8k";
        libraryHaskellDepends = [
          base base16-bytestring binary bytestring containers
        ];
@@ -254417,8 +255384,8 @@ self: {
      }:
      mkDerivation {
        pname = "rio-prettyprint";
-       version = "0.1.4.0";
-       sha256 = "0dagrbs9ssqh5mcr9fcaiqhc8vyr3aqxwxxpcd4j0bqvfcjhkbkz";
+       version = "0.1.5.0";
+       sha256 = "03aihavij5i0r1h5wvc9q1bdqzpc4kd7cz8rklvhwgblr8fzxnxw";
        libraryHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal array base Cabal colour mtl
          path rio text
@@ -255093,6 +256060,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) rocksdb;};
 
+  "rocksdb-haskell-jprupp_2_1_6" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, directory, hspec
+     , QuickCheck, resourcet, rocksdb, unliftio
+     }:
+     mkDerivation {
+       pname = "rocksdb-haskell-jprupp";
+       version = "2.1.6";
+       sha256 = "0hr7wzhhbbhcvghjbc80c1kba62xkja5ghar7sd0grckzan7maq7";
+       libraryHaskellDepends = [
+         base bytestring data-default directory resourcet unliftio
+       ];
+       librarySystemDepends = [ rocksdb ];
+       testHaskellDepends = [
+         base bytestring data-default directory hspec QuickCheck resourcet
+         unliftio
+       ];
+       description = "Haskell bindings for RocksDB";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) rocksdb;};
+
   "rocksdb-query" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, data-default
      , hspec, resourcet, rocksdb-haskell-jprupp, unliftio
@@ -256972,20 +257960,23 @@ self: {
      }) {};
 
   "rzk" = callPackage
-    ({ mkDerivation, aeson, array, base, bifunctors, bytestring
-     , doctest, Glob, mtl, optparse-generic, QuickCheck
+    ({ mkDerivation, aeson, alex, array, base, bifunctors, bytestring
+     , doctest, Glob, happy, mtl, optparse-generic, QuickCheck
      , template-haskell, text
      }:
      mkDerivation {
        pname = "rzk";
-       version = "0.5.3";
-       sha256 = "1k9y8w00cw84k67lp425q3akci5qkvhm7lmr3jspsmhihfyif6lq";
+       version = "0.5.4";
+       sha256 = "1zyvhlncvibk50cm80wa9y6yrwk3wj50y80xhp7fjz5h88wvv04x";
+       revision = "1";
+       editedCabalFile = "193n0ix496s5jqha633n5siawmawskch5wil2jlls4kx97krw109";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring mtl optparse-generic
          template-haskell text
        ];
+       libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
          aeson array base bifunctors bytestring mtl optparse-generic
          template-haskell text
@@ -257358,8 +258349,8 @@ self: {
        pname = "safe-json";
        version = "1.1.4.0";
        sha256 = "01dr0fyqyjbg9cw9g1wgh8bl7y1gfjbzl6qza6lf2s4iisacb06p";
-       revision = "2";
-       editedCabalFile = "0aq81lqcg2ic6ncxw1rivyspxhcima3vss1ilh8iapbd05lyjbvs";
+       revision = "3";
+       editedCabalFile = "1d49dp1f00b865x8jfi1ynjp32yagjssf1ws9x3ci7qa8hsy1kxl";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -257374,6 +258365,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "safe-json_1_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, dlist
+     , hashable, quickcheck-instances, scientific, tasty, tasty-hunit
+     , tasty-quickcheck, temporary, text, time, unordered-containers
+     , uuid, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "safe-json";
+       version = "1.2.0.0";
+       sha256 = "0534kxg66ha106y9xp4jbv4lyd8cjgj7qbfcbqiahdi2sd9cyfhg";
+       libraryHaskellDepends = [
+         aeson base bytestring containers dlist hashable scientific tasty
+         tasty-hunit tasty-quickcheck text time unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers dlist hashable
+         quickcheck-instances scientific tasty tasty-hunit tasty-quickcheck
+         temporary text time unordered-containers uuid uuid-types vector
+       ];
+       description = "Automatic JSON format versioning";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "safe-lazy-io" = callPackage
     ({ mkDerivation, base, extensible-exceptions, parallel, strict-io
      }:
@@ -257607,8 +258623,8 @@ self: {
        pname = "safecopy";
        version = "0.10.4.2";
        sha256 = "0r2mf0p82gf8vnldx477b5ykrj1x7hyg13nqfn6gzb50japs6h3i";
-       revision = "6";
-       editedCabalFile = "0ii5cdg4l4ww81p7gd5m3z2jdqrs2hvqhwzrlz267nzxbws00x0b";
+       revision = "7";
+       editedCabalFile = "1haylxnkj7if9q2kmhp5cvb7xi68fk00q0nqjvfc0giih9mjr1ck";
        libraryHaskellDepends = [
          array base bytestring cereal containers generic-data old-time
          template-haskell text time transformers vector
@@ -257687,21 +258703,20 @@ self: {
 
   "safeio" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-combinators
-     , directory, exceptions, filepath, HUnit, resourcet, test-framework
-     , test-framework-hunit, test-framework-th, unix
+     , directory, exceptions, filepath, HUnit, resourcet, tasty
+     , tasty-hunit, tasty-th, unix
      }:
      mkDerivation {
        pname = "safeio";
-       version = "0.0.5.0";
-       sha256 = "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm";
+       version = "0.0.6.0";
+       sha256 = "0dbkk6ia7acil45b2dbvlnfdssyy1azlj0c8gg7pyp3x5fm67v13";
        libraryHaskellDepends = [
          base bytestring conduit conduit-combinators directory exceptions
          filepath resourcet unix
        ];
        testHaskellDepends = [
          base bytestring conduit conduit-combinators directory exceptions
-         filepath HUnit resourcet test-framework test-framework-hunit
-         test-framework-th unix
+         filepath HUnit resourcet tasty tasty-hunit tasty-th unix
        ];
        description = "Write output to disk atomically";
        license = lib.licenses.mit;
@@ -258333,6 +259348,50 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "sandwich_0_1_5_1" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, async, base, brick
+     , bytestring, colour, containers, deepseq, directory, exceptions
+     , filepath, free, haskell-src-exts, lifted-async, microlens
+     , microlens-th, monad-control, monad-logger, mtl
+     , optparse-applicative, pretty-show, process, safe, safe-exceptions
+     , stm, string-interpolate, template-haskell, text, time
+     , transformers, transformers-base, unix, unliftio-core, vector, vty
+     }:
+     mkDerivation {
+       pname = "sandwich";
+       version = "0.1.5.1";
+       sha256 = "1a4frv835zvflycbnbasj6pygzbnnvpsxl3ahp247zxap7v9gkch";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal async base brick bytestring colour containers
+         deepseq directory exceptions filepath free haskell-src-exts
+         lifted-async microlens microlens-th monad-control monad-logger mtl
+         optparse-applicative pretty-show process safe safe-exceptions stm
+         string-interpolate template-haskell text time transformers
+         transformers-base unix unliftio-core vector vty
+       ];
+       description = "Yet another test framework for Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sandwich-hedgehog" = callPackage
     ({ mkDerivation, base, free, hedgehog, monad-control, mtl
      , safe-exceptions, sandwich, string-interpolate, text, time, vty
@@ -258449,6 +259508,51 @@ self: {
        mainProgram = "sandwich-webdriver-exe";
      }) {};
 
+  "sandwich-webdriver_0_2_3_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, data-default
+     , directory, exceptions, filepath, http-client, http-client-tls
+     , http-conduit, lifted-base, microlens, microlens-aeson
+     , monad-control, monad-logger, mtl, network, process, random
+     , regex-compat, retry, safe, safe-exceptions, sandwich
+     , string-interpolate, temporary, text, time, transformers, unix
+     , unliftio, unordered-containers, vector, webdriver
+     }:
+     mkDerivation {
+       pname = "sandwich-webdriver";
+       version = "0.2.3.1";
+       sha256 = "15zpdv8mmzmgrr07m8as4alwxx2xw54vj8y39f5f3z58wg1q767c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory exceptions
+         filepath http-client http-client-tls http-conduit lifted-base
+         microlens microlens-aeson monad-control monad-logger mtl network
+         process random regex-compat retry safe safe-exceptions sandwich
+         string-interpolate temporary text time transformers unix
+         unordered-containers vector webdriver
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers data-default directory exceptions
+         filepath http-client http-client-tls http-conduit lifted-base
+         microlens microlens-aeson monad-control monad-logger mtl network
+         process random regex-compat retry safe safe-exceptions sandwich
+         string-interpolate temporary text time transformers unix
+         unordered-containers vector webdriver
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers data-default directory exceptions
+         filepath http-client http-client-tls http-conduit lifted-base
+         microlens microlens-aeson monad-control monad-logger mtl network
+         process random regex-compat retry safe safe-exceptions sandwich
+         string-interpolate temporary text time transformers unix unliftio
+         unordered-containers vector webdriver
+       ];
+       description = "Sandwich integration with Selenium WebDriver";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "sandwich-webdriver-exe";
+     }) {};
+
   "sarasvati" = callPackage
     ({ mkDerivation, base, deepseq, portaudio }:
      mkDerivation {
@@ -258855,7 +259959,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "sbp_5_0_0" = callPackage
+  "sbp_5_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base64-bytestring, basic-prelude, binary, binary-conduit
      , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754
@@ -258864,8 +259968,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "5.0.0";
-       sha256 = "13wdxgiby4axb02x2n32hlija2k5aw6z2fcn1g5795bz1gyv81k2";
+       version = "5.0.1";
+       sha256 = "0nld66iq1jdi5zj9zzixvs2mmdkw3drq5pgmwhnw4rfhwdz0vkc4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -265115,6 +266219,35 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "servant-prometheus" = callPackage
+    ({ mkDerivation, aeson, base, clock, containers, ghc-prim, hashable
+     , hspec, hspec-discover, hspec-expectations-pretty-diff
+     , http-client, http-types, process, prometheus-client, servant
+     , servant-client, servant-server, text, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-prometheus";
+       version = "1.0.0";
+       sha256 = "1m4kb6k4idlr9j1p72w041inhx9c3srxxxrnfj8fpywji6adxili";
+       libraryHaskellDepends = [
+         base clock ghc-prim hashable http-types prometheus-client servant
+         text wai
+       ];
+       testHaskellDepends = [
+         aeson base containers hspec hspec-expectations-pretty-diff
+         http-client prometheus-client servant servant-client servant-server
+         text wai warp
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base process servant-server text wai warp
+       ];
+       description = "Helpers for using prometheus with servant";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "servant-proto-lens" = callPackage
     ({ mkDerivation, async, base, bytestring, data-default-class
      , http-client, http-media, HUnit, lens, proto-lens
@@ -266950,8 +268083,8 @@ self: {
        pname = "setlocale";
        version = "1.0.0.10";
        sha256 = "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir";
-       revision = "3";
-       editedCabalFile = "1ich9zjmwc73ilblmbakl627mqpncyd79vnpkflms65qylqj6dvk";
+       revision = "4";
+       editedCabalFile = "0lpr3lrn28ig0q2cd5xgggzgf917xdpx1zq2q523r0qin6vbb44n";
        libraryHaskellDepends = [ base ];
        description = "Haskell bindings to setlocale";
        license = lib.licenses.bsd3;
@@ -267743,6 +268876,7 @@ self: {
        ];
        description = "Dependency tracking for Futhark";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shake-google-closure-compiler" = callPackage
@@ -268008,6 +269142,33 @@ self: {
        maintainers = [ lib.maintainers.psibi ];
      }) {};
 
+  "shakespeare_2_1_0_1" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, file-embed, ghc-prim, hspec
+     , HUnit, parsec, process, scientific, template-haskell, text
+     , th-lift, time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.1.0.1";
+       sha256 = "0byj0zhxi1pr8l5f18phzkwcf7z38lyk2zznz8hbkqadfgrmbdkc";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions file-embed ghc-prim parsec process scientific
+         template-haskell text th-lift time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       description = "A toolkit for making compile-time interpolated templates";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = [ lib.maintainers.psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -268447,8 +269608,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellify";
-       version = "0.10.0.3";
-       sha256 = "0kgyhyvjsryda03b93nvi07q47mcyqz8rfy0awgr8nbi0gv0d8jd";
+       version = "0.11.0.0";
+       sha256 = "0wb8v86x26mi6phz5vkklv1fm0v6j99qqc8zlhapha67jxs1v8x2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -268459,7 +269620,7 @@ self: {
        testHaskellDepends = [ base hspec hspec-core raw-strings-qq text ];
        description = "A tool for generating shell.nix files";
        license = lib.licenses.asl20;
-       mainProgram = "shellify";
+       mainProgram = "nix-shellify";
        maintainers = [ lib.maintainers.danielrolls ];
      }) {};
 
@@ -268558,10 +269719,8 @@ self: {
      }:
      mkDerivation {
        pname = "shelltestrunner";
-       version = "1.9";
-       sha256 = "1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b";
-       revision = "1";
-       editedCabalFile = "148yc2b81dm2lwwrrqhxfdh6ww5k2hgvj4vpq67w0ax09l3rphn5";
+       version = "1.9.0.1";
+       sha256 = "1a2sn69hmmyw6v2cvaf3pdv160qwing2cgrsfrxbfsqcc85g7mqj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -268574,6 +269733,29 @@ self: {
        mainProgram = "shelltest";
      }) {};
 
+  "shelltestrunner_1_10" = callPackage
+    ({ mkDerivation, base, cmdargs, Diff, directory, filemanip
+     , filepath, hspec, hspec-contrib, hspec-core, HUnit, parsec
+     , pretty-show, process, regex-tdfa, safe, test-framework
+     , test-framework-hunit, utf8-string
+     }:
+     mkDerivation {
+       pname = "shelltestrunner";
+       version = "1.10";
+       sha256 = "1c6bjyxqa4mgnh3w4pqp6sbr5cf160n7jf9i1b4b9sdxzdjk7g87";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base cmdargs Diff directory filemanip filepath hspec hspec-contrib
+         hspec-core HUnit parsec pretty-show process regex-tdfa safe
+         test-framework test-framework-hunit utf8-string
+       ];
+       description = "Easy, repeatable testing of CLI programs/commands";
+       license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "shelltest";
+     }) {};
+
   "shellwords" = callPackage
     ({ mkDerivation, base, hspec, megaparsec, text }:
      mkDerivation {
@@ -271060,8 +272242,10 @@ self: {
      }:
      mkDerivation {
        pname = "single-tuple";
-       version = "0.1.2.0";
-       sha256 = "1dxrdddfdvs69icv6ixjv5crfznllxvg8sjiw9xwyn26f36g2mw8";
+       version = "0.1.3.0";
+       sha256 = "1axr5bv92pc9261mpcjq8wn0871i4n18hn9qpk8gpqj6zvh9gjcc";
+       revision = "1";
+       editedCabalFile = "0lcg7rjy51rja8f4575cssrhyb86f03w13aw440mqs85mnzx75km";
        libraryHaskellDepends = [ base ghc-prim OneTuple Only ];
        testHaskellDepends = [ base ghc-prim hspec OneTuple Only ];
        testToolDepends = [ hspec-discover ];
@@ -272008,6 +273192,33 @@ self: {
        mainProgram = "skylighting";
      }) {};
 
+  "skylighting_0_14" = callPackage
+    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
+     , pretty-show, skylighting-core, skylighting-format-ansi
+     , skylighting-format-blaze-html, skylighting-format-context
+     , skylighting-format-latex, text
+     }:
+     mkDerivation {
+       pname = "skylighting";
+       version = "0.14";
+       sha256 = "19vwmrpi4r93a7ic9wrf8nl4bh5pzhgpbr84kg7mklj5ls9wv9pz";
+       configureFlags = [ "-fexecutable" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary containers skylighting-core skylighting-format-ansi
+         skylighting-format-blaze-html skylighting-format-context
+         skylighting-format-latex
+       ];
+       executableHaskellDepends = [
+         base blaze-html bytestring containers pretty-show text
+       ];
+       description = "syntax highlighting library";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "skylighting";
+     }) {};
+
   "skylighting-core" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
      , bytestring, case-insensitive, colour, containers, criterion, Diff
@@ -272038,6 +273249,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "skylighting-core_0_14" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
+     , bytestring, case-insensitive, colour, containers, criterion, Diff
+     , directory, filepath, mtl, pretty-show, QuickCheck, safe, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text, transformers
+     , utf8-string, xml-conduit
+     }:
+     mkDerivation {
+       pname = "skylighting-core";
+       version = "0.14";
+       sha256 = "14fbx07h9lrkz9a4z4w4v5b9hi3hpsxqw71pvfcbv39fim8bs8qj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring binary bytestring
+         case-insensitive colour containers directory filepath mtl safe text
+         transformers utf8-string xml-conduit
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers Diff directory filepath
+         pretty-show QuickCheck tasty tasty-golden tasty-hunit
+         tasty-quickcheck text
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion filepath text
+       ];
+       description = "syntax highlighting library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "skylighting-extensions" = callPackage
     ({ mkDerivation, base, containers, skylighting, skylighting-modding
      , text
@@ -272078,8 +273320,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-format-blaze-html";
-       version = "0.1.1";
-       sha256 = "04zg92x1jnzv6hac6wdgksgma7gi5g82x2kdxk8r7pk9yd6rn4xi";
+       version = "0.1.1.1";
+       sha256 = "14ap85ss2ad21vjs0jmczw66m1nqzyk86fvxi31f3r1mhpmq5v4f";
        libraryHaskellDepends = [
          base blaze-html containers skylighting-core text
        ];
@@ -273608,6 +274850,27 @@ self: {
        license = lib.licenses.cc0;
      }) {};
 
+  "snail" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-discover, HUnit
+     , megaparsec, mtl, QuickCheck, raw-strings-qq, text, text-display
+     }:
+     mkDerivation {
+       pname = "snail";
+       version = "0.1.2.1";
+       sha256 = "00s193k1iv0gcv98aic3ab47vjdy9z14vcc1ywrmsf2llwra323x";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base containers megaparsec mtl QuickCheck text text-display
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-discover HUnit megaparsec mtl
+         QuickCheck raw-strings-qq text text-display
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A programming language with no semantics";
+       license = lib.licenses.mit;
+     }) {};
+
   "snake" = callPackage
     ({ mkDerivation, base, random, split, terminal-size }:
      mkDerivation {
@@ -277925,8 +279188,8 @@ self: {
      }:
      mkDerivation {
        pname = "sqids";
-       version = "0.1.2.1";
-       sha256 = "06m1vsmfgzn80r9gc8pgnzj4496lyyhk78gka63jzqzqi61cs7rh";
+       version = "0.1.4.0";
+       sha256 = "0nw5g8azgh4mw8nvvrryy8ck37xyv92p36rvpa73ickn5a20bp06";
        libraryHaskellDepends = [ base containers mtl text transformers ];
        testHaskellDepends = [ base containers hspec mtl split text ];
        description = "A small library that lets you generate YouTube-looking IDs from numbers";
@@ -278208,7 +279471,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Initial project template from stack";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "sqsd-local";
      }) {};
 
@@ -278240,8 +279502,8 @@ self: {
      }:
      mkDerivation {
        pname = "squeal-postgresql";
-       version = "0.9.1.0";
-       sha256 = "0jy2324j4jrv8nc7dks4286vmr2llbb8v7b32zqlrwndgyy41kkp";
+       version = "0.9.1.3";
+       sha256 = "1rj6pbfpdypcrxapm1hcha7nxczv5h3wan86lv6cfaijfbi733yy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -278276,8 +279538,8 @@ self: {
      }:
      mkDerivation {
        pname = "squeal-postgresql-ltree";
-       version = "0.1.0.1";
-       sha256 = "1dm5605p5rmh9gxjb84zn78jsqlakp1n9jcgagjmkmng8gnp49l9";
+       version = "0.1.0.2";
+       sha256 = "1rg71z9h3bw921m7cv8r8s85ilnga8cmsc5jw22xfa1n48pqbfmy";
        libraryHaskellDepends = [
          base bytestring generics-sop mtl postgresql-binary postgresql-libpq
          squeal-postgresql text
@@ -279029,8 +280291,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-clean-old";
-       version = "0.4.6";
-       sha256 = "0ymzri4pxs0dvqbs3nyrc6hq2lp6y6glva1kbjzpkzgk9r93x3kn";
+       version = "0.4.8";
+       sha256 = "0jyy6dnycycqqna8ihwvb6czcvb2yrfcg3dhj28xbn7dzpxbc197";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -279041,6 +280303,26 @@ self: {
        mainProgram = "stack-clean-old";
      }) {};
 
+  "stack-clean-old_0_5" = callPackage
+    ({ mkDerivation, base, directory, extra, filemanip, filepath
+     , simple-cmd, simple-cmd-args, simple-prompt
+     }:
+     mkDerivation {
+       pname = "stack-clean-old";
+       version = "0.5";
+       sha256 = "1d2hgn6f39iy4sw4zqalzc804f2463y99j9p8vzlr6bckan2krx3";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory extra filemanip filepath simple-cmd simple-cmd-args
+         simple-prompt
+       ];
+       description = "Clean away old stack build artifacts";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "stack-clean-old";
+     }) {};
+
   "stack-fix" = callPackage
     ({ mkDerivation, base, options, text, turtle }:
      mkDerivation {
@@ -279485,7 +280767,6 @@ self: {
        ];
        description = "Tools for curating Stackage bundles";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "stackage-install" = callPackage
@@ -279728,7 +281009,6 @@ self: {
        ];
        description = "Convert Stack files into Nix build instructions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "stackage2nix";
      }) {};
 
@@ -279765,15 +281045,15 @@ self: {
      , amazonka-cloudformation, amazonka-core, amazonka-ec2
      , amazonka-lambda, amazonka-sso, amazonka-sts, base, Blammo
      , bytestring, cfn-flip, conduit, containers, envparse, errors
-     , exceptions, extra, filepath, Glob, hspec, lens, lens-aeson
-     , monad-logger, mtl, optparse-applicative, QuickCheck, resourcet
-     , rio, semigroups, text, time, transformers, typed-process
-     , unliftio, unliftio-core, unordered-containers, uuid, yaml
+     , exceptions, extra, filepath, Glob, hspec, hspec-golden, lens
+     , lens-aeson, monad-logger, mtl, optparse-applicative, QuickCheck
+     , resourcet, rio, semigroups, text, time, transformers
+     , typed-process, unliftio, unordered-containers, uuid, yaml
      }:
      mkDerivation {
        pname = "stackctl";
-       version = "1.4.2.1";
-       sha256 = "1amvvw7za305rqz3cm9svqb4r0x6h096yw6p8w3wims1vq831a99";
+       version = "1.5.0.0";
+       sha256 = "1q60gi10aqr1f3baa02lg0r39gvvgqfdjr25pk2sy11n6dbcw19q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -279783,11 +281063,12 @@ self: {
          envparse errors exceptions extra filepath Glob lens lens-aeson
          monad-logger mtl optparse-applicative QuickCheck resourcet rio
          semigroups text time transformers typed-process unliftio
-         unliftio-core unordered-containers uuid yaml
+         unordered-containers uuid yaml
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         aeson base bytestring hspec mtl QuickCheck yaml
+         aeson base bytestring filepath Glob hspec hspec-golden mtl
+         QuickCheck yaml
        ];
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -280016,6 +281297,24 @@ self: {
        broken = true;
      }) {};
 
+  "starter-snake-haskell" = callPackage
+    ({ mkDerivation, aeson, base, containers, scotty, text }:
+     mkDerivation {
+       pname = "starter-snake-haskell";
+       version = "1.1.0";
+       sha256 = "12sk4bkl79gpiyygfcwq897gbr2fqfrmf3wf5adqg2sm57fvxnf7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ aeson base containers scotty text ];
+       executableHaskellDepends = [ aeson base containers scotty text ];
+       testHaskellDepends = [ aeson base containers scotty text ];
+       description = "A Haskell Battlesnake starter";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "starter-snake-haskell-exe";
+       broken = true;
+     }) {};
+
   "stash" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, directory
      , hashable, text, vector
@@ -280576,6 +281875,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "statsd-rupp" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, network, QuickCheck
+     , unliftio, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "statsd-rupp";
+       version = "0.4.0.4";
+       sha256 = "1y1c7ln8fany6inshxkmz6dz2g9wpcrrijkgqgfabhvg8nqqgi9w";
+       libraryHaskellDepends = [
+         base bytestring network unliftio unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring hspec network QuickCheck unliftio
+         unordered-containers vector
+       ];
+       description = "Simple StatsD Client";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "statsdi" = callPackage
     ({ mkDerivation, base, bytestring, dequeue, ether, hashable, hspec
      , network, random, stm, tasty, tasty-hspec, template-haskell, time
@@ -281099,6 +282417,8 @@ self: {
        pname = "stm-conduit";
        version = "4.0.1";
        sha256 = "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8";
+       revision = "1";
+       editedCabalFile = "1iyk2wfkpyq3jn0lybgf21b95rmkzgpvr8m066j06z4xngcvab36";
        libraryHaskellDepends = [
          async base cereal cereal-conduit conduit conduit-extra directory
          exceptions monad-loops resourcet stm stm-chans transformers
@@ -283281,10 +284601,8 @@ self: {
     ({ mkDerivation, base, bytestring, tagged, text }:
      mkDerivation {
        pname = "string-class";
-       version = "0.1.7.0";
-       sha256 = "1s0bj0wvwriw4516za6ar7w7zsz5mmnf1dba0ch239n27rb00nwf";
-       revision = "1";
-       editedCabalFile = "1z3cq57j6gjkz8q0wn9y222qw8lg560372na0nn7fcbf54yc749r";
+       version = "0.1.7.1";
+       sha256 = "0hbh4ccd3zlwnkczgvfg76h537gxs1rcci0p689i5v833n67zygy";
        libraryHaskellDepends = [ base bytestring tagged text ];
        description = "String class library";
        license = lib.licenses.bsd3;
@@ -283380,8 +284698,8 @@ self: {
        pname = "string-fromto";
        version = "1.0.0.0";
        sha256 = "0vnf500vahgccbbg7zvxqjxllvyq3jxzf2difqwh46fp62jfqwmx";
-       revision = "1";
-       editedCabalFile = "0dxfcfxr5yr7k39cm0d7j86milmn7nlb2ciwdy076k9dp2fhgb1r";
+       revision = "2";
+       editedCabalFile = "0h6w39bx4vvrzyg3bbcr3s78g427akzg7nykxa6zwdxk9sq67fsp";
        libraryHaskellDepends = [ base bytestring memory text ];
        description = "Conversions between common string types, as well as Base16/Base32/Base64";
        license = lib.licenses.bsd3;
@@ -286075,46 +287393,49 @@ self: {
      }) {inherit (pkgs) tokyocabinet;};
 
   "swarm" = callPackage
-    ({ mkDerivation, aeson, array, base, brick, bytestring, clock
-     , containers, criterion, directory, dotgen, either, extra, filepath
-     , fused-effects, fused-effects-lens, githash, hashable, hsnoise
-     , http-client, http-client-tls, http-types, lens, linear, lsp
-     , megaparsec, minimorph, mtl, murmur3, natural-sort
-     , optparse-applicative, parser-combinators, prettyprinter
-     , QuickCheck, random, servant, servant-server, simple-enumeration
-     , split, stm, syb, tagged, tasty, tasty-expected-failure
-     , tasty-hunit, tasty-quickcheck, template-haskell, text, text-rope
-     , text-zipper, time, transformers, unification-fd
-     , unordered-containers, vector, vty, wai, warp, witch, word-wrap
-     , yaml
+    ({ mkDerivation, aeson, array, base, blaze-html, boolexpr, brick
+     , brick-list-skip, bytestring, clock, colour, commonmark
+     , commonmark-extensions, containers, criterion, directory, dotgen
+     , either, extra, filepath, fused-effects, fused-effects-lens, fuzzy
+     , githash, hashable, hsnoise, http-client, http-client-tls
+     , http-types, lens, linear, lsp, megaparsec, minimorph, mtl
+     , murmur3, natural-sort, optparse-applicative, parser-combinators
+     , prettyprinter, QuickCheck, random, servant, servant-docs
+     , servant-server, SHA, simple-enumeration, split, stm, syb, tagged
+     , tasty, tasty-expected-failure, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, text-rope, text-zipper, time
+     , transformers, unification-fd, unordered-containers, vector, vty
+     , wai, warp, witch, witherable, word-wrap, yaml
      }:
      mkDerivation {
        pname = "swarm";
-       version = "0.3.0.1";
-       sha256 = "0b0ji08csj07ragr8sabn84l1zzlchvm0nz8rd7541fwm5b3jb5f";
+       version = "0.4";
+       sha256 = "150hblxkv8wkx02wxifiyl0k76a7y8fikkx2wxz6ldd223d1yvqa";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson array base brick bytestring clock containers directory dotgen
-         either extra filepath fused-effects fused-effects-lens githash
-         hashable hsnoise http-client http-client-tls http-types lens linear
-         lsp megaparsec minimorph mtl murmur3 natural-sort
-         parser-combinators prettyprinter random servant servant-server
-         simple-enumeration split stm syb tagged template-haskell text
-         text-rope text-zipper time unification-fd unordered-containers
-         vector vty wai warp witch word-wrap yaml
+         aeson array base blaze-html boolexpr brick brick-list-skip
+         bytestring clock colour commonmark commonmark-extensions containers
+         directory dotgen either extra filepath fused-effects
+         fused-effects-lens fuzzy githash hashable hsnoise http-client
+         http-client-tls http-types lens linear lsp megaparsec minimorph mtl
+         murmur3 natural-sort parser-combinators prettyprinter random
+         servant servant-docs servant-server SHA simple-enumeration split
+         stm syb tagged template-haskell text text-rope text-zipper time
+         transformers unification-fd unordered-containers vector vty wai
+         warp witch witherable word-wrap yaml
        ];
        executableHaskellDepends = [
          base githash optparse-applicative text
        ];
        testHaskellDepends = [
-         aeson base containers directory filepath hashable lens linear mtl
-         QuickCheck tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck text transformers witch yaml
+         aeson base boolexpr containers directory filepath fused-effects
+         hashable lens linear mtl QuickCheck tasty tasty-expected-failure
+         tasty-hunit tasty-quickcheck text time transformers vty witch yaml
        ];
        benchmarkHaskellDepends = [
-         base criterion lens linear mtl random text
+         base containers criterion lens linear mtl random text
        ];
        description = "2D resource gathering game with programmable robots";
        license = lib.licenses.bsd3;
@@ -286205,8 +287526,8 @@ self: {
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.10.4.0";
-       sha256 = "0p5xs17lzgsqgwnpglqav89ysnaagz532lz279cr7pyl3i5z2zdw";
+       version = "0.10.5.0";
+       sha256 = "0q642rv2mcb228b99qc7l94m8hrdw5zqby14jzblr6c4wwcahh5a";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -287823,18 +289144,17 @@ self: {
      }) {UniqueLogicNP = null;};
 
   "synthesizer-llvm" = callPackage
-    ({ mkDerivation, base, containers, event-list, llvm-dsl, llvm-extra
-     , llvm-tf, midi, non-empty, non-negative, numeric-prelude, pathtype
-     , QuickCheck, random, semigroups, sox, storable-record
-     , storablevector, synthesizer-core, synthesizer-midi, tfp
-     , transformers, unsafe, utility-ht, vault
+    ({ mkDerivation, base, containers, doctest-exitcode-stdio
+     , event-list, llvm-dsl, llvm-extra, llvm-tf, midi, non-empty
+     , non-negative, numeric-prelude, pathtype, QuickCheck, random
+     , semigroups, sox, storable-record, storablevector
+     , synthesizer-core, synthesizer-midi, tfp, transformers, unsafe
+     , utility-ht, vault
      }:
      mkDerivation {
        pname = "synthesizer-llvm";
-       version = "0.9";
-       sha256 = "0bqncysaq164235792657yyf1ngkr7gm9vkzkbiqy6f7g7a62shd";
-       revision = "2";
-       editedCabalFile = "1p9wr4i1q8mv3ghnw46k4dzfagid1f7sx45zbam3ja68ksq1da99";
+       version = "1.0";
+       sha256 = "1kkn0rdwidwrrx27bzj3d6hk273fl1v88c6bdqvw0hy3lqmrfvzb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -287844,8 +289164,9 @@ self: {
          synthesizer-midi tfp transformers unsafe utility-ht vault
        ];
        testHaskellDepends = [
-         base llvm-extra llvm-tf numeric-prelude QuickCheck random
-         storablevector synthesizer-core tfp utility-ht
+         base doctest-exitcode-stdio llvm-dsl llvm-extra llvm-tf
+         numeric-prelude QuickCheck random storablevector synthesizer-core
+         tfp unsafe utility-ht
        ];
        doHaddock = false;
        description = "Efficient signal processing using runtime compilation";
@@ -288283,6 +289604,27 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) systemd;};
 
+  "systemd-ntfy" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dbus, dbus-th
+     , optparse-applicative, safe, wreq
+     }:
+     mkDerivation {
+       pname = "systemd-ntfy";
+       version = "0.1.0";
+       sha256 = "14xwx9h01x1hryc0mvxpmm81z3nw58pmsarfninb8rxrsl230b2n";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring containers dbus dbus-th optparse-applicative safe
+         wreq
+       ];
+       description = "Send notifications for systemd units to ntfy.sh";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "systemd-ntfy";
+       broken = true;
+     }) {};
+
   "systemd-socket-activation" = callPackage
     ({ mkDerivation, base, containers, network, quaalude, text
      , transformers, unix
@@ -289189,6 +290531,28 @@ self: {
        mainProgram = "tahoe-chk-encrypt";
      }) {};
 
+  "tahoe-directory" = callPackage
+    ({ mkDerivation, base, bytestring, hedgehog, megaparsec
+     , tahoe-capabilities, tahoe-chk, tahoe-ssk, tasty, tasty-hedgehog
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "tahoe-directory";
+       version = "0.1.0.0";
+       sha256 = "1659q860y776bx39nw3x7afqdazs5b31b5p9asc3g7al697xl6li";
+       libraryHaskellDepends = [
+         base bytestring megaparsec tahoe-capabilities tahoe-chk tahoe-ssk
+         text
+       ];
+       testHaskellDepends = [
+         base bytestring hedgehog megaparsec tahoe-capabilities tasty
+         tasty-hedgehog tasty-hunit text
+       ];
+       description = "Tahoe-LAFS directory-like abstraction for collections of data objects";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tahoe-great-black-swamp" = callPackage
     ({ mkDerivation, aeson, async, base, base32, base32string
      , base64-bytestring, binary, bytestring, cborg, cborg-json
@@ -289978,6 +291342,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty_1_5" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers
+     , optparse-applicative, stm, tagged, transformers, unix
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "1.5";
+       sha256 = "1b19s0kf61z3zp7qx9m3j3iqmjvwvqsfwryf9lfnj3i15a2zfp6a";
+       libraryHaskellDepends = [
+         ansi-terminal base containers optparse-applicative stm tagged
+         transformers unix
+       ];
+       description = "Modern and extensible testing framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-ant-xml" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
@@ -290088,6 +291469,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-bench_0_3_5" = callPackage
+    ({ mkDerivation, base, containers, deepseq, ghc-prim, tasty }:
+     mkDerivation {
+       pname = "tasty-bench";
+       version = "0.3.5";
+       sha256 = "1xldjnm4wa16mcrrp09gi75c8n9b0pq9va3zf50m1smylhfh1hfw";
+       revision = "1";
+       editedCabalFile = "1q8yx3lm8wb75yn81rmxwi6d30xqcjkxdjjicfv5ipyb8xx0hnc6";
+       libraryHaskellDepends = [ base containers deepseq ghc-prim tasty ];
+       benchmarkHaskellDepends = [ base ];
+       description = "Featherlight benchmark framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-bench-fit" = callPackage
     ({ mkDerivation, base, containers, deepseq, infinite-list
      , regression-simple, tasty, tasty-bench, tasty-expected-failure
@@ -290129,6 +291525,17 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "tasty-coverage" = callPackage
+    ({ mkDerivation, base, filepath, hpc, tasty }:
+     mkDerivation {
+       pname = "tasty-coverage";
+       version = "0.1.2.0";
+       sha256 = "1d302a16n06x61hlbi3654c808rij74rczpzarjq1mrna07fnh1f";
+       libraryHaskellDepends = [ base filepath hpc tasty ];
+       description = "Ingredient for tasty which generates per-test coverage reports";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
@@ -290140,6 +291547,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-dejafu_2_1_0_1" = callPackage
+    ({ mkDerivation, base, dejafu, random, tagged, tasty }:
+     mkDerivation {
+       pname = "tasty-dejafu";
+       version = "2.1.0.1";
+       sha256 = "0rzlqn6176mdaj3yybw2hjjx3lrx621jvh7vvxkkmh655jbkmjhb";
+       libraryHaskellDepends = [ base dejafu random tagged tasty ];
+       description = "Deja Fu support for the Tasty test framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-discover" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , Glob, hedgehog, hspec, hspec-core, tasty, tasty-golden
@@ -290245,21 +291664,20 @@ self: {
 
   "tasty-grading-system" = callPackage
     ({ mkDerivation, aeson, base, containers, directory, filepath
-     , generic-deriving, mtl, stm, tagged, tasty, tasty-hunit, text
+     , generic-deriving, mtl, stm, tagged, tasty, text
      }:
      mkDerivation {
        pname = "tasty-grading-system";
-       version = "0.1.0.0";
-       sha256 = "1r72gbylmv466naxkqsf56wlkp5kzhvyq0w3k7g47hs1rlslllmp";
-       revision = "4";
-       editedCabalFile = "1h80pf2p13f33gl803xyg6znf1ychci9jqcl13xdxai1asb331hq";
+       version = "0.2.0.0";
+       sha256 = "0yag9m637j29hs66cvmy5jp01am3k7g7wacf82nlgk7x5bzfyvfl";
        libraryHaskellDepends = [
          aeson base containers directory filepath generic-deriving mtl stm
          tagged tasty text
        ];
-       testHaskellDepends = [ aeson base tasty tasty-hunit ];
        description = "Grade your tasty-testsuite";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-groundhog-converters" = callPackage
@@ -290307,6 +291725,8 @@ self: {
        pname = "tasty-hedgehog";
        version = "1.4.0.2";
        sha256 = "0lki03z0p38x0dkqx5cqga30zy5m31gxn1saqylja9bi6bbq8d25";
+       revision = "1";
+       editedCabalFile = "1mwg576azkwzv13rk72cnbag4823hwpr8zgcfcrvx8wx5ha2r55p";
        libraryHaskellDepends = [ base hedgehog tagged tasty ];
        testHaskellDepends = [
          base hedgehog tasty tasty-expected-failure
@@ -290443,6 +291863,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-hunit_0_10_1" = callPackage
+    ({ mkDerivation, base, call-stack, tasty }:
+     mkDerivation {
+       pname = "tasty-hunit";
+       version = "0.10.1";
+       sha256 = "10r05j6cl5clxzi2y2gxg9y4izxpa17l6hwb7f4lrc2qs8xl5sww";
+       libraryHaskellDepends = [ base call-stack tasty ];
+       description = "HUnit support for the Tasty test framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-hunit-adapter" = callPackage
     ({ mkDerivation, base, HUnit, tasty, tasty-hunit }:
      mkDerivation {
@@ -290720,6 +292152,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-quickcheck_0_10_3" = callPackage
+    ({ mkDerivation, base, optparse-applicative, pcre-light, QuickCheck
+     , random, tagged, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "tasty-quickcheck";
+       version = "0.10.3";
+       sha256 = "02lw6gk83b6wc9dwd3shin58zqy9isgx4zh7z0whs0wkzwzkpyyg";
+       revision = "1";
+       editedCabalFile = "0rk57yzsrw8lbzjwcsd3pnfwic12cvnpv245g2dsw50dvqd2922k";
+       libraryHaskellDepends = [
+         base optparse-applicative QuickCheck random tagged tasty
+       ];
+       testHaskellDepends = [ base pcre-light tasty tasty-hunit ];
+       description = "QuickCheck support for the Tasty test framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-quickcheck-laws" = callPackage
     ({ mkDerivation, base, QuickCheck, tasty, tasty-quickcheck }:
      mkDerivation {
@@ -290754,6 +292205,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "tasty-rerun_1_1_19" = callPackage
+    ({ mkDerivation, base, containers, mtl, optparse-applicative, split
+     , stm, tagged, tasty, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-rerun";
+       version = "1.1.19";
+       sha256 = "0dbj5jyms4rkb241dw2vgkzk442zga58zhg8mmw0ksi4yw0z8gbg";
+       libraryHaskellDepends = [
+         base containers mtl optparse-applicative split stm tagged tasty
+         transformers
+       ];
+       description = "Rerun only tests which failed in a previous test run";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-silver" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
      , deepseq, directory, filepath, mtl, optparse-applicative, process
@@ -290764,6 +292232,8 @@ self: {
        pname = "tasty-silver";
        version = "3.3.1.1";
        sha256 = "13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m";
+       revision = "1";
+       editedCabalFile = "0bnpygmlz5qbjymyngcn19bnhn57m2p6m62f0r8pmrs1q7h4l7aq";
        libraryHaskellDepends = [
          ansi-terminal async base bytestring containers deepseq directory
          filepath mtl optparse-applicative process process-extras regex-tdfa
@@ -290777,6 +292247,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-silver_3_3_1_2" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , deepseq, directory, filepath, mtl, optparse-applicative, process
+     , process-extras, regex-tdfa, silently, stm, tagged, tasty
+     , tasty-hunit, temporary, text, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-silver";
+       version = "3.3.1.2";
+       sha256 = "11smy3kwr8w4m4xk229lch6s17h7jp55nzx4pw51rx1xmqfgfx14";
+       libraryHaskellDepends = [
+         ansi-terminal async base bytestring containers deepseq directory
+         filepath mtl optparse-applicative process process-extras regex-tdfa
+         silently stm tagged tasty temporary text transformers
+       ];
+       testHaskellDepends = [
+         base directory filepath process silently tasty tasty-hunit
+         temporary transformers
+       ];
+       description = "A fancy test runner, including support for golden tests";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-smallcheck" = callPackage
     ({ mkDerivation, base, optparse-applicative, smallcheck, tagged
      , tasty
@@ -293260,8 +294754,8 @@ self: {
        pname = "test-lib";
        version = "0.4";
        sha256 = "0jp0k27vvdz4lfrdi7874j7gnnn051kvqfn1k3zg1ap4m9jzyb45";
-       revision = "2";
-       editedCabalFile = "1l3xfmwhpvzixwx3s2zhc1ah9bjnp0yjr7d2cymhfnlpwv5jc47q";
+       revision = "3";
+       editedCabalFile = "03gcbf1yrmvn5sprrf4idwmmyr4lz3j6rmbdnnajpq7c8fibvjcf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -293698,8 +295192,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.12.8";
-       sha256 = "1i15hqzmvb00rhwiz7yiqbccg7zknk7rrx9xk16arf6rf43g0kq3";
+       version = "0.12.8.2";
+       sha256 = "0g004qg97wyvaw3zd47mlb1xclf8jniwgfmvd1q8m3y958np81qp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -293766,6 +295260,36 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "text_2_1" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, ghc-prim, QuickCheck
+     , system-cxx-std-lib, tasty, tasty-bench, tasty-hunit
+     , tasty-inspection-testing, tasty-quickcheck, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "text";
+       version = "2.1";
+       sha256 = "1j5nc8h6njdqrqi6swd278jwsqyw6gpca6ad6vga35lal825prnb";
+       libraryHaskellDepends = [
+         array base binary bytestring deepseq ghc-prim system-cxx-std-lib
+         template-haskell
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq directory ghc-prim QuickCheck tasty
+         tasty-hunit tasty-inspection-testing tasty-quickcheck
+         template-haskell transformers
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers deepseq directory filepath tasty-bench
+         transformers
+       ];
+       doCheck = false;
+       description = "An efficient packed Unicode text type";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-all" = callPackage
     ({ mkDerivation, base, bytestring, text, text-format, utf8-string
      }:
@@ -293888,8 +295412,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder-linear";
-       version = "0.1.1";
-       sha256 = "17p3g7v724180vhq3fmzaip0b0jadhg7pm5if9ygk5cf8g70in9k";
+       version = "0.1.1.1";
+       sha256 = "0yrl0qr8zyfgrn4h618lkk5jv68ij0kzn39bgv3pi05v9dj8rnzm";
        libraryHaskellDepends = [ base bytestring quote-quot text ];
        testHaskellDepends = [ base tasty tasty-quickcheck text ];
        benchmarkHaskellDepends = [
@@ -294547,6 +296071,8 @@ self: {
        pname = "text-show";
        version = "3.10.4";
        sha256 = "0kjpl9wbvn5zcpwjyrvdnkcp260rizff598cmqh4py8225fl5bmz";
+       revision = "1";
+       editedCabalFile = "0ac5v51am20ni6ddkppzzhzynlnyn0d51gwxc47rmy8dsh22y72a";
        libraryHaskellDepends = [
          array base base-compat-batteries bifunctors bytestring
          bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
@@ -296065,8 +297591,8 @@ self: {
      }:
      mkDerivation {
        pname = "thread-utils-context";
-       version = "0.3.0.3";
-       sha256 = "116rl39pv7nlnpw5snw0qns59fj3k34jgp9wnj69w6glnd5s7gyr";
+       version = "0.3.0.4";
+       sha256 = "1z40qlr40iylms4623bhz9m54zln05vrh9iamypy7d2l5fb4y556";
        libraryHaskellDepends = [
          base containers ghc-prim thread-utils-finalizers
        ];
@@ -297130,19 +298656,6 @@ self: {
      }) {};
 
   "time-manager" = callPackage
-    ({ mkDerivation, auto-update, base }:
-     mkDerivation {
-       pname = "time-manager";
-       version = "0.0.0";
-       sha256 = "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh";
-       revision = "1";
-       editedCabalFile = "1hwcns6rnh27nngq616cl9x2pl6lm4zzrsbbv5vq6hl0a60qhqjv";
-       libraryHaskellDepends = [ auto-update base ];
-       description = "Scalable timer";
-       license = lib.licenses.mit;
-     }) {};
-
-  "time-manager_0_0_1" = callPackage
     ({ mkDerivation, auto-update, base, unliftio }:
      mkDerivation {
        pname = "time-manager";
@@ -297151,7 +298664,6 @@ self: {
        libraryHaskellDepends = [ auto-update base unliftio ];
        description = "Scalable timer";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "time-out" = callPackage
@@ -297485,8 +298997,8 @@ self: {
        pname = "timeline";
        version = "0.1.0.0";
        sha256 = "0ya56j51vgg380yylpakfgr5srv20ybiyy7yhfyxz21sdgz7f168";
-       revision = "3";
-       editedCabalFile = "1mr593bg9wahgwf1xx3qms9x7zyyjd6lgkclq5s7jz2r9z1z7l9g";
+       revision = "4";
+       editedCabalFile = "0ahcy6rl6zgfmp6k0rcrbbbrvd1wwaf59az8r4rhq3bz7naaispj";
        libraryHaskellDepends = [
          base containers hedgehog indexed-traversable semigroupoids
          template-haskell text th-compat time
@@ -298392,117 +299904,110 @@ self: {
 
   "tlex" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
-     , enummapset-th, hspec, hspec-discover, QuickCheck, tlex-core
+     , enummapset, hspec, hspec-discover, QuickCheck, tlex-core
      }:
      mkDerivation {
        pname = "tlex";
-       version = "0.3.0.0";
-       sha256 = "1sbs6zxa6x2isxvynlqjf8rgy0y1syr6svvgb22bj43qsg3p3vnx";
+       version = "0.4.0.0";
+       sha256 = "0pwjgi2l1q5q61s7xvvfn1z4l4jwvxvsqm22lmqsdmav4j9asnsi";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base containers enummapset-th tlex-core
-       ];
+       libraryHaskellDepends = [ base containers enummapset tlex-core ];
        testHaskellDepends = [
-         base containers doctest enummapset-th hspec QuickCheck tlex-core
+         base containers doctest enummapset hspec QuickCheck tlex-core
        ];
        testToolDepends = [ hspec-discover ];
        description = "A lexer generator";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-core" = callPackage
     ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
-     , doctest, enummapset-th, hashable, hspec, hspec-discover
-     , QuickCheck, transformers, unordered-containers
+     , doctest, enummapset, hashable, hspec, hspec-discover, QuickCheck
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "tlex-core";
-       version = "0.3.0.0";
-       sha256 = "0nmxy35xxz6d2i7hcci68cwv9fm1ffsg00n9minaqgkwcyrk2qba";
+       version = "0.4.0.0";
+       sha256 = "0ibbsbgd4s3klha35pjpkmp6hkqdvdwb6wwgp0q36h72flmw47rc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         array base containers enummapset-th hashable transformers
+         array base containers enummapset hashable transformers
          unordered-containers
        ];
        testHaskellDepends = [
-         array base containers doctest enummapset-th hashable hspec
-         QuickCheck transformers unordered-containers
+         array base containers doctest enummapset hashable hspec QuickCheck
+         transformers unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "A lexer generator";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-debug" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
-     , enummapset-th, hspec, hspec-discover, QuickCheck, tlex, tlex-core
+     , enummapset, hspec, hspec-discover, QuickCheck, tlex, tlex-core
      , unordered-containers
      }:
      mkDerivation {
        pname = "tlex-debug";
-       version = "0.3.0.0";
-       sha256 = "012554saxmnqfm1rvgjgzn7aakvp1ai95xpavr6b3h1pqy63md6s";
+       version = "0.4.0.0";
+       sha256 = "0ssvhqcgv3gxbzjldx13rg2h31vcbk57nlagvw2rb562kagw9dqb";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base containers enummapset-th tlex tlex-core unordered-containers
+         base containers enummapset tlex tlex-core unordered-containers
        ];
        testHaskellDepends = [
-         base containers doctest enummapset-th hspec QuickCheck tlex
-         tlex-core unordered-containers
+         base containers doctest enummapset hspec QuickCheck tlex tlex-core
+         unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Debug utilities for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-encoding" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, charset, containers
-     , doctest, enummapset-th, hspec, hspec-discover, QuickCheck, tlex
+     , doctest, enummapset, hspec, hspec-discover, QuickCheck, tlex
      , tlex-core
      }:
      mkDerivation {
        pname = "tlex-encoding";
-       version = "0.3.0.0";
-       sha256 = "1ip1zfjfn5jw817i4q8cav98d261jq7h00qaxfsmkcv7kqiqzbac";
+       version = "0.4.0.0";
+       sha256 = "08wqky2ccmhajb8dcc3nxgrbw6q5jikz5cihz7scc8cn6s49drcz";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base charset containers enummapset-th tlex tlex-core
+         base charset containers enummapset tlex tlex-core
        ];
        testHaskellDepends = [
-         base charset containers doctest enummapset-th hspec QuickCheck tlex
+         base charset containers doctest enummapset hspec QuickCheck tlex
          tlex-core
        ];
        testToolDepends = [ hspec-discover ];
        description = "Encoding plugin for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-th" = callPackage
     ({ mkDerivation, array, base, Cabal, cabal-doctest, containers
-     , doctest, enummapset-th, ghc-prim, hspec, hspec-discover
-     , QuickCheck, template-haskell, tlex, tlex-core
+     , doctest, enummapset, ghc-prim, hspec, hspec-discover, QuickCheck
+     , template-haskell, tlex, tlex-core
      }:
      mkDerivation {
        pname = "tlex-th";
-       version = "0.3.0.0";
-       sha256 = "1fhp2md3v2n51irivgdij5zdql1lx8iay9yvsrmj9nhvlfjq2b4g";
+       version = "0.4.1.0";
+       sha256 = "1dy7q0kfk02h9cf31mv30q3r31sl9yqrlmd23vc3f545c0q6hpxs";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         array base containers enummapset-th ghc-prim template-haskell tlex
+         array base containers enummapset ghc-prim template-haskell tlex
          tlex-core
        ];
        testHaskellDepends = [
-         array base containers doctest enummapset-th ghc-prim hspec
-         QuickCheck template-haskell tlex tlex-core
+         array base containers doctest enummapset ghc-prim hspec QuickCheck
+         template-haskell tlex tlex-core
        ];
        testToolDepends = [ hspec-discover ];
        description = "TemplateHaskell plugin for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tls" = callPackage
@@ -298532,7 +300037,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "tls_1_7_1" = callPackage
+  "tls_1_9_0" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
      , cereal, crypton, crypton-x509, crypton-x509-store
      , crypton-x509-validation, data-default-class, gauge, hourglass
@@ -298541,8 +300046,8 @@ self: {
      }:
      mkDerivation {
        pname = "tls";
-       version = "1.7.1";
-       sha256 = "0q277cp2dqp5cs7mmzqavi8sm0km7xbf2zgcqjp17491w7q5a687";
+       version = "1.9.0";
+       sha256 = "0gj3af9sqd0bw7dpcqfyvbslpxsk2ij00a77kl710fwhw35vj1an";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring cereal crypton
          crypton-x509 crypton-x509-store crypton-x509-validation
@@ -299424,6 +300929,8 @@ self: {
        pname = "toml-reader";
        version = "0.2.1.0";
        sha256 = "1nq4f1a1gkm0xv1crq3fwp6xmr79kz6m4ls0nkj75mkcqk0mpd05";
+       revision = "2";
+       editedCabalFile = "13vd6wrm3nvlxnjyzlcqd7bylfznjxl5nv1f2b4yh004ii7vn7fk";
        libraryHaskellDepends = [
          base containers megaparsec parser-combinators text time
        ];
@@ -299504,13 +301011,16 @@ self: {
      }) {};
 
   "tonalude" = callPackage
-    ({ mkDerivation, base, bytestring, doctest, Glob, rio, unliftio }:
+    ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, doctest
+     , rio, unliftio
+     }:
      mkDerivation {
        pname = "tonalude";
-       version = "0.1.1.1";
-       sha256 = "19pl0l0nz3nywhf31190qld7crbzry241h5dw0234w5qyiwf5h0h";
+       version = "0.2.0.0";
+       sha256 = "0ycp1n5g0l1mmsdb9p35vlccv8adn00gm9n5w9vzs7kmfz6zrl26";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [ base bytestring rio unliftio ];
-       testHaskellDepends = [ base bytestring doctest Glob rio unliftio ];
+       testHaskellDepends = [ base bytestring doctest rio unliftio ];
        description = "A standard library for Tonatona framework";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -299518,15 +301028,18 @@ self: {
      }) {};
 
   "tonaparser" = callPackage
-    ({ mkDerivation, base, doctest, envy, Glob, rio, say, tonatona }:
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, envy, rio
+     , say
+     }:
      mkDerivation {
        pname = "tonaparser";
-       version = "0.1.0.1";
-       sha256 = "1hhg8iil1gradmr2nr6rms5y8f1478splfw6q8n8548zgaqlrzig";
+       version = "0.2.0.0";
+       sha256 = "0xxwkmayfpg0ydcmqk2yccaapwx0sw2bsj9h7vgcv4mr75xdndc0";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [ base envy rio say ];
-       testHaskellDepends = [ base doctest envy Glob rio say tonatona ];
+       testHaskellDepends = [ base doctest envy rio say ];
        description = "Scalable way to pass runtime configurations for tonatona";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -299534,13 +301047,16 @@ self: {
      }) {};
 
   "tonatona" = callPackage
-    ({ mkDerivation, base, doctest, Glob, rio, tonaparser }:
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, rio
+     , tonaparser
+     }:
      mkDerivation {
        pname = "tonatona";
-       version = "0.1.2.1";
-       sha256 = "0995j5z87s5bq7ax3byhqrzq794fra5khswf1vj5ppymj6sgq9pf";
+       version = "0.2.0.0";
+       sha256 = "14bsqn7vc0h5wcb4ykfchxi0mm4a1zd1drnyq7w4a5g8hds8h7w8";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [ base rio tonaparser ];
-       testHaskellDepends = [ base doctest Glob rio tonaparser ];
+       testHaskellDepends = [ base doctest rio tonaparser ];
        description = "meta application framework";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -299570,32 +301086,37 @@ self: {
      }) {};
 
   "tonatona-logger" = callPackage
-    ({ mkDerivation, base, doctest, Glob, rio, tonaparser, tonatona }:
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, rio
+     , tonaparser, tonatona
+     }:
      mkDerivation {
        pname = "tonatona-logger";
-       version = "0.2.0.2";
-       sha256 = "047mhgzkk1jkyblbmh41ha56fifgsfccq6jzq3s0y6fx4sgc95nn";
+       version = "0.3.0.0";
+       sha256 = "1hv3lzi60z2vllwcnlinakv89jqn7ygzga490wjgii4njsp1a1mi";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [ base rio tonaparser tonatona ];
-       testHaskellDepends = [ base doctest Glob rio tonaparser tonatona ];
+       testHaskellDepends = [ base doctest rio tonaparser tonatona ];
        description = "tonatona plugin for logging";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tonatona-persistent-postgresql" = callPackage
-    ({ mkDerivation, base, doctest, Glob, monad-logger, persistent
-     , persistent-postgresql, resource-pool, rio, tonaparser, tonatona
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, monad-logger
+     , persistent, persistent-postgresql, resource-pool, rio, tonaparser
+     , tonatona
      }:
      mkDerivation {
        pname = "tonatona-persistent-postgresql";
-       version = "0.1.0.2";
-       sha256 = "1lib6akp6xnq7iqjgyxgd14l9mgswx8y61v0qpdj8q13xxs5m1si";
+       version = "0.2.0.0";
+       sha256 = "0wqnvqlg8v6wmix4nis0ymp3vbzm2cc180xslk8jiqpxmgk48lsm";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [
          base monad-logger persistent persistent-postgresql resource-pool
          rio tonaparser tonatona
        ];
        testHaskellDepends = [
-         base doctest Glob monad-logger persistent persistent-postgresql
+         base doctest monad-logger persistent persistent-postgresql
          resource-pool rio tonaparser tonatona
        ];
        description = "tonatona plugin for accessing PostgreSQL database";
@@ -299604,19 +301125,21 @@ self: {
      }) {};
 
   "tonatona-persistent-sqlite" = callPackage
-    ({ mkDerivation, base, doctest, Glob, monad-logger, persistent
-     , persistent-sqlite, resource-pool, rio, tonaparser, tonatona
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, monad-logger
+     , persistent, persistent-sqlite, resource-pool, rio, tonaparser
+     , tonatona
      }:
      mkDerivation {
        pname = "tonatona-persistent-sqlite";
-       version = "0.1.0.2";
-       sha256 = "185bkhikkhk7m8l96rapcy6nwccw3js7kpnif7dlrniv0ckjdwzg";
+       version = "0.2.0.0";
+       sha256 = "0f807an7vqp057lwkn8jl1dzw018lvsz6rs1w031qv8smz88difk";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [
          base monad-logger persistent persistent-sqlite resource-pool rio
          tonaparser tonatona
        ];
        testHaskellDepends = [
-         base doctest Glob monad-logger persistent persistent-sqlite
+         base doctest monad-logger persistent persistent-sqlite
          resource-pool rio tonaparser tonatona
        ];
        description = "tonatona plugin for accessing Sqlite database";
@@ -299625,22 +301148,24 @@ self: {
      }) {};
 
   "tonatona-servant" = callPackage
-    ({ mkDerivation, base, data-default, doctest, exceptions, Glob
-     , http-types, monad-logger, rio, servant, servant-server
-     , tonaparser, tonatona, tonatona-logger, wai, wai-extra, warp
+    ({ mkDerivation, base, Cabal, cabal-doctest, data-default, doctest
+     , exceptions, http-types, monad-logger, rio, servant
+     , servant-server, tonaparser, tonatona, tonatona-logger, wai
+     , wai-extra, warp
      }:
      mkDerivation {
        pname = "tonatona-servant";
-       version = "0.1.0.4";
-       sha256 = "0zldxq7qygswa0pyxb82p1bbwap6lfr18dw2802ailv5y6gxsjg0";
+       version = "0.2.0.0";
+       sha256 = "156hh3vb5yw1y7w1ss8c76xnp45m2nqg55m8i8ylw5wpj0nyb6g7";
+       setupHaskellDepends = [ base Cabal cabal-doctest rio ];
        libraryHaskellDepends = [
          base data-default exceptions http-types monad-logger rio servant
          servant-server tonaparser tonatona tonatona-logger wai wai-extra
          warp
        ];
        testHaskellDepends = [
-         base data-default doctest exceptions Glob http-types monad-logger
-         rio servant servant-server tonaparser tonatona tonatona-logger wai
+         base data-default doctest exceptions http-types monad-logger rio
+         servant servant-server tonaparser tonatona tonatona-logger wai
          wai-extra warp
        ];
        description = "tonatona plugin for servant";
@@ -299783,6 +301308,8 @@ self: {
        pname = "topaz";
        version = "0.7.0";
        sha256 = "18l900v86m4dil4bvr6wcwqinbzls85fqz5bc5vvqhkx8vgglm7j";
+       revision = "1";
+       editedCabalFile = "0cpcngy2qc7bxxr8m01v0kyq4nx2jvb2p69dfzkjn0m3hcw58fig";
        libraryHaskellDepends = [
          aeson base binary hashable quantification vector
        ];
@@ -299795,8 +301322,8 @@ self: {
     ({ mkDerivation, base, filepath, hspec, profunctors, text }:
      mkDerivation {
        pname = "tophat";
-       version = "1.0.6.0";
-       sha256 = "0ijsd9af3p06q4dk02fckmyqxf9hrvmn98fmlzhykkzi3q22648j";
+       version = "1.0.6.1";
+       sha256 = "1ra0inamzcizadggjvzpan979bf6fkrmfwz9qggd34dl6fa203r1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base profunctors text ];
@@ -302476,8 +304003,8 @@ self: {
        pname = "ttc";
        version = "1.2.1.0";
        sha256 = "001r357h1szs86xsivikvm4h57g6f6p63c2r83y2kpiflnaap4as";
-       revision = "1";
-       editedCabalFile = "16z92hzk88w6gbhykjhhjy1zcvlnclmr94jz7rdqanbmbybqs4pg";
+       revision = "3";
+       editedCabalFile = "01jci5kh9jrj38n91ghfq6z4nb29k6w33hwyccq2cx8j2433kykr";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit template-haskell text
@@ -304769,6 +306296,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "typed-process-effectful" = callPackage
+    ({ mkDerivation, base, bytestring, effectful, effectful-core, tasty
+     , tasty-hunit, typed-process
+     }:
+     mkDerivation {
+       pname = "typed-process-effectful";
+       version = "1.0.0.0";
+       sha256 = "08rp0nycr0yp9zplxjdgslg4z8imvdprv10zwn4085n02y7z2bd9";
+       libraryHaskellDepends = [
+         base bytestring effectful effectful-core typed-process
+       ];
+       testHaskellDepends = [
+         base effectful effectful-core tasty tasty-hunit
+       ];
+       description = "A binding of the @typed-process@ library for the @effectful@ effect system";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "typed-spreadsheet" = callPackage
     ({ mkDerivation, async, base, diagrams-cairo, diagrams-gtk
      , diagrams-lib, foldl, gtk, microlens, stm, text, transformers
@@ -304946,6 +306493,8 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
        description = "Plugin to faciliate type-level let";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typelevel" = callPackage
@@ -305095,8 +306644,6 @@ self: {
        doHaddock = false;
        description = "Efficient implementation of a dependent map with types as keys";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "types-compat" = callPackage
@@ -305313,10 +306860,8 @@ self: {
      }:
      mkDerivation {
        pname = "typst";
-       version = "0.3.1.0";
-       sha256 = "05jal4csacirg67f0lqmcs5z9sgv9wica24mgnj1rsk2j0jc7z3a";
-       revision = "1";
-       editedCabalFile = "16fyvpfcgdp3sqbsfc5p4014c14v0j4hiw5r8idhpcrfnviv1dlb";
+       version = "0.3.2.0";
+       sha256 = "00cg8p2isb40yzfh63qrr7rshv43cp0bpsn753glbxz49qmspy0x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -305336,8 +306881,8 @@ self: {
     ({ mkDerivation, base, text }:
      mkDerivation {
        pname = "typst-symbols";
-       version = "0.1.2";
-       sha256 = "1ax0rd5qqrig1ck5fprdfwk6cqbdi1v05ibd9m33vwygf4gcgrn2";
+       version = "0.1.4";
+       sha256 = "0kpb4fnw7hkj17mgwrlcbc1vs7pxqf73kc2z3yzdmj9hjjfiid6b";
        libraryHaskellDepends = [ base text ];
        description = "Symbol and emoji lookup for typst language";
        license = lib.licenses.mit;
@@ -305995,6 +307540,21 @@ self: {
        mainProgram = "una";
      }) {};
 
+  "unac-bindings" = callPackage
+    ({ mkDerivation, base, hspec, unac }:
+     mkDerivation {
+       pname = "unac-bindings";
+       version = "0.1.0.0";
+       sha256 = "1bd7isqsfs0fmaxmcjmhik4x7lw8sjzpf7gf5072yffs70jmk9n4";
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ unac ];
+       testHaskellDepends = [ base hspec ];
+       description = "Bindings for libunac(3)";
+       license = lib.licenses.unlicense;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {unac = null;};
+
   "unagi-bloomfilter" = callPackage
     ({ mkDerivation, atomic-primops, base, bytestring, hashabler
      , primitive
@@ -306583,8 +308143,8 @@ self: {
      }:
      mkDerivation {
        pname = "unicode-collation";
-       version = "0.1.3.4";
-       sha256 = "0afllqpds1ak3gailsn18r7pjdp1mqycdpwwcfifvmk9nadvx3dh";
+       version = "0.1.3.5";
+       sha256 = "0ya3a3s78hipzw95frw46ky2qv2a141gmwv2qvvgchplsl5f0a82";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -307911,18 +309471,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "unix_2_8_1_1" = callPackage
+  "unix_2_8_2_0" = callPackage
     ({ mkDerivation, base, bytestring, filepath, tasty, tasty-hunit
      , time
      }:
      mkDerivation {
        pname = "unix";
-       version = "2.8.1.1";
-       sha256 = "1133y9wyhxznw9sizcybf0rcrm5pgsx8g4qriicz703w89cpca6c";
+       version = "2.8.2.0";
+       sha256 = "1z2dp2lakl07m2vjcxaljbb4p581b64r6w55lghpm2vsggqvf8fl";
        revision = "1";
-       editedCabalFile = "1nqriil1mrrijyfkhnfxcdsnvmcg7b6p2zpadj1vkqw0kbxl71dc";
+       editedCabalFile = "1ljvvq4fc7nqiyk6zy5svqcds2xnb3lc419q266ivr2345hp59bj";
        libraryHaskellDepends = [ base bytestring filepath time ];
-       testHaskellDepends = [ base tasty tasty-hunit ];
+       testHaskellDepends = [
+         base bytestring filepath tasty tasty-hunit
+       ];
        description = "POSIX functionality";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -308112,6 +309674,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unix-time_0_4_11" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hspec, hspec-discover
+     , old-locale, old-time, QuickCheck, template-haskell, time
+     }:
+     mkDerivation {
+       pname = "unix-time";
+       version = "0.4.11";
+       sha256 = "147hzx3gkqx1j2gr200fjgvl6dr2f9290dcimqyzrwscihbikmxb";
+       libraryHaskellDepends = [ base binary bytestring old-time ];
+       testHaskellDepends = [
+         base bytestring hspec old-locale old-time QuickCheck
+         template-haskell time
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Unix time parser/formatter and utilities";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "unjson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , free, hashable, HUnit, invariant, pretty, primitive, scientific
@@ -308185,8 +309766,8 @@ self: {
     ({ mkDerivation, base, bytestring, text-short }:
      mkDerivation {
        pname = "unlifted";
-       version = "0.1.0.0";
-       sha256 = "1b8ms0im0d9y1lv76ap6255hf3sp7p6hbi0glf3jq5fk601mc6sy";
+       version = "0.2.1.0";
+       sha256 = "1ypm4bwgcylphvj3f1vbc92xljj08dgdlwkwnnb617m0clc92cak";
        libraryHaskellDepends = [ base bytestring text-short ];
        description = "Unlifted and levity-polymorphic types";
        license = lib.licenses.bsd3;
@@ -309392,8 +310973,8 @@ self: {
        pname = "urlencoded";
        version = "0.5.0.0";
        sha256 = "0d1vj7w297cf9sk9x942za00f7ihqzcgbgjdbn7r9g0hz7qyl6nn";
-       revision = "3";
-       editedCabalFile = "05vdcb1ffy1i2xl87w3079ckkj5l7bw1bqj25308pkw8b85amhv6";
+       revision = "4";
+       editedCabalFile = "0i0r2l7dcd9g5wid0bj5pfvybaxcf4xws2ki053javcbcgrbamyj";
        libraryHaskellDepends = [ base mtl network network-uri split ];
        testHaskellDepends = [ base network network-uri QuickCheck ];
        description = "Generate or process x-www-urlencoded data";
@@ -310314,8 +311895,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath, HUnit, text }:
      mkDerivation {
        pname = "uusi";
-       version = "0.4.2.0";
-       sha256 = "0c7zcx594cnfng9sszm70fcfi81n7j54vvk32mvp8j52d7f812cb";
+       version = "0.4.3.0";
+       sha256 = "1ddmwkdwx1bq3j0gacp5i8j6i5f7hqllkxcf3azsazg63lpf8wpw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal text ];
@@ -311037,6 +312618,8 @@ self: {
        pname = "var-monad";
        version = "0.2.0.1";
        sha256 = "1k1v503ww56chlxy9a9vh3w5rh047l3q97si1bi3x1575b1sppm2";
+       revision = "1";
+       editedCabalFile = "1xqc9r3xjks6pg7wsj7nv09aqgkf6jvsy1b8lfp4cvp79w8kp2c3";
        libraryHaskellDepends = [ base stm ];
        description = "The VarMonad typeclass, generalizing types of references";
        license = lib.licenses.asl20;
@@ -313997,32 +315580,29 @@ self: {
 
   "wai-app-static" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
-     , containers, cryptonite, directory, file-embed, filepath, hspec
-     , http-date, http-types, memory, mime-types, mockery, network
-     , old-locale, optparse-applicative, template-haskell, temporary
-     , text, time, transformers, unix-compat, unordered-containers, wai
-     , wai-extra, warp, zlib
+     , containers, crypton, directory, file-embed, filepath, hspec
+     , http-date, http-types, memory, mime-types, mockery, old-locale
+     , optparse-applicative, template-haskell, temporary, text, time
+     , transformers, unix-compat, unordered-containers, wai, wai-extra
+     , warp, zlib
      }:
      mkDerivation {
        pname = "wai-app-static";
-       version = "3.1.7.4";
-       sha256 = "1h8zy3dprqjxvlqxrids65yg5qf1h4f63ddspwxrbp0r9d28hwb4";
+       version = "3.1.8";
+       sha256 = "00ig077z3ipc7vwpwflcn0z3xvgkl2kyqh7whwym69fldc4q2w0s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-html blaze-markup bytestring containers cryptonite
+         base blaze-html blaze-markup bytestring containers crypton
          directory file-embed filepath http-date http-types memory
          mime-types old-locale optparse-applicative template-haskell text
          time transformers unix-compat unordered-containers wai wai-extra
          warp zlib
        ];
-       executableHaskellDepends = [
-         base bytestring containers directory mime-types text
-       ];
+       executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base bytestring filepath hspec http-date http-types mime-types
-         mockery network old-locale temporary text time transformers
-         unix-compat wai wai-extra zlib
+         mockery temporary text transformers unix-compat wai wai-extra zlib
        ];
        description = "WAI application for static serving";
        license = lib.licenses.mit;
@@ -314257,6 +315837,27 @@ self: {
        mainProgram = "example-app";
      }) {};
 
+  "wai-feature-flags_0_1_0_7" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, splitmix, text
+     , unordered-containers, wai, warp
+     }:
+     mkDerivation {
+       pname = "wai-feature-flags";
+       version = "0.1.0.7";
+       sha256 = "0pqi45lf7pzad3d2l10hizsxwpjpj06m0z8di43vblb150z6y3my";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring splitmix text unordered-containers wai
+       ];
+       executableHaskellDepends = [ base wai warp ];
+       description = "Feature flag support for WAI applications";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       mainProgram = "example-app";
+     }) {};
+
   "wai-frontend-monadcgi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, cgi
      , containers, http-types, transformers, wai
@@ -315255,8 +316856,8 @@ self: {
        pname = "wai-middleware-static";
        version = "0.9.2";
        sha256 = "1ynm0xcr3pj5bbph78p1kpyxvd0n3a0gfdbm6yb7i004ixaqf33c";
-       revision = "2";
-       editedCabalFile = "1dvvnfxb5p7d2rsapn826xcyy3pjd8s95sjzna55xg08dwlykr83";
+       revision = "3";
+       editedCabalFile = "055n8krn781qd7mb4lclkfkhw43flkvkg93bpljj1b23wnaaxxf9";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash-sha1
          directory expiring-cache-map filepath http-types mime-types
@@ -315642,25 +317243,55 @@ self: {
        broken = true;
      }) {};
 
+  "wai-saml2_0_5" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, c14n, containers, cryptonite, data-default-class
+     , filepath, http-types, mtl, network-uri, pretty-show, tasty
+     , tasty-golden, text, time, vault, wai, wai-extra, x509, x509-store
+     , xml-conduit, zlib
+     }:
+     mkDerivation {
+       pname = "wai-saml2";
+       version = "0.5";
+       sha256 = "1am7b933ipwphxzsxrbprx8fi2lk2z710sgsk6d66fd2l6axayki";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring c14n containers
+         cryptonite data-default-class http-types mtl network-uri text time
+         vault wai wai-extra x509 x509-store xml-conduit zlib
+       ];
+       testHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring c14n containers
+         cryptonite data-default-class filepath http-types mtl network-uri
+         pretty-show tasty tasty-golden text time vault wai wai-extra x509
+         x509-store xml-conduit zlib
+       ];
+       description = "SAML2 assertion validation as WAI middleware";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wai-secure-cookies" = callPackage
-    ({ mkDerivation, base, bytestring, cryptonite, hspec
+    ({ mkDerivation, base, bytestring, crypton, hspec, hspec-discover
      , hspec-expectations, hspec-wai, http-types, memory, random, split
      , wai, wai-extra
      }:
      mkDerivation {
        pname = "wai-secure-cookies";
-       version = "0.1.0.6";
-       sha256 = "02y2vw3mw3k6il7x6dfcs1fhzzbaslxk374nj4yqwzr6ax4nvrgb";
+       version = "0.1.0.8";
+       sha256 = "04h9vxinzwnfn45knjgs59kvkv3hwysavlh0h3ap95xxajbarsh2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring cryptonite http-types memory random split wai
+         base bytestring crypton http-types memory random split wai
        ];
-       executableHaskellDepends = [ base bytestring cryptonite memory ];
+       executableHaskellDepends = [ base bytestring crypton memory ];
        testHaskellDepends = [
          base bytestring hspec hspec-expectations hspec-wai http-types wai
          wai-extra
        ];
+       testToolDepends = [ hspec-discover ];
+       description = "WAI middleware to automatically encrypt and sign cookies";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "waicookie-genkey";
@@ -315921,6 +317552,8 @@ self: {
        benchmarkHaskellDepends = [ async base criterion ];
        description = "A request rate limiting middleware using token buckets";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wai-transformers" = callPackage
@@ -316170,7 +317803,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "warp_3_3_28" = callPackage
+  "warp_3_3_29" = callPackage
     ({ mkDerivation, array, auto-update, base, bsb-http-chunked
      , bytestring, case-insensitive, containers, crypton-x509, directory
      , gauge, ghc-prim, hashable, hspec, hspec-discover, http-client
@@ -316180,8 +317813,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.28";
-       sha256 = "1apijxvh4yi4qqcw102vgkm5gyavlv1m5lgdk3a58f00qjy7qy2h";
+       version = "3.3.29";
+       sha256 = "0dpp98in5ns85ix5lvxvbfy5wdpdbmy11bgbfzw69ajxdhcjk4q0";
        libraryHaskellDepends = [
          array auto-update base bsb-http-chunked bytestring case-insensitive
          containers crypton-x509 ghc-prim hashable http-date http-types
@@ -316317,15 +317950,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "warp-tls_3_4_1" = callPackage
+  "warp-tls_3_4_2" = callPackage
     ({ mkDerivation, base, bytestring, data-default-class, network
      , recv, streaming-commons, tls, tls-session-manager, unliftio, wai
      , warp
      }:
      mkDerivation {
        pname = "warp-tls";
-       version = "3.4.1";
-       sha256 = "0c4iz2dm12clcs1fqmi5c0qddzv09nqclfgfs6jhqdmygkvrkxs7";
+       version = "3.4.2";
+       sha256 = "0aarqazsfihz8qd2kjkg6b0g2li2k72423n7sb3ff8mdkblh7zri";
        libraryHaskellDepends = [
          base bytestring data-default-class network recv streaming-commons
          tls tls-session-manager unliftio wai warp
@@ -316840,30 +318473,29 @@ self: {
      }) {};
 
   "web-rep" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bifunctors, box
-     , box-socket, clay, interpolatedstring-perl6, language-javascript
-     , lucid, mtl, optics-core, optics-extra, optparse-applicative
-     , profunctors, scotty, text, transformers, unordered-containers
+    ({ mkDerivation, async, base, bifunctors, box, box-socket
+     , bytestring, flatparse, markup-parse, mtl, optics-core
+     , optics-extra, optparse-applicative, profunctors, scotty
+     , string-interpolate, text, transformers, unordered-containers
      , wai-middleware-static, wai-websockets, websockets
      }:
      mkDerivation {
        pname = "web-rep";
-       version = "0.10.2.0";
-       sha256 = "1bph0zgns0kji4bhirffy4px1rddxyw2yiq6wa197pvl4wkpqn6y";
+       version = "0.11.0.0";
+       sha256 = "10ngga8s2xpkpm7lhdpn67rdwg1q9k5fa4fx0hkwv1z8lh7gb43w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async attoparsec base bifunctors box box-socket clay
-         interpolatedstring-perl6 language-javascript lucid mtl optics-core
-         optics-extra profunctors scotty text transformers
-         unordered-containers wai-middleware-static wai-websockets
-         websockets
+         async base bifunctors box box-socket bytestring flatparse
+         markup-parse mtl optics-core optics-extra profunctors scotty
+         string-interpolate text transformers unordered-containers
+         wai-middleware-static wai-websockets websockets
        ];
        executableHaskellDepends = [
-         base box lucid optics-core optparse-applicative text
+         base box markup-parse optics-core optparse-applicative
        ];
        description = "representations of a web page";
-       license = lib.licenses.mit;
+       license = lib.licenses.bsd3;
        mainProgram = "web-rep-example";
      }) {};
 
@@ -318206,29 +319838,29 @@ self: {
      }) {};
 
   "weeder" = callPackage
-    ({ mkDerivation, aeson, algebraic-graphs, base, bytestring
+    ({ mkDerivation, aeson, algebraic-graphs, async, base, bytestring
      , containers, directory, filepath, generic-lens, ghc, hspec, lens
-     , mtl, optparse-applicative, process, regex-tdfa, silently, text
+     , mtl, optparse-applicative, parallel, process, regex-tdfa, text
      , toml-reader, transformers
      }:
      mkDerivation {
        pname = "weeder";
-       version = "2.6.0";
-       sha256 = "1ajn23fvdv93qx0kz3dnby1s06qpkypg5ln2cb15abfic0f5aabd";
+       version = "2.7.0";
+       sha256 = "042c4v7x91xfmams4v4kk8azvi6sh8l03rkkvyvi35jigkz74cbh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         algebraic-graphs base bytestring containers directory filepath
-         generic-lens ghc lens mtl optparse-applicative regex-tdfa text
-         toml-reader transformers
+         algebraic-graphs async base bytestring containers directory
+         filepath generic-lens ghc lens mtl optparse-applicative parallel
+         regex-tdfa text toml-reader transformers
        ];
        executableHaskellDepends = [
          base bytestring containers directory filepath ghc
          optparse-applicative transformers
        ];
        testHaskellDepends = [
-         aeson algebraic-graphs base directory filepath ghc hspec process
-         silently text toml-reader
+         aeson algebraic-graphs base containers directory filepath ghc hspec
+         process text toml-reader
        ];
        description = "Detect dead code";
        license = lib.licenses.bsd3;
@@ -318273,8 +319905,8 @@ self: {
      }:
      mkDerivation {
        pname = "weierstrass-functions";
-       version = "0.1.1.0";
-       sha256 = "06iv19jnpy6za5lbskv1d5xvaic89p2j27nk64zqbsr6syxkc0gx";
+       version = "0.1.3.1";
+       sha256 = "191bs505r33yhzb07vqk9rq16a5cajsh5rkg9h7k2c15v81mdc8s";
        libraryHaskellDepends = [
          base elliptic-integrals gamma jacobi-theta
        ];
@@ -320409,44 +322041,6 @@ self: {
      }:
      mkDerivation {
        pname = "wreq";
-       version = "0.5.4.1";
-       sha256 = "0fn0cgr15i6zakg98mjkd1lik7r27ixxrg5iimfls154kwmxk8qs";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec authenticate-oauth base base16-bytestring
-         bytestring case-insensitive containers cryptonite exceptions
-         ghc-prim hashable http-client http-client-tls http-types lens
-         lens-aeson memory mime-types psqueues template-haskell text time
-         time-locale-compat unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty base base64-bytestring bytestring
-         case-insensitive containers directory doctest filepath hashable
-         http-client http-types HUnit lens lens-aeson network-info
-         QuickCheck snap-core snap-server temporary test-framework
-         test-framework-hunit test-framework-quickcheck2 text time
-         transformers unix-compat unordered-containers uuid vector
-       ];
-       description = "An easy-to-use HTTP client library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wreq_0_5_4_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, attoparsec
-     , authenticate-oauth, base, base16-bytestring, base64-bytestring
-     , bytestring, Cabal, cabal-doctest, case-insensitive, containers
-     , cryptonite, directory, doctest, exceptions, filepath, ghc-prim
-     , hashable, http-client, http-client-tls, http-types, HUnit, lens
-     , lens-aeson, memory, mime-types, network-info, psqueues
-     , QuickCheck, snap-core, snap-server, template-haskell, temporary
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, time, time-locale-compat, transformers, unix-compat
-     , unordered-containers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "wreq";
        version = "0.5.4.2";
        sha256 = "016m5ij80nxnkz3hvdzx3g4w7yjk40bx47xrn54bx1ni9aq2h6wh";
        isLibrary = true;
@@ -320469,7 +322063,6 @@ self: {
        ];
        description = "An easy-to-use HTTP client library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wreq-helper" = callPackage
@@ -321508,8 +323101,8 @@ self: {
      }:
      mkDerivation {
        pname = "xcffib";
-       version = "1.4.0";
-       sha256 = "08066j1rvinkifnak22w78p4lf7war607vfk1qj6j90glr0nzs45";
+       version = "1.5.0";
+       sha256 = "01labx0wjfks71xyvig7iwak3a6ijqxzsgdwjbzq7b2apbw4zasv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -321762,7 +323355,9 @@ self: {
        executableSystemDepends = [ xgboost ];
        description = "XGBoost library for Haskell";
        license = lib.licenses.mit;
-       badPlatforms = [ "aarch64-linux" "armv7l-linux" ];
+       badPlatforms = [
+         "aarch64-linux" "armv7l-linux"
+       ] ++ lib.platforms.darwin;
        mainProgram = "xgb-agaricus";
      }) {inherit (pkgs) xgboost;};
 
@@ -322986,8 +324581,8 @@ self: {
        pname = "xmlhtml";
        version = "0.2.5.4";
        sha256 = "11aldkcd3lcxax42f4080127hqs1k95k84h5griwq27ig8gmbxdc";
-       revision = "2";
-       editedCabalFile = "1mmlm2hipqgcn2x3dw6bc83z5ffnsvi9aaxkw7rjj8c8mvm760qv";
+       revision = "3";
+       editedCabalFile = "0qfnwz5hfgzyw4a24jzgsshaipjm5bvybkz0gwpcw6zpid160p6n";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers parsec text unordered-containers
@@ -323067,8 +324662,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.46";
-       sha256 = "0glpiq7c0qwfcxnc2flgzj7afm5m1a9ghzwwcq7f8q27m21kddrd";
+       version = "0.47.1";
+       sha256 = "1l4vpa35nqljsn4kxg5nhwj2d5ns01zj8iikrxr6f8icdirgx4pz";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -323426,8 +325021,8 @@ self: {
        pname = "xor";
        version = "0.0.1.2";
        sha256 = "0c0a1zg0kwp3jdlgw6y1l6qp00680khxa3sizx5wafdv09rwmrxc";
-       revision = "1";
-       editedCabalFile = "10k9apdrb9dnkhhg3xw1x2ac57ink224l554w4j3yv5w43jybd7r";
+       revision = "2";
+       editedCabalFile = "160vvj5icka4i76b7x2qg3l9gvxib0shgs5zrvj27r587vd81rl5";
        libraryHaskellDepends = [ base bytestring ghc-byteorder ];
        testHaskellDepends = [
          base bytestring ghc-byteorder QuickCheck tasty tasty-hunit
@@ -324621,8 +326216,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.3";
        sha256 = "0a1pq1psmc4490isr19z4prnqq1w3374vkfmzpw9s20s2p6k5y7r";
-       revision = "11";
-       editedCabalFile = "1pwk3g6ipzl94b74vgi34xjvkamm7ivwhs0ah52zg85jp8hr6qkc";
+       revision = "12";
+       editedCabalFile = "0j9n3xd4hxir1x46yrr8vwrbr8yziw5xfjzvn2j57jrx0qs9c0fb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -324924,8 +326519,8 @@ self: {
        pname = "yasi";
        version = "0.2.0.1";
        sha256 = "0j5g5h40qvz2rinka7mrb8nc7dzhnprdfpjmzc4pdlx1w8fzw8xy";
-       revision = "3";
-       editedCabalFile = "10zrj93hwsy7q0w239m3j65fi96cjiabgcl18w922p2abl65a9kb";
+       revision = "4";
+       editedCabalFile = "0hpyi5gypq20127axq2jx2hax6058036san9frm76zmp6c7l3r0f";
        libraryHaskellDepends = [
          base ghc-hs-meta template-haskell text text-display
        ];
@@ -326311,8 +327906,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-form";
-       version = "1.7.4";
-       sha256 = "012w6pq0zznwqn19nx5h30rmd7dazcd0d75a6426d7brxvf9vn98";
+       version = "1.7.6";
+       sha256 = "1bskmz2d1nn192qirldrdfkhbqzjlq5wi7wlj8rcl4pnh5jxvqd8";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html blaze-markup
          byteable bytestring containers data-default email-validate
@@ -329090,6 +330685,7 @@ self: {
        ];
        description = "Polysemy effects for testing";
        license = "BSD-2-Clause-Patent";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zifter" = callPackage
@@ -330147,8 +331743,8 @@ self: {
      }:
      mkDerivation {
        pname = "zxcvbn-hs";
-       version = "0.3.5";
-       sha256 = "1vjdpzki02xdxva8a81qhdlzch79b8d87m52jc8kbxhniaf0fibk";
+       version = "0.3.6";
+       sha256 = "14bpsn5q6dsd7bn0rnhp8rsw6hqixn9ywckzlpg39ghld3yqi73h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/pkgs/development/interpreters/hugs/default.nix b/pkgs/development/interpreters/hugs/default.nix
index ed02b41b7668f..d8ee5726ef330 100644
--- a/pkgs/development/interpreters/hugs/default.nix
+++ b/pkgs/development/interpreters/hugs/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     broken = stdenv.isDarwin;
+    mainProgram = "hugs";
     homepage = "https://www.haskell.org/hugs";
     description = "Haskell interpreter";
     maintainers = with maintainers; [ joachifm ];
diff --git a/pkgs/development/interpreters/lambda-lisp/default.nix b/pkgs/development/interpreters/lambda-lisp/default.nix
new file mode 100644
index 0000000000000..f2979e7aa6795
--- /dev/null
+++ b/pkgs/development/interpreters/lambda-lisp/default.nix
@@ -0,0 +1,82 @@
+# Lambda Lisp has several backends, here we are using
+# the blc one. Ideally, this should be made into several
+# packages such as lambda-lisp-blc, lambda-lisp-lazyk,
+# lambda-lisp-clamb, etc.
+
+{ lib
+, gccStdenv
+, fetchFromGitHub
+, fetchurl
+, runtimeShell
+}:
+
+let
+  stdenv = gccStdenv;
+  s = import ./sources.nix { inherit fetchurl fetchFromGitHub; };
+in
+stdenv.mkDerivation rec {
+  pname = "lambda-lisp-blc";
+  version = s.lambdaLispVersion;
+  src = s.src;
+  flatSrc = s.flatSrc;
+  blcSrc = s.blcSrc;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p ./build
+    cp $blcSrc ./build/Blc.S
+    cp $flatSrc ./build/flat.lds
+    cd build;
+    cat Blc.S | sed -e 's/#define.*TERMS.*//' > Blc.ext.S;
+    $CC -c -DTERMS=50000000 -o Blc.o Blc.ext.S
+    ld.bfd -o Blc Blc.o -T flat.lds
+    cd ..;
+    mv build/Blc ./bin
+    install -D -t $out/bin bin/Blc
+    install -D -t $out/lib bin/lambdalisp.blc
+
+    cd build;
+    $CC ../tools/asc2bin.c -O2 -o asc2bin;
+    cd ..;
+    mv build/asc2bin ./bin;
+    chmod 755 ./bin/asc2bin;
+    install -D -t $out/bin bin/asc2bin
+
+    echo -e "#!${runtimeShell}\n( cat $out/lib/lambdalisp.blc | $out/bin/asc2bin; cat ) | $out/bin/Blc" > lambda-lisp-blc
+    chmod +x lambda-lisp-blc
+
+    install -D -t $out/bin lambda-lisp-blc
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+  runHook preInstallCheck
+
+  a=$(echo "(* (+ 1 2 3 4 5 6 7 8 9 10) 12020569 (- 2 5))" | $out/bin/lambda-lisp-blc | tr -d "> ");
+  test $a == -1983393885
+
+  runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "A Lisp interpreter written in untyped lambda calculus";
+    homepage = "https://github.com/woodrush/lambdalisp";
+    longDescription = ''
+      LambdaLisp is a Lisp interpreter written as a closed untyped lambda calculus term.
+      It is written as a lambda calculus term LambdaLisp = λx. ... which takes a string
+      x as an input and returns a string as an output. The input x is the Lisp program
+      and the user's standard input, and the output is the standard output. Characters
+      are encoded into lambda term representations of natural numbers using the Church
+      encoding, and strings are encoded as a list of characters with lists expressed as
+      lambdas in the Mogensen-Scott encoding, so the entire computation process solely
+      consists of the beta-reduction of lambda terms, without introducing any
+      non-lambda-type object.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ cafkafk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/interpreters/lambda-lisp/sources.nix b/pkgs/development/interpreters/lambda-lisp/sources.nix
new file mode 100644
index 0000000000000..8dbda01b4e27c
--- /dev/null
+++ b/pkgs/development/interpreters/lambda-lisp/sources.nix
@@ -0,0 +1,50 @@
+let
+  lambdaLispVersion = "2022-08-18";
+  blcVersion = "2";
+  # Archive of "https://justine.lol/lambda/";
+  justineLolArchive = "https://web.archive.org/web/20230614065521if_/https://justine.lol/lambda/";
+in
+{ fetchFromGitHub, fetchurl }: {
+  inherit blcVersion;
+  inherit lambdaLispVersion;
+
+  src = fetchFromGitHub {
+    owner = "woodrush";
+    repo = "lambdalisp";
+    rev = "2119cffed1ab2005f08ab3cfca92028270f08725";
+    hash = "sha256-ml2xQ8s8sux+6GwTw8mID3PEOcH6hn8tyc/UI5tFaO0=";
+  };
+
+  uniCSrc = fetchFromGitHub {
+    owner = "tromp";
+    repo = "tromp.github.io";
+    rev = "b4de12e566c1fb0fa3f3babe89bac885f4c966a4";
+    hash = "sha256-JmbqQp2kkkkkkkkSWQmG3uBxdgyIu4r2Ch8bBGyQ4H4=";
+  };
+
+  # needed later
+  clambSrc = fetchFromGitHub {
+    owner = "irori";
+    repo = "clamb";
+    rev = "44c1208697f394e22857195be5ea73bfdd48ebd1";
+    hash = "sha256-1lGg2NBoxAKDCSnnPn19r/hwBC5paAKUnlcsUv3dpNY=";
+  };
+
+  # needed later
+  lazykSrc = fetchFromGitHub {
+    owner = "irori";
+    repo = "lazyk";
+    rev = "5edb0b834d0af5f7413c484eb3795d47ec2e3894";
+    hash = "sha256-1lGg2NBoxAKDCSnnPn19r/hwBC5paAKUnlcsUv3dpNY=";
+  };
+
+  blcSrc = fetchurl {
+    url = "${justineLolArchive}Blc.S?v=${blcVersion}";
+    hash = "sha256-qt7vDtn9WvDoBaLESCyyscA0u74914e8ZKhLiUAN52A=";
+  };
+
+  flatSrc = fetchurl {
+    url = "${justineLolArchive}flat.lds";
+    hash = "sha256-HxX+10rV86zPv+UtF+n72obtz3DosWLMIab+uskxIjA=";
+  };
+}
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index 153f56d8633d1..93aece0389803 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.596";
+  version = "0.598";
 
   src = fetchFromGitHub {
     owner = "Roblox";
     repo = "luau";
     rev = version;
-    hash = "sha256-25SMgBW5Uqh0dGM8A9qCTcUPPP7wzH8wCGk4w+0wp/c=";
+    hash = "sha256-B3ggPrhvq1kYmclmuomi6PhXIwN8GKBzbKRLIjH0pac=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/micropython/default.nix b/pkgs/development/interpreters/micropython/default.nix
index a78b346be94b2..e97afb643c11d 100644
--- a/pkgs/development/interpreters/micropython/default.nix
+++ b/pkgs/development/interpreters/micropython/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "micropython";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "micropython";
     repo = "micropython";
     rev = "v${version}";
-    sha256 = "sha256-XTkw0M2an13xlRlDusyHYqwNeHqhq4mryRC5/pk+5Ko=";
+    sha256 = "sha256-nUQSj2grq4fNyqOZyYZfYvLwoEXI4PZCYdVXvxLGmPk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 6778dc460e058..4e60b15ba4cbf 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -195,25 +195,22 @@ let
         if parsed.cpu.significantByte.name == "littleEndian" then "arm" else "armeb"
       else if isx86_32 then "i386"
       else parsed.cpu.name;
-    # Python doesn't distinguish musl and glibc and always prefixes with "gnu"
-    gnuAbiName = replaceStrings [ "musl" ] [ "gnu" ] parsed.abi.name;
-    pythonAbiName =
-      # python's build doesn't support every gnu<extension>, and doesn't
-      # differentiate between musl and glibc, so we list those supported in
-      # here:
+
+    pythonAbiName = let
+      # python's build doesn't match the nixpkgs abi in some cases.
       # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L724
-      # Note: this is an approximation, as it doesn't take into account the CPU
-      # family, or the nixpkgs abi naming conventions.
-      if elem gnuAbiName [
-        "gnux32"
-        "gnueabihf"
-        "gnueabi"
-        "gnuabin32"
-        "gnuabi64"
-        "gnuspe"
-      ]
-      then gnuAbiName
-      else "gnu";
+      nixpkgsPythonAbiMappings = {
+        "gnuabielfv2" = "gnu";
+        "muslabielfv2" = "musl";
+      };
+      pythonAbi = nixpkgsPythonAbiMappings.${parsed.abi.name} or parsed.abi.name;
+    in
+      # Python <3.11 doesn't distinguish musl and glibc and always prefixes with "gnu"
+      if lib.versionOlder version "3.11" then
+        replaceStrings [ "musl" ] [ "gnu" ] pythonAbi
+      else
+        pythonAbi;
+
     multiarch =
       if isDarwin then "darwin"
       else if isWindows then ""
diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix
index ee9dcd66bc59d..22b26c5345f03 100644
--- a/pkgs/development/interpreters/wasmer/default.nix
+++ b/pkgs/development/interpreters/wasmer/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmer";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "wasmerio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7E/of0WP28VM7ceDCBsSCb6ot3FEYUZkHVk0H/LcbGk=";
+    hash = "sha256-GROw9TYKC53ECJUeYhCez8f2jImPla/lGgsP91tTGjQ=";
   };
 
-  cargoHash = "sha256-1YlwYgnZzkYjY2yQlSZTs3JrUnIeZgpCDZBevqlj4WM=";
+  cargoHash = "sha256-JE7FDF4MWhqJbL7ZP+yzfV7/Z79x0NuQLYNwWwMjAao=";
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
diff --git a/pkgs/development/libraries/SDL_compat/default.nix b/pkgs/development/libraries/SDL_compat/default.nix
index 919963bb0c9a4..3f3521de60a1f 100644
--- a/pkgs/development/libraries/SDL_compat/default.nix
+++ b/pkgs/development/libraries/SDL_compat/default.nix
@@ -19,13 +19,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "SDL_compat";
-  version = "1.2.64";
+  version = "1.2.68";
 
   src = fetchFromGitHub {
     owner = "libsdl-org";
     repo = "sdl12-compat";
     rev = "release-" + version;
-    hash = "sha256-Ctl7RElRWaB4IpBZD5Sm0rYOcv5zaIag78VTKoFlbVs=";
+    hash = "sha256-f2dl3L7/qoYNl4sjik1npcW/W09zsEumiV9jHuKnUmM=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ]
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index bbccb9d66a20a..eacf704aa688a 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -25,13 +25,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2023.Q3.2";
+  version = "2023.Q3.3";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "/1D2BbT1gnMLvIHfpkxLkeo1pjbG9LkTx9Zl5+gGU/M=";
+    sha256 = "HHnMiU6mzhUSicXev53PP8y9ealtDMavJLp2F/JAWhI=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index d5ee431e2baee..3359206b22be0 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "12.6.0";
+  version = "12.6.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    hash = "sha256-tBAqOEeRrxbZ5fuzBvEf41ar+8oKfXynq7yaipRmECo=";
+    hash = "sha256-638kP/wy8YMkvH+peNA1hjfnNXyng2vsVbTrVul0k4A=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/backward-cpp/default.nix b/pkgs/development/libraries/backward-cpp/default.nix
index 125e3799f572b..15556a4108c67 100644
--- a/pkgs/development/libraries/backward-cpp/default.nix
+++ b/pkgs/development/libraries/backward-cpp/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/bombela/backward-cpp";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 809980c0b510c..05e80893ebb0e 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.mit;
     platforms   = platforms.all;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/cdk/default.nix b/pkgs/development/libraries/cdk/default.nix
deleted file mode 100644
index 27b7b9b9c8c38..0000000000000
--- a/pkgs/development/libraries/cdk/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "cdk";
-  version = "5.0-20221025";
-
-  src = fetchurl {
-    urls = [
-      "ftp://ftp.invisible-island.net/cdk/cdk-${version}.tgz"
-      "https://invisible-mirror.net/archives/cdk/cdk-${version}.tgz"
-    ];
-    hash = "sha256-A8z6Icn8PWHd0P2hnaVFNZBVu+71ociC37n/SPN0avI=";
-  };
-
-  buildInputs = [
-    ncurses
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    description = "Curses development kit";
-    homepage = "https://invisible-island.net/cdk/";
-    changelog = "https://invisible-island.net/cdk/CHANGES";
-    license = licenses.mit;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix
index a8d228addc222..1bf86800df893 100644
--- a/pkgs/development/libraries/dqlite/default.nix
+++ b/pkgs/development/libraries/dqlite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dqlite";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GmteQy+nYQFspLvdw44TjuQQeTRQ24OtDeAA+TQJKiU=";
+    hash = "sha256-8MPAyCqqjDpDHSyiZ1cvvgflaOLNzPGswZSsSjSffvw=";
   };
 
   nativeBuildInputs = [ autoreconfHook file pkg-config ];
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index 690eba91e5724..8d25e36ad7342 100644
--- a/pkgs/development/libraries/enchant/2.x.nix
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.6.0";
+  version = "2.6.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-M1fqk6F0T/vNcwIjzINmE11A/1mIGuBZHVHT7o/5rm8=";
+    hash = "sha256-8k4SRpE3rh0DFAu5AypHpZR8NvTR4vErkpBhAF6xUnk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 0c4c339c63901..bf36c5a9bca0f 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,30 +1,33 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
-, zlib
-, expat
 , cmake
-, which
-, libxml2
-, python3
-, gettext
 , doxygen
+, gettext
 , graphviz
 , libxslt
-, libiconv
 , removeReferencesTo
+, libiconv
+, brotli
+, expat
+, inih
+, zlib
+, libxml2
+, python3
+, which
 }:
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.7";
+  version = "0.28.0";
 
-  outputs = [ "out" "lib" "dev" "doc" "man" "static" ];
+  outputs = [ "out" "lib" "dev" "doc" "man" ];
 
   src = fetchFromGitHub {
     owner = "exiv2";
-    repo  = "exiv2";
+    repo = "exiv2";
     rev = "v${version}";
-    sha256 = "sha256-xytVGrLDS22n2/yydFTT6CsDESmhO9mFbPGX4yk+b6g=";
+    hash = "sha256-nEoLJWxSJmAonCbW/iZKjLrKMj09mwEaSUXUcUu8GxU=";
   };
 
   nativeBuildInputs = [
@@ -36,10 +39,14 @@ stdenv.mkDerivation rec {
     removeReferencesTo
   ];
 
-  buildInputs = lib.optional stdenv.isDarwin libiconv;
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+  ];
 
   propagatedBuildInputs = [
+    brotli
     expat
+    inih
     zlib
   ];
 
@@ -60,68 +67,34 @@ stdenv.mkDerivation rec {
     "doc"
   ];
 
-  doCheck = true;
+  # https://github.com/Exiv2/exiv2/issues/2762
+  doCheck = lib.versionOlder brotli.version "1.1.0";
 
   preCheck = ''
     patchShebangs ../test/
     mkdir ../test/tmp
-
-    ${lib.optionalString stdenv.hostPlatform.isAarch ''
-      # Fix tests on arm
-      # https://github.com/Exiv2/exiv2/issues/933
-      rm -f ../tests/bugfixes/github/test_CVE_2018_12265.py
-    ''}
-
-    ${lib.optionalString stdenv.isDarwin ''
-      export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/lib
-      # Removing tests depending on charset conversion
-      substituteInPlace ../test/Makefile --replace "conversions.sh" ""
-      rm -f ../tests/bugfixes/redmine/test_issue_460.py
-      rm -f ../tests/bugfixes/redmine/test_issue_662.py
-      rm -f ../tests/bugfixes/github/test_issue_1046.py
-
-      rm ../tests/bugfixes/redmine/test_issue_683.py
-
-      # disable tests that requires loopback networking
-      substituteInPlace  ../tests/bash_tests/testcases.py \
-        --replace "def io_test(self):" "def io_disabled(self):"
-     ''}
-  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+  '' + lib.optionalString stdenv.hostPlatform.isAarch32 ''
+    # Fix tests on arm
+    # https://github.com/Exiv2/exiv2/issues/933
+    rm -f ../tests/bugfixes/github/test_CVE_2018_12265.py
+  '' + lib.optionalString stdenv.isDarwin ''
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}$PWD/lib
     export LC_ALL=C
-  '' + lib.optionalString stdenv.isAarch32 ''
-    # these tests are fixed in 0.28, remove when updating to 0.28
-    rm -f ../tests/bugfixes/github/test_issue_1503.py
-    rm -f ../tests/bugfixes/github/test_pr1475_AVIF.py
-    rm -f ../tests/bugfixes/github/test_pr1475_HEIC.py
-    rm -f ../tests/bugfixes/github/test_pr1475_HIF.py
-  '';
 
-  # With CMake we have to enable samples or there won't be
-  # a tests target. This removes them.
-  postInstall = ''
-    ( cd "$out/bin"
-      mv exiv2 .exiv2
-      rm *
-      mv .exiv2 exiv2
-    )
-
-    mkdir -p $static/lib
-    mv $lib/lib/*.a $static/lib/
-
-    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 $static/lib/*.a
+    # disable tests that requires loopback networking
+    substituteInPlace  ../tests/bash_tests/testcases.py \
+      --replace "def io_test(self):" "def io_disabled(self):"
   '';
 
-  postFixup = ''
-    substituteInPlace "$dev"/lib/cmake/exiv2/exiv2Config.cmake --replace \
-      "set(_IMPORT_PREFIX \"$out\")" \
-      "set(_IMPORT_PREFIX \"$static\")"
-    substituteInPlace "$dev"/lib/cmake/exiv2/exiv2Config-*.cmake --replace \
-      "$lib/lib/libexiv2-xmp.a" \
-      "$static/lib/libexiv2-xmp.a"
+  preFixup = ''
+    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 $static/lib/*.a
   '';
 
   disallowedReferences = [ stdenv.cc.cc ];
 
+  # causes redefinition of _FORTIFY_SOURCE
+  hardeningDisable = [ "fortify3" ];
+
   meta = with lib; {
     homepage = "https://exiv2.org";
     description = "A library and command-line utility to manage image metadata";
diff --git a/pkgs/development/libraries/fbjni/default.nix b/pkgs/development/libraries/fbjni/default.nix
new file mode 100644
index 0000000000000..1a5228f4d860e
--- /dev/null
+++ b/pkgs/development/libraries/fbjni/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, fetchpatch
+, jdk_headless
+, gtest
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fbjni";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "facebookincubator";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-97KqfFWtR3VJe2s0D60L3dsIDm4kMa0hpkKoZSAEoVY=";
+  };
+
+  patches = [
+    # Part of https://github.com/facebookincubator/fbjni/pull/76
+    # fix cmake file installation directory
+    (fetchpatch {
+      url = "https://github.com/facebookincubator/fbjni/commit/ab02e60b5da28647bfcc864b0bb1b9a90504cdb1.patch";
+      sha256 = "sha256-/h6kosulRH/ZAU2u0zRSaNDK39jsnFt9TaSxyBllZqM=";
+    })
+    # install headers
+    (fetchpatch {
+      url = "https://github.com/facebookincubator/fbjni/commit/74e125caa9a815244f1e6bd08eaba57d015378b4.patch";
+      sha256 = "sha256-hQS35D69GD3ewV4zzPG+LO7jk7ncCj2CYDbLJ6SnpqE=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    jdk_headless
+  ];
+
+  buildInputs = [
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DJAVA_HOME=${jdk_headless.passthru.home}"
+  ];
+
+  meta = with lib; {
+    description = "A library designed to simplify the usage of the Java Native Interface";
+    homepage = "https://github.com/facebookincubator/fbjni";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/libraries/frugally-deep/default.nix b/pkgs/development/libraries/frugally-deep/default.nix
new file mode 100644
index 0000000000000..f275ec5f02bac
--- /dev/null
+++ b/pkgs/development/libraries/frugally-deep/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, gitUpdater
+, cmake
+, functionalplus
+, eigen
+, nlohmann_json
+, doctest
+, python3Packages
+, buildTests ? false # Needs tensorflow
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "frugally-deep";
+  version = "0.15.24-p0";
+
+  src = fetchFromGitHub {
+    owner = "Dobiasd";
+    repo = "frugally-deep";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-yg2SMsYOOSOgsdwIH1bU3iPM45z6c7WeIrgOddt3um4=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals buildTests [
+    python3Packages.python
+    python3Packages.numpy
+  ];
+
+  buildInputs = lib.optionals buildTests [
+    doctest
+    python3Packages.tensorflow
+  ];
+
+  propagatedBuildInputs = [
+    functionalplus
+    eigen
+    nlohmann_json
+  ];
+
+  cmakeFlags = lib.optionals buildTests [ "-DFDEEP_BUILD_UNITTEST=ON" ];
+  passthru.updateScript = gitUpdater;
+
+  meta = with lib; {
+    description = "Header-only library for using Keras (TensorFlow) models in C++";
+    homepage = "https://github.com/Dobiasd/frugally-deep";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ Madouura ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 1e2eddf275195..85ec3352f7057 100644
--- a/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "graphene-hardened-malloc";
-  version = "11";
+  version = "12";
 
   src = fetchFromGitHub {
     owner = "GrapheneOS";
     repo = "hardened_malloc";
     rev = finalAttrs.version;
-    sha256 = "sha256-BbjL0W12QXFmGCzFrFYY6CZZeFbUt0elCGhM+mbL/IU=";
+    sha256 = "sha256-ujwzr4njNsf/VTyEq7zKHWxoivU3feavSTx+MLIj1ZM=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/hax11/default.nix b/pkgs/development/libraries/hax11/default.nix
index 20533ff91315f..608411ec71f10 100644
--- a/pkgs/development/libraries/hax11/default.nix
+++ b/pkgs/development/libraries/hax11/default.nix
@@ -9,13 +9,13 @@
 
 multiStdenv.mkDerivation (finalAttrs: {
   pname = "hax11";
-  version = "unstable-2022-12-10";
+  version = "unstable-2023-09-25";
 
   src = fetchFromGitHub {
     owner = "CyberShadow";
     repo = "hax11";
-    rev = "dce456f2b209f1be18d91064be257b66b69b7d9f";
-    hash = "sha256-e3jYvbglQ5Nzoz/B+WEkCw48Tu+i73t+PNq51mjzmjY=";
+    rev = "2ea9d469785bbe0338729c4deeb902a259fd7b10";
+    hash = "sha256-bYuIngZ76m5IgbbTFTZ8LJmpHl4nHS272Ci1B9eJIws=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/development/libraries/hpp-fcl/default.nix b/pkgs/development/libraries/hpp-fcl/default.nix
index 421782fc8d3d8..7bf7132068676 100644
--- a/pkgs/development/libraries/hpp-fcl/default.nix
+++ b/pkgs/development/libraries/hpp-fcl/default.nix
@@ -14,14 +14,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hpp-fcl";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "humanoid-path-planner";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-jVIYP0yA1oSsUMN4vtrkfawj9Q2MwNjSrwDBTvGErg8=";
+    hash = "sha256-Y6ATYXsV8hH22XiXyvacuUhHTuNCzObPlxNX2vZGghM=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/httplib/default.nix b/pkgs/development/libraries/httplib/default.nix
index df3c295d4d9a1..a887ea55330f8 100644
--- a/pkgs/development/libraries/httplib/default.nix
+++ b/pkgs/development/libraries/httplib/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "httplib";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "yhirose";
     repo = "cpp-httplib";
     rev = "v${version}";
-    hash = "sha256-NtjgK/8XApEs4iSo9DzyK4Cc/FQJRAEwCwJbD24FP34=";
+    hash = "sha256-JBs2FvcdAvxysYhzakP0wU/mUCWfKZ8dk5ROWL5sej0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/inih/default.nix b/pkgs/development/libraries/inih/default.nix
index cc4a4648723bc..61bca95d9b2e7 100644
--- a/pkgs/development/libraries/inih/default.nix
+++ b/pkgs/development/libraries/inih/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inih";
-  version = "56";
+  version = "57";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = pname;
     rev = "r${version}";
-    sha256 = "sha256-7k3i3pElihastUDrdf9DyRZMe2UNFckfLUFGb4rbWLo=";
+    hash = "sha256-a4nvhJSmZGqu2sdZSPNPjdnkzZ9dSKocL/XG2aDyFw4=";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index e0913a16a1f97..03e233c28799c 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -26,6 +26,7 @@ mkDerivation {
     kded
   ];
   outputs = [ "out" "dev" ];
+  separateDebugInfo = true;
   patches = [
     ./0001-Remove-impure-smbd-search-path.patch
 
@@ -35,4 +36,7 @@ mkDerivation {
       hash = "sha256-4NxI2mD/TdthvrzgatCAlM6VN3N38i3IJUHh0Bs8Fjk=";
     })
  ];
+  meta = {
+    homepage = "https://api.kde.org/frameworks/kio/html/";
+  };
 }
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index cee48d5e9eff6..e7bbd2b131d53 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/kupferlauncher/keybinder/";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libaec/default.nix b/pkgs/development/libraries/libaec/default.nix
index 58d7150a23464..e9e5c19f777cb 100644
--- a/pkgs/development/libraries/libaec/default.nix
+++ b/pkgs/development/libraries/libaec/default.nix
@@ -4,20 +4,22 @@
 
 stdenv.mkDerivation rec {
   pname = "libaec";
-  version  = "1.0.6";
+  version  = "1.1.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.dkrz.de";
     owner = "k202009";
     repo = "libaec";
     rev = "v${version}";
-    sha256 = "sha256-N0YwJuVqv8jv/uSbpn/eJBTMhlHDcY/74+anH2vNvpI=";
+    sha256 = "sha256-5nsJrbJVqjXNb3exYgEvSGUq8ccy9HG+gwmBZvjnupc=";
   };
 
   nativeBuildInputs = [
     cmake
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     homepage = "https://gitlab.dkrz.de/k202009/libaec";
     description = "Adaptive Entropy Coding library";
diff --git a/pkgs/development/libraries/libayatana-common/default.nix b/pkgs/development/libraries/libayatana-common/default.nix
index aa818a04abea1..98cf028a55e1a 100644
--- a/pkgs/development/libraries/libayatana-common/default.nix
+++ b/pkgs/development/libraries/libayatana-common/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libayatana-common";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchFromGitHub {
     owner = "AyatanaIndicators";
     repo = "libayatana-common";
     rev = finalAttrs.version;
-    hash = "sha256-5cHFjBQ3NgNaoprPrFytnrwBRL7gDG7QZLWomgGBJMg=";
+    hash = "sha256-IBLJPgi+dKZKbR0Yjr2aNjCdpY+PE1k9QLSsk++6Wqo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index b648e06ad904c..5daca729bc738 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -66,16 +66,16 @@ let
       projectArch = "x86_64";
     };
   };
-  platforms."aarch64-linux".sha256 = "0c034h0hcsff4qmibizjn2ik5pq1jb4p6f0a4k6nrkank9m0x7ap";
-  platforms."x86_64-linux".sha256 = "02pj4dgfswpaglxkmbd9970znixlv82wna4xxhwjh7i5ps24a0n6";
+  platforms."aarch64-linux".sha256 = "12sp58nxa3nv800badv62vpvc30hyb0ykywdaxgv9y8pswp9lq0z";
+  platforms."x86_64-linux".sha256 = "0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j";
 
   platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "117.1.5";
-  gitRevision = "f1b94ea";
-  chromiumVersion = "117.0.5938.132";
+  version = "117.2.4";
+  gitRevision = "5053a95";
+  chromiumVersion = "117.0.5938.150";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index 0b03ec6ee0b2e..cdae594d9b682 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, bison, flex }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, bison, flex }:
 
 stdenv.mkDerivation rec {
   pname = "libcue";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2023-43641.patch";
+      url = "https://github.com/lipnitsk/libcue/commit/fdf72c8bded8d24cfa0608b8e97f2eed210a920e.patch";
+      hash = "sha256-NjnSMUfman/SwLFWDIhtz2jCOLfpXGGGjO3QwRGURNg=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake bison flex ];
 
   doCheck = false; # fails all the tests (ctest)
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
index 0633392a4f0c6..1f7f52c70ab56 100644
--- a/pkgs/development/libraries/libetpan/default.nix
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -10,22 +10,53 @@ stdenv.mkDerivation rec {
     owner = "dinhviethoa";
     repo = "libetpan";
     rev = version;
-    sha256 = "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn";
+    hash = "sha256-lukeWURNsRPTuFk2q2XVnwkKz5Y+PRiPba5GPQCw6jw=";
   };
 
   outputs = [ "out" "dev" ];
 
   patches = [
-    # The following two patches are fixing CVE-2020-15953, as reported in the
-    # issue tracker: https://github.com/dinhvh/libetpan/issues/386
-    # They might be removed for the next version bump.
+    # The following patches are security and/or reliability fixes.
+    # They all must be removed for the next version bump.
+
+    # Fix potential null pointer deference
+    # https://github.com/dinhvh/libetpan/pull/348
+    (fetchpatch {
+      name = "pr-348-null-pointer-deference.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/720e92e5752e562723a9730f8e604cb78f3a9163.patch";
+      hash = "sha256-/bA/ekeMhLE3OyREHIanlrb+uuSxwur+ZloeaX9AyyM=";
+    })
+
+    # Fix potential null pointer deference
+    # https://github.com/dinhvh/libetpan/pull/361
+    (fetchpatch {
+      name = "pr-361-null-pointer-deference.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/0cdefb017fcfd0fae56a151dc14c8439a38ecc44.patch";
+      hash = "sha256-qbWisOCPI91AIXzg3n7mceSVbBKHZXd8Z0z1u/SrIG8=";
+    })
+
+    # Fix potential null pointer deference
+    # https://github.com/dinhvh/libetpan/pull/363
+    (fetchpatch {
+      name = "pr-363-null-pointer-deference.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/68bde8b12b40a680c29d228f0b8fe4dfbf2d8d0b.patch";
+      hash = "sha256-dUbnh2RoeELk/usHeFsdGC+J198jcudx3rb6/3sUAX0=";
+    })
+
+    # Missing boundary fix
+    # https://github.com/dinhvh/libetpan/pull/384
+    (fetchpatch {
+      name = "pr-384-missing-boundary-fix.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/24c485495216c00076b29391591f46b61fcb3dac.patch";
+      hash = "sha256-6ry8EfiYgbMtQYtT7L662I1A7N7N6OOy9T2ECgR7+cI=";
+    })
 
     # CVE-2020-15953: Detect extra data after STARTTLS response and exit
     # https://github.com/dinhvh/libetpan/pull/387
     (fetchpatch {
       name = "cve-2020-15953-imap.patch";
       url = "https://github.com/dinhvh/libetpan/commit/1002a0121a8f5a9aee25357769807f2c519fa50b.patch";
-      sha256 = "1h9ds2z4jii40a0i3z6hsnzx1ldmd2jqidsxp2y2ksyp1ijcgabn";
+      hash = "sha256-dqnHZAzX6ym8uF23iKVotdHQv9XQ/BGBAiRGSb7QLcE=";
     })
 
     # CVE-2020-15953: Detect extra data after STARTTLS responses in SMTP and POP3 and exit
@@ -33,7 +64,23 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "cve-2020-15953-pop3-smtp.patch";
       url = "https://github.com/dinhvh/libetpan/commit/298460a2adaabd2f28f417a0f106cb3b68d27df9.patch";
-      sha256 = "0lq829djar7nb3fai3vdzirmks3w2lfagzqc809lx2lln6y213a0";
+      hash = "sha256-QI0gvLGUik4TQAz/pxwVfOhZc/xtj6jcWPZkJVsSCFM=";
+    })
+
+    # Fix buffer overwrite for empty string in remove_trailing_eol
+    # https://github.com/dinhvh/libetpan/pull/408
+    (fetchpatch {
+      name = "pr-408-fix-buffer-overwrite.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/078b924c7f49ac435b10b0f53a73f1bbc4717064.patch";
+      hash = "sha256-lBRS+bv/7IK7yat2p3mc0SRYn/wRB/spjE7ungj6DT0=";
+    })
+
+    # CVE-2022-4121: Fixed crash when st_info_list is NULL.
+    # https://github.com/dinhvh/libetpan/issues/420
+    (fetchpatch {
+      name = "cve-2022-4121.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/5c9eb6b6ba64c4eb927d7a902317410181aacbba.patch";
+      hash = "sha256-O+LUkI91oej7MFg4Pg6/xq1uhSanweH81VzPXBdiPh4=";
     })
   ];
 
@@ -45,9 +92,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Mail Framework for the C Language";
-    homepage = "http://www.etpan.org/libetpan.html";
+    homepage = "https://www.etpan.org/libetpan.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ oxzi ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/liblinphone/backport-cpp17.patch b/pkgs/development/libraries/liblinphone/backport-cpp17.patch
new file mode 100644
index 0000000000000..d9eb75fa2768c
--- /dev/null
+++ b/pkgs/development/libraries/liblinphone/backport-cpp17.patch
@@ -0,0 +1,98 @@
+From 9ece6e77dcf6545c3b8104068302c6243e3a5e88 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micka=C3=ABl=20Turnel?=
+ <mickael.turnel@belledonne-communications.com>
+Date: Wed, 1 Mar 2023 09:14:53 +0100
+Subject: [PATCH] Set c++ version 17 and fix compilation errors
+
+Backported-by: Lorenz Brun <lorenz@brun.one>
+
+---
+ CMakeLists.txt                           |  2 +-
+ daemon/daemon.cc                         |  2 +-
+ libxsd/xsd/cxx/config.hxx                |  2 +-
+ src/conference/session/streams-group.cpp | 10 +++++-----
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 475ff16a8..a771e4595 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,7 +92,7 @@ cmake_dependent_option(ENABLE_QRCODE "Enable QRCode support" YES "ENABLE_VIDEO"
+ # * DISABLE_BC_PACKAGE_SEARCH: skip find_package() for every BC package (bctoolbox, ortp, etc.)
+ # * DISABLE_SOCI_PACKAGE_SEARCH: skip find_package() for Soci.
+ 
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_EXTENSIONS NO)
+ 
+ if(NOT CMAKE_BUILD_TYPE)
+diff --git a/daemon/daemon.cc b/daemon/daemon.cc
+index 197fc22ef..fd09edb26 100644
+--- a/daemon/daemon.cc
++++ b/daemon/daemon.cc
+@@ -628,7 +628,7 @@ void Daemon::execCommand(const string &command) {
+ 	ist.get(argsbuf);
+ 	string args = argsbuf.str();
+ 	if (!args.empty() && (args[0] == ' ')) args.erase(0, 1);
+-	list<DaemonCommand*>::iterator it = find_if(mCommands.begin(), mCommands.end(), bind2nd(mem_fun(&DaemonCommand::matches), name));
++	list<DaemonCommand*>::iterator it = find_if(mCommands.begin(), mCommands.end(), [&name](const DaemonCommand *dc) { return dc->matches(name); });
+ 	if (it != mCommands.end()) {
+ 		ms_mutex_lock(&mMutex);
+ 		(*it)->exec(this, args);
+diff --git a/libxsd/xsd/cxx/config.hxx b/libxsd/xsd/cxx/config.hxx
+index 076b107f5..385841731 100644
+--- a/libxsd/xsd/cxx/config.hxx
++++ b/libxsd/xsd/cxx/config.hxx
+@@ -19,7 +19,7 @@
+ #  endif
+ #else
+ #  if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
+-#    ifdef __GNUC__
++#    if defined(__GNUC__) && !defined(__clang__)
+ #      if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
+ #        define XSD_CXX11_NULLPTR
+ #      endif
+diff --git a/src/conference/session/streams-group.cpp b/src/conference/session/streams-group.cpp
+index bff739dda..84277a6b7 100644
+--- a/src/conference/session/streams-group.cpp
++++ b/src/conference/session/streams-group.cpp
+@@ -447,11 +447,11 @@ float StreamsGroup::computeOverallQuality(_functor func){
+ }
+ 
+ float StreamsGroup::getAverageQuality(){
+-	return computeOverallQuality(mem_fun(&Stream::getAverageQuality));
++	return computeOverallQuality(mem_fn(&Stream::getAverageQuality));
+ }
+ 
+ float StreamsGroup::getCurrentQuality(){
+-	return computeOverallQuality(mem_fun(&Stream::getCurrentQuality));
++	return computeOverallQuality(mem_fn(&Stream::getCurrentQuality));
+ }
+ 
+ int StreamsGroup::getAvpfRrInterval()const{
+@@ -481,11 +481,11 @@ bool StreamsGroup::avpfEnabled() const{
+ }
+ 
+ void StreamsGroup::refreshSockets(){
+-	forEach<Stream>(mem_fun(&Stream::refreshSockets));
++	forEach<Stream>(mem_fn(&Stream::refreshSockets));
+ }
+ 
+ void StreamsGroup::computeAndReportBandwidth(){
+-	forEach<Stream>(mem_fun(&Stream::updateBandwidthReports));
++	forEach<Stream>(mem_fn(&Stream::updateBandwidthReports));
+ 	
+ 	if (!bctbx_log_level_enabled(BCTBX_LOG_DOMAIN, BCTBX_LOG_MESSAGE)) return;
+ 	
+@@ -540,7 +540,7 @@ void StreamsGroup::finish(){
+ 	mIceService->finish(); // finish ICE first, as it has actions on the streams.
+ 	for (auto & ss : mSharedServices) ss.second->checkDestroy();
+ 	mSharedServices.clear();
+-	forEach<Stream>(mem_fun(&Stream::finish));
++	forEach<Stream>(mem_fn(&Stream::finish));
+ 	mFinished = true;
+ }
+ 
+-- 
+2.41.0
+
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
index 33220f193b597..c4b792e673fc5 100644
--- a/pkgs/development/libraries/liblinphone/default.nix
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -1,7 +1,7 @@
-{ bctoolbox
+{ lib
+, bc-soci
 , belcard
 , belle-sip
-, belr
 , cmake
 , doxygen
 , fetchFromGitLab
@@ -10,9 +10,7 @@
 , lime
 , mediastreamer
 , python3
-, bc-soci
 , sqlite
-, lib
 , stdenv
 , xercesc
 , zxing-cpp
@@ -31,6 +29,12 @@ stdenv.mkDerivation rec {
     hash = "sha256-kQZePMa7MTaSJLEObM8khfSFYLqhlgTcVyKfTPLwKYU=";
   };
 
+  patches = [
+    # zxing-cpp 2.0+ requires C++ 17
+    # Manual backport as upstream ran formatters in the meantime
+    ./backport-cpp17.patch
+  ];
+
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
       --replace "jsoncpp_object" "jsoncpp" \
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index edbaf20690ff4..f293d6fb6e106 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmediainfo";
-  version = "23.07";
+  version = "23.09";
 
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    hash = "sha256-YEVsiyq4dppggdlv176G20/jJSDkoCI5fLIsrPR86CA=";
+    hash = "sha256-HDJvFmVyrGwsHIim1Tr35FE4iEDH7r7scdWrv9G7LtM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 23cb00618055f..52d92840a3461 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
         feature is the possibility setting style properties from a CSS format
         file.'';
     license = licenses.lgpl21;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
index a125d10481cbd..31104b262af98 100644
--- a/pkgs/development/libraries/libnbd/default.nix
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libnbd";
-  version = "1.16.0";
+  version = "1.18.0";
 
   src = fetchurl {
     url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    hash = "sha256-Tkd46NxLvGe+RpCSFdCsYrFWc3PAtXI1aCq8177jla0=";
+    hash = "sha256-srJyd32eCIthoncvM9JQEKCWEOZxxc3YntaV4Ay8kZ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libpeas/default.nix b/pkgs/development/libraries/libpeas/default.nix
index a345ac704bc85..70d33d86ad194 100644
--- a/pkgs/development/libraries/libpeas/default.nix
+++ b/pkgs/development/libraries/libpeas/default.nix
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
     updateScript = gnome.updateScript {
       packageName = pname;
       versionPolicy = "odd-unstable";
+      freeze = true;
     };
   };
 
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index c9f6e11d41185..b5919d62d4486 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       packageName = pname;
       attrPath = "libsigcxx";
       versionPolicy = "odd-unstable";
-      freeze = true;
+      freeze = "2.99.1";
     };
   };
 
diff --git a/pkgs/development/libraries/libsmi/default.nix b/pkgs/development/libraries/libsmi/default.nix
index 9b71a91efed25..14139d849dc72 100644
--- a/pkgs/development/libraries/libsmi/default.nix
+++ b/pkgs/development/libraries/libsmi/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1lslaxr2qcj6hf4naq5n5mparfhmswsgq4wa7zm2icqvvgdcq6pj";
   };
 
+  env.NIX_CFLAGS_COMPILE = "-std=gnu90";
+
   meta = with lib; {
     description = "A Library to Access SMI MIB Information";
     homepage = "https://www.ibr.cs.tu-bs.de/projects/libsmi/index.html";
diff --git a/pkgs/development/libraries/libtsm/default.nix b/pkgs/development/libraries/libtsm/default.nix
index 7c0868509f092..75773296fab26 100644
--- a/pkgs/development/libraries/libtsm/default.nix
+++ b/pkgs/development/libraries/libtsm/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     description = "Terminal-emulator State Machine";
     homepage = "http://www.freedesktop.org/wiki/Software/kmscon/libtsm/";
     license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix
index 389aa7c283f24..14bf7f7c09c7c 100644
--- a/pkgs/development/libraries/libuchardet/default.nix
+++ b/pkgs/development/libraries/libuchardet/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "Mozilla's Universal Charset Detector C/C++ API";
     homepage = "https://www.freedesktop.org/wiki/Software/uchardet/";
     license = licenses.mpl11;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 113f83c1fc924..7be9bee23a25b 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -113,7 +113,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A multi-platform support library with a focus on asynchronous I/O";
     homepage    = "https://libuv.org/";
     changelog   = "https://github.com/libuv/libuv/blob/v${finalAttrs.version}/ChangeLog";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms   = platforms.all;
     license     = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
   };
diff --git a/pkgs/development/libraries/libva/utils.nix b/pkgs/development/libraries/libva/utils.nix
index f0e4eab164d66..eb2a6598cf6f5 100644
--- a/pkgs/development/libraries/libva/utils.nix
+++ b/pkgs/development/libraries/libva/utils.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libva-utils";
-  version = "2.19.0";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva-utils";
     rev    = version;
-    sha256 = "sha256-/juTlK7iRu8XN4kbB1VhmOcKjFD8iBwuIIAJsmF5ihU=";
+    sha256 = "sha256-oW4vIGgSs5lzmuloCFJPXTmsfH9Djz2KTlsjrOkaT5I=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/development/libraries/lightgbm/default.nix b/pkgs/development/libraries/lightgbm/default.nix
index 25cb21a314cea..55d04fb4f3745 100644
--- a/pkgs/development/libraries/lightgbm/default.nix
+++ b/pkgs/development/libraries/lightgbm/default.nix
@@ -1,6 +1,8 @@
 { config, stdenv, lib, fetchFromGitHub, cmake, gtest, doCheck ? true
-, cudaSupport ? config.cudaSupport, openclSupport ? false, mpiSupport ? false, javaWrapper ? false, hdfsSupport ? false
-, rLibrary ? false, cudaPackages, opencl-headers, ocl-icd, boost, llvmPackages, openmpi, openjdk, swig, hadoop, R, rPackages }:
+, cudaSupport ? config.cudaSupport or false, openclSupport ? false
+, mpiSupport ? false, javaWrapper ? false, hdfsSupport ? false, pythonLibrary ? false
+, rLibrary ? false, cudaPackages, opencl-headers, ocl-icd, boost
+, llvmPackages, openmpi, openjdk, swig, hadoop, R, rPackages, pandoc }:
 
 assert doCheck -> mpiSupport != true;
 assert openclSupport -> cudaSupport != true;
@@ -21,14 +23,14 @@ stdenv.mkDerivation rec {
   #   in \
   #   rWrapper.override{ packages = [ lgbm ]; }"
   pname = lib.optionalString rLibrary "r-" + pnameBase;
-  version = "3.3.5";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = pnameBase;
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-QRuBbMVtD5J5ECw+bAp57bWaRc/fATMcTq+AKikhj1I=";
+    hash = "sha256-AhXe/Mlor/i0y84wI9jVPKSnyVbSyAV52Y4yiNm7yLQ=";
   };
 
   nativeBuildInputs = [ cmake ]
@@ -38,13 +40,14 @@ stdenv.mkDerivation rec {
     ++ lib.optionals hdfsSupport [ hadoop ]
     ++ lib.optionals (hdfsSupport || javaWrapper) [ openjdk ]
     ++ lib.optionals javaWrapper [ swig ]
-    ++ lib.optionals rLibrary [ R ];
+    ++ lib.optionals rLibrary [ R pandoc ];
 
   buildInputs = [ gtest ]
     ++ lib.optional cudaSupport cudaPackages.cudatoolkit;
 
   propagatedBuildInputs = lib.optionals rLibrary [
     rPackages.data_table
+    rPackages.rmarkdown
     rPackages.jsonlite
     rPackages.Matrix
     rPackages.R6
@@ -62,6 +65,7 @@ stdenv.mkDerivation rec {
       external_libs/compute/include/boost/compute/cl_ext.hpp \
       --replace "include <OpenCL/" "include <CL/"
     substituteInPlace build_r.R \
+      --replace "shQuote(normalizePath" "shQuote(type = 'cmd', string = normalizePath" \
       --replace "file.path(getwd(), \"lightgbm_r\")" "'$out/tmp'" \
       --replace \
         "install_args <- c(\"CMD\", \"INSTALL\", \"--no-multiarch\", \"--with-keep.source\", tarball)" \
@@ -74,10 +78,14 @@ stdenv.mkDerivation rec {
     ++ lib.optionals mpiSupport [ "-DUSE_MPI=ON" ]
     ++ lib.optionals hdfsSupport [
       "-DUSE_HDFS=ON"
-      "-DHDFS_LIB=${hadoop}/lib/hadoop-3.3.1/lib/native/libhdfs.so"
-      "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-3.3.1/include" ]
-    ++ lib.optionals javaWrapper [ "-DUSE_SWIG=ON" ]
-    ++ lib.optionals rLibrary [ "-D__BUILD_FOR_R=ON" ];
+      "-DHDFS_LIB=${hadoop}/lib/hadoop-${hadoop.version}/lib/native/libhdfs.so"
+      "-DHDFS_INCLUDE_DIR=${hadoop}/lib/hadoop-${hadoop.version}/include" ]
+    ++ lib.optionals javaWrapper [
+      "-DUSE_SWIG=ON"
+      # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
+      "-DCMAKE_SKIP_BUILD_RPATH=ON" ]
+    ++ lib.optionals rLibrary [ "-D__BUILD_FOR_R=ON" ]
+    ++ lib.optionals pythonLibrary [ "-D__BUILD_FOR_PYTHON=ON" ];
 
   configurePhase = lib.optionals rLibrary ''
     export R_LIBS_SITE="$out/library:$R_LIBS_SITE''${R_LIBS_SITE:+:}"
@@ -98,28 +106,28 @@ stdenv.mkDerivation rec {
       mkdir -p $out/bin
       cp -r ../include $out
       install -Dm755 ../lib_lightgbm.so $out/lib/lib_lightgbm.so
+    '' + lib.optionalString (!rLibrary && !pythonLibrary) ''
       install -Dm755 ../lightgbm $out/bin/lightgbm
     '' + lib.optionalString javaWrapper ''
       cp -r java $out
       cp -r com $out
       cp -r lightgbmlib.jar $out
     '' + ''
-    '' + lib.optionalString javaWrapper ''
-      cp -r java $out
-      cp -r com $out
-      cp -r lightgbmlib.jar $out
     '' + lib.optionalString rLibrary ''
       mkdir $out
       mkdir $out/tmp
       mkdir $out/library
       mkdir $out/library/lightgbm
     '' + lib.optionalString (rLibrary && (!openclSupport)) ''
-      Rscript build_r.R
+      Rscript build_r.R \
+        -j$NIX_BUILD_CORES
       rm -rf $out/tmp
     '' + lib.optionalString (rLibrary && openclSupport) ''
       Rscript build_r.R --use-gpu \
         --opencl-library=${ocl-icd}/lib/libOpenCL.so \
-        --boost-librarydir=${boost}
+        --opencl-include-dir=${opencl-headers}/include \
+        --boost-librarydir=${boost} \
+        -j$NIX_BUILD_CORES
       rm -rf $out/tmp
     '' + ''
       runHook postInstall
diff --git a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
index 8ef4513a18dda..888e10d6a81d1 100644
--- a/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
+++ b/pkgs/development/libraries/lightstep-tracer-cpp/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://lightstep.com/";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/linenoise-ng/default.nix b/pkgs/development/libraries/linenoise-ng/default.nix
index d19d6748147cc..276756822746e 100644
--- a/pkgs/development/libraries/linenoise-ng/default.nix
+++ b/pkgs/development/libraries/linenoise-ng/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://github.com/arangodb/linenoise-ng";
     description = "A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters";
-    maintainers = with lib.maintainers; [ cstrahan ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.all;
     license = lib.licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/llhttp/default.nix b/pkgs/development/libraries/llhttp/default.nix
index 39b1e0bf260e3..fbf7198f1d551 100644
--- a/pkgs/development/libraries/llhttp/default.nix
+++ b/pkgs/development/libraries/llhttp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "llhttp";
-  version = "9.1.2";
+  version = "9.1.3";
 
   src = fetchFromGitHub {
     owner = "nodejs";
     repo = "llhttp";
     rev = "release/v${finalAttrs.version}";
-    hash = "sha256-kW6u9ETZJcJBh150chfE3SEwFpT7evZ0cqz8caM7fbQ=";
+    hash = "sha256-QacjukWkRCuQA4qzUq45521YOBLPuOSKNR1pVxgxe9o=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index 65e35217f80a2..77e7669c0e123 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -54,6 +54,6 @@ stdenv.mkDerivation rec {
     description = "A simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP";
     homepage    = "http://libmailcore.com";
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/miopen/default.nix b/pkgs/development/libraries/miopen/default.nix
deleted file mode 100644
index 1b24d8bfec73e..0000000000000
--- a/pkgs/development/libraries/miopen/default.nix
+++ /dev/null
@@ -1,190 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchurl
-, rocmUpdateScript
-, pkg-config
-, cmake
-, rocm-cmake
-, rocblas
-, rocmlir
-, hip
-, clang-tools-extra
-, clang-ocl
-, llvm
-, miopengemm
-, composable_kernel
-, half
-, boost
-, sqlite
-, bzip2
-, nlohmann_json
-, texlive
-, doxygen
-, sphinx
-, zlib
-, gtest
-, rocm-comgr
-, python3Packages
-, buildDocs ? true
-, buildTests ? false
-, fetchKDBs ? true
-, useOpenCL ? false
-}:
-
-let
-  latex = lib.optionalAttrs buildDocs texlive.combine {
-    inherit (texlive) scheme-small
-    latexmk
-    tex-gyre
-    fncychap
-    wrapfig
-    capt-of
-    framed
-    needspace
-    tabulary
-    varwidth
-    titlesec;
-  };
-
-  kdbs = lib.optionalAttrs fetchKDBs import ./deps.nix {
-    inherit fetchurl;
-    mirror = "https://repo.radeon.com/rocm/miopen-kernel/rel-5.0";
-  };
-in stdenv.mkDerivation (finalAttrs: {
-  pname = "miopen";
-  version = "5.4.2";
-
-  outputs = [
-    "out"
-  ] ++ lib.optionals buildDocs [
-    "doc"
-  ] ++ lib.optionals buildTests [
-    "test"
-  ];
-
-  src = fetchFromGitHub {
-    owner = "ROCmSoftwarePlatform";
-    repo = "MIOpen";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-GfXPCXiVJVve3d8sQCQcFLb/vEnKkVEn7xYUhHkEEVI=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    cmake
-    rocm-cmake
-    hip
-    clang-tools-extra
-  ];
-
-  buildInputs = [
-    llvm
-    rocblas
-    rocmlir
-    clang-ocl
-    miopengemm
-    composable_kernel
-    half
-    boost
-    sqlite
-    bzip2
-    nlohmann_json
-  ] ++ lib.optionals buildDocs [
-    latex
-    doxygen
-    sphinx
-    python3Packages.sphinx-rtd-theme
-    python3Packages.breathe
-    python3Packages.myst-parser
-  ] ++ lib.optionals buildTests [
-    zlib
-  ];
-
-  cmakeFlags = [
-    "-DMIOPEN_USE_MIOPENGEMM=ON"
-    # Manually define CMAKE_INSTALL_<DIR>
-    # See: https://github.com/NixOS/nixpkgs/pull/197838
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-  ] ++ lib.optionals (!useOpenCL) [
-    "-DCMAKE_C_COMPILER=hipcc"
-    "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DMIOPEN_BACKEND=HIP"
-  ] ++ lib.optionals useOpenCL [
-    "-DMIOPEN_BACKEND=OpenCL"
-  ] ++ lib.optionals buildTests [
-    "-DBUILD_TESTS=ON"
-    "-DMIOPEN_TEST_ALL=ON"
-    "-DMIOPEN_TEST_GFX900=ON"
-    "-DMIOPEN_TEST_GFX906=ON"
-    "-DMIOPEN_TEST_GFX908=ON"
-    "-DMIOPEN_TEST_GFX90A=ON"
-    "-DMIOPEN_TEST_GFX103X=ON"
-    "-DGOOGLETEST_DIR=${gtest.src}" # Custom linker names
-  ];
-
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "enable_testing()" "" \
-      --replace "MIOPEN_HIP_COMPILER MATCHES \".*clang\\\\+\\\\+$\"" "true" \
-      --replace "set(MIOPEN_TIDY_ERRORS ALL)" "" # error: missing required key 'key'
-  '' + lib.optionalString buildTests ''
-    substituteInPlace test/gtest/CMakeLists.txt \
-      --replace "enable_testing()" ""
-  '' + lib.optionalString (!buildTests) ''
-    substituteInPlace CMakeLists.txt \
-      --replace "add_subdirectory(test)" ""
-  '' + lib.optionalString fetchKDBs ''
-    ln -sf ${kdbs.gfx1030_36} src/kernels/gfx1030_36.kdb
-    ln -sf ${kdbs.gfx900_56} src/kernels/gfx900_56.kdb
-    ln -sf ${kdbs.gfx900_64} src/kernels/gfx900_64.kdb
-    ln -sf ${kdbs.gfx906_60} src/kernels/gfx906_60.kdb
-    ln -sf ${kdbs.gfx906_64} src/kernels/gfx906_64.kdb
-    ln -sf ${kdbs.gfx90878} src/kernels/gfx90878.kdb
-    ln -sf ${kdbs.gfx90a68} src/kernels/gfx90a68.kdb
-    ln -sf ${kdbs.gfx90a6e} src/kernels/gfx90a6e.kdb
-  '';
-
-  # Unfortunately, it seems like we have to call make on these manually
-  postBuild = lib.optionalString buildDocs ''
-    export HOME=$(mktemp -d)
-    make -j$NIX_BUILD_CORES doc
-  '' + lib.optionalString buildTests ''
-    make -j$NIX_BUILD_CORES check
-  '';
-
-  postInstall = ''
-    rm $out/bin/install_precompiled_kernels.sh
-  '' + lib.optionalString buildDocs ''
-    mv ../doc/html $out/share/doc/miopen-${if useOpenCL then "opencl" else "hip"}
-    mv ../doc/pdf/miopen.pdf $out/share/doc/miopen-${if useOpenCL then "opencl" else "hip"}
-  '' + lib.optionalString buildTests ''
-    mkdir -p $test/bin
-    mv bin/test_* $test/bin
-    patchelf --set-rpath $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++
-      [ hip rocm-comgr ])} $test/bin/*
-  '' + lib.optionalString fetchKDBs ''
-    # Apparently gfx1030_40 wasn't generated so the developers suggest just renaming gfx1030_36 to it
-    # Should be fixed in the next miopen kernel generation batch
-    ln -s ${kdbs.gfx1030_36} $out/share/miopen/db/gfx1030_40.kdb
-  '';
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  meta = with lib; {
-    description = "Machine intelligence library for ROCm";
-    homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen";
-    license = with licenses; [ mit ];
-    maintainers = teams.rocm.members;
-    platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
-  };
-})
diff --git a/pkgs/development/libraries/miopen/deps.nix b/pkgs/development/libraries/miopen/deps.nix
deleted file mode 100644
index e88b61ad974c1..0000000000000
--- a/pkgs/development/libraries/miopen/deps.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl
-, mirror
-}:
-
-{
-  gfx1030_36 = fetchurl {
-    sha256 = "sha256-zEXDLkRWAHS15LDA5IRyqG5rO7HHPBiVgPlQ8JjSqNc=";
-    url = "${mirror}/gfx1030_36.kdb";
-  };
-
-  gfx900_56 = fetchurl {
-    sha256 = "sha256-ZTqUPhVKcQzjO6bxykvZMJk1VZh31dRVs+XqcxEtmeI=";
-    url = "${mirror}/gfx900_56.kdb";
-  };
-
-  gfx900_64 = fetchurl {
-    sha256 = "sha256-ZTqUPhVKcQzjO6bxykvZMJk1VZh31dRVs+XqcxEtmeI=";
-    url = "${mirror}/gfx900_64.kdb";
-  };
-
-  gfx906_60 = fetchurl {
-    sha256 = "sha256-U6pDo8ICfs6fVIEqRziWeE5/4Vzvu41JkcRVn3ou1e4=";
-    url = "${mirror}/gfx906_60.kdb";
-  };
-
-  gfx906_64 = fetchurl {
-    sha256 = "sha256-U6pDo8ICfs6fVIEqRziWeE5/4Vzvu41JkcRVn3ou1e4=";
-    url = "${mirror}/gfx906_64.kdb";
-  };
-
-  gfx90878 = fetchurl {
-    sha256 = "sha256-r7DRhNH+jHUXAu64b9vWsZzGD4w5oSHnxH0l2RN0qlQ=";
-    url = "${mirror}/gfx90878.kdb";
-  };
-
-  gfx90a68 = fetchurl {
-    sha256 = "sha256-NT//zIPTbzsPJyaVycxwU6BcMTzGc/d+Z4Ab9FImDko=";
-    url = "${mirror}/gfx90a68.kdb";
-  };
-
-  gfx90a6e = fetchurl {
-    sha256 = "sha256-ENZHbf+/MGYgSTpALKh2meuZPNhH5bG+WrW/jzvGpBs=";
-    url = "${mirror}/gfx90a6e.kdb";
-  };
-}
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index a13b3655066b4..ed803772f730f 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "7.18.0";
+  version = "7.20.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    hash = "sha256-3qvMuBr2w/gedTDIjG6ezatleXuQSnKX4SkBShzj6aw=";
+    hash = "sha256-5yELGA3U/YkINEtRyr/tb3HjWMQjqKIWjUbH7ZFMgLU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/neatvnc/default.nix b/pkgs/development/libraries/neatvnc/default.nix
index 0b4426f1a2a71..4eba7cbbd8e28 100644
--- a/pkgs/development/libraries/neatvnc/default.nix
+++ b/pkgs/development/libraries/neatvnc/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "neatvnc";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "any1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3hNdgfAJGJkMXdB86+u3bKwrvXoMei1YCFXDG4ObkU4=";
+    sha256 = "sha256-R+PvD7E/z+Gc7h2y0pUYaCkzfgpxzwToOr4pKSrOnxU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index 91e978ce04b3b..1abc8a2633c69 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.28";
+  version = "1.0.30";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-rQ+Zkmvi4bWVp86KDPs7SLZ040stKUsC7Ycb9kltElk=";
+    sha256 = "sha256-lF8Pauyi+zSNVnpHqq86J3SGUTM6AhFmnT48eyFoYco=";
   };
 
   nativeBuildInputs = [ cmake python3 pkg-config ];
diff --git a/pkgs/development/libraries/orcania/default.nix b/pkgs/development/libraries/orcania/default.nix
index 4ea4692a14a7e..f0334ea4de16e 100644
--- a/pkgs/development/libraries/orcania/default.nix
+++ b/pkgs/development/libraries/orcania/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
 stdenv.mkDerivation rec {
   pname = "orcania";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "babelouest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xF6QIXfsI+6WqshcG74/J98MgjSkYjRkTW64zeH6DDY=";
+    sha256 = "sha256-Cz3IE5UrfoWjMxQ/+iR1bLsYxf5DVN+7aJqLBcPjduA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index e2155043aa3f9..f5fc01a6fce9b 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
       packageName = pname;
       versionPolicy = "odd-unstable";
       # 1.90 is alpha for API 2.
-      freeze = true;
+      freeze = "1.90.0";
     };
   };
 
diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix
index f73e01b64764c..d3233384d3ebf 100644
--- a/pkgs/development/libraries/rapidjson/default.nix
+++ b/pkgs/development/libraries/rapidjson/default.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "http://rapidjson.org/";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan dotlambda ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/libraries/rocblas/default.nix b/pkgs/development/libraries/rocblas/default.nix
deleted file mode 100644
index 11385ae640322..0000000000000
--- a/pkgs/development/libraries/rocblas/default.nix
+++ /dev/null
@@ -1,139 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rocmUpdateScript
-, cmake
-, rocm-cmake
-, hip
-, python3
-, tensile
-, msgpack
-, libxml2
-, gtest
-, gfortran
-, openmp
-, amd-blis
-, python3Packages
-, buildTensile ? true
-, buildTests ? false
-, buildBenchmarks ? false
-, tensileLogic ? "asm_full"
-, tensileCOVersion ? "V3"
-, tensileSepArch ? true
-, tensileLazyLib ? true
-, tensileLibFormat ? "msgpack"
-, gpuTargets ? [ "all" ]
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rocblas";
-  version = "5.4.3";
-
-  outputs = [
-    "out"
-  ] ++ lib.optionals buildTests [
-    "test"
-  ] ++ lib.optionals buildBenchmarks [
-    "benchmark"
-  ];
-
-  src = fetchFromGitHub {
-    owner = "ROCmSoftwarePlatform";
-    repo = "rocBLAS";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-XhYpzBXviMnUdbF6lZi9g0LARKpzWLtDxJxLI3MuHiM=";
-  };
-
-  nativeBuildInputs = [
-    cmake
-    rocm-cmake
-    hip
-  ];
-
-  buildInputs = [
-    python3
-  ] ++ lib.optionals buildTensile [
-    msgpack
-    libxml2
-    python3Packages.msgpack
-  ] ++ lib.optionals buildTests [
-    gtest
-  ] ++ lib.optionals (buildTests || buildBenchmarks) [
-    gfortran
-    openmp
-    amd-blis
-  ] ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [
-    python3Packages.pyyaml
-  ];
-
-  cmakeFlags = [
-    "-DCMAKE_C_COMPILER=hipcc"
-    "-DCMAKE_CXX_COMPILER=hipcc"
-    "-Dpython=python3"
-    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
-    "-DBUILD_WITH_TENSILE=${if buildTensile then "ON" else "OFF"}"
-    # Manually define CMAKE_INSTALL_<DIR>
-    # See: https://github.com/NixOS/nixpkgs/pull/197838
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-  ] ++ lib.optionals buildTensile [
-    "-DVIRTUALENV_HOME_DIR=/build/source/tensile"
-    "-DTensile_TEST_LOCAL_PATH=/build/source/tensile"
-    "-DTensile_ROOT=/build/source/tensile/lib/python${python3.pythonVersion}/site-packages/Tensile"
-    "-DTensile_LOGIC=${tensileLogic}"
-    "-DTensile_CODE_OBJECT_VERSION=${tensileCOVersion}"
-    "-DTensile_SEPARATE_ARCHITECTURES=${if tensileSepArch then "ON" else "OFF"}"
-    "-DTensile_LAZY_LIBRARY_LOADING=${if tensileLazyLib then "ON" else "OFF"}"
-    "-DTensile_LIBRARY_FORMAT=${tensileLibFormat}"
-  ] ++ lib.optionals buildTests [
-    "-DBUILD_CLIENTS_TESTS=ON"
-  ] ++ lib.optionals buildBenchmarks [
-    "-DBUILD_CLIENTS_BENCHMARKS=ON"
-  ] ++ lib.optionals (buildTests || buildBenchmarks) [
-    "-DCMAKE_CXX_FLAGS=-I${amd-blis}/include/blis"
-  ];
-
-  # Tensile REALLY wants to write to the nix directory if we include it normally
-  postPatch = lib.optionalString buildTensile ''
-    cp -a ${tensile} tensile
-    chmod +w -R tensile
-
-    # Rewrap Tensile
-    substituteInPlace tensile/bin/{.t*,.T*,*} \
-      --replace "${tensile}" "/build/source/tensile"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "include(virtualenv)" "" \
-      --replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" ""
-  '';
-
-  postInstall = lib.optionalString buildTests ''
-    mkdir -p $test/bin
-    cp -a $out/bin/* $test/bin
-    rm $test/bin/*-bench || true
-  '' + lib.optionalString buildBenchmarks ''
-    mkdir -p $benchmark/bin
-    cp -a $out/bin/* $benchmark/bin
-    rm $benchmark/bin/*-test || true
-  '' + lib.optionalString (buildTests || buildBenchmarks ) ''
-    rm -rf $out/bin
-  '';
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "BLAS implementation for ROCm platform";
-    homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS";
-    license = with licenses; [ mit ];
-    maintainers = teams.rocm.members;
-    platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
-  };
-})
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
deleted file mode 100644
index 09876ea98a91c..0000000000000
--- a/pkgs/development/libraries/rocclr/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, rocmUpdateScript
-, rocm-comgr
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rocclr";
-  version = "5.4.4";
-
-  src = fetchFromGitHub {
-    owner = "ROCm-Developer-Tools";
-    repo = "ROCclr";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-DbN7kL8oyaPeYQB19Q96L3wX66v62TMSWl0Yor7Q4kE=";
-  };
-
-  patches = [
-    # Enable support for gfx8 again
-    # See the upstream issue: https://github.com/RadeonOpenCompute/ROCm/issues/1659
-    # And the arch patch: https://github.com/rocm-arch/rocm-arch/pull/742
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/John-Gee/rocm-arch/d6812d308fee3caf2b6bb01b4d19fe03a6a0e3bd/rocm-opencl-runtime/enable-gfx800.patch";
-      hash = "sha256-59jFDIIsTTZcNns9RyMVWPRUggn/bSlAGrky4quu8B4=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace device/comgrctx.cpp \
-      --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so"
-  '';
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -a * $out/
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  meta = with lib; {
-    description = "Source package of the Radeon Open Compute common language runtime";
-    homepage = "https://github.com/ROCm-Developer-Tools/ROCclr";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
-    # rocclr seems to have some AArch64 ifdefs, but does not seem
-    # to be supported yet by the build infrastructure. Recheck in
-    # the future.
-    platforms = [ "x86_64-linux" ];
-    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
-  };
-})
diff --git a/pkgs/development/libraries/rocfft/device-install.patch b/pkgs/development/libraries/rocfft/device-install.patch
deleted file mode 100644
index 355cf30d07ff1..0000000000000
--- a/pkgs/development/libraries/rocfft/device-install.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/library/src/device/CMakeLists.txt b/library/src/device/CMakeLists.txt
-index 73a8ec9..9bfd4b8 100644
---- a/library/src/device/CMakeLists.txt
-+++ b/library/src/device/CMakeLists.txt
-@@ -255,4 +255,10 @@ foreach( sub ${AMDGPU_TARGETS} )
-   if( NOT BUILD_SHARED_LIBS )
-     set_target_properties( rocfft-device-${sub} PROPERTIES PREFIX "lib" )
-   endif( )
-+
-+  rocm_install_targets(
-+    TARGETS
-+    rocfft-device-${sub}
-+    COMPONENT device
-+  )
- endforeach()
diff --git a/pkgs/development/libraries/rocfft/split-kernel-compilation.patch b/pkgs/development/libraries/rocfft/split-kernel-compilation.patch
deleted file mode 100644
index 5d71fe399c1a5..0000000000000
--- a/pkgs/development/libraries/rocfft/split-kernel-compilation.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
-index 3a16304..606b711 100644
---- a/library/src/CMakeLists.txt
-+++ b/library/src/CMakeLists.txt
-@@ -250,12 +250,12 @@ foreach( target
- 
- endforeach()
- 
--add_executable( rocfft_aot_helper
-+add_executable( rocfft_aot_helper EXCLUDE_FROM_ALL
-   rocfft_aot_helper.cpp
-   rocfft_stub.cpp
- )
- 
--add_executable( rocfft_config_search
-+add_executable( rocfft_config_search EXCLUDE_FROM_ALL
-   rocfft_config_search.cpp
-   rocfft_stub.cpp
- )
-@@ -279,10 +279,10 @@ endif()
- 
- target_link_libraries( rocfft PRIVATE ${ROCFFT_DEVICE_LINK_LIBS} )
- 
--target_link_libraries( rocfft PRIVATE rocfft-device-0 )
--target_link_libraries( rocfft PRIVATE rocfft-device-1 )
--target_link_libraries( rocfft PRIVATE rocfft-device-2 )
--target_link_libraries( rocfft PRIVATE rocfft-device-3 )
-+foreach( sub ${AMDGPU_TARGETS} )
-+  target_link_libraries( rocfft PRIVATE -lrocfft-device-${sub} )
-+endforeach()
-+
- foreach( target rocfft rocfft_aot_helper rocfft_config_search )
-   # RTC uses dladdr to find the RTC helper program
-   if( NOT WIN32 )
-@@ -347,7 +347,7 @@ add_custom_command(
-   DEPENDS rocfft_aot_helper rocfft_rtc_helper
-   COMMENT "Compile kernels into shipped cache file"
- )
--add_custom_target( rocfft_kernel_cache_target ALL
-+add_custom_target( rocfft_kernel_cache_target
-   DEPENDS rocfft_kernel_cache.db
-   VERBATIM
- )
-@@ -392,7 +392,8 @@ else()
- endif()
- rocm_install(FILES ${ROCFFT_KERNEL_CACHE_PATH}
-   DESTINATION "${ROCFFT_KERNEL_CACHE_INSTALL_DIR}"
--  COMPONENT runtime
-+  COMPONENT kernel_cache
-+  EXCLUDE_FROM_ALL
- )
- 
- #         PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
-diff --git a/library/src/device/CMakeLists.txt b/library/src/device/CMakeLists.txt
-index 9f7b85f..73a8ec9 100644
---- a/library/src/device/CMakeLists.txt
-+++ b/library/src/device/CMakeLists.txt
-@@ -170,11 +170,11 @@ list( SORT rocfft_device_source )
- # functions callable by rocFFT and depends on amdhip64, and another
- # one usable by AOT RTC that contains no device code
- list( FILTER rocfft_device_source EXCLUDE REGEX function_pool.cpp )
--add_library( rocfft-function-pool OBJECT
-+add_library( rocfft-function-pool OBJECT EXCLUDE_FROM_ALL
-   function_pool.cpp
- )
- target_compile_definitions( rocfft-function-pool PRIVATE FUNCTION_POOL_STANDALONE_BODY= )
--add_library( rocfft-function-pool-standalone OBJECT
-+add_library( rocfft-function-pool-standalone OBJECT EXCLUDE_FROM_ALL
-   function_pool.cpp
- )
- target_compile_definitions( rocfft-function-pool-standalone PRIVATE FUNCTION_POOL_STANDALONE_BODY={} )
-@@ -193,26 +193,15 @@ foreach( pool rocfft-function-pool rocfft-function-pool-standalone )
-   add_dependencies(${pool} gen_headers_target)
- endforeach()
- 
--list( LENGTH rocfft_device_source rocfft_device_source_len )
--math(EXPR split_len "${rocfft_device_source_len} / 4")
--math(EXPR split_idx_2 "${rocfft_device_source_len} / 4 * 2")
--math(EXPR split_idx_3 "${rocfft_device_source_len} / 4 * 3")
--
--list( SUBLIST rocfft_device_source 0 ${split_len} rocfft_device_source_0 )
--list( SUBLIST rocfft_device_source ${split_len} ${split_len} rocfft_device_source_1 )
--list( SUBLIST rocfft_device_source ${split_idx_2} ${split_len} rocfft_device_source_2 )
--list( SUBLIST rocfft_device_source ${split_idx_3} -1 rocfft_device_source_3 )
--
--foreach( sub RANGE 3 )
--  set( rocfft_device_source_var rocfft_device_source_${sub} )
-+foreach( sub ${AMDGPU_TARGETS} )
-   if(NOT SINGLELIB)
--    add_library( rocfft-device-${sub}
--      ${${rocfft_device_source_var}} )
-+    add_library( rocfft-device-${sub} EXCLUDE_FROM_ALL
-+      ${rocfft_device_source} )
-   else()
-     # Compile the device lib as a static library, which is then linked
-     # into librocfft.so Useful for testing purposes.
--    add_library( rocfft-device-${sub} STATIC
--      ${${rocfft_device_source_var}} )
-+    add_library( rocfft-device-${sub} STATIC EXCLUDE_FROM_ALL
-+      ${rocfft_device_source} )
- 
-     # if we're building singlelib, we don't want to export any of the
-     # device library symbols to the main library
-@@ -241,9 +230,7 @@ foreach( sub RANGE 3 )
-   # Set AMD GPU architecture options
- 
-   # Enable compilation of desired architectures
--  foreach( target ${AMDGPU_TARGETS} )
--    target_compile_options( rocfft-device-${sub} PRIVATE --offload-arch=${target} )
--  endforeach( )
-+  target_compile_options( rocfft-device-${sub} PRIVATE --offload-arch=${sub} )
- 
-   target_include_directories( rocfft-device-${sub}
-     PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
-@@ -268,9 +255,4 @@ foreach( sub RANGE 3 )
-   if( NOT BUILD_SHARED_LIBS )
-     set_target_properties( rocfft-device-${sub} PROPERTIES PREFIX "lib" )
-   endif( )
--
--  rocm_install_targets(
--    TARGETS
--    rocfft-device-${sub}
--    )
- endforeach()
diff --git a/pkgs/development/libraries/rocm-comgr/cmake.patch b/pkgs/development/libraries/rocm-comgr/cmake.patch
deleted file mode 100644
index ae966745171cb..0000000000000
--- a/pkgs/development/libraries/rocm-comgr/cmake.patch
+++ /dev/null
@@ -1,365 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 62b857b..d21c7f4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -147,8 +147,8 @@ if (UNIX)
-   list(APPEND AMD_COMGR_PUBLIC_LINKER_OPTIONS -pthread)
-   if (NOT APPLE AND COMGR_BUILD_SHARED_LIBS)
-     configure_file(
--      ${CMAKE_CURRENT_SOURCE_DIR}/src/exportmap.in
--      ${CMAKE_CURRENT_BINARY_DIR}/src/exportmap @ONLY)
-+      src/exportmap.in
-+      src/exportmap @ONLY)
-     list(APPEND AMD_COMGR_PRIVATE_LINKER_OPTIONS
-       "-Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/src/exportmap")
-     # When building a shared library with -fsanitize=address we can't be
-@@ -175,10 +175,6 @@ endif()
- # the shared header.
- list(APPEND AMD_COMGR_PRIVATE_COMPILE_DEFINITIONS AMD_COMGR_EXPORT)
- 
--configure_file(
--  ${CMAKE_CURRENT_SOURCE_DIR}/include/amd_comgr.h.in
--  ${CMAKE_CURRENT_BINARY_DIR}/include/amd_comgr.h @ONLY)
--
- include(bc2h)
- include(opencl_pch)
- include(DeviceLibs)
-@@ -212,10 +208,14 @@ target_include_directories(amd_comgr
-     $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
-     $<INSTALL_INTERFACE:include>)
- 
-+configure_file(
-+  include/amd_comgr.h.in
-+  include/amd_comgr.h @ONLY)
-+
- set(AMD_COMGR_CONFIG_NAME amd_comgr-config.cmake)
- set(AMD_COMGR_TARGETS_NAME amd_comgr-targets.cmake)
- set(AMD_COMGR_VERSION_NAME amd_comgr-config-version.cmake)
--set(AMD_COMGR_PACKAGE_PREFIX ${CMAKE_INSTALL_LIBDIR}/cmake/amd_comgr)
-+set(AMD_COMGR_PACKAGE_PREFIX cmake/amd_comgr)
- 
- # Generate the build-tree package.
- set(AMD_COMGR_PREFIX_CODE)
-@@ -226,13 +226,13 @@ if (NOT COMGR_BUILD_SHARED_LIBS)
- endif()
- 
- set(AMD_COMGR_TARGETS_PATH
--  "${CMAKE_CURRENT_BINARY_DIR}/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
-+  "${CMAKE_CURRENT_BINARY_DIR}/lib/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
- set(AMD_COMGR_VERSION_PATH
--  "${CMAKE_CURRENT_BINARY_DIR}/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_VERSION_NAME}")
-+  "${CMAKE_CURRENT_BINARY_DIR}/lib/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_VERSION_NAME}")
- export(TARGETS amd_comgr
--  FILE "${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
-+  FILE "lib/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
- configure_file("cmake/${AMD_COMGR_CONFIG_NAME}.in"
--  "${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_CONFIG_NAME}"
-+  "lib/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_CONFIG_NAME}"
-   @ONLY)
- write_basic_package_version_file("${AMD_COMGR_VERSION_PATH}"
-   VERSION "${amd_comgr_VERSION}"
-@@ -266,7 +266,7 @@ install(FILES
- set(AMD_COMGR_PREFIX_CODE "
- # Derive absolute install prefix from config file path.
- get_filename_component(AMD_COMGR_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)")
--string(REGEX REPLACE "/" ";" count "${AMD_COMGR_PACKAGE_PREFIX}")
-+string(REGEX REPLACE "/" ";" count "${CMAKE_INSTALL_LIBDIR}/${AMD_COMGR_PACKAGE_PREFIX}")
- foreach(p ${count})
-   set(AMD_COMGR_PREFIX_CODE "${AMD_COMGR_PREFIX_CODE}
- get_filename_component(AMD_COMGR_PREFIX \"\${AMD_COMGR_PREFIX}\" PATH)")
-@@ -278,20 +278,20 @@ if (NOT COMGR_BUILD_SHARED_LIBS)
-   string(APPEND AMD_COMGR_PREFIX_CODE "find_dependency(LLD REQUIRED)\n")
- endif()
- 
--set(AMD_COMGR_TARGETS_PATH "\${AMD_COMGR_PREFIX}/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
-+set(AMD_COMGR_TARGETS_PATH "\${AMD_COMGR_PREFIX}/${CMAKE_INSTALL_LIBDIR}/${AMD_COMGR_PACKAGE_PREFIX}/${AMD_COMGR_TARGETS_NAME}")
- configure_file("cmake/${AMD_COMGR_CONFIG_NAME}.in"
--  "${CMAKE_CURRENT_BINARY_DIR}/${AMD_COMGR_CONFIG_NAME}.install"
-+  "${AMD_COMGR_CONFIG_NAME}.install"
-   @ONLY)
- install(FILES
-   "${CMAKE_CURRENT_BINARY_DIR}/${AMD_COMGR_CONFIG_NAME}.install"
--  DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}"
-+  DESTINATION "${CMAKE_INSTALL_LIBDIR}/${AMD_COMGR_PACKAGE_PREFIX}"
-   RENAME "${AMD_COMGR_CONFIG_NAME}")
- install(EXPORT amd_comgr_export
--  DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}"
-+  DESTINATION "${CMAKE_INSTALL_LIBDIR}/${AMD_COMGR_PACKAGE_PREFIX}"
-   FILE "${AMD_COMGR_TARGETS_NAME}")
- install(FILES
-   "${AMD_COMGR_VERSION_PATH}"
--  DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}")
-+  DESTINATION "${CMAKE_INSTALL_LIBDIR}/${AMD_COMGR_PACKAGE_PREFIX}")
- 
- if(TARGET clangFrontendTool)
-   set(CLANG_LIBS
-diff --git a/cmake/DeviceLibs.cmake b/cmake/DeviceLibs.cmake
-index 27e9546..dfe1b57 100644
---- a/cmake/DeviceLibs.cmake
-+++ b/cmake/DeviceLibs.cmake
-@@ -1,8 +1,7 @@
- set(INC_DIR ${CMAKE_CURRENT_BINARY_DIR}/include)
- 
- set(GEN_LIBRARY_INC_FILE ${INC_DIR}/libraries.inc)
--
--file(WRITE ${GEN_LIBRARY_INC_FILE} "// Automatically generated file; DO NOT EDIT.\n")
-+set(GEN_LIBRARY_DEFS_INC_FILE ${INC_DIR}/libraries_defs.inc)
- 
- # cmake does not provide a way to query targets produced by a project,
- # so we have to make one up. Ordinarily, individual library target
-@@ -23,6 +22,7 @@ if(NOT AMD_DEVICE_LIBS_TARGETS)
-   message(FATAL_ERROR "Could not find list of device libraries")
- endif()
- 
-+set(TARGETS_INCLUDES "")
- foreach(AMDGCN_LIB_TARGET ${AMD_DEVICE_LIBS_TARGETS})
-   set(header ${AMDGCN_LIB_TARGET}.inc)
- 
-@@ -54,75 +54,52 @@ foreach(AMDGCN_LIB_TARGET ${AMD_DEVICE_LIBS_TARGETS})
-   add_custom_target(${AMDGCN_LIB_TARGET}_header DEPENDS ${INC_DIR}/${header})
-   add_dependencies(amd_comgr ${AMDGCN_LIB_TARGET}_header)
- 
--  file(APPEND ${GEN_LIBRARY_INC_FILE} "#include \"${header}\"\n")
-+  list(APPEND TARGETS_INCLUDES "#include \"${header}\"")
-+endforeach()
-+
-+list(JOIN TARGETS_INCLUDES "\n" TARGETS_INCLUDES)
-+file(GENERATE OUTPUT ${GEN_LIBRARY_INC_FILE} CONTENT "${TARGETS_INCLUDES}")
-+
-+foreach(OPENCL_VERSION 1.2 2.0)
-+  string(REPLACE . _ OPENCL_UNDERSCORE_VERSION ${OPENCL_VERSION})
-+  add_custom_command(OUTPUT ${INC_DIR}/opencl${OPENCL_VERSION}-c.inc
-+    COMMAND bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl${OPENCL_VERSION}-c.pch
-+                 ${INC_DIR}/opencl${OPENCL_VERSION}-c.inc
-+                 opencl${OPENCL_UNDERSCORE_VERSION}_c
-+    DEPENDS bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl${OPENCL_VERSION}-c.pch
-+    COMMENT "Generating opencl${OPENCL_VERSION}-c.inc"
-+  )
-+  set_property(DIRECTORY APPEND PROPERTY
-+    ADDITIONAL_MAKE_CLEAN_FILES ${INC_DIR}/opencl${OPENCL_VERSION}-c.inc)
-+  add_custom_target(opencl${OPENCL_VERSION}-c.inc_target DEPENDS ${INC_DIR}/opencl${OPENCL_VERSION}-c.inc)
-+  add_dependencies(amd_comgr opencl${OPENCL_VERSION}-c.inc_target)
- endforeach()
- 
--add_custom_command(OUTPUT ${INC_DIR}/opencl1.2-c.inc
--  COMMAND bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.pch
--               ${INC_DIR}/opencl1.2-c.inc
--               opencl1_2_c
--  DEPENDS bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.pch
--  COMMENT "Generating opencl1.2-c.inc"
--)
--set_property(DIRECTORY APPEND PROPERTY
--  ADDITIONAL_MAKE_CLEAN_FILES ${INC_DIR}/opencl1.2-c.inc)
--add_custom_target(opencl1.2-c.inc_target DEPENDS ${INC_DIR}/opencl1.2-c.inc)
--add_dependencies(amd_comgr opencl1.2-c.inc_target)
--file(APPEND ${GEN_LIBRARY_INC_FILE} "#include \"opencl1.2-c.inc\"\n")
--
--add_custom_command(OUTPUT ${INC_DIR}/opencl2.0-c.inc
--  COMMAND bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.pch
--               ${INC_DIR}/opencl2.0-c.inc
--               opencl2_0_c
--  DEPENDS bc2h ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.pch
--  COMMENT "Generating opencl2.0-c.inc"
--)
--set_property(DIRECTORY APPEND PROPERTY
--  ADDITIONAL_MAKE_CLEAN_FILES ${INC_DIR}/opencl2.0-c.inc)
--add_custom_target(opencl2.0-c.inc_target DEPENDS ${INC_DIR}/opencl2.0-c.inc)
--add_dependencies(amd_comgr opencl2.0-c.inc_target)
--file(APPEND ${GEN_LIBRARY_INC_FILE} "#include \"opencl2.0-c.inc\"\n")
--
--# Generate function to select libraries for a given GFXIP number.
--file(APPEND ${GEN_LIBRARY_INC_FILE} "#include \"llvm/ADT/StringRef.h\"\n")
--file(APPEND ${GEN_LIBRARY_INC_FILE}
--  "static std::tuple<const char*, const void*, size_t> get_oclc_isa_version(llvm::StringRef gfxip) {")
-+set(TARGETS_DEFS "")
-+list(APPEND TARGETS_DEFS "#ifndef AMD_DEVICE_LIBS_TARGET\n#define AMD_DEVICE_LIBS_TARGET(t)\n#endif")
-+list(APPEND TARGETS_DEFS "#ifndef AMD_DEVICE_LIBS_GFXIP\n#define AMD_DEVICE_LIBS_GFXIP(t, g)\n#endif")
-+list(APPEND TARGETS_DEFS "#ifndef AMD_DEVICE_LIBS_FUNCTION\n#define AMD_DEVICE_LIBS_FUNCTION(t, f)\n#endif")
-+list(APPEND TARGETS_DEFS "")
- foreach(AMDGCN_LIB_TARGET ${AMD_DEVICE_LIBS_TARGETS})
-+  list(APPEND TARGETS_DEFS "AMD_DEVICE_LIBS_TARGET(${AMDGCN_LIB_TARGET})")
-+  # Generate function to select libraries for a given GFXIP number.
-   if (${AMDGCN_LIB_TARGET} MATCHES "^oclc_isa_version_.+$")
-     string(REGEX REPLACE "^oclc_isa_version_(.+)$" "\\1" gfxip ${AMDGCN_LIB_TARGET})
--    file(APPEND ${GEN_LIBRARY_INC_FILE}
--      "if (gfxip == \"${gfxip}\") return std::make_tuple(\"${AMDGCN_LIB_TARGET}.bc\", ${AMDGCN_LIB_TARGET}_lib, ${AMDGCN_LIB_TARGET}_lib_size);")
-+    list(APPEND TARGETS_DEFS "AMD_DEVICE_LIBS_GFXIP(${AMDGCN_LIB_TARGET}, \"${gfxip}\")")
-   endif()
--endforeach()
--file(APPEND ${GEN_LIBRARY_INC_FILE}
--  "return std::make_tuple(nullptr, nullptr, 0); }")
--
--# Generate function to select libraries for given feature.
--foreach(AMDGCN_LIB_TARGET ${AMD_DEVICE_LIBS_TARGETS})
-+  # Generate function to select libraries for given feature.
-   if (${AMDGCN_LIB_TARGET} MATCHES "^oclc_.*_on$")
-     string(REGEX REPLACE "^oclc_(.*)_on" "\\1" function ${AMDGCN_LIB_TARGET})
--    file(APPEND ${GEN_LIBRARY_INC_FILE}
--      "static std::tuple<const char*, const void*, size_t> get_oclc_${function}(bool on) { \
--       return std::make_tuple( \
--         on ? \"oclc_${function}_on_lib.bc\" : \"oclc_${function}_off_lib.bc\", \
--         on ? oclc_${function}_on_lib : oclc_${function}_off_lib, \
--         on ? oclc_${function}_on_lib_size : oclc_${function}_off_lib_size \
--       ); }")
-+    list(APPEND TARGETS_DEFS "AMD_DEVICE_LIBS_FUNCTION(${AMDGCN_LIB_TARGET}, ${function})")
-   endif()
- endforeach()
- 
--# Generate function yield all libraries.
--file(APPEND ${GEN_LIBRARY_INC_FILE} "\n#include \"llvm/ADT/ArrayRef.h\"\n")
--file(APPEND ${GEN_LIBRARY_INC_FILE}
--  "llvm::ArrayRef<std::tuple<llvm::StringRef, llvm::StringRef>> COMGR::getDeviceLibraries() { \
--   static std::tuple<llvm::StringRef, llvm::StringRef> DeviceLibs[] = {")
--foreach(AMDGCN_LIB_TARGET ${AMD_DEVICE_LIBS_TARGETS})
--  file(APPEND ${GEN_LIBRARY_INC_FILE}
--    "{\"${AMDGCN_LIB_TARGET}.bc\", llvm::StringRef(reinterpret_cast<const char *>(${AMDGCN_LIB_TARGET}_lib), ${AMDGCN_LIB_TARGET}_lib_size)},")
--endforeach()
--file(APPEND ${GEN_LIBRARY_INC_FILE}
--  "}; \
--   return DeviceLibs; \
--   }")
-+list(APPEND TARGETS_DEFS "")
-+list(APPEND TARGETS_DEFS "#undef AMD_DEVICE_LIBS_TARGET")
-+list(APPEND TARGETS_DEFS "#undef AMD_DEVICE_LIBS_GFXIP")
-+list(APPEND TARGETS_DEFS "#undef AMD_DEVICE_LIBS_FUNCTION")
-+
-+list(JOIN TARGETS_DEFS "\n" TARGETS_DEFS)
-+file(GENERATE OUTPUT ${GEN_LIBRARY_DEFS_INC_FILE} CONTENT "${TARGETS_DEFS}")
- 
- include_directories(${INC_DIR})
-diff --git a/cmake/bc2h.cmake b/cmake/bc2h.cmake
-index 146fe2b..9134985 100644
---- a/cmake/bc2h.cmake
-+++ b/cmake/bc2h.cmake
-@@ -1,40 +1,41 @@
--file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bc2h.c
--"#include <stdio.h>\n"
--"int main(int argc, char **argv){\n"
--"    FILE *ifp, *ofp;\n"
--"    int c, i, l;\n"
--"    if (argc != 4) return 1;\n"
--"    ifp = fopen(argv[1], \"rb\");\n"
--"    if (!ifp) return 1;\n"
--"    i = fseek(ifp, 0, SEEK_END);\n"
--"    if (i < 0) return 1;\n"
--"    l = ftell(ifp);\n"
--"    if (l < 0) return 1;\n"
--"    i = fseek(ifp, 0, SEEK_SET);\n"
--"    if (i < 0) return 1;\n"
--"    ofp = fopen(argv[2], \"wb+\");\n"
--"    if (!ofp) return 1;\n"
--"    fprintf(ofp, \"#define %s_size %d\\n\\n\"\n"
--"                 \"#if defined __GNUC__\\n\"\n"
--"                 \"__attribute__((aligned (4096)))\\n\"\n"
--"                 \"#elif defined _MSC_VER\\n\"\n"
--"                 \"__declspec(align(4096))\\n\"\n"
--"                 \"#endif\\n\"\n"
--"                 \"static const unsigned char %s[%s_size+1] = {\",\n"
--"                 argv[3], l,\n"
--"                 argv[3], argv[3]);\n"
--"    i = 0;\n"
--"    while ((c = getc(ifp)) != EOF) {\n"
--"        if (0 == (i&7)) fprintf(ofp, \"\\n   \");\n"
--"        fprintf(ofp, \" 0x%02x,\", c);\n"
--"        ++i;\n"
--"    }\n"
--"    fprintf(ofp, \" 0x00\\n};\\n\\n\");\n"
--"    fclose(ifp);\n"
--"    fclose(ofp);\n"
--"    return 0;\n"
--"}\n"
--)
-+file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bc2h.c
-+  CONTENT
-+"#include <stdio.h>
-+int main(int argc, char **argv){
-+    FILE *ifp, *ofp;
-+    int c, i, l;
-+    if (argc != 4) return 1;
-+    ifp = fopen(argv[1], \"rb\");
-+    if (!ifp) return 1;
-+    i = fseek(ifp, 0, SEEK_END);
-+    if (i < 0) return 1;
-+    l = ftell(ifp);
-+    if (l < 0) return 1;
-+    i = fseek(ifp, 0, SEEK_SET);
-+    if (i < 0) return 1;
-+    ofp = fopen(argv[2], \"wb+\");
-+    if (!ofp) return 1;
-+    fprintf(ofp, \"#define %s_size %d\\n\\n\"
-+                 \"#if defined __GNUC__\\n\"
-+                 \"__attribute__((aligned (4096)))\\n\"
-+                 \"#elif defined _MSC_VER\\n\"
-+                 \"__declspec(align(4096))\\n\"
-+                 \"#endif\\n\"
-+                 \"static const unsigned char %s[%s_size+1] = {\",
-+                 argv[3], l,
-+                 argv[3], argv[3]);
-+    i = 0;
-+    while ((c = getc(ifp)) != EOF) {
-+        if (0 == (i&7)) fprintf(ofp, \"\\n   \");
-+        fprintf(ofp, \" 0x%02x,\", c);
-+        ++i;
-+    }
-+    fprintf(ofp, \" 0x00\\n};\\n\\n\");
-+    fclose(ifp);
-+    fclose(ofp);
-+    return 0;
-+}
-+")
- 
- add_executable(bc2h ${CMAKE_CURRENT_BINARY_DIR}/bc2h.c)
- if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
-diff --git a/src/comgr-device-libs.cpp b/src/comgr-device-libs.cpp
-index 4d2b914..80786d1 100644
---- a/src/comgr-device-libs.cpp
-+++ b/src/comgr-device-libs.cpp
-@@ -35,7 +35,7 @@
- 
- #include "comgr-device-libs.h"
- #include "comgr.h"
--#include "libraries.inc"
-+#include "comgr-libraries.h"
- #include "llvm/ADT/StringSwitch.h"
- #include <cstdint>
- 
-diff --git a/src/comgr-libraries.h b/src/comgr-libraries.h
-new file mode 100644
-index 0000000..3caa0a0
---- /dev/null
-+++ b/src/comgr-libraries.h
-@@ -0,0 +1,34 @@
-+#include "libraries.inc"
-+#include "opencl1.2-c.inc"
-+#include "opencl2.0-c.inc"
-+#include "llvm/ADT/StringRef.h"
-+#include "llvm/ADT/ArrayRef.h"
-+
-+static std::tuple<const char*, const void*, size_t> get_oclc_isa_version(llvm::StringRef gfxip) {
-+#define AMD_DEVICE_LIBS_GFXIP(target, target_gfxip) \
-+  if (gfxip == target_gfxip) return std::make_tuple(#target ".bc", target##_lib, target##_lib_size);
-+#include "libraries_defs.inc"
-+
-+  return std::make_tuple(nullptr, nullptr, 0);
-+}
-+
-+#define AMD_DEVICE_LIBS_FUNCTION(target, function) \
-+  static std::tuple<const char*, const void*, size_t> get_oclc_##function(bool on) { \
-+    return std::make_tuple( \
-+      on ? "oclc_" #function "_on_lib.bc" : "oclc_" #function "_off_lib.bc", \
-+      on ? oclc_##function##_on_lib : oclc_##function##_off_lib, \
-+      on ? oclc_##function##_on_lib_size : oclc_##function##_off_lib_size \
-+    ); \
-+  }
-+#include "libraries_defs.inc"
-+
-+llvm::ArrayRef<std::tuple<llvm::StringRef, llvm::StringRef>> COMGR::getDeviceLibraries() {
-+  static std::tuple<llvm::StringRef, llvm::StringRef> DeviceLibs[] = {
-+#define AMD_DEVICE_LIBS_TARGET(target) \
-+    {#target ".bc", llvm::StringRef(reinterpret_cast<const char *>(target##_lib), target##_lib_size)},
-+#include "libraries_defs.inc"
-+  };
-+  return DeviceLibs;
-+}
-+
-+
diff --git a/pkgs/development/libraries/rocm-core/default.nix b/pkgs/development/libraries/rocm-core/default.nix
deleted file mode 100644
index 9f1a4ab4ccf57..0000000000000
--- a/pkgs/development/libraries/rocm-core/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, runCommand
-, substituteAll
-, cmake
-}:
-
-let
-  rocm_version = with lib; concatStrings (intersperse "0" (splitString "." stdenv.cc.version));
-in stdenv.mkDerivation (finalAttrs: {
-  pname = "rocm-core";
-  version = stdenv.cc.version;
-
-  # Based on https://github.com/rocm-arch/rocm-arch/tree/ad0b15690d403e5822db062ffff4db3912de6669/rocm-core
-  src = let
-    rocm_major = lib.versions.major finalAttrs.version;
-    rocm_minor = lib.versions.minor finalAttrs.version;
-    rocm_patch = lib.versions.patch finalAttrs.version;
-
-    cmake_lists = substituteAll {
-      inherit rocm_version;
-      src = ./src/CMakeLists.txt;
-    };
-
-    version_c = substituteAll {
-      inherit rocm_major rocm_minor rocm_patch;
-      src = ./src/rocm_version.c;
-    };
-
-    version_h = substituteAll {
-      inherit rocm_major rocm_minor rocm_patch;
-      src = ./src/rocm_version.h;
-    };
-  in runCommand "rocm-core-${finalAttrs.version}-source" { preferLocalBuild = true; } ''
-    mkdir -p $out/rocm-core
-    ln -s ${cmake_lists} $out/CMakeLists.txt
-    ln -s ${version_c} $out/rocm_version.c
-    ln -s ${version_h} $out/rocm-core/rocm_version.h
-  '';
-
-  nativeBuildInputs = [ cmake ];
-
-  postInstall = ''
-    mkdir -p $out/include
-    cp -a ../rocm-core $out/include
-    ln -s $out/include/rocm-core/rocm_version.h $out/include
-    ln -s $out/lib/librocm-core.so.1.0.${rocm_version} $out/lib/librocm-core.so.1
-  '';
-
-  meta = with lib; {
-    description = "ROCm core";
-    homepage = "https://docs.amd.com";
-    license = with licenses; [ ncsa ]; # See src/rocm_version.h
-    maintainers = teams.rocm.members;
-    platforms = platforms.linux;
-  };
-})
diff --git a/pkgs/development/libraries/rocm-core/src/CMakeLists.txt b/pkgs/development/libraries/rocm-core/src/CMakeLists.txt
deleted file mode 100644
index b2d9fc1f53b89..0000000000000
--- a/pkgs/development/libraries/rocm-core/src/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake_minimum_required(VERSION 3.23)
-project(rocm-core)
-add_library(rocm-core SHARED rocm_version.c)
-set_target_properties(rocm-core PROPERTIES VERSION "1.0.@rocm_version@")
-install(TARGETS rocm-core LIBRARY DESTINATION lib)
diff --git a/pkgs/development/libraries/rocm-core/src/rocm_version.c b/pkgs/development/libraries/rocm-core/src/rocm_version.c
deleted file mode 100644
index a35dfc6a72c8d..0000000000000
--- a/pkgs/development/libraries/rocm-core/src/rocm_version.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "rocm-core/rocm_version.h"
-
-VerErrors getROCmVersion(unsigned int *Major, unsigned int *Minor,
-                         unsigned int *Patch) {
-  *Major = @rocm_major@;
-  *Minor = @rocm_minor@;
-  *Patch = @rocm_patch@;
-
-  return 0;
-}
diff --git a/pkgs/development/libraries/rocm-core/src/rocm_version.h b/pkgs/development/libraries/rocm-core/src/rocm_version.h
deleted file mode 100644
index d112a68b8653d..0000000000000
--- a/pkgs/development/libraries/rocm-core/src/rocm_version.h
+++ /dev/null
@@ -1,82 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// The University of Illinois/NCSA
-// Open Source License (NCSA)
-//
-// Copyright (c) 2014-2021, Advanced Micro Devices, Inc. All rights reserved.
-//
-// Developed by:
-//
-//                 AMD Research and AMD HSA Software Development
-//
-//                 Advanced Micro Devices, Inc.
-//
-//                 www.amd.com
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to
-// deal with the Software without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following conditions:
-//
-//  - Redistributions of source code must retain the above copyright notice,
-//    this list of conditions and the following disclaimers.
-//  - Redistributions in binary form must reproduce the above copyright
-//    notice, this list of conditions and the following disclaimers in
-//    the documentation and/or other materials provided with the distribution.
-//  - Neither the names of Advanced Micro Devices, Inc,
-//    nor the names of its contributors may be used to endorse or promote
-//    products derived from this Software without specific prior written
-//    permission.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS WITH THE SOFTWARE.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-
-#ifndef _ROCM_VERSION_H_
-#define _ROCM_VERSION_H_
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif  /* __cplusplus */
-
-
-#define ROCM_VERSION_MAJOR   @rocm_major@
-#define ROCM_VERSION_MINOR   @rocm_minor@
-#define ROCM_VERSION_PATCH   @rocm_patch@
-
-
-typedef enum {
-	VerSuccess=0,
-	VerIncorrecPararmeters,
-	VerValuesNotDefined,
-	VerErrorMAX		//This should always be last value in the enumerations
-} VerErrors;
-
-
-//  API for getting the verion
-//  Return val :  VerErros : API execution status.  The parameters are valid only when the exetution status is SUCCESS==0
-VerErrors getROCmVersion(unsigned int* Major, unsigned int* Minor, unsigned int* Patch) __attribute__((nonnull)) ;
-//  Usage :
-//  int mj=0,mn=0,p=0,ret=0;
-//  ret=getROCMVersion(&mj,&mn,&p);
-//  if(ret !=VerSuccess )  // error occured
-//
-//  check for the values and
-//
-
-
-#ifdef __cplusplus
-}  // end extern "C" block
-#endif
-
-#endif  //_ROCM_VERSION_H_  header guard
diff --git a/pkgs/development/libraries/rocm-opencl-icd/default.nix b/pkgs/development/libraries/rocm-opencl-icd/default.nix
deleted file mode 100644
index 4602d3646e474..0000000000000
--- a/pkgs/development/libraries/rocm-opencl-icd/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, stdenv
-, callPackage
-, rocm-opencl-runtime
-}:
-
-stdenv.mkDerivation rec {
-  pname = "rocm-opencl-icd";
-  version = rocm-opencl-runtime.version;
-
-  dontUnpack = true;
-
-  installPhase = ''
-    mkdir -p $out/etc/OpenCL/vendors
-    echo "${rocm-opencl-runtime}/lib/libamdocl64.so" > $out/etc/OpenCL/vendors/amdocl64.icd
-  '';
-
-  passthru.impureTests = { rocm-opencl = callPackage ./test.nix { }; };
-
-  meta = with lib; {
-    description = "OpenCL ICD definition for AMD GPUs using the ROCm stack";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
deleted file mode 100644
index ebdb4e3177d79..0000000000000
--- a/pkgs/development/libraries/rocm-opencl-runtime/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rocmUpdateScript
-, addOpenGLRunpath
-, cmake
-, rocm-comgr
-, rocm-runtime
-, rocclr
-, glew
-, libX11
-, numactl
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rocm-opencl-runtime";
-  version = "5.4.4";
-
-  src = fetchFromGitHub {
-    owner = "RadeonOpenCompute";
-    repo = "ROCm-OpenCL-Runtime";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-E1+Y/fgp5b+7H1LN+O1fwVi0/XRCgvsiSxTY3u/q+8I=";
-  };
-
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [
-    rocm-comgr
-    rocm-runtime
-    glew
-    libX11
-    numactl
-  ];
-
-  cmakeFlags = [
-    "-DAMD_OPENCL_PATH=${finalAttrs.src}"
-    "-DROCCLR_PATH=${rocclr}"
-  ];
-
-  dontStrip = true;
-
-  # Remove clinfo, which is already provided through the
-  # `clinfo` package.
-  postInstall = ''
-    rm -rf $out/bin
-  '';
-
-  # Fix the ICD installation path for NixOS
-  postPatch = ''
-    substituteInPlace khronos/icd/loader/linux/icd_linux.c \
-      --replace 'ICD_VENDOR_PATH' '"${addOpenGLRunpath.driverLink}/etc/OpenCL/vendors/"'
-  '';
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  meta = with lib; {
-    description = "OpenCL runtime for AMD GPUs, part of the ROCm stack";
-    homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime";
-    license = with licenses; [ asl20 mit ];
-    maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members;
-    platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
-  };
-})
diff --git a/pkgs/development/libraries/rocprofiler/0000-dont-require-hsa_amd_aqlprofile.patch b/pkgs/development/libraries/rocprofiler/0000-dont-require-hsa_amd_aqlprofile.patch
deleted file mode 100644
index b70163b08e487..0000000000000
--- a/pkgs/development/libraries/rocprofiler/0000-dont-require-hsa_amd_aqlprofile.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/util/hsa_rsrc_factory.cpp b/src/util/hsa_rsrc_factory.cpp
-index 643ff16..c08d98f 100644
---- a/src/util/hsa_rsrc_factory.cpp
-+++ b/src/util/hsa_rsrc_factory.cpp
-@@ -127,15 +127,6 @@ HsaRsrcFactory::HsaRsrcFactory(bool initialize_hsa) : initialize_hsa_(initialize
-   if (cpu_pool_ == NULL) CHECK_STATUS("CPU memory pool is not found", HSA_STATUS_ERROR);
-   if (kern_arg_pool_ == NULL) CHECK_STATUS("Kern-arg memory pool is not found", HSA_STATUS_ERROR);
-
--  // Get AqlProfile API table
--  aqlprofile_api_ = {0};
--#ifdef ROCP_LD_AQLPROFILE
--  status = LoadAqlProfileLib(&aqlprofile_api_);
--#else
--  status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_AQLPROFILE, hsa_ven_amd_aqlprofile_VERSION_MAJOR, sizeof(aqlprofile_api_), &aqlprofile_api_);
--#endif
--  CHECK_STATUS("aqlprofile API table load failed", status);
--
-   // Get Loader API table
-   loader_api_ = {0};
-   status = hsa_api_.hsa_system_get_major_extension_table(HSA_EXTENSION_AMD_LOADER, 1, sizeof(loader_api_), &loader_api_);
diff --git a/pkgs/development/libraries/rocprofiler/default.nix b/pkgs/development/libraries/rocprofiler/default.nix
deleted file mode 100644
index e7e0c9fed6502..0000000000000
--- a/pkgs/development/libraries/rocprofiler/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, rocmUpdateScript
-, cmake
-, rocm-runtime
-, rocm-thunk
-, roctracer
-, numactl
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "rocprofiler";
-  version = "5.4.3";
-
-  src = fetchFromGitHub {
-    owner = "ROCm-Developer-Tools";
-    repo = "rocprofiler";
-    rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-CpD/+soMN8WTeSb5X7dsnZ596PMkw+4EVsVSvFtKCak=";
-  };
-
-  patches = [ ./0000-dont-require-hsa_amd_aqlprofile.patch ];
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [
-    rocm-thunk
-    rocm-runtime
-    numactl
-  ];
-
-  cmakeFlags = [
-    "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext"
-    # Manually define CMAKE_INSTALL_<DIR>
-    # See: https://github.com/NixOS/nixpkgs/pull/197838
-    "-DCMAKE_INSTALL_BINDIR=bin"
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-    "-DCMAKE_INSTALL_INCLUDEDIR=include"
-  ];
-
-  postPatch = ''
-    patchShebangs bin test
-
-    substituteInPlace cmake_modules/env.cmake \
-      --replace "FATAL_ERROR \"AQL_PROFILE" "WARNING \"AQL_PROFILE"
-  '';
-
-  postInstall = ''
-    patchelf --set-rpath $out/lib:${lib.makeLibraryPath finalAttrs.buildInputs} $out/lib/rocprofiler/librocprof-tool.so
-  '';
-
-  passthru.updateScript = rocmUpdateScript {
-    name = finalAttrs.pname;
-    owner = finalAttrs.src.owner;
-    repo = finalAttrs.src.repo;
-  };
-
-  meta = with lib; {
-    description = "Profiling with perf-counters and derived metrics";
-    homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler";
-    license = with licenses; [ mit ]; # mitx11
-    maintainers = teams.rocm.members;
-    platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
-  };
-})
diff --git a/pkgs/development/libraries/science/chemistry/tblite/python.nix b/pkgs/development/libraries/science/chemistry/tblite/python.nix
index f19c3377b1785..8bf30f9700565 100644
--- a/pkgs/development/libraries/science/chemistry/tblite/python.nix
+++ b/pkgs/development/libraries/science/chemistry/tblite/python.nix
@@ -47,12 +47,5 @@ buildPythonPackage {
 
   format = "other";
   pythonImportsCheck = [ "tblite" "tblite.interface" ];
-  configurePhase = ''
-    runHook preConfigure
-
-    meson setup build -Dpython=true --prefix=$out
-    cd build
-
-    runHook postConfigure
-  '';
+  mesonFlags = [ "-Dpython=true" ];
 }
diff --git a/pkgs/development/libraries/science/math/amd-blis/default.nix b/pkgs/development/libraries/science/math/amd-blis/default.nix
index 962e8e8e6acef..f6d00411221c8 100644
--- a/pkgs/development/libraries/science/math/amd-blis/default.nix
+++ b/pkgs/development/libraries/science/math/amd-blis/default.nix
@@ -6,10 +6,10 @@
 # Enable BLAS interface with 64-bit integer width.
 , blas64 ? false
 
-# Target architecture. "amd64" compiles kernels for all Zen
+# Target architecture. "amdzen" compiles kernels for all Zen
 # generations. To build kernels for specific Zen generations,
-# use "zen", "zen2", or "zen3".
-, withArchitecture ? "amd64"
+# use "zen", "zen2", "zen3", or "zen4".
+, withArchitecture ? "amdzen"
 
 # Enable OpenMP-based threading.
 , withOpenMP ? true
@@ -18,15 +18,16 @@
 let
   threadingSuffix = lib.optionalString withOpenMP "-mt";
   blasIntSize = if blas64 then "64" else "32";
+
 in stdenv.mkDerivation rec {
   pname = "amd-blis";
-  version = "3.0";
+  version = "4.1";
 
   src = fetchFromGitHub {
     owner = "amd";
     repo = "blis";
     rev = version;
-    hash = "sha256-bbbeo1yOKse9pzbsB6lQ7pULKdzu3G7zJzTUgPXiMZY=";
+    hash = "sha256-1vd4uBg/+Vufqsr+MnAWSUW/THkribHNSMeq1/is8K4=";
   };
 
   inherit blas64;
@@ -54,8 +55,9 @@ in stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    ln -s $out/lib/libblis${threadingSuffix}.so.3 $out/lib/libblas.so.3
-    ln -s $out/lib/libblis${threadingSuffix}.so.3 $out/lib/libcblas.so.3
+    ls $out/lib
+    ln -s $out/lib/libblis${threadingSuffix}.so $out/lib/libblas.so.3
+    ln -s $out/lib/libblis${threadingSuffix}.so $out/lib/libcblas.so.3
     ln -s $out/lib/libblas.so.3 $out/lib/libblas.so
     ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so
   '';
diff --git a/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff b/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff
deleted file mode 100644
index 3e3ef1e60ff50..0000000000000
--- a/pkgs/development/libraries/science/math/amd-libflame/add-lapacke.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 5549ce30..ac2ee51e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -583,14 +583,14 @@ endif
- 
- # --- Shared library linker rules ---
- 
--$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS)
-+$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS) $(LAPACKE_A_PATH)
- ifeq ($(ENABLE_VERBOSE),yes)
- ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
- 	$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
- ifeq ($(OS_NAME),Darwin)
--	$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
-+	$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
- else
--	$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
-+	$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH)--no-whole-archive $(LDFLAGS)
- endif
- else
- #	NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in
-@@ -602,9 +602,9 @@ else
- ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
- 	@$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
- ifeq ($(OS_NAME),Darwin)
--	@$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
-+	@$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
- else
--	@$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
-+	@$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH),--no-whole-archive $(LDFLAGS)
- endif
- else
- #	NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in
diff --git a/pkgs/development/libraries/science/math/amd-libflame/default.nix b/pkgs/development/libraries/science/math/amd-libflame/default.nix
index a5b6573794118..2ed35d26b9073 100644
--- a/pkgs/development/libraries/science/math/amd-libflame/default.nix
+++ b/pkgs/development/libraries/science/math/amd-libflame/default.nix
@@ -1,78 +1,62 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, cmake
 , gfortran
 , python3
 , amd-blis
+, aocl-utils
 
 , withOpenMP ? true
 , blas64 ? false
+, withAMDOpt ? false
 }:
 
-# right now only LP64 is supported
-assert !blas64;
-
 stdenv.mkDerivation rec {
   pname = "amd-libflame";
-  version = "3.0";
+  version = "4.1";
 
   src = fetchFromGitHub {
     owner = "amd";
     repo = "libflame";
     rev = version;
-    hash = "sha256-jESae5NqANw90RBbIHH2oGEq5/mudc4IONv50P/AeQ0=";
+    hash = "sha256-SZk11oOAnvn1vb7ucX6U9b0YtAJNxl3tQu4ExHpwwoo=";
   };
 
-  patches = [
-    # The LAPACKE interface is compiled as a separate static library,
-    # we want the main dynamic library to provide LAPACKE symbols.
-    # This patch adds lapacke.a to the shared library as well.
-    ./add-lapacke.diff
-  ];
-
-  passthru = { inherit blas64; };
-
-  nativeBuildInputs = [ gfortran python3 ];
+  postPatch = ''
+    patchShebangs build
 
-  buildInputs = [ amd-blis ];
+    # Enforce reproducible build compiler flags
+    substituteInPlace CMakeLists.txt --replace '-mtune=native' ""
+  '';
 
-  configureFlags = [
-    # Build a dynamic library with a LAPACK interface.
-    "--disable-static-build"
-    "--enable-dynamic-build"
-    "--enable-lapack2flame"
+  passthru = { inherit blas64; };
 
-    # Use C BLAS interface.
-    "--enable-cblas-interfaces"
+  nativeBuildInputs = [ cmake gfortran python3 ];
 
-    # Avoid overloading maximum number of arguments.
-    "--enable-max-arg-list-hack"
+  buildInputs = [ amd-blis aocl-utils ];
 
-    # libflame by default leaves BLAS symbols unresolved and leaves it
-    # up to the application to explicitly link to a BLAS. This is
-    # problematic for us, since then the BLAS library becomes an
-    # implicit dependency. Moreover, since the point of the AMD forks
-    # is to optimized for recent AMD CPUs, link against AMD BLIS.
-    "LDFLAGS=-lcblas"
+  cmakeFlags = [
+    "-DLIBAOCLUTILS_LIBRARY_PATH=${lib.getLib aocl-utils}/lib"
+    "-DLIBAOCLUTILS_INCLUDE_PATH=${lib.getDev aocl-utils}/include"
+    "-DENABLE_BUILTIN_LAPACK2FLAME=ON"
+    "-DENABLE_CBLAS_INTERFACES=ON"
+    "-DENABLE_EXT_LAPACK_INTERFACE=ON"
   ]
-  ++ lib.optionals withOpenMP [ "--enable-multithreading=openmp" ];
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    patchShebangs build
-  '';
+  ++ lib.optional (!withOpenMP) "ENABLE_MULTITHREADING=OFF"
+  ++ lib.optional blas64 "ENABLE_ILP64=ON"
+  ++ lib.optional withAMDOpt "ENABLE_AMD_OPT=ON";
 
   postInstall = ''
-    ln -s $out/lib/libflame.so.${version} $out/lib/liblapack.so.3
-    ln -s $out/lib/libflame.so.${version} $out/lib/liblapacke.so.3
+    ln -s $out/lib/libflame.so $out/lib/liblapack.so.3
+    ln -s $out/lib/libflame.so $out/lib/liblapacke.so.3
   '';
 
   meta = with lib; {
     description = "LAPACK-compatible linear algebra library optimized for AMD CPUs";
     homepage = "https://developer.amd.com/amd-aocl/blas-library/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = [ maintainers.markuskowa ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/magma/generic.nix b/pkgs/development/libraries/science/math/magma/generic.nix
index b3753a63339ac..e9712ffb62ad9 100644
--- a/pkgs/development/libraries/science/math/magma/generic.nix
+++ b/pkgs/development/libraries/science/math/magma/generic.nix
@@ -18,15 +18,12 @@
 , gfortran
 , cudaCapabilities ? cudaPackages.cudaFlags.cudaCapabilities
 , gpuTargets ? [ ] # Non-CUDA targets, that is HIP
-, hip
-, hipblas
-, hipsparse
+, rocmPackages
 , lapack
 , lib
 , libpthreadstubs
 , magmaRelease
 , ninja
-, openmp
 , rocmSupport ? false
 , static ? false
 , stdenv
@@ -47,7 +44,7 @@ let
   # NOTE: The hip.gpuTargets are prefixed with "gfx" instead of "sm" like cudaFlags.realArches.
   #   For some reason, Magma's CMakeLists.txt file does not handle the "gfx" prefix, so we must
   #   remove it.
-  rocmArches = lists.map (x: strings.removePrefix "gfx" x) hip.gpuTargets;
+  rocmArches = lists.map (x: strings.removePrefix "gfx" x) rocmPackages.clr.gpuTargets;
   supportedRocmArches = lists.intersectLists rocmArches supportedGpuTargets;
   unsupportedRocmArches = lists.subtractLists supportedRocmArches rocmArches;
 
@@ -125,10 +122,10 @@ stdenv.mkDerivation {
   ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
     cuda_profiler_api.dev # <cuda_profiler_api.h>
   ]) ++ lists.optionals rocmSupport [
-    hip
-    hipblas
-    hipsparse
-    openmp
+    rocmPackages.clr
+    rocmPackages.hipblas
+    rocmPackages.hipsparse
+    rocmPackages.llvm.openmp
   ];
 
   cmakeFlags = [
@@ -142,8 +139,8 @@ stdenv.mkDerivation {
     "-DCMAKE_CXX_COMPILER=${backendStdenv.cc}/bin/c++"
     "-DMAGMA_ENABLE_CUDA=ON"
   ] ++ lists.optionals rocmSupport [
-    "-DCMAKE_C_COMPILER=${hip}/bin/hipcc"
-    "-DCMAKE_CXX_COMPILER=${hip}/bin/hipcc"
+    "-DCMAKE_C_COMPILER=${rocmPackages.clr}/bin/hipcc"
+    "-DCMAKE_CXX_COMPILER=${rocmPackages.clr}/bin/hipcc"
     "-DMAGMA_ENABLE_HIP=ON"
   ];
 
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index 88b1d1ade1744..411622c26a444 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0YxmixUTXpjegZQv7DDCNTWFTH8QEWqQQszee7aQ5EI=";
+    hash = "sha256-SJSFJEFu1qKowX5/98MslN7GFDS8aF5+EKkQ2983Azg=";
   };
 
   nativeBuildInputs = [ cmake swig4 ];
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 47a512b56a8c3..9201265563664 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "6.6.0";
+  version = "6.6.1";
 
   outputs = [ "out" "examples" ];
 
   src = fetchurl {
     url = "https://github.com/LLNL/sundials/releases/download/v${version}/sundials-${version}.tar.gz";
-    hash = "sha256-+QApuNqEbI+v9VMP0fpIRweRiNBAVU9VwdXR4EdD0p0=";
+    hash = "sha256-IfceSu+VsY+VTIu9yQtih3RDlQUz1ZXGgFGrdot2mEs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/the-foundation/default.nix b/pkgs/development/libraries/the-foundation/default.nix
index 69d88f508dacd..9b0fe4de9e44b 100644
--- a/pkgs/development/libraries/the-foundation/default.nix
+++ b/pkgs/development/libraries/the-foundation/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "the-foundation";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitea {
     domain = "git.skyjake.fi";
     owner = "skyjake";
     repo = "the_Foundation";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-GOvdnmutSQcsNT57tADLSkJAUX0JDVsualII+y21a+I=";
+    hash = "sha256-6bEd8KzOfBse5sQ2zp+cZtEAu8xIl3GqrpxSZ7h/edI=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index dc849677a5848..f6c49b9cfb690 100644
--- a/pkgs/development/libraries/tracker-miners/default.nix
+++ b/pkgs/development/libraries/tracker-miners/default.nix
@@ -47,11 +47,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker-miners";
-  version = "3.5.2";
+  version = "3.5.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "QPuR+svZRo4m6+zHEdg2Mc2K6TkcYV1o27A8vKsbbGk=";
+    hash = "sha256-drjVB3EOiX6FPsN/Ju906XqVU3CLYLjEE0lF+bgWU8s=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index a6dfb9f85c80d..c956a3333a036 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -4,7 +4,7 @@
 , enableCuda ? config.cudaSupport
 , cudatoolkit
 , enableRocm ? false
-, rocm-core, rocm-runtime, rocm-device-libs, hip
+, rocmPackages
 }:
 
 let
@@ -13,9 +13,12 @@ let
     inherit (cudatoolkit) name meta;
     paths = [ cudatoolkit cudatoolkit.lib ];
   };
+
+  rocmList = with rocmPackages; [ rocm-core rocm-runtime rocm-device-libs clr ];
+
   rocm = symlinkJoin {
     name = "rocm";
-    paths = [ rocm-core rocm-runtime rocm-device-libs hip ];
+    paths = rocmList;
   };
 
 in
@@ -40,7 +43,7 @@ stdenv.mkDerivation rec {
     rdma-core
     zlib
   ] ++ lib.optional enableCuda cudatoolkit
-  ++ lib.optionals enableRocm [ rocm-core rocm-runtime rocm-device-libs hip ];
+  ++ lib.optionals enableRocm rocmList;
 
   configureFlags = [
     "--with-rdmacm=${lib.getDev rdma-core}"
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 5074aed98d706..e692d58a7c867 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -55,8 +55,14 @@
       fetchSubmodules = true;
     };
 
+    patches = [
+      # Fix `call to undeclared function 'sleep'` with clang 16
+      ./mariadb-connector-odbc-unistd.patch
+    ];
+
     nativeBuildInputs = [ cmake ];
-    buildInputs = [ unixODBC openssl libiconv ];
+    buildInputs = [ unixODBC openssl libiconv zlib ]
+      ++ lib.optionals stdenv.isDarwin [ libkrb5 ];
 
     preConfigure = ''
       # we don't want to build a .pkg
@@ -66,6 +72,7 @@
     '';
 
     cmakeFlags = [
+      "-DWITH_EXTERNAL_ZLIB=ON"
       "-DODBC_LIB_DIR=${lib.getLib unixODBC}/lib"
       "-DODBC_INCLUDE_DIR=${lib.getDev unixODBC}/include"
       "-DWITH_OPENSSL=ON"
diff --git a/pkgs/development/libraries/unixODBCDrivers/mariadb-connector-odbc-unistd.patch b/pkgs/development/libraries/unixODBCDrivers/mariadb-connector-odbc-unistd.patch
new file mode 100644
index 0000000000000..8c976885eb626
--- /dev/null
+++ b/pkgs/development/libraries/unixODBCDrivers/mariadb-connector-odbc-unistd.patch
@@ -0,0 +1,12 @@
+diff -ur a/test/use_result.c b/test/use_result.c
+--- a/test/use_result.c	1969-12-31 19:00:01.000000000 -0500
++++ b/test/use_result.c	2023-09-05 00:08:12.979889343 -0400
+@@ -23,6 +23,8 @@
+   51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+ 
++#include <unistd.h>
++
+ #include "tap.h"
+ 
+ SQLINTEGER my_max_rows= 100;
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 73ff840340060..a9891a9d328c6 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -174,7 +174,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://v8.dev/";
     description = "Google's open source JavaScript engine";
-    maintainers = with maintainers; [ cstrahan proglodyte matthewbauer ];
+    maintainers = with maintainers; [ proglodyte matthewbauer ];
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 57168b2cc17a1..1db2f4ce6d8cf 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -27,6 +27,7 @@
 , libxkbcommon
 , libavif
 , libepoxy
+, libjxl
 , at-spi2-core
 , libxml2
 , libsoup
@@ -34,7 +35,6 @@
 , libxslt
 , harfbuzz
 , libpthreadstubs
-, pcre
 , nettle
 , libtasn1
 , p11-kit
@@ -51,7 +51,6 @@
 , openjpeg
 , geoclue2
 , sqlite
-, enableGLES ? true
 , gst-plugins-base
 , gst-plugins-bad
 , woff2
@@ -71,7 +70,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "webkitgtk";
-  version = "2.40.5";
+  version = "2.42.1";
   name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}";
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -82,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
-    hash = "sha256-feBRomNmhiHZGmGl6xw3cdGnzskABD1K/vBsMmwWA38=";
+    hash = "sha256-b0H6yZidPuUcCMSN4dQ5ze3ey8dX40thgJh9mbFtJJk=";
   };
 
   patches = lib.optionals stdenv.isLinux [
@@ -132,6 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
     enchant2
     libavif
     libepoxy
+    libjxl
     gnutls
     gst-plugins-bad
     gst-plugins-base
@@ -153,7 +153,6 @@ stdenv.mkDerivation (finalAttrs: {
     nettle
     openjpeg
     p11-kit
-    pcre
     sqlite
     woff2
   ] ++ (with xorg; [
@@ -219,8 +218,6 @@ stdenv.mkDerivation (finalAttrs: {
     "-DUSE_GTK4=ON"
   ] ++ lib.optionals (!systemdSupport) [
     "-DENABLE_JOURNALD_LOG=OFF"
-  ] ++ lib.optionals (stdenv.isLinux && enableGLES) [
-    "-DENABLE_GLES2=ON"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch b/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
index f46c0fe8a15c0..48e7d9cca7453 100644
--- a/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
+++ b/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
@@ -3,7 +3,7 @@
 @@ -84,7 +84,7 @@ void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process
  
  #if PLATFORM(WAYLAND)
-     if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
+     if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland && parameters.dmaBufRendererBufferMode.isEmpty()) {
 -        wpe_loader_init("libWPEBackend-fdo-1.0.so.1");
 +        wpe_loader_init("@wpebackend_fdo@/lib/libWPEBackend-fdo-1.0.so.1");
          if (AcceleratedBackingStoreWayland::checkRequirements()) {
diff --git a/pkgs/development/libraries/xsimd/10.nix b/pkgs/development/libraries/xsimd/10.nix
new file mode 100644
index 0000000000000..afea6b94ef372
--- /dev/null
+++ b/pkgs/development/libraries/xsimd/10.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, doctest
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "xsimd";
+  version = "10.0.0";
+
+  src = fetchFromGitHub {
+    owner = "xtensor-stack";
+    repo = "xsimd";
+    rev = finalAttrs.version;
+    sha256 = "sha256-+ewKbce+rjNWQ0nQzm6O4xSwgzizSPpDPidkQYuoSTU=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+  patches = lib.optionals stdenv.isDarwin [
+    # https://github.com/xtensor-stack/xsimd/issues/807
+    ./disable-test_error_gamma-test.patch
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    # https://github.com/xtensor-stack/xsimd/issues/798
+    ./disable-polar-test.patch
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_TESTS=${if (finalAttrs.doCheck && stdenv.hostPlatform == stdenv.buildPlatform) then "ON" else "OFF"}"
+  ];
+
+  doCheck = true;
+  nativeCheckInputs = [
+    doctest
+  ];
+  checkTarget = "xtest";
+
+  meta = with lib; {
+    description = "C++ wrappers for SIMD intrinsics";
+    homepage = "https://github.com/xtensor-stack/xsimd";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ tobim ];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/development/libraries/xsimd/default.nix b/pkgs/development/libraries/xsimd/default.nix
index a481a12932f9e..8b53db0388fe1 100644
--- a/pkgs/development/libraries/xsimd/default.nix
+++ b/pkgs/development/libraries/xsimd/default.nix
@@ -5,13 +5,13 @@
 , doctest
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "xsimd";
   version = "11.1.0";
   src = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xsimd";
-    rev = version;
+    rev = finalAttrs.version;
     sha256 = "sha256-l6IRzndjb95hIcFCCm8zmlNHWtKduqy2t/oml/9Xp+w=";
   };
   patches = [
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = [
-    "-DBUILD_TESTS=${if (doCheck && stdenv.hostPlatform == stdenv.buildPlatform) then "ON" else "OFF"}"
+    "-DBUILD_TESTS=${if (finalAttrs.doCheck && stdenv.hostPlatform == stdenv.buildPlatform) then "ON" else "OFF"}"
   ];
 
   doCheck = true;
@@ -57,4 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ tobim ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/development/libraries/xtensor/default.nix b/pkgs/development/libraries/xtensor/default.nix
index 45c1ce936a6ee..7873da993fde9 100644
--- a/pkgs/development/libraries/xtensor/default.nix
+++ b/pkgs/development/libraries/xtensor/default.nix
@@ -2,36 +2,54 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, gtest
-, xsimd
+, doctest
+, enableAssertions ? false
+, enableBoundChecks ? false # Broadcasts don't pass bound checks
+, nlohmann_json
 , xtl
+# Although this dependency is of the same GitHub organization, xtensor don't
+# support xsimd 11 yet, see:
+# https://github.com/xtensor-stack/xtensor/issues/2721
+, xsimd10
 }:
-stdenv.mkDerivation rec {
+
+stdenv.mkDerivation (finalAttrs: {
   pname = "xtensor";
-  version = "0.23.10";
+  version = "0.24.7";
 
   src = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xtensor";
-    rev = version;
-    sha256 = "1ayrhyh9x33b87ic01b4jzxc8x27yxpxzya5x54ikazvz8p71n14";
+    rev = finalAttrs.version;
+    hash = "sha256-dVbpcBW+jK9nIl5efk5LdKdBm8CkaJWEZ0ZY7ZuApwk=";
   };
 
-  nativeBuildInputs = [ cmake ];
-  propagatedBuildInputs = [ xtl xsimd ];
+  nativeBuildInputs = [
+    cmake
+  ];
+  propagatedBuildInputs = [
+    nlohmann_json
+    xtl
+  ] ++ lib.optionals (!(stdenv.isAarch64 && stdenv.isLinux)) [
+    # xsimd support is broken on aarch64-linux, see:
+    # https://github.com/xtensor-stack/xsimd/issues/945
+    xsimd10
+  ];
 
-  cmakeFlags = [ "-DBUILD_TESTS=ON" ];
+  cmakeFlags = let
+    cmakeBool = x: if x then "ON" else "OFF";
+  in [
+    "-DBUILD_TESTS=${cmakeBool finalAttrs.doCheck}"
+    "-DXTENSOR_ENABLE_ASSERT=${cmakeBool enableAssertions}"
+    "-DXTENSOR_CHECK_DIMENSION=${cmakeBool enableBoundChecks}"
+  ];
 
   doCheck = true;
-  nativeCheckInputs = [ gtest ];
+  nativeCheckInputs = [
+    doctest
+  ];
   checkTarget = "xtest";
 
-  # https://github.com/xtensor-stack/xtensor/issues/2542
-  postPatch = ''
-    substituteInPlace xtensor.pc.in \
-      --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
-  '';
-
   meta = with lib; {
     description = "Multi-dimensional arrays with broadcasting and lazy computing.";
     homepage = "https://github.com/xtensor-stack/xtensor";
@@ -39,4 +57,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ cpcloud ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/development/misc/datafusion/default.nix b/pkgs/development/misc/datafusion/default.nix
index 4bf6f8caca421..847368229c6f9 100644
--- a/pkgs/development/misc/datafusion/default.nix
+++ b/pkgs/development/misc/datafusion/default.nix
@@ -7,19 +7,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "datafusion-cli";
-  version = "22.0.0";
+  version = "31.0.0";
 
   src = fetchFromGitHub {
     name = "datafusion-cli-source";
     owner = "apache";
     repo = "arrow-datafusion";
     rev = version;
-    sha256 = "sha256-TWvbtuLmAdYS8otD2TpVlZx2FJS6DF03U2zM28FNsfc=";
+    sha256 = "sha256-Y7T3jFvdQbbvrNz+BITauDoNBsQCoXGV8Sgtgw3Brnc=";
   };
 
   sourceRoot = "${src.name}/datafusion-cli";
 
-  cargoSha256 = "sha256-muWWVJDKm4rbpCK0SS7Zj6umFoMKGMScEAd2ZyZ5An8=";
+  cargoHash = "sha256-hLAfByc5tnRPTE4iydlFgqc098fSrvIauiAykoU09u0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/nim-packages/atlas/default.nix b/pkgs/development/nim-packages/atlas/default.nix
index aae8d6a16244f..b1c22e776ab58 100644
--- a/pkgs/development/nim-packages/atlas/default.nix
+++ b/pkgs/development/nim-packages/atlas/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildNimPackage, fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, openssl }:
 
 buildNimPackage (final: prev: {
   pname = "atlas";
@@ -10,6 +10,7 @@ buildNimPackage (final: prev: {
     rev = "ab22f997c22a644924c1a9b920f8ce207da9b77f";
     hash = "sha256-TsZ8TriVuKEY9/mV6KR89eFOgYrgTqXmyv/vKu362GU=";
   };
+  buildInputs = [ openssl ];
   prePatch = ''
     rm config.nims
   ''; # never trust a .nims file
diff --git a/pkgs/development/ocaml-modules/algaeff/default.nix b/pkgs/development/ocaml-modules/algaeff/default.nix
index 7877d255a0af2..a146e0f53f518 100644
--- a/pkgs/development/ocaml-modules/algaeff/default.nix
+++ b/pkgs/development/ocaml-modules/algaeff/default.nix
@@ -1,22 +1,26 @@
 { lib
 , buildDunePackage
 , fetchFromGitHub
+, alcotest
+, qcheck-core
 }:
 
 buildDunePackage rec {
   pname = "algaeff";
-  version = "0.2.1";
+  version = "1.1.0";
 
   minimalOCamlVersion = "5.0";
-  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "RedPRL";
     repo = pname;
     rev = version;
-    hash = "sha256-jpnJhF+LN2ef6QPLcCHxcMg3Fr3GSLOnJkZ9ZUIOrlY=";
+    hash = "sha256-7kwQmoT8rpQWPHc+BZQi9fcZhgHxS99158ebXAXlpQ8=";
   };
 
+  doCheck = true;
+  checkInputs = [ alcotest qcheck-core ];
+
   meta = {
     description = "Reusable Effects-Based Components";
     homepage = "https://github.com/RedPRL/algaeff";
diff --git a/pkgs/development/ocaml-modules/containers/data.nix b/pkgs/development/ocaml-modules/containers/data.nix
index 470ed354f25e3..98b6ec750640f 100644
--- a/pkgs/development/ocaml-modules/containers/data.nix
+++ b/pkgs/development/ocaml-modules/containers/data.nix
@@ -1,4 +1,5 @@
 { buildDunePackage, containers
+, ocaml
 , dune-configurator
 , gen, iter, qcheck-core
 , mdx
@@ -7,7 +8,9 @@
 buildDunePackage {
   pname = "containers-data";
 
-  inherit (containers) src version doCheck;
+  inherit (containers) src version;
+
+  doCheck = containers.doCheck && ocaml.meta.branch != "5.0";
 
   buildInputs = [ dune-configurator ];
   nativeCheckInputs = [ mdx.bin ];
diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix
index 7636942033a95..28c380a4616d7 100644
--- a/pkgs/development/ocaml-modules/kafka/default.nix
+++ b/pkgs/development/ocaml-modules/kafka/default.nix
@@ -5,8 +5,6 @@ buildDunePackage rec {
   pname = "kafka";
   version = "0.5";
 
-  useDune2 = true;
-
   src = fetchurl {
     url = "https://github.com/didier-wenzek/ocaml-kafka/releases/download/${version}/kafka-${version}.tbz";
     sha256 = "0m9212yap0a00hd0f61i4y4fna3141p77qj3mm7jl1h4q60jdhvy";
diff --git a/pkgs/development/ocaml-modules/kafka/lwt.nix b/pkgs/development/ocaml-modules/kafka/lwt.nix
index a6cef66b27615..da931d6e8bffd 100644
--- a/pkgs/development/ocaml-modules/kafka/lwt.nix
+++ b/pkgs/development/ocaml-modules/kafka/lwt.nix
@@ -1,13 +1,18 @@
 { buildDunePackage
+, ocaml
+, lib
 , kafka
 , lwt
 , cmdliner
 }:
 
+lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+  "kafka_lwt is not available for OCaml ${ocaml.version}"
+
 buildDunePackage rec {
   pname = "kafka_lwt";
 
-  inherit (kafka) version useDune2 src;
+  inherit (kafka) version src;
 
   buildInputs = [ cmdliner ];
 
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 4033336ae119b..167df30ae3535 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -4,7 +4,7 @@
 
 buildDunePackage rec {
   pname = "lwt";
-  version = "5.6.1";
+  version = "5.7.0";
 
   minimalOCamlVersion = "4.08";
 
@@ -12,16 +12,9 @@ buildDunePackage rec {
     owner = "ocsigen";
     repo = "lwt";
     rev = version;
-    sha256 = "sha256-XstKs0tMwliCyXnP0Vzi5WC27HKJGnATUYtbbQmH1TE=";
+    hash = "sha256-o0wPK6dPdnsr/LzwcSwbIGcL85wkDjdFuEcAxuS/UEs=";
   };
 
-  postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "5.0") ''
-    substituteInPlace src/core/dune \
-      --replace "(libraries bytes)" ""
-    substituteInPlace src/unix/dune \
-      --replace "libraries bigarray lwt" "libraries lwt"
-  '';
-
   nativeBuildInputs = [ cppo ];
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ libev ocplib-endian ];
diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix
index e0c5c269767b4..3a103ad41ae68 100644
--- a/pkgs/development/ocaml-modules/pprint/default.nix
+++ b/pkgs/development/ocaml-modules/pprint/default.nix
@@ -2,15 +2,15 @@
 
 buildDunePackage rec {
   pname = "pprint";
-  version = "20220103";
+  version = "20230830";
 
-  useDune2 = true;
+  minimalOCamlVersion = "4.03";
 
   src = fetchFromGitHub {
     owner = "fpottier";
     repo = pname;
     rev = version;
-    sha256 = "sha256:09y6nwnjldifm47406q1r9987njlk77g4ifqg6qs54dckhr64vax";
+    sha256 = "sha256-avf71vAgCL1MU8O7Q3FNN3wEdCDtbNZP0ipETnn8AqA=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/zelus-gtk/default.nix b/pkgs/development/ocaml-modules/zelus-gtk/default.nix
index c0e0e586066af..759a625d26a2a 100644
--- a/pkgs/development/ocaml-modules/zelus-gtk/default.nix
+++ b/pkgs/development/ocaml-modules/zelus-gtk/default.nix
@@ -7,7 +7,7 @@ buildDunePackage {
   pname = "zelus-gtk";
   inherit (zelus) version src postPatch;
 
-  minimalOCamlVersion = "4.08.1";
+  minimalOCamlVersion = "4.10";
 
   nativeBuildInputs = [
     zelus
diff --git a/pkgs/development/ocaml-modules/zmq/default.nix b/pkgs/development/ocaml-modules/zmq/default.nix
index 267566d7ba0aa..b92d8e6cb8679 100644
--- a/pkgs/development/ocaml-modules/zmq/default.nix
+++ b/pkgs/development/ocaml-modules/zmq/default.nix
@@ -2,19 +2,15 @@
 
 buildDunePackage rec {
   pname = "zmq";
-  version = "5.1.5";
-
-  duneVersion = "3";
+  version = "5.2.1";
 
   src = fetchurl {
-    url = "https://github.com/issuu/ocaml-zmq/releases/download/${version}/zmq-lwt-${version}.tbz";
-    sha256 = "sha256-mUfRPatLPFeSzWDwCIoFaVl85VkvDch4i6pOn3Kme1Y=";
+    url = "https://github.com/issuu/ocaml-zmq/releases/download/${version}/zmq-${version}.tbz";
+    hash = "sha256-hVKfaTrUFqEBsv5hFB7JwsR630M0DKnqhB0QHpxcHKc=";
   };
 
   buildInputs = [ czmq dune-configurator ];
 
-  propagatedBuildInputs = [ stdint ];
-
   meta = {
     description = "ZeroMQ bindings for OCaml";
     license     = lib.licenses.mit;
diff --git a/pkgs/development/ocaml-modules/zmq/lwt.nix b/pkgs/development/ocaml-modules/zmq/lwt.nix
index f6408933452c1..1bbc1b7ad63ec 100644
--- a/pkgs/development/ocaml-modules/zmq/lwt.nix
+++ b/pkgs/development/ocaml-modules/zmq/lwt.nix
@@ -1,9 +1,8 @@
-{ buildDunePackage, zmq, ocaml_lwt }:
+{ buildDunePackage, zmq, lwt }:
 
 buildDunePackage {
   pname = "zmq-lwt";
   inherit (zmq) version src meta;
-  duneVersion = "3";
 
-  propagatedBuildInputs = [ zmq ocaml_lwt ];
+  propagatedBuildInputs = [ zmq lwt ];
 }
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index fd26cc0e48499..40c6dc80fadff 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,19 +1,25 @@
-{ lib, callPackage, fetchgit, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
+{ lib, callPackage, fetchFromGitHub, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
 
 php.buildComposerProject (finalAttrs: {
-  composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix { };
+  # Hash used by ../../../build-support/php/pkgs/composer-phar.nix to
+  # use together with the version from this package to keep the
+  # bootstrap phar file up-to-date together with the end user composer
+  # package.
+  passthru.pharHash = "sha256-mhjho6rby5TBuv1sSpj/kx9LQ6RW70hXUTBGbhnwXdY=";
+
+  composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix {
+    inherit (finalAttrs) version;
+    inherit (finalAttrs.passthru) pharHash;
+  };
 
   pname = "composer";
-  version = "2.6.4";
-
+  version = "2.6.5";
 
-  # We use `fetchgit` instead of `fetchFromGitHub` to ensure the existence
-  # of the `composer.lock` file, which is omitted in the archive downloaded
-  # via `fetchFromGitHub`.
-  src = fetchgit {
-    url = "https://github.com/composer/composer.git";
+  src = fetchFromGitHub {
+    owner = "composer";
+    repo = "composer";
     rev = finalAttrs.version;
-    hash = "sha256-8lylMfTARff+gBZpIRqttmE0jeXdJnLHZKVmqHY3p+s=";
+    hash = "sha256-CKP7CYOuMKpuWdVveET2iLJPKJyCnv5YVjx4DE68UoE=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/development/php-packages/meminfo/default.nix b/pkgs/development/php-packages/meminfo/default.nix
new file mode 100644
index 0000000000000..d170243be20c1
--- /dev/null
+++ b/pkgs/development/php-packages/meminfo/default.nix
@@ -0,0 +1,22 @@
+{ buildPecl, lib, fetchFromGitHub }:
+
+buildPecl rec {
+  version = "unstable-2022-03-25";
+  pname = "meminfo";
+
+  src = fetchFromGitHub {
+    owner = "BitOne";
+    repo = "php-meminfo";
+    rev = "0ab7f5aea96c4dafce27c7e215b4907db2a2f493";
+    hash = "sha256-MO+B+ZNg6OAnxkOtdA15o+G41XbsG1N1WBz7thMCjck=";
+  };
+
+  sourceRoot = "${src.name}/extension";
+
+  meta = {
+    description = "PHP extension to get insight about memory usage";
+    homepage = "https://github.com/BitOne/php-meminfo";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ drupol ];
+  };
+}
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index da0b80ad50e05..63b223b888c11 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,32 +1,20 @@
-{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+{ fetchFromGitHub, lib, php }:
 
-let
+php.buildComposerProject (finalAttrs: {
   pname = "phpstan";
-  version = "1.10.33";
-in
-mkDerivation {
-  inherit pname version;
+  version = "1.10.37";
 
-  src = fetchurl {
-    url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-dFIuCVYmZr6E0181jegKs6d3mA9jPoFqoIY+lyWl7P8=";
+  src = fetchFromGitHub {
+    owner = "phpstan";
+    repo = "phpstan-src";
+    rev = finalAttrs.version;
+    hash = "sha256-y55bfwE3H/oDCwDq3wrClyX8dhk0p6vEl/CMhqN6LkA=";
   };
 
-  dontUnpack = true;
+  vendorHash = "sha256-hjCfrmpn2rYgApenZkHX8fXqPXukh7BVKENkvwIk8Dk=";
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    install -D $src $out/libexec/phpstan/phpstan.phar
-    makeWrapper ${php}/bin/php $out/bin/phpstan \
-      --add-flags "$out/libexec/phpstan/phpstan.phar"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    changelog = "https://github.com/phpstan/phpstan/releases/tag/${version}";
+  meta = {
+    changelog = "https://github.com/phpstan/phpstan/releases/tag/${finalAttrs.version}";
     description = "PHP Static Analysis Tool";
     longDescription = ''
       PHPStan focuses on finding errors in your code without actually
@@ -35,8 +23,8 @@ mkDerivation {
       sense that the correctness of each line of the code can be checked
       before you run the actual line.
     '';
-    license = licenses.mit;
+    license = lib.licenses.mit;
     homepage = "https://github.com/phpstan/phpstan";
-    maintainers = teams.php.members;
+    maintainers = lib.teams.php.members;
   };
-}
+})
diff --git a/pkgs/development/php-packages/psalm/composer.lock b/pkgs/development/php-packages/psalm/composer.lock
new file mode 100644
index 0000000000000..ae51d5aba2117
--- /dev/null
+++ b/pkgs/development/php-packages/psalm/composer.lock
@@ -0,0 +1,4636 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "ee60cb38244924a30b9a4f1eb3dbaa53",
+    "packages": [
+        {
+            "name": "amphp/amp",
+            "version": "v2.6.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/amphp/amp.git",
+                "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
+                "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "amphp/php-cs-fixer-config": "dev-master",
+                "amphp/phpunit-util": "^1",
+                "ext-json": "*",
+                "jetbrains/phpstorm-stubs": "^2019.3",
+                "phpunit/phpunit": "^7 | ^8 | ^9",
+                "psalm/phar": "^3.11@dev",
+                "react/promise": "^2"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.x-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "lib/functions.php",
+                    "lib/Internal/functions.php"
+                ],
+                "psr-4": {
+                    "Amp\\": "lib"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Daniel Lowrey",
+                    "email": "rdlowrey@php.net"
+                },
+                {
+                    "name": "Aaron Piotrowski",
+                    "email": "aaron@trowski.com"
+                },
+                {
+                    "name": "Bob Weinand",
+                    "email": "bobwei9@hotmail.com"
+                },
+                {
+                    "name": "Niklas Keller",
+                    "email": "me@kelunik.com"
+                }
+            ],
+            "description": "A non-blocking concurrency framework for PHP applications.",
+            "homepage": "https://amphp.org/amp",
+            "keywords": [
+                "async",
+                "asynchronous",
+                "awaitable",
+                "concurrency",
+                "event",
+                "event-loop",
+                "future",
+                "non-blocking",
+                "promise"
+            ],
+            "support": {
+                "irc": "irc://irc.freenode.org/amphp",
+                "issues": "https://github.com/amphp/amp/issues",
+                "source": "https://github.com/amphp/amp/tree/v2.6.2"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/amphp",
+                    "type": "github"
+                }
+            ],
+            "time": "2022-02-20T17:52:18+00:00"
+        },
+        {
+            "name": "amphp/byte-stream",
+            "version": "v1.8.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/amphp/byte-stream.git",
+                "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
+                "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
+                "shasum": ""
+            },
+            "require": {
+                "amphp/amp": "^2",
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "amphp/php-cs-fixer-config": "dev-master",
+                "amphp/phpunit-util": "^1.4",
+                "friendsofphp/php-cs-fixer": "^2.3",
+                "jetbrains/phpstorm-stubs": "^2019.3",
+                "phpunit/phpunit": "^6 || ^7 || ^8",
+                "psalm/phar": "^3.11.4"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "lib/functions.php"
+                ],
+                "psr-4": {
+                    "Amp\\ByteStream\\": "lib"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Aaron Piotrowski",
+                    "email": "aaron@trowski.com"
+                },
+                {
+                    "name": "Niklas Keller",
+                    "email": "me@kelunik.com"
+                }
+            ],
+            "description": "A stream abstraction to make working with non-blocking I/O simple.",
+            "homepage": "http://amphp.org/byte-stream",
+            "keywords": [
+                "amp",
+                "amphp",
+                "async",
+                "io",
+                "non-blocking",
+                "stream"
+            ],
+            "support": {
+                "irc": "irc://irc.freenode.org/amphp",
+                "issues": "https://github.com/amphp/byte-stream/issues",
+                "source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/amphp",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-03-30T17:13:30+00:00"
+        },
+        {
+            "name": "composer/pcre",
+            "version": "3.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/composer/pcre.git",
+                "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
+                "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.4 || ^8.0"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "^1.3",
+                "phpstan/phpstan-strict-rules": "^1.1",
+                "symfony/phpunit-bridge": "^5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Composer\\Pcre\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jordi Boggiano",
+                    "email": "j.boggiano@seld.be",
+                    "homepage": "http://seld.be"
+                }
+            ],
+            "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
+            "keywords": [
+                "PCRE",
+                "preg",
+                "regex",
+                "regular expression"
+            ],
+            "support": {
+                "issues": "https://github.com/composer/pcre/issues",
+                "source": "https://github.com/composer/pcre/tree/3.1.0"
+            },
+            "funding": [
+                {
+                    "url": "https://packagist.com",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/composer",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-11-17T09:50:14+00:00"
+        },
+        {
+            "name": "composer/semver",
+            "version": "3.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/composer/semver.git",
+                "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
+                "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.2 || ^7.0 || ^8.0"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "^1.4",
+                "symfony/phpunit-bridge": "^4.2 || ^5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Composer\\Semver\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nils Adermann",
+                    "email": "naderman@naderman.de",
+                    "homepage": "http://www.naderman.de"
+                },
+                {
+                    "name": "Jordi Boggiano",
+                    "email": "j.boggiano@seld.be",
+                    "homepage": "http://seld.be"
+                },
+                {
+                    "name": "Rob Bast",
+                    "email": "rob.bast@gmail.com",
+                    "homepage": "http://robbast.nl"
+                }
+            ],
+            "description": "Semver library that offers utilities, version constraint parsing and validation.",
+            "keywords": [
+                "semantic",
+                "semver",
+                "validation",
+                "versioning"
+            ],
+            "support": {
+                "irc": "ircs://irc.libera.chat:6697/composer",
+                "issues": "https://github.com/composer/semver/issues",
+                "source": "https://github.com/composer/semver/tree/3.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://packagist.com",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/composer",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-08-31T09:50:34+00:00"
+        },
+        {
+            "name": "composer/xdebug-handler",
+            "version": "3.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/composer/xdebug-handler.git",
+                "reference": "ced299686f41dce890debac69273b47ffe98a40c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
+                "reference": "ced299686f41dce890debac69273b47ffe98a40c",
+                "shasum": ""
+            },
+            "require": {
+                "composer/pcre": "^1 || ^2 || ^3",
+                "php": "^7.2.5 || ^8.0",
+                "psr/log": "^1 || ^2 || ^3"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "^1.0",
+                "phpstan/phpstan-strict-rules": "^1.1",
+                "symfony/phpunit-bridge": "^6.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Composer\\XdebugHandler\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "John Stevenson",
+                    "email": "john-stevenson@blueyonder.co.uk"
+                }
+            ],
+            "description": "Restarts a process without Xdebug.",
+            "keywords": [
+                "Xdebug",
+                "performance"
+            ],
+            "support": {
+                "irc": "irc://irc.freenode.org/composer",
+                "issues": "https://github.com/composer/xdebug-handler/issues",
+                "source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://packagist.com",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/composer",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-02-25T21:32:43+00:00"
+        },
+        {
+            "name": "dnoegel/php-xdg-base-dir",
+            "version": "v0.1.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
+                "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+                "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "XdgBaseDir\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "implementation of xdg base directory specification for php",
+            "support": {
+                "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
+                "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
+            },
+            "time": "2019-12-04T15:06:13+00:00"
+        },
+        {
+            "name": "doctrine/deprecations",
+            "version": "1.1.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/deprecations.git",
+                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+                "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1 || ^8.0"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^9",
+                "phpstan/phpstan": "1.4.10 || 1.10.15",
+                "phpstan/phpstan-phpunit": "^1.0",
+                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+                "psalm/plugin-phpunit": "0.18.4",
+                "psr/log": "^1 || ^2 || ^3",
+                "vimeo/psalm": "4.30.0 || 5.12.0"
+            },
+            "suggest": {
+                "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
+            "homepage": "https://www.doctrine-project.org/",
+            "support": {
+                "issues": "https://github.com/doctrine/deprecations/issues",
+                "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+            },
+            "time": "2023-09-27T20:04:15+00:00"
+        },
+        {
+            "name": "felixfbecker/advanced-json-rpc",
+            "version": "v3.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
+                "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
+                "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
+                "shasum": ""
+            },
+            "require": {
+                "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
+                "php": "^7.1 || ^8.0",
+                "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^7.0 || ^8.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "AdvancedJsonRpc\\": "lib/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "ISC"
+            ],
+            "authors": [
+                {
+                    "name": "Felix Becker",
+                    "email": "felix.b@outlook.com"
+                }
+            ],
+            "description": "A more advanced JSONRPC implementation",
+            "support": {
+                "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
+                "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
+            },
+            "time": "2021-06-11T22:34:44+00:00"
+        },
+        {
+            "name": "felixfbecker/language-server-protocol",
+            "version": "v1.5.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
+                "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
+                "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "phpstan/phpstan": "*",
+                "squizlabs/php_codesniffer": "^3.1",
+                "vimeo/psalm": "^4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "LanguageServerProtocol\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "ISC"
+            ],
+            "authors": [
+                {
+                    "name": "Felix Becker",
+                    "email": "felix.b@outlook.com"
+                }
+            ],
+            "description": "PHP classes for the Language Server Protocol",
+            "keywords": [
+                "language",
+                "microsoft",
+                "php",
+                "server"
+            ],
+            "support": {
+                "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
+                "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2"
+            },
+            "time": "2022-03-02T22:36:06+00:00"
+        },
+        {
+            "name": "fidry/cpu-core-counter",
+            "version": "0.5.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/theofidry/cpu-core-counter.git",
+                "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+                "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "require-dev": {
+                "fidry/makefile": "^0.2.0",
+                "phpstan/extension-installer": "^1.2.0",
+                "phpstan/phpstan": "^1.9.2",
+                "phpstan/phpstan-deprecation-rules": "^1.0.0",
+                "phpstan/phpstan-phpunit": "^1.2.2",
+                "phpstan/phpstan-strict-rules": "^1.4.4",
+                "phpunit/phpunit": "^9.5.26 || ^8.5.31",
+                "theofidry/php-cs-fixer-config": "^1.0",
+                "webmozarts/strict-phpunit": "^7.5"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Fidry\\CpuCoreCounter\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Théo FIDRY",
+                    "email": "theo.fidry@gmail.com"
+                }
+            ],
+            "description": "Tiny utility to get the number of CPU cores.",
+            "keywords": [
+                "CPU",
+                "core"
+            ],
+            "support": {
+                "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+                "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/theofidry",
+                    "type": "github"
+                }
+            ],
+            "time": "2022-12-24T12:35:10+00:00"
+        },
+        {
+            "name": "netresearch/jsonmapper",
+            "version": "v4.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/cweiske/jsonmapper.git",
+                "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
+                "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "ext-pcre": "*",
+                "ext-reflection": "*",
+                "ext-spl": "*",
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+                "squizlabs/php_codesniffer": "~3.5"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-0": {
+                    "JsonMapper": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "OSL-3.0"
+            ],
+            "authors": [
+                {
+                    "name": "Christian Weiske",
+                    "email": "cweiske@cweiske.de",
+                    "homepage": "http://github.com/cweiske/jsonmapper/",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Map nested JSON structures onto PHP classes",
+            "support": {
+                "email": "cweiske@cweiske.de",
+                "issues": "https://github.com/cweiske/jsonmapper/issues",
+                "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
+            },
+            "time": "2023-04-09T17:37:40+00:00"
+        },
+        {
+            "name": "nikic/php-parser",
+            "version": "v4.17.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/nikic/PHP-Parser.git",
+                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+                "shasum": ""
+            },
+            "require": {
+                "ext-tokenizer": "*",
+                "php": ">=7.0"
+            },
+            "require-dev": {
+                "ircmaxell/php-yacc": "^0.0.7",
+                "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+            },
+            "bin": [
+                "bin/php-parse"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.9-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "PhpParser\\": "lib/PhpParser"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Nikita Popov"
+                }
+            ],
+            "description": "A PHP parser written in PHP",
+            "keywords": [
+                "parser",
+                "php"
+            ],
+            "support": {
+                "issues": "https://github.com/nikic/PHP-Parser/issues",
+                "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+            },
+            "time": "2023-08-13T19:53:39+00:00"
+        },
+        {
+            "name": "phpdocumentor/reflection-common",
+            "version": "2.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+                "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-2.x": "2.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jaap van Otterdijk",
+                    "email": "opensource@ijaap.nl"
+                }
+            ],
+            "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+            "homepage": "http://www.phpdoc.org",
+            "keywords": [
+                "FQSEN",
+                "phpDocumentor",
+                "phpdoc",
+                "reflection",
+                "static analysis"
+            ],
+            "support": {
+                "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+                "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+            },
+            "time": "2020-06-27T09:03:43+00:00"
+        },
+        {
+            "name": "phpdocumentor/reflection-docblock",
+            "version": "5.3.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+                "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+                "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+                "shasum": ""
+            },
+            "require": {
+                "ext-filter": "*",
+                "php": "^7.2 || ^8.0",
+                "phpdocumentor/reflection-common": "^2.2",
+                "phpdocumentor/type-resolver": "^1.3",
+                "webmozart/assert": "^1.9.1"
+            },
+            "require-dev": {
+                "mockery/mockery": "~1.3.2",
+                "psalm/phar": "^4.8"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "me@mikevanriel.com"
+                },
+                {
+                    "name": "Jaap van Otterdijk",
+                    "email": "account@ijaap.nl"
+                }
+            ],
+            "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+            "support": {
+                "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+            },
+            "time": "2021-10-19T17:43:47+00:00"
+        },
+        {
+            "name": "phpdocumentor/type-resolver",
+            "version": "1.7.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpDocumentor/TypeResolver.git",
+                "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+                "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+                "shasum": ""
+            },
+            "require": {
+                "doctrine/deprecations": "^1.0",
+                "php": "^7.4 || ^8.0",
+                "phpdocumentor/reflection-common": "^2.0",
+                "phpstan/phpdoc-parser": "^1.13"
+            },
+            "require-dev": {
+                "ext-tokenizer": "*",
+                "phpbench/phpbench": "^1.2",
+                "phpstan/extension-installer": "^1.1",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpunit/phpunit": "^9.5",
+                "rector/rector": "^0.13.9",
+                "vimeo/psalm": "^4.25"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-1.x": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "phpDocumentor\\Reflection\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Mike van Riel",
+                    "email": "me@mikevanriel.com"
+                }
+            ],
+            "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+            "support": {
+                "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3"
+            },
+            "time": "2023-08-12T11:01:26+00:00"
+        },
+        {
+            "name": "phpstan/phpdoc-parser",
+            "version": "1.24.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phpstan/phpdoc-parser.git",
+                "reference": "bcad8d995980440892759db0c32acae7c8e79442"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442",
+                "reference": "bcad8d995980440892759db0c32acae7c8e79442",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "require-dev": {
+                "doctrine/annotations": "^2.0",
+                "nikic/php-parser": "^4.15",
+                "php-parallel-lint/php-parallel-lint": "^1.2",
+                "phpstan/extension-installer": "^1.0",
+                "phpstan/phpstan": "^1.5",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpstan/phpstan-strict-rules": "^1.0",
+                "phpunit/phpunit": "^9.5",
+                "symfony/process": "^5.2"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "PHPStan\\PhpDocParser\\": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "PHPDoc parser with support for nullable, intersection and generic types",
+            "support": {
+                "issues": "https://github.com/phpstan/phpdoc-parser/issues",
+                "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2"
+            },
+            "time": "2023-09-26T12:28:12+00:00"
+        },
+        {
+            "name": "psr/container",
+            "version": "2.0.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/container.git",
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+                "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Container\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common Container Interface (PHP FIG PSR-11)",
+            "homepage": "https://github.com/php-fig/container",
+            "keywords": [
+                "PSR-11",
+                "container",
+                "container-interface",
+                "container-interop",
+                "psr"
+            ],
+            "support": {
+                "issues": "https://github.com/php-fig/container/issues",
+                "source": "https://github.com/php-fig/container/tree/2.0.2"
+            },
+            "time": "2021-11-05T16:47:00+00:00"
+        },
+        {
+            "name": "psr/log",
+            "version": "3.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+                "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.0.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Log\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "https://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for logging libraries",
+            "homepage": "https://github.com/php-fig/log",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/log/tree/3.0.0"
+            },
+            "time": "2021-07-14T16:46:02+00:00"
+        },
+        {
+            "name": "sebastian/diff",
+            "version": "4.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/diff.git",
+                "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+                "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3",
+                "symfony/process": "^4.2 || ^5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Kore Nordmann",
+                    "email": "mail@kore-nordmann.de"
+                }
+            ],
+            "description": "Diff implementation",
+            "homepage": "https://github.com/sebastianbergmann/diff",
+            "keywords": [
+                "diff",
+                "udiff",
+                "unidiff",
+                "unified diff"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/diff/issues",
+                "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-05-07T05:35:17+00:00"
+        },
+        {
+            "name": "spatie/array-to-xml",
+            "version": "3.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/spatie/array-to-xml.git",
+                "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f9ab39c808500c347d5a8b6b13310bd5221e39e7",
+                "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "php": "^8.0"
+            },
+            "require-dev": {
+                "mockery/mockery": "^1.2",
+                "pestphp/pest": "^1.21",
+                "spatie/pest-plugin-snapshots": "^1.1"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Spatie\\ArrayToXml\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Freek Van der Herten",
+                    "email": "freek@spatie.be",
+                    "homepage": "https://freek.dev",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Convert an array to xml",
+            "homepage": "https://github.com/spatie/array-to-xml",
+            "keywords": [
+                "array",
+                "convert",
+                "xml"
+            ],
+            "support": {
+                "source": "https://github.com/spatie/array-to-xml/tree/3.2.0"
+            },
+            "funding": [
+                {
+                    "url": "https://spatie.be/open-source/support-us",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/spatie",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-07-19T18:30:26+00:00"
+        },
+        {
+            "name": "symfony/console",
+            "version": "v6.3.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/console.git",
+                "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6",
+                "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "symfony/deprecation-contracts": "^2.5|^3",
+                "symfony/polyfill-mbstring": "~1.0",
+                "symfony/service-contracts": "^2.5|^3",
+                "symfony/string": "^5.4|^6.0"
+            },
+            "conflict": {
+                "symfony/dependency-injection": "<5.4",
+                "symfony/dotenv": "<5.4",
+                "symfony/event-dispatcher": "<5.4",
+                "symfony/lock": "<5.4",
+                "symfony/process": "<5.4"
+            },
+            "provide": {
+                "psr/log-implementation": "1.0|2.0|3.0"
+            },
+            "require-dev": {
+                "psr/log": "^1|^2|^3",
+                "symfony/config": "^5.4|^6.0",
+                "symfony/dependency-injection": "^5.4|^6.0",
+                "symfony/event-dispatcher": "^5.4|^6.0",
+                "symfony/lock": "^5.4|^6.0",
+                "symfony/process": "^5.4|^6.0",
+                "symfony/var-dumper": "^5.4|^6.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Console\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Eases the creation of beautiful and testable command line interfaces",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "cli",
+                "command-line",
+                "console",
+                "terminal"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/console/tree/v6.3.4"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-08-16T10:10:12+00:00"
+        },
+        {
+            "name": "symfony/deprecation-contracts",
+            "version": "v3.3.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/deprecation-contracts.git",
+                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "function.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "A generic function and convention to trigger deprecation notices",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-05-23T14:45:45+00:00"
+        },
+        {
+            "name": "symfony/filesystem",
+            "version": "v6.3.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/filesystem.git",
+                "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
+                "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "symfony/polyfill-ctype": "~1.8",
+                "symfony/polyfill-mbstring": "~1.8"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Filesystem\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides basic utilities for the filesystem",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/filesystem/tree/v6.3.1"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-06-01T08:30:39+00:00"
+        },
+        {
+            "name": "symfony/polyfill-ctype",
+            "version": "v1.28.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-ctype.git",
+                "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+                "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "provide": {
+                "ext-ctype": "*"
+            },
+            "suggest": {
+                "ext-ctype": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.28-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Ctype\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Gert de Pagter",
+                    "email": "BackEndTea@gmail.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for ctype functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "ctype",
+                "polyfill",
+                "portable"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-01-26T09:26:14+00:00"
+        },
+        {
+            "name": "symfony/polyfill-intl-grapheme",
+            "version": "v1.28.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+                "reference": "875e90aeea2777b6f135677f618529449334a612"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+                "reference": "875e90aeea2777b6f135677f618529449334a612",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "suggest": {
+                "ext-intl": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.28-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for intl's grapheme_* functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "grapheme",
+                "intl",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-01-26T09:26:14+00:00"
+        },
+        {
+            "name": "symfony/polyfill-intl-normalizer",
+            "version": "v1.28.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+                "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+                "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "suggest": {
+                "ext-intl": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.28-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+                },
+                "classmap": [
+                    "Resources/stubs"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for intl's Normalizer class and related functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "intl",
+                "normalizer",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-01-26T09:26:14+00:00"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.28.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "42292d99c55abe617799667f454222c54c60e229"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+                "reference": "42292d99c55abe617799667f454222c54c60e229",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "provide": {
+                "ext-mbstring": "*"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.28-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "bootstrap.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-07-28T09:04:16+00:00"
+        },
+        {
+            "name": "symfony/service-contracts",
+            "version": "v3.3.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/service-contracts.git",
+                "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+                "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "psr/container": "^2.0"
+            },
+            "conflict": {
+                "ext-psr": "<1.1|>=2"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.4-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Contracts\\Service\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Test/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Generic abstractions related to writing services",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "abstractions",
+                "contracts",
+                "decoupling",
+                "interfaces",
+                "interoperability",
+                "standards"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-05-23T14:45:45+00:00"
+        },
+        {
+            "name": "symfony/string",
+            "version": "v6.3.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/string.git",
+                "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339",
+                "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "symfony/polyfill-ctype": "~1.8",
+                "symfony/polyfill-intl-grapheme": "~1.0",
+                "symfony/polyfill-intl-normalizer": "~1.0",
+                "symfony/polyfill-mbstring": "~1.0"
+            },
+            "conflict": {
+                "symfony/translation-contracts": "<2.5"
+            },
+            "require-dev": {
+                "symfony/error-handler": "^5.4|^6.0",
+                "symfony/http-client": "^5.4|^6.0",
+                "symfony/intl": "^6.2",
+                "symfony/translation-contracts": "^2.5|^3.0",
+                "symfony/var-exporter": "^5.4|^6.0"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "Resources/functions.php"
+                ],
+                "psr-4": {
+                    "Symfony\\Component\\String\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "grapheme",
+                "i18n",
+                "string",
+                "unicode",
+                "utf-8",
+                "utf8"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/string/tree/v6.3.5"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-09-18T10:38:32+00:00"
+        },
+        {
+            "name": "webmozart/assert",
+            "version": "1.11.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/webmozarts/assert.git",
+                "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+                "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+                "shasum": ""
+            },
+            "require": {
+                "ext-ctype": "*",
+                "php": "^7.2 || ^8.0"
+            },
+            "conflict": {
+                "phpstan/phpstan": "<0.12.20",
+                "vimeo/psalm": "<4.6.1 || 4.6.2"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^8.5.13"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.10-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Webmozart\\Assert\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@gmail.com"
+                }
+            ],
+            "description": "Assertions to validate method input/output with nice error messages.",
+            "keywords": [
+                "assert",
+                "check",
+                "validate"
+            ],
+            "support": {
+                "issues": "https://github.com/webmozarts/assert/issues",
+                "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+            },
+            "time": "2022-06-03T18:03:27+00:00"
+        }
+    ],
+    "packages-dev": [
+        {
+            "name": "amphp/phpunit-util",
+            "version": "v2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/amphp/phpunit-util.git",
+                "reference": "be64a5285aa1671cea8e546963a21cca67044842"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/amphp/phpunit-util/zipball/be64a5285aa1671cea8e546963a21cca67044842",
+                "reference": "be64a5285aa1671cea8e546963a21cca67044842",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1",
+                "phpunit/phpunit": "^6 | ^7 | ^8 | ^9"
+            },
+            "require-dev": {
+                "amphp/amp": "^2",
+                "amphp/php-cs-fixer-config": "dev-master"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Amp\\PHPUnit\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Niklas Keller",
+                    "email": "me@kelunik.com"
+                },
+                {
+                    "name": "Aaron Piotrowski",
+                    "email": "aaron@trowski.com"
+                }
+            ],
+            "description": "Helper package to ease testing with PHPUnit.",
+            "homepage": "https://amphp.org/phpunit-util",
+            "support": {
+                "issues": "https://github.com/amphp/phpunit-util/issues",
+                "source": "https://github.com/amphp/phpunit-util/tree/v2.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/amphp",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-12-03T20:41:01+00:00"
+        },
+        {
+            "name": "bamarni/composer-bin-plugin",
+            "version": "1.8.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/bamarni/composer-bin-plugin.git",
+                "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880",
+                "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880",
+                "shasum": ""
+            },
+            "require": {
+                "composer-plugin-api": "^2.0",
+                "php": "^7.2.5 || ^8.0"
+            },
+            "require-dev": {
+                "composer/composer": "^2.0",
+                "ext-json": "*",
+                "phpstan/extension-installer": "^1.1",
+                "phpstan/phpstan": "^1.8",
+                "phpstan/phpstan-phpunit": "^1.1",
+                "phpunit/phpunit": "^8.5 || ^9.5",
+                "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
+                "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0",
+                "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0"
+            },
+            "type": "composer-plugin",
+            "extra": {
+                "class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin"
+            },
+            "autoload": {
+                "psr-4": {
+                    "Bamarni\\Composer\\Bin\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "No conflicts for your bin dependencies",
+            "keywords": [
+                "composer",
+                "conflict",
+                "dependency",
+                "executable",
+                "isolation",
+                "tool"
+            ],
+            "support": {
+                "issues": "https://github.com/bamarni/composer-bin-plugin/issues",
+                "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.2"
+            },
+            "time": "2022-10-31T08:38:03+00:00"
+        },
+        {
+            "name": "brianium/paratest",
+            "version": "v6.10.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/paratestphp/paratest.git",
+                "reference": "d6f32a91302b74458e8ef5d132bb2215a5edb34b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/paratestphp/paratest/zipball/d6f32a91302b74458e8ef5d132bb2215a5edb34b",
+                "reference": "d6f32a91302b74458e8ef5d132bb2215a5edb34b",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-pcre": "*",
+                "ext-reflection": "*",
+                "ext-simplexml": "*",
+                "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
+                "jean85/pretty-package-versions": "^2.0.5",
+                "php": "^7.3 || ^8.0",
+                "phpunit/php-code-coverage": "^9.2.25",
+                "phpunit/php-file-iterator": "^3.0.6",
+                "phpunit/php-timer": "^5.0.3",
+                "phpunit/phpunit": "^9.6.4",
+                "sebastian/environment": "^5.1.5",
+                "symfony/console": "^5.4.21 || ^6.2.7",
+                "symfony/process": "^5.4.21 || ^6.2.7"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^10.0.0",
+                "ext-pcov": "*",
+                "ext-posix": "*",
+                "infection/infection": "^0.26.19",
+                "squizlabs/php_codesniffer": "^3.7.2",
+                "symfony/filesystem": "^5.4.21 || ^6.2.7",
+                "vimeo/psalm": "^5.7.7"
+            },
+            "bin": [
+                "bin/paratest",
+                "bin/paratest.bat",
+                "bin/paratest_for_phpstorm"
+            ],
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "ParaTest\\": [
+                        "src/"
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Brian Scaturro",
+                    "email": "scaturrob@gmail.com",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Filippo Tessarotto",
+                    "email": "zoeslam@gmail.com",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Parallel testing for PHP",
+            "homepage": "https://github.com/paratestphp/paratest",
+            "keywords": [
+                "concurrent",
+                "parallel",
+                "phpunit",
+                "testing"
+            ],
+            "support": {
+                "issues": "https://github.com/paratestphp/paratest/issues",
+                "source": "https://github.com/paratestphp/paratest/tree/v6.10.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sponsors/Slamdunk",
+                    "type": "github"
+                },
+                {
+                    "url": "https://paypal.me/filippotessarotto",
+                    "type": "paypal"
+                }
+            ],
+            "time": "2023-10-04T13:33:07+00:00"
+        },
+        {
+            "name": "composer/package-versions-deprecated",
+            "version": "1.11.99.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/composer/package-versions-deprecated.git",
+                "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
+                "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
+                "shasum": ""
+            },
+            "require": {
+                "composer-plugin-api": "^1.1.0 || ^2.0",
+                "php": "^7 || ^8"
+            },
+            "replace": {
+                "ocramius/package-versions": "1.11.99"
+            },
+            "require-dev": {
+                "composer/composer": "^1.9.3 || ^2.0@dev",
+                "ext-zip": "^1.13",
+                "phpunit/phpunit": "^6.5 || ^7"
+            },
+            "type": "composer-plugin",
+            "extra": {
+                "class": "PackageVersions\\Installer",
+                "branch-alias": {
+                    "dev-master": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "PackageVersions\\": "src/PackageVersions"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com"
+                },
+                {
+                    "name": "Jordi Boggiano",
+                    "email": "j.boggiano@seld.be"
+                }
+            ],
+            "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
+            "support": {
+                "issues": "https://github.com/composer/package-versions-deprecated/issues",
+                "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
+            },
+            "funding": [
+                {
+                    "url": "https://packagist.com",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/composer",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-01-17T14:14:24+00:00"
+        },
+        {
+            "name": "dealerdirect/phpcodesniffer-composer-installer",
+            "version": "v1.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/PHPCSStandards/composer-installer.git",
+                "reference": "4be43904336affa5c2f70744a348312336afd0da"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da",
+                "reference": "4be43904336affa5c2f70744a348312336afd0da",
+                "shasum": ""
+            },
+            "require": {
+                "composer-plugin-api": "^1.0 || ^2.0",
+                "php": ">=5.4",
+                "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
+            },
+            "require-dev": {
+                "composer/composer": "*",
+                "ext-json": "*",
+                "ext-zip": "*",
+                "php-parallel-lint/php-parallel-lint": "^1.3.1",
+                "phpcompatibility/php-compatibility": "^9.0",
+                "yoast/phpunit-polyfills": "^1.0"
+            },
+            "type": "composer-plugin",
+            "extra": {
+                "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
+            },
+            "autoload": {
+                "psr-4": {
+                    "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Franck Nijhof",
+                    "email": "franck.nijhof@dealerdirect.com",
+                    "homepage": "http://www.frenck.nl",
+                    "role": "Developer / IT Manager"
+                },
+                {
+                    "name": "Contributors",
+                    "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors"
+                }
+            ],
+            "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
+            "homepage": "http://www.dealerdirect.com",
+            "keywords": [
+                "PHPCodeSniffer",
+                "PHP_CodeSniffer",
+                "code quality",
+                "codesniffer",
+                "composer",
+                "installer",
+                "phpcbf",
+                "phpcs",
+                "plugin",
+                "qa",
+                "quality",
+                "standard",
+                "standards",
+                "style guide",
+                "stylecheck",
+                "tests"
+            ],
+            "support": {
+                "issues": "https://github.com/PHPCSStandards/composer-installer/issues",
+                "source": "https://github.com/PHPCSStandards/composer-installer"
+            },
+            "time": "2023-01-05T11:28:13+00:00"
+        },
+        {
+            "name": "dg/bypass-finals",
+            "version": "v1.5.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dg/bypass-finals.git",
+                "reference": "12ef25e1f8d4144e4ec80d13a28895e8942f4104"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dg/bypass-finals/zipball/12ef25e1f8d4144e4ec80d13a28895e8942f4104",
+                "reference": "12ef25e1f8d4144e4ec80d13a28895e8942f4104",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "nette/tester": "^2.3",
+                "phpstan/phpstan": "^0.12"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause",
+                "GPL-2.0",
+                "GPL-3.0"
+            ],
+            "authors": [
+                {
+                    "name": "David Grudl",
+                    "homepage": "https://davidgrudl.com"
+                }
+            ],
+            "description": "Removes final keyword from source code on-the-fly and allows mocking of final methods and classes",
+            "keywords": [
+                "finals",
+                "mocking",
+                "phpunit",
+                "testing",
+                "unit"
+            ],
+            "support": {
+                "issues": "https://github.com/dg/bypass-finals/issues",
+                "source": "https://github.com/dg/bypass-finals/tree/v1.5.1"
+            },
+            "time": "2023-09-16T09:13:54+00:00"
+        },
+        {
+            "name": "doctrine/instantiator",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/doctrine/instantiator.git",
+                "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+                "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^8.1"
+            },
+            "require-dev": {
+                "doctrine/coding-standard": "^11",
+                "ext-pdo": "*",
+                "ext-phar": "*",
+                "phpbench/phpbench": "^1.2",
+                "phpstan/phpstan": "^1.9.4",
+                "phpstan/phpstan-phpunit": "^1.3",
+                "phpunit/phpunit": "^9.5.27",
+                "vimeo/psalm": "^5.4"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com",
+                    "homepage": "https://ocramius.github.io/"
+                }
+            ],
+            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+            "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+            "keywords": [
+                "constructor",
+                "instantiate"
+            ],
+            "support": {
+                "issues": "https://github.com/doctrine/instantiator/issues",
+                "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://www.doctrine-project.org/sponsorship.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://www.patreon.com/phpdoctrine",
+                    "type": "patreon"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-12-30T00:23:10+00:00"
+        },
+        {
+            "name": "hamcrest/hamcrest-php",
+            "version": "v2.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/hamcrest/hamcrest-php.git",
+                "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+                "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3|^7.0|^8.0"
+            },
+            "replace": {
+                "cordoval/hamcrest-php": "*",
+                "davedevelopment/hamcrest-php": "*",
+                "kodova/hamcrest-php": "*"
+            },
+            "require-dev": {
+                "phpunit/php-file-iterator": "^1.4 || ^2.0",
+                "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "hamcrest"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "description": "This is the PHP port of Hamcrest Matchers",
+            "keywords": [
+                "test"
+            ],
+            "support": {
+                "issues": "https://github.com/hamcrest/hamcrest-php/issues",
+                "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+            },
+            "time": "2020-07-09T08:09:16+00:00"
+        },
+        {
+            "name": "jean85/pretty-package-versions",
+            "version": "2.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Jean85/pretty-package-versions.git",
+                "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
+                "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
+                "shasum": ""
+            },
+            "require": {
+                "composer-runtime-api": "^2.0.0",
+                "php": "^7.1|^8.0"
+            },
+            "require-dev": {
+                "friendsofphp/php-cs-fixer": "^2.17",
+                "jean85/composer-provided-replaced-stub-package": "^1.0",
+                "phpstan/phpstan": "^0.12.66",
+                "phpunit/phpunit": "^7.5|^8.5|^9.4",
+                "vimeo/psalm": "^4.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Jean85\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Alessandro Lai",
+                    "email": "alessandro.lai85@gmail.com"
+                }
+            ],
+            "description": "A library to get pretty versions strings of installed dependencies",
+            "keywords": [
+                "composer",
+                "package",
+                "release",
+                "versions"
+            ],
+            "support": {
+                "issues": "https://github.com/Jean85/pretty-package-versions/issues",
+                "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
+            },
+            "time": "2021-10-08T21:21:46+00:00"
+        },
+        {
+            "name": "mockery/mockery",
+            "version": "1.6.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/mockery/mockery.git",
+                "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e",
+                "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e",
+                "shasum": ""
+            },
+            "require": {
+                "hamcrest/hamcrest-php": "^2.0.1",
+                "lib-pcre": ">=7.0",
+                "php": ">=7.3"
+            },
+            "conflict": {
+                "phpunit/phpunit": "<8.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^8.5 || ^9.6.10",
+                "psalm/plugin-phpunit": "^0.18.4",
+                "symplify/easy-coding-standard": "^11.5.0",
+                "vimeo/psalm": "^4.30"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "library/helpers.php",
+                    "library/Mockery.php"
+                ],
+                "psr-4": {
+                    "Mockery\\": "library/Mockery"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Pádraic Brady",
+                    "email": "padraic.brady@gmail.com",
+                    "homepage": "https://github.com/padraic",
+                    "role": "Author"
+                },
+                {
+                    "name": "Dave Marshall",
+                    "email": "dave.marshall@atstsolutions.co.uk",
+                    "homepage": "https://davedevelopment.co.uk",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Nathanael Esayeas",
+                    "email": "nathanael.esayeas@protonmail.com",
+                    "homepage": "https://github.com/ghostwriter",
+                    "role": "Lead Developer"
+                }
+            ],
+            "description": "Mockery is a simple yet flexible PHP mock object framework",
+            "homepage": "https://github.com/mockery/mockery",
+            "keywords": [
+                "BDD",
+                "TDD",
+                "library",
+                "mock",
+                "mock objects",
+                "mockery",
+                "stub",
+                "test",
+                "test double",
+                "testing"
+            ],
+            "support": {
+                "docs": "https://docs.mockery.io/",
+                "issues": "https://github.com/mockery/mockery/issues",
+                "rss": "https://github.com/mockery/mockery/releases.atom",
+                "security": "https://github.com/mockery/mockery/security/advisories",
+                "source": "https://github.com/mockery/mockery"
+            },
+            "time": "2023-08-09T00:03:52+00:00"
+        },
+        {
+            "name": "myclabs/deep-copy",
+            "version": "1.11.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/myclabs/DeepCopy.git",
+                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1 || ^8.0"
+            },
+            "conflict": {
+                "doctrine/collections": "<1.6.8",
+                "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+            },
+            "require-dev": {
+                "doctrine/collections": "^1.6.8",
+                "doctrine/common": "^2.13.3 || ^3.2.2",
+                "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/DeepCopy/deep_copy.php"
+                ],
+                "psr-4": {
+                    "DeepCopy\\": "src/DeepCopy/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Create deep copies (clones) of your objects",
+            "keywords": [
+                "clone",
+                "copy",
+                "duplicate",
+                "object",
+                "object graph"
+            ],
+            "support": {
+                "issues": "https://github.com/myclabs/DeepCopy/issues",
+                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+            },
+            "funding": [
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-03-08T13:26:56+00:00"
+        },
+        {
+            "name": "nunomaduro/mock-final-classes",
+            "version": "v1.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/nunomaduro/mock-final-classes.git",
+                "reference": "b13fc71acd9d6f1e2de8209217103cbd2035871f"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/nunomaduro/mock-final-classes/zipball/b13fc71acd9d6f1e2de8209217103cbd2035871f",
+                "reference": "b13fc71acd9d6f1e2de8209217103cbd2035871f",
+                "shasum": ""
+            },
+            "require": {
+                "dg/bypass-finals": "^1.1",
+                "php": "^7.1 || ^8.0"
+            },
+            "require-dev": {
+                "localheinz/phpstan-rules": "^0.10.0",
+                "phpstan/phpstan": "^0.11.8",
+                "phpstan/phpstan-strict-rules": "^0.11.1",
+                "phpunit/phpunit": "^7.0|^8.0|^9.3",
+                "thecodingmachine/phpstan-strict-rules": "^0.11.1"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "autoload.php"
+                ],
+                "psr-4": {
+                    "NunoMaduro\\MockFinalClasses\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nuno Maduro",
+                    "email": "enunomaduro@gmail.com"
+                }
+            ],
+            "description": "Allows mocking of final methods and classes in PHP.",
+            "keywords": [
+                "class",
+                "classes",
+                "final",
+                "mock",
+                "php",
+                "phpunit"
+            ],
+            "support": {
+                "issues": "https://github.com/nunomaduro/mock-final-classes/issues",
+                "source": "https://github.com/nunomaduro/mock-final-classes/tree/v1.2.0"
+            },
+            "funding": [
+                {
+                    "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/nunomaduro",
+                    "type": "github"
+                },
+                {
+                    "url": "https://www.patreon.com/nunomaduro",
+                    "type": "patreon"
+                }
+            ],
+            "time": "2023-05-14T23:33:16+00:00"
+        },
+        {
+            "name": "phar-io/manifest",
+            "version": "2.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phar-io/manifest.git",
+                "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+                "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-phar": "*",
+                "ext-xmlwriter": "*",
+                "phar-io/version": "^3.0.1",
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Heuer",
+                    "email": "sebastian@phpeople.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+            "support": {
+                "issues": "https://github.com/phar-io/manifest/issues",
+                "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+            },
+            "time": "2021-07-20T11:28:43+00:00"
+        },
+        {
+            "name": "phar-io/version",
+            "version": "3.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phar-io/version.git",
+                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Heuer",
+                    "email": "sebastian@phpeople.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Library for handling version information and constraints",
+            "support": {
+                "issues": "https://github.com/phar-io/version/issues",
+                "source": "https://github.com/phar-io/version/tree/3.2.1"
+            },
+            "time": "2022-02-21T01:04:05+00:00"
+        },
+        {
+            "name": "php-parallel-lint/php-parallel-lint",
+            "version": "v1.3.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
+                "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6483c9832e71973ed29cf71bd6b3f4fde438a9de",
+                "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "php": ">=5.3.0"
+            },
+            "replace": {
+                "grogy/php-parallel-lint": "*",
+                "jakub-onderka/php-parallel-lint": "*"
+            },
+            "require-dev": {
+                "nette/tester": "^1.3 || ^2.0",
+                "php-parallel-lint/php-console-highlighter": "0.* || ^1.0",
+                "squizlabs/php_codesniffer": "^3.6"
+            },
+            "suggest": {
+                "php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet"
+            },
+            "bin": [
+                "parallel-lint"
+            ],
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "./src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-2-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Jakub Onderka",
+                    "email": "ahoj@jakubonderka.cz"
+                }
+            ],
+            "description": "This tool check syntax of PHP files about 20x faster than serial check.",
+            "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
+            "support": {
+                "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
+                "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.2"
+            },
+            "time": "2022-02-21T12:50:22+00:00"
+        },
+        {
+            "name": "phpunit/php-code-coverage",
+            "version": "9.2.29",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+                "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+                "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-libxml": "*",
+                "ext-xmlwriter": "*",
+                "nikic/php-parser": "^4.15",
+                "php": ">=7.3",
+                "phpunit/php-file-iterator": "^3.0.3",
+                "phpunit/php-text-template": "^2.0.2",
+                "sebastian/code-unit-reverse-lookup": "^2.0.2",
+                "sebastian/complexity": "^2.0",
+                "sebastian/environment": "^5.1.2",
+                "sebastian/lines-of-code": "^1.0.3",
+                "sebastian/version": "^3.0.1",
+                "theseer/tokenizer": "^1.2.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "suggest": {
+                "ext-pcov": "PHP extension that provides line coverage",
+                "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "9.2-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+            "keywords": [
+                "coverage",
+                "testing",
+                "xunit"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+                "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-09-19T04:57:46+00:00"
+        },
+        {
+            "name": "phpunit/php-file-iterator",
+            "version": "3.0.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+                "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+                "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+            "keywords": [
+                "filesystem",
+                "iterator"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-12-02T12:48:52+00:00"
+        },
+        {
+            "name": "phpunit/php-invoker",
+            "version": "3.1.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-invoker.git",
+                "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+                "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "ext-pcntl": "*",
+                "phpunit/phpunit": "^9.3"
+            },
+            "suggest": {
+                "ext-pcntl": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Invoke callables with a timeout",
+            "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+            "keywords": [
+                "process"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+                "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-09-28T05:58:55+00:00"
+        },
+        {
+            "name": "phpunit/php-text-template",
+            "version": "2.0.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-text-template.git",
+                "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+                "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Simple template engine.",
+            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+            "keywords": [
+                "template"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+                "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T05:33:50+00:00"
+        },
+        {
+            "name": "phpunit/php-timer",
+            "version": "5.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-timer.git",
+                "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+                "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Utility class for timing",
+            "homepage": "https://github.com/sebastianbergmann/php-timer/",
+            "keywords": [
+                "timer"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+                "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T13:16:10+00:00"
+        },
+        {
+            "name": "phpunit/phpunit",
+            "version": "9.6.13",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/phpunit.git",
+                "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
+                "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
+                "shasum": ""
+            },
+            "require": {
+                "doctrine/instantiator": "^1.3.1 || ^2",
+                "ext-dom": "*",
+                "ext-json": "*",
+                "ext-libxml": "*",
+                "ext-mbstring": "*",
+                "ext-xml": "*",
+                "ext-xmlwriter": "*",
+                "myclabs/deep-copy": "^1.10.1",
+                "phar-io/manifest": "^2.0.3",
+                "phar-io/version": "^3.0.2",
+                "php": ">=7.3",
+                "phpunit/php-code-coverage": "^9.2.28",
+                "phpunit/php-file-iterator": "^3.0.5",
+                "phpunit/php-invoker": "^3.1.1",
+                "phpunit/php-text-template": "^2.0.3",
+                "phpunit/php-timer": "^5.0.2",
+                "sebastian/cli-parser": "^1.0.1",
+                "sebastian/code-unit": "^1.0.6",
+                "sebastian/comparator": "^4.0.8",
+                "sebastian/diff": "^4.0.3",
+                "sebastian/environment": "^5.1.3",
+                "sebastian/exporter": "^4.0.5",
+                "sebastian/global-state": "^5.0.1",
+                "sebastian/object-enumerator": "^4.0.3",
+                "sebastian/resource-operations": "^3.0.3",
+                "sebastian/type": "^3.2",
+                "sebastian/version": "^3.0.2"
+            },
+            "suggest": {
+                "ext-soap": "To be able to generate mocks based on WSDL files",
+                "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+            },
+            "bin": [
+                "phpunit"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "9.6-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "src/Framework/Assert/Functions.php"
+                ],
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "The PHP Unit Testing framework.",
+            "homepage": "https://phpunit.de/",
+            "keywords": [
+                "phpunit",
+                "testing",
+                "xunit"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+                "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+                "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
+            },
+            "funding": [
+                {
+                    "url": "https://phpunit.de/sponsors.html",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-09-19T05:39:22+00:00"
+        },
+        {
+            "name": "psalm/plugin-mockery",
+            "version": "1.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/psalm/psalm-plugin-mockery.git",
+                "reference": "876247d15f91df08240d00dac69c5135b6689283"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/psalm/psalm-plugin-mockery/zipball/876247d15f91df08240d00dac69c5135b6689283",
+                "reference": "876247d15f91df08240d00dac69c5135b6689283",
+                "shasum": ""
+            },
+            "require": {
+                "composer/package-versions-deprecated": "^1.10",
+                "composer/semver": "^1.4 || ^2.0 || ^3.0",
+                "mockery/mockery": "^1.0",
+                "php": "~7.4 || ~8.0 || ~8.1 || ~8.2",
+                "vimeo/psalm": "dev-master || ^5.0@rc || ^5.0"
+            },
+            "require-dev": {
+                "codeception/codeception": "^4.1.9",
+                "phpunit/phpunit": "^9.0",
+                "squizlabs/php_codesniffer": "^3.3.1",
+                "weirdan/codeception-psalm-module": "^0.13.1"
+            },
+            "type": "psalm-plugin",
+            "extra": {
+                "psalm": {
+                    "pluginClass": "Psalm\\MockeryPlugin\\Plugin"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psalm\\MockeryPlugin\\": [
+                        "."
+                    ]
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Matt Brown",
+                    "email": "github@muglug.com"
+                }
+            ],
+            "description": "Psalm plugin for Mockery",
+            "support": {
+                "issues": "https://github.com/psalm/psalm-plugin-mockery/issues",
+                "source": "https://github.com/psalm/psalm-plugin-mockery/tree/1.1.0"
+            },
+            "time": "2022-11-25T07:16:18+00:00"
+        },
+        {
+            "name": "psalm/plugin-phpunit",
+            "version": "0.18.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/psalm/psalm-plugin-phpunit.git",
+                "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
+                "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
+                "shasum": ""
+            },
+            "require": {
+                "composer/package-versions-deprecated": "^1.10",
+                "composer/semver": "^1.4 || ^2.0 || ^3.0",
+                "ext-simplexml": "*",
+                "php": "^7.1 || ^8.0",
+                "vimeo/psalm": "dev-master || dev-4.x || ^4.7.1 || ^5@beta || ^5.0"
+            },
+            "conflict": {
+                "phpunit/phpunit": "<7.5"
+            },
+            "require-dev": {
+                "codeception/codeception": "^4.0.3",
+                "php": "^7.3 || ^8.0",
+                "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
+                "squizlabs/php_codesniffer": "^3.3.1",
+                "weirdan/codeception-psalm-module": "^0.11.0",
+                "weirdan/prophecy-shim": "^1.0 || ^2.0"
+            },
+            "type": "psalm-plugin",
+            "extra": {
+                "psalm": {
+                    "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psalm\\PhpUnitPlugin\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Matt Brown",
+                    "email": "github@muglug.com"
+                }
+            ],
+            "description": "Psalm plugin for PHPUnit",
+            "support": {
+                "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
+                "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.18.4"
+            },
+            "time": "2022-12-03T07:47:07+00:00"
+        },
+        {
+            "name": "sebastian/cli-parser",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/cli-parser.git",
+                "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+                "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for parsing CLI options",
+            "homepage": "https://github.com/sebastianbergmann/cli-parser",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+                "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-09-28T06:08:49+00:00"
+        },
+        {
+            "name": "sebastian/code-unit",
+            "version": "1.0.8",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/code-unit.git",
+                "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+                "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Collection of value objects that represent the PHP code units",
+            "homepage": "https://github.com/sebastianbergmann/code-unit",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+                "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T13:08:54+00:00"
+        },
+        {
+            "name": "sebastian/code-unit-reverse-lookup",
+            "version": "2.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+                "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+                "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Looks up which function or method a line of code belongs to",
+            "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+                "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-09-28T05:30:19+00:00"
+        },
+        {
+            "name": "sebastian/comparator",
+            "version": "4.0.8",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/comparator.git",
+                "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+                "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3",
+                "sebastian/diff": "^4.0",
+                "sebastian/exporter": "^4.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                }
+            ],
+            "description": "Provides the functionality to compare PHP values for equality",
+            "homepage": "https://github.com/sebastianbergmann/comparator",
+            "keywords": [
+                "comparator",
+                "compare",
+                "equality"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/comparator/issues",
+                "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2022-09-14T12:41:17+00:00"
+        },
+        {
+            "name": "sebastian/complexity",
+            "version": "2.0.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/complexity.git",
+                "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+                "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^4.7",
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for calculating the complexity of PHP code units",
+            "homepage": "https://github.com/sebastianbergmann/complexity",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/complexity/issues",
+                "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T15:52:27+00:00"
+        },
+        {
+            "name": "sebastian/environment",
+            "version": "5.1.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/environment.git",
+                "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+                "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "suggest": {
+                "ext-posix": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides functionality to handle HHVM/PHP environments",
+            "homepage": "http://www.github.com/sebastianbergmann/environment",
+            "keywords": [
+                "Xdebug",
+                "environment",
+                "hhvm"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/environment/issues",
+                "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:03:51+00:00"
+        },
+        {
+            "name": "sebastian/exporter",
+            "version": "4.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/exporter.git",
+                "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+                "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3",
+                "sebastian/recursion-context": "^4.0"
+            },
+            "require-dev": {
+                "ext-mbstring": "*",
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@gmail.com"
+                }
+            ],
+            "description": "Provides the functionality to export PHP variables for visualization",
+            "homepage": "https://www.github.com/sebastianbergmann/exporter",
+            "keywords": [
+                "export",
+                "exporter"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/exporter/issues",
+                "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2022-09-14T06:03:37+00:00"
+        },
+        {
+            "name": "sebastian/global-state",
+            "version": "5.0.6",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/global-state.git",
+                "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
+                "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3",
+                "sebastian/object-reflector": "^2.0",
+                "sebastian/recursion-context": "^4.0"
+            },
+            "require-dev": {
+                "ext-dom": "*",
+                "phpunit/phpunit": "^9.3"
+            },
+            "suggest": {
+                "ext-uopz": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Snapshotting of global state",
+            "homepage": "http://www.github.com/sebastianbergmann/global-state",
+            "keywords": [
+                "global state"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/global-state/issues",
+                "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-08-02T09:26:13+00:00"
+        },
+        {
+            "name": "sebastian/lines-of-code",
+            "version": "1.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+                "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+                "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^4.6",
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for counting the lines of code in PHP source code",
+            "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+                "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-11-28T06:42:11+00:00"
+        },
+        {
+            "name": "sebastian/object-enumerator",
+            "version": "4.0.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+                "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+                "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3",
+                "sebastian/object-reflector": "^2.0",
+                "sebastian/recursion-context": "^4.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+            "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+                "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T13:12:34+00:00"
+        },
+        {
+            "name": "sebastian/object-reflector",
+            "version": "2.0.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/object-reflector.git",
+                "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+                "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Allows reflection of object attributes, including inherited and non-public ones",
+            "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+                "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-10-26T13:14:26+00:00"
+        },
+        {
+            "name": "sebastian/recursion-context",
+            "version": "4.0.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/recursion-context.git",
+                "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+                "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
+            ],
+            "description": "Provides functionality to recursively process PHP variables",
+            "homepage": "https://github.com/sebastianbergmann/recursion-context",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+                "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:07:39+00:00"
+        },
+        {
+            "name": "sebastian/resource-operations",
+            "version": "3.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/resource-operations.git",
+                "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+                "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides a list of PHP built-in functions that operate on resources",
+            "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+                "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-09-28T06:45:17+00:00"
+        },
+        {
+            "name": "sebastian/type",
+            "version": "3.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/type.git",
+                "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+                "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^9.5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.2-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Collection of value objects that represent the types of the PHP type system",
+            "homepage": "https://github.com/sebastianbergmann/type",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/type/issues",
+                "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:13:03+00:00"
+        },
+        {
+            "name": "sebastian/version",
+            "version": "3.0.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/version.git",
+                "reference": "c6c1022351a901512170118436c764e473f6de8c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+                "reference": "c6c1022351a901512170118436c764e473f6de8c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+            "homepage": "https://github.com/sebastianbergmann/version",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/version/issues",
+                "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2020-09-28T06:39:44+00:00"
+        },
+        {
+            "name": "slevomat/coding-standard",
+            "version": "8.13.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/slevomat/coding-standard.git",
+                "reference": "4b2af2fb17773656d02fbfb5d18024ebd19fe322"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/4b2af2fb17773656d02fbfb5d18024ebd19fe322",
+                "reference": "4b2af2fb17773656d02fbfb5d18024ebd19fe322",
+                "shasum": ""
+            },
+            "require": {
+                "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0",
+                "php": "^7.2 || ^8.0",
+                "phpstan/phpdoc-parser": "^1.23.0",
+                "squizlabs/php_codesniffer": "^3.7.1"
+            },
+            "require-dev": {
+                "phing/phing": "2.17.4",
+                "php-parallel-lint/php-parallel-lint": "1.3.2",
+                "phpstan/phpstan": "1.10.26",
+                "phpstan/phpstan-deprecation-rules": "1.1.3",
+                "phpstan/phpstan-phpunit": "1.3.13",
+                "phpstan/phpstan-strict-rules": "1.5.1",
+                "phpunit/phpunit": "7.5.20|8.5.21|9.6.8|10.2.6"
+            },
+            "type": "phpcodesniffer-standard",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "8.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "SlevomatCodingStandard\\": "SlevomatCodingStandard/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
+            "keywords": [
+                "dev",
+                "phpcs"
+            ],
+            "support": {
+                "issues": "https://github.com/slevomat/coding-standard/issues",
+                "source": "https://github.com/slevomat/coding-standard/tree/8.13.4"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/kukulich",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-07-25T10:28:55+00:00"
+        },
+        {
+            "name": "squizlabs/php_codesniffer",
+            "version": "3.7.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+                "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
+                "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
+                "shasum": ""
+            },
+            "require": {
+                "ext-simplexml": "*",
+                "ext-tokenizer": "*",
+                "ext-xmlwriter": "*",
+                "php": ">=5.4.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+            },
+            "bin": [
+                "bin/phpcs",
+                "bin/phpcbf"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.x-dev"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Greg Sherwood",
+                    "role": "lead"
+                }
+            ],
+            "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+            "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+            "keywords": [
+                "phpcs",
+                "standards",
+                "static analysis"
+            ],
+            "support": {
+                "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+                "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+                "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+            },
+            "time": "2023-02-22T23:07:41+00:00"
+        },
+        {
+            "name": "symfony/process",
+            "version": "v6.3.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/process.git",
+                "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54",
+                "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Component\\Process\\": ""
+                },
+                "exclude-from-classmap": [
+                    "/Tests/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Fabien Potencier",
+                    "email": "fabien@symfony.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Executes commands in sub-processes",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/process/tree/v6.3.4"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-08-07T10:39:22+00:00"
+        },
+        {
+            "name": "theseer/tokenizer",
+            "version": "1.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/theseer/tokenizer.git",
+                "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+                "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-tokenizer": "*",
+                "ext-xmlwriter": "*",
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+            "support": {
+                "issues": "https://github.com/theseer/tokenizer/issues",
+                "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/theseer",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-07-28T10:34:58+00:00"
+        }
+    ],
+    "aliases": [],
+    "minimum-stability": "dev",
+    "stability-flags": [],
+    "prefer-stable": true,
+    "prefer-lowest": false,
+    "platform": {
+        "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0",
+        "ext-simplexml": "*",
+        "ext-ctype": "*",
+        "ext-dom": "*",
+        "ext-json": "*",
+        "ext-libxml": "*",
+        "ext-mbstring": "*",
+        "ext-tokenizer": "*",
+        "composer-runtime-api": "^2"
+    },
+    "platform-dev": {
+        "ext-curl": "*"
+    },
+    "plugin-api-version": "2.6.0"
+}
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index 9a08c9fc6c689..b6d15066f0553 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -1,35 +1,25 @@
-{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+{ lib, fetchgit, php }:
 
-let
+php.buildComposerProject (finalAttrs: {
   pname = "psalm";
   version = "5.15.0";
-in
-mkDerivation {
-  inherit pname version;
 
-  src = fetchurl {
-    url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-    sha256 = "sha256-eAvogKsnvXMNUZHh44RPHpd0iMqEY9fzqJvXPT7SE1A=";
+  src = fetchgit {
+    url = "https://github.com/vimeo/psalm.git";
+    rev = finalAttrs.version;
+    hash = "sha256-rRExT82+IwgVo7pL3rrTjW/qj/MJf4m4L3PywaeSHYU=";
   };
 
-  dontUnpack = true;
+  # TODO: Open a PR against https://github.com/vimeo/psalm
+  # Missing `composer.lock` from the repository.
+  composerLock = ./composer.lock;
+  vendorHash = "sha256-Vho1ri/Qm2SYeXB9ZoXvH1vB/eSBwHnAT/pI4jjUYhU=";
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    install -D $src $out/libexec/psalm/psalm.phar
-    makeWrapper ${php}/bin/php $out/bin/psalm \
-      --add-flags "$out/libexec/psalm/psalm.phar"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    changelog = "https://github.com/vimeo/psalm/releases/tag/${version}";
+  meta = {
+    changelog = "https://github.com/vimeo/psalm/releases/tag/${finalAttrs.version}";
     description = "A static analysis tool for finding errors in PHP applications";
-    license = licenses.mit;
     homepage = "https://github.com/vimeo/psalm";
-    maintainers = teams.php.members;
+    license = lib.licenses.mit;
+    maintainers = lib.teams.php.members;
   };
-}
+})
diff --git a/pkgs/development/python-modules/aio-pika/default.nix b/pkgs/development/python-modules/aio-pika/default.nix
index 9082fd4b37a73..fdcb671029286 100644
--- a/pkgs/development/python-modules/aio-pika/default.nix
+++ b/pkgs/development/python-modules/aio-pika/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aio-pika";
-  version = "9.1.3";
+  version = "9.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "mosquito";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-QCM/9Vt9/uXylaU8xymXJEjVd6sFRcVhpr2CGjB0AoY=";
+    hash = "sha256-Fy3vTXfj+gu/+PYWPfcOZ/D7boRiZYcFPX29p28HoGs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix
index f69f45d7efd03..bdc21d70892f7 100644
--- a/pkgs/development/python-modules/aioairzone-cloud/default.nix
+++ b/pkgs/development/python-modules/aioairzone-cloud/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone-cloud";
-  version = "0.2.2";
+  version = "0.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-SGHbM7D21ykFWwg4aTUUMIFpwZ0K8CQohZYtzXOPJQg=";
+    hash = "sha256-7sjiY20jDUHtEnqAMwEHsBboK9XCH5XjE0sHR82YvEA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
index efd590e7e827e..56b911ee4f893 100644
--- a/pkgs/development/python-modules/aiohue/default.nix
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -5,23 +5,35 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pytest-aiohttp
+, pytest-asyncio
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.6.2";
-  format = "setuptools";
+  version = "4.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DzslGfKwsXXWWhbTb0apJCsnNdnUe7AbvrRT8ZnPbVU=";
+    hash = "sha256-t48rUPAM0XpbDreCwHU/smoyhPtxhwrpDkb1170GkQM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     awesomeversion
     aiohttp
@@ -30,6 +42,8 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-asyncio
+    pytest-aiohttp
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aiosmb/default.nix b/pkgs/development/python-modules/aiosmb/default.nix
index aada2ac415cef..cc786f115d669 100644
--- a/pkgs/development/python-modules/aiosmb/default.nix
+++ b/pkgs/development/python-modules/aiosmb/default.nix
@@ -3,6 +3,7 @@
 , asysocks
 , buildPythonPackage
 , colorama
+, cryptography
 , fetchPypi
 , minikerberos
 , prompt-toolkit
@@ -16,20 +17,21 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.4.7";
+  version = "0.4.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ze8x0vFGnPAIQQicuJxAcBVEeeKOGUHvepRTO4Ejx+g=";
+    hash = "sha256-siV2cr8YuU4kWRNHGlV29RjeHxCk6mcbK7J15LZguls=";
   };
 
   propagatedBuildInputs = [
     asyauth
     asysocks
     colorama
+    cryptography
     minikerberos
     prompt-toolkit
     pycryptodomex
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index a906f8311f812..02e84b8f7e04e 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -10,12 +10,13 @@
 , pythonOlder
 , segno
 , setuptools
+, trustme
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "62";
+  version = "63";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5XCF67YuelS4RDUxfImSAELfdb3rJWGprIYQeQPp+yk=";
+    hash = "sha256-am11pFgYMRccUNaK/iKdp6mfk5NQ4QnU41xbFiGCMPs=";
   };
 
   postPatch = ''
@@ -51,6 +52,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
+    trustme
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/alexapy/default.nix b/pkgs/development/python-modules/alexapy/default.nix
index e0326ded4b68e..060751ace13a8 100644
--- a/pkgs/development/python-modules/alexapy/default.nix
+++ b/pkgs/development/python-modules/alexapy/default.nix
@@ -19,8 +19,8 @@
 
 buildPythonPackage rec {
   pname = "alexapy";
-  version = "1.27.1";
-  format = "pyproject";
+  version = "1.27.6";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "keatontaylor";
     repo = "alexapy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pMTVZ2iE/a1yNsWhmxkIQFkl18x06ZLjslj8hjKVBEA=";
+    hash = "sha256-CKaxdKuvie88nn1LSTxCLCdbr9bzD6MtvgSU9lplT/8=";
   };
 
   pythonRelaxDeps = [
@@ -64,7 +64,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python Package for controlling Alexa devices (echo dot, etc) programmatically";
     homepage = "https://gitlab.com/keatontaylor/alexapy";
-    changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/${src.rev}/CHANGELOG.md";
+    changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/altgraph/default.nix b/pkgs/development/python-modules/altgraph/default.nix
index 0f2321c81e512..3a42414aa8d87 100644
--- a/pkgs/development/python-modules/altgraph/default.nix
+++ b/pkgs/development/python-modules/altgraph/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "altgraph";
-  version = "0.17.3";
+  version = "0.17.4";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ad33358114df7c9416cdb8fa1eaa5852166c505118717021c6a8c7c7abbd03dd";
+    sha256 = "sha256-G1r7uY9sTcrbLirmq5+plLu4wddfT6ltNA+UN65FRAY=";
   };
 
   pythonImportsCheck = [ "altgraph" ];
diff --git a/pkgs/development/python-modules/anthemav/default.nix b/pkgs/development/python-modules/anthemav/default.nix
new file mode 100644
index 0000000000000..965d399d573c6
--- /dev/null
+++ b/pkgs/development/python-modules/anthemav/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "anthemav";
+  version = "1.4.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nugget";
+    repo = "python-anthemav";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZjAt4oODx09Qij0PwBvLCplSjwdBx2fReiwjmKhdPa0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "anthemav"
+  ];
+
+  meta = with lib; {
+    description = "Python asyncio module to interface with Anthem AVM and MRX receivers";
+    homepage = "https://github.com/nugget/python-anthemav";
+    changelog = "https://github.com/nugget/python-anthemav/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/apischema/default.nix b/pkgs/development/python-modules/apischema/default.nix
index a60b97d1d951d..eb385ccaf90e1 100644
--- a/pkgs/development/python-modules/apischema/default.nix
+++ b/pkgs/development/python-modules/apischema/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "apischema";
-  version = "0.18.0";
+  version = "0.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "wyfo";
     repo = "apischema";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DBFFCLi8cpASyGPNqZvYe3OTLSbNZ8QzaxjQkOiHxFc=";
+    hash = "sha256-omw6znk09r2SigPfaVrtA6dd8KeSfjaPgGfK12ty23g=";
   };
 
   passthru.optional-dependencies = {
diff --git a/pkgs/development/python-modules/apple-weatherkit/default.nix b/pkgs/development/python-modules/apple-weatherkit/default.nix
new file mode 100644
index 0000000000000..89363e859bd02
--- /dev/null
+++ b/pkgs/development/python-modules/apple-weatherkit/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, aiohttp
+, pythonOlder
+, pyjwt
+}:
+
+buildPythonPackage rec {
+  pname = "apple-weatherkit";
+  version = "1.0.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "tjhorner";
+    repo = "python-weatherkit";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-G/0hyK2rjdSSnVnvAUGyDvsfNMHVgAD7NHfNFmdBCNA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    pyjwt
+  ] ++ pyjwt.optional-dependencies.crypto;
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "apple_weatherkit"
+  ];
+
+  meta = with lib; {
+    description = "Python library for Apple WeatherKit";
+    homepage = "https://github.com/tjhorner/python-weatherkit";
+    changelog = "https://github.com/tjhorner/python-weatherkit/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index 647a77e035a59..8b72b5e8e9960 100644
--- a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "5.4.3";
+  version = "5.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hALpNLXPg2Apha3KbEixFEH3NuzLe6lnEy9V5otskDM=";
+    hash = "sha256-URDVNuUrxWoQjeNRPrSJz8aiEozn5BzRTvhqc4bihA0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/argh/default.nix b/pkgs/development/python-modules/argh/default.nix
index bdc296f432a04..a03e441c8fdaa 100644
--- a/pkgs/development/python-modules/argh/default.nix
+++ b/pkgs/development/python-modules/argh/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "argh";
-  version = "0.29.3";
+  version = "0.29.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WOQ4zpFpqqLm3hR+POs0zqz+JlVqIwb1Di1G9Sd5rLE=";
+    hash = "sha256-aVwK5FNCcMriaXhBtKVvQ0qZBpSgAmTqEOu7zcAsE/c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/argilla/default.nix b/pkgs/development/python-modules/argilla/default.nix
index 82d79c2396d75..8ac1ccdc65f8e 100644
--- a/pkgs/development/python-modules/argilla/default.nix
+++ b/pkgs/development/python-modules/argilla/default.nix
@@ -61,7 +61,7 @@
 , pytest-cov
 , pytest-mock
 , pytest-asyncio
-, factory_boy
+, factory-boy
 }:
 let
   pname = "argilla";
@@ -166,7 +166,7 @@ buildPythonPackage {
     pytest-cov
     pytest-mock
     pytest-asyncio
-    factory_boy
+    factory-boy
   ]
     ++ optional-dependencies.server
     ++ optional-dependencies.postgresql
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index 8ee70bf640442..0a70e40e9e8a0 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -26,25 +26,15 @@
 
 buildPythonPackage rec {
   pname = "astropy";
-  version = "5.3.3";
+  version = "5.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8"; # according to setup.cfg
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AzDfn116IlQ2fpuM9EJVuhBwsGEjGIxqcu3BgEk/k7s=";
+    hash = "sha256-1JD34vqsLMwBySRCAtYpFUJZr4qXkQTO2J3ErOTm8dg=";
   };
-  patches = [
-    # Fixes running tests in parallel issue
-    # https://github.com/astropy/astropy/issues/15316. Fix from
-    # https://github.com/astropy/astropy/pull/15327
-    (fetchpatch {
-      url = "https://github.com/astropy/astropy/commit/1042c0fb06a992f683bdc1eea2beda0b846ed356.patch";
-      hash = "sha256-bApAcGBRrJ94thhByoYvdqw2e6v77+FmTfgmGcE6MMk=";
-    })
-  ];
-
   # Relax cython dependency to allow this to build, upstream only doesn't
   # support cython 3 as of writing. See:
   # https://github.com/astropy/astropy/issues/15315
@@ -85,6 +75,11 @@ buildPythonPackage rec {
   pythonImportsCheck = [
     "astropy"
   ];
+  disabledTests = [
+    # May fail due to parallelism, see:
+    # https://github.com/astropy/astropy/issues/15441
+    "TestUnifiedOutputRegistry"
+  ];
 
   meta = {
     description = "Astronomy/Astrophysics library for Python";
diff --git a/pkgs/development/python-modules/asyncstdlib/default.nix b/pkgs/development/python-modules/asyncstdlib/default.nix
index 8cd6af449f975..2f61273c161e0 100644
--- a/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.10.8";
+  version = "3.10.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7HQFyIR+NWRzbFkzkZiuEQotZfCXpCzrWfWIFg1lWv4=";
+    hash = "sha256-Wvp2orIGxy10jJOyskY3QMCciH33pPgX4Yd0nHjRjsM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix
index f9a2950aa35a0..4232716d48292 100644
--- a/pkgs/development/python-modules/atom/default.nix
+++ b/pkgs/development/python-modules/atom/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "atom";
-  version = "0.10.0";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "nucleic";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-l+4/bk3V5gMa7CXSHSo8aWmipur0xheL2FopHuiLcpQ=";
+    hash = "sha256-NXjvRVYcWU9p7b8y2ICOzYe6TeMh1S70Edy/JvTG7a4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/atsim_potentials/default.nix b/pkgs/development/python-modules/atsim-potentials/default.nix
index f9977ec841218..f9977ec841218 100644
--- a/pkgs/development/python-modules/atsim_potentials/default.nix
+++ b/pkgs/development/python-modules/atsim-potentials/default.nix
diff --git a/pkgs/development/python-modules/azure-storage-blob/default.nix b/pkgs/development/python-modules/azure-storage-blob/default.nix
index a537e32c25458..e0846bc605143 100644
--- a/pkgs/development/python-modules/azure-storage-blob/default.nix
+++ b/pkgs/development/python-modules/azure-storage-blob/default.nix
@@ -1,36 +1,29 @@
 { lib
-, azure-common
 , azure-core
-, azure-storage-common
 , buildPythonPackage
 , cryptography
 , fetchPypi
 , isodate
-, msrest
 , pythonOlder
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-storage-blob";
-  version = "12.17.0";
+  version = "12.18.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-wUt4WhcFCzD8MmoxW9rmvEoHiFX0+UpMMDrXSkjcjGM=";
+    hash = "sha256-4Rk1NImB/8AFuEi1XbJcBPLR+Q4e4zAAZZkGt2PPFMg=";
   };
 
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    azure-storage-common
     cryptography
     isodate
-    msrest
     typing-extensions
   ];
 
diff --git a/pkgs/development/python-modules/barectf/default.nix b/pkgs/development/python-modules/barectf/default.nix
new file mode 100644
index 0000000000000..429e03fbe9407
--- /dev/null
+++ b/pkgs/development/python-modules/barectf/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, setuptools
+, jsonschema
+, pyyaml
+, jinja2
+, termcolor
+}:
+
+buildPythonPackage rec {
+  pname = "barectf";
+  version = "3.1.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "efficios";
+    repo = "barectf";
+    rev = "v${version}";
+    hash = "sha256-JelFfd3WS012dveNlIljhLdyPmgE9VEOXoZE3MBA/Gw=";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  propagatedBuildInputs = [
+    setuptools # needs pkg_resources at runtime
+    jsonschema
+    pyyaml
+    jinja2
+    termcolor
+  ];
+
+  pythonImportsCheck = [ "barectf" ];
+
+  meta = with lib; {
+    description = "Generator of ANSI C tracers which output CTF data streams ";
+    homepage = "https://github.com/efficios/barectf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Madouura ];
+  };
+}
diff --git a/pkgs/development/python-modules/beancount_docverif/default.nix b/pkgs/development/python-modules/beancount-docverif/default.nix
index 521652f8424d2..d614b2f12d4f0 100644
--- a/pkgs/development/python-modules/beancount_docverif/default.nix
+++ b/pkgs/development/python-modules/beancount-docverif/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
+{ lib, buildPythonPackage, fetchPypi
 , setuptools-scm
 , beancount
-, pytest, sh
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   version = "1.0.1";
-  pname = "beancount_docverif";
-
-  disabled = !isPy3k;
+  pname = "beancount-docverif";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "beancount_docverif";
+    inherit version;
     hash = "sha256-CFBv1FZP5JO+1MPnD86ttrO42zZlvE157zqig7s4HOg=";
   };
 
@@ -24,14 +24,9 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytest
-    sh
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/siriobalmelli/beancount_docverif";
     description = "Document verification plugin for Beancount";
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index bff59de425490..103f88082068a 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -17,14 +17,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.5";
+  version = "2.3.6";
   pname = "beancount";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FONWJaLpy9Q8rmF42gjLPxIk9iYeVBymcm3zXZjpw2o=";
+    hash = "sha256-gB+Tvta1fS4iQ2aIxInVob8fduIQ887RhoB1fmDTR1o=";
   };
 
   # Tests require files not included in the PyPI archive.
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index a301f5757d563..55f709c0e3dfc 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.8.1";
+  version = "2.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5ozu81qIYl0WFpVQdo/MjTiUkT42PCTsv2uMB+sCyPM=";
+    hash = "sha256-+QsvRLWyM2TV+63iw0ZS4Vsfz+gTxG+CjgCPaKcJFg8=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index fe802ac196c56..a00a32db49086 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.31.57";
+  version = "1.31.62";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-4o88p6YnnwHc7EZjmAvoCqk9xOsu/MI5aFnOtkdiO4M=";
+    hash = "sha256-LOVV5d/y6R/CK9ZxBlNL8+BZO4ONh/iknTuOh/qDpEA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/camel-converter/default.nix b/pkgs/development/python-modules/camel-converter/default.nix
index cc9c345d3fb0a..176c49819dbf1 100644
--- a/pkgs/development/python-modules/camel-converter/default.nix
+++ b/pkgs/development/python-modules/camel-converter/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "camel-converter";
-  version = "3.0.2";
+  version = "3.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sanders41";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XKtWR9dmSMfqkJYUHDQtWBLG3CHrbrI5lNtPUTShmBE=";
+    hash = "sha256-0sNb1zg8cnDjQQnStfe1k8uB1GpmNtd/VwqSqTcLmj0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index c3e2ccf3e1815..59c29b95bf907 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.31.0";
+  version = "1.31.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hWKO64cx8lcErGWMPY2pDtvuO6xF1Ve+bLWhHnYL/ng=";
+    hash = "sha256-Asz91KG/sDlRTwgn7bP0Pa4yiXKt7Hgc1hzEKD8TfHM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/chiabip158/default.nix b/pkgs/development/python-modules/chiabip158/default.nix
index 508f32cd4641d..d926a3e5e2186 100644
--- a/pkgs/development/python-modules/chiabip158/default.nix
+++ b/pkgs/development/python-modules/chiabip158/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "chiabip158";
-  version = "1.2";
+  version = "1.3";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-t0Fnsh9B83KiT5dFVVfHs7sm9HyNbMsp6goj3esoph8=";
+    hash = "sha256-HUgYVVQ7yc2X3ffnV7mCZf+oFUHl/29Mb4n91dRJ7gc=";
   };
 
   nativeBuildInputs = [ cmake setuptools-scm ];
diff --git a/pkgs/development/python-modules/clustershell/default.nix b/pkgs/development/python-modules/clustershell/default.nix
index f95b9f02aa107..87fef1f934cfb 100644
--- a/pkgs/development/python-modules/clustershell/default.nix
+++ b/pkgs/development/python-modules/clustershell/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "ClusterShell";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bwqzyhQbUI2gPOGb1S8eXo0pdz/DBi1782RQqCIH7Bs=";
+    hash = "sha256-rsF/HG4GNBC+N49b+sDO2AyUI1G44wJNBUwQNPzShD0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/cmdstanpy/default.nix b/pkgs/development/python-modules/cmdstanpy/default.nix
index f8960fadb3aad..d2c097743c753 100644
--- a/pkgs/development/python-modules/cmdstanpy/default.nix
+++ b/pkgs/development/python-modules/cmdstanpy/default.nix
@@ -8,6 +8,7 @@
 , pandas
 , numpy
 , tqdm
+, stanio
 , xarray
 
 , pytestCheckHook
@@ -15,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "cmdstanpy";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "stan-dev";
     repo = "cmdstanpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9kAd3rbSctWEhAzB6RiQlbg5/uVxGIghYLus8hWzBFQ=";
+    hash = "sha256-1/X5JDvCx21qLNamNQXpg+w3d3DdSRlB+liIv2fThs4=";
   };
 
   patches = [
@@ -41,6 +42,7 @@ buildPythonPackage rec {
     pandas
     numpy
     tqdm
+    stanio
   ];
 
   passthru.optional-dependencies = {
diff --git a/pkgs/development/python-modules/cntk/default.nix b/pkgs/development/python-modules/cntk/default.nix
deleted file mode 100644
index b1bba8cf1e0f3..0000000000000
--- a/pkgs/development/python-modules/cntk/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib
-, buildPythonPackage
-, pkgs
-, numpy
-, scipy
-, mpi
-, enum34
-, protobuf
-, pip
-, python
-, swig
-}:
-
-let
-  cntk = pkgs.cntk;
-in
-buildPythonPackage {
-  inherit (cntk) name version src;
-
-  nativeBuildInputs = [ swig mpi ];
-  buildInputs = [ cntk mpi ];
-  propagatedBuildInputs = [ numpy scipy enum34 protobuf pip ];
-
-  CNTK_LIB_PATH = "${cntk}/lib";
-  CNTK_COMPONENT_VERSION = cntk.version;
-  CNTK_VERSION = cntk.version;
-  CNTK_VERSION_BANNER = cntk.version;
-
-  postPatch = ''
-    cd bindings/python
-    sed -i 's,"libmpi.so.12","${mpi}/lib/libmpi.so",g' cntk/train/distributed.py
-
-    # Remove distro and libs checks; they aren't compatible with NixOS and besides we guarantee
-    # compatibility by providing a package.
-    cat <<EOF > cntk/cntk_py_init.py
-    def cntk_check_distro_info():
-      pass
-    def cntk_check_libs():
-      pass
-    EOF
-  '';
-
-  postInstall = ''
-    rm -rf $out/${python.sitePackages}/cntk/libs
-    ln -s ${cntk}/lib $out/${python.sitePackages}/cntk/libs
-    # It's not installed for some reason.
-    cp cntk/cntk_py.py $out/${python.sitePackages}/cntk
-  '';
-
-  # Actual tests are broken.
-  checkPhase = ''
-    cd $NIX_BUILD_TOP
-    ${python.interpreter} -c "import cntk"
-  '';
-
-  meta = {
-    inherit (cntk.meta) homepage description license maintainers platforms;
-    # doesn't support Python 3.7
-    broken = lib.versionAtLeast python.version "3.7";
-  };
-}
diff --git a/pkgs/development/python-modules/cramjam/default.nix b/pkgs/development/python-modules/cramjam/default.nix
index b0ca3c0ac0e44..03d823812c15d 100644
--- a/pkgs/development/python-modules/cramjam/default.nix
+++ b/pkgs/development/python-modules/cramjam/default.nix
@@ -7,7 +7,7 @@
 , brotli
 , hypothesis
 , lz4
-, memory_profiler
+, memory-profiler
 , numpy
 , py
 , pytest-benchmark
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     brotli
     hypothesis
     lz4
-    memory_profiler
+    memory-profiler
     numpy
     py
     pytest-benchmark
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index 88cb1385bf326..b5d2ce8eef71d 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.11.0";
+  version = "2.11.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8kK0T5b5hzT8CBYKvYOrc7bKEQxXDsTgjApmrILecek=";
+    hash = "sha256-oYBk+Rko5qK1k2TJdDNiN0rWdx7sdy6UpxMlDynKZ9Y=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/pkgs/development/python-modules/deep_merge/default.nix b/pkgs/development/python-modules/deep_merge/default.nix
deleted file mode 100644
index ad879347367c8..0000000000000
--- a/pkgs/development/python-modules/deep_merge/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, nose }:
-
-buildPythonPackage rec {
-  pname = "deep_merge";
-  version = "0.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "tUQV+Qk0xC4zQRTihky01OczWzStOW41rYYQyWBlpH4=";
-  };
-
-  nativeCheckInputs = [
-    nose
-  ];
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "This library contains a simple utility for deep-merging dictionaries and the data structures they contain";
-    homepage = "https://github.com/halfak/deep_merge";
-    license = licenses.mit;
-    maintainers = [ maintainers.anhdle14 ];
-  };
-}
diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix
index 42c1602a399fb..3e5ad6939e9dd 100644
--- a/pkgs/development/python-modules/deform/default.nix
+++ b/pkgs/development/python-modules/deform/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, chameleon, colander, iso8601, peppercorn, translationstring, zope_deprecation
+, chameleon, colander, iso8601, peppercorn, translationstring, zope-deprecation
 , nose, coverage, beautifulsoup4, flaky, pyramid, pytestCheckHook }:
 
 buildPythonPackage rec {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     iso8601
     peppercorn
     translationstring
-    zope_deprecation
+    zope-deprecation
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/django-auth-ldap/default.nix b/pkgs/development/python-modules/django-auth-ldap/default.nix
index 89432c28198c0..3fa84658b6d02 100644
--- a/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "django-auth-ldap";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "pyproject";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B6L+NbQCUIluErjWLROW0eQ3AEYwNwN2BJPOzXkfqI8=";
+    hash = "sha256-muK/h/m2Nnts/ZSgRRiWy8co5UAO2By/vVjOdDwJCaI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-extensions/default.nix b/pkgs/development/python-modules/django-extensions/default.nix
index 3c09cde4d10ba..99e9fe078ff4f 100644
--- a/pkgs/development/python-modules/django-extensions/default.nix
+++ b/pkgs/development/python-modules/django-extensions/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , fetchpatch
 , django
-, factory_boy
+, factory-boy
 , mock
 , pip
 , pygments
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     mock
     pip
     pygments # not explicitly declared in setup.py, but some tests require it
diff --git a/pkgs/development/python-modules/django-reversion/default.nix b/pkgs/development/python-modules/django-reversion/default.nix
index e85e89e2b6c94..2559cc1fbf5cb 100644
--- a/pkgs/development/python-modules/django-reversion/default.nix
+++ b/pkgs/development/python-modules/django-reversion/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "5.0.5";
+  version = "5.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
 src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JTxpGwpOC+He7Atiw4yfu3W25aj9gdO1iib0YTWXAQY=";
+    hash = "sha256-buJalwcN2hTz4IK4uZm/vstKnwgv8fhR40TQVqGMk0w=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +31,7 @@ src = fetchPypi {
   meta = with lib; {
     description = "An extension to the Django web framework that provides comprehensive version control facilities";
     homepage = "https://github.com/etianen/django-reversion";
+    changelog = "https://github.com/etianen/django-reversion/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/django-silk/default.nix b/pkgs/development/python-modules/django-silk/default.nix
index 0b420e9362c98..9f91aee935acd 100644
--- a/pkgs/development/python-modules/django-silk/default.nix
+++ b/pkgs/development/python-modules/django-silk/default.nix
@@ -2,7 +2,7 @@
 , autopep8
 , buildPythonPackage
 , django
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , fetchpatch
 , freezegun
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     freezegun
     networkx
     pydot
-    factory_boy
+    factory-boy
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index c95bf2b6c4c04..2342fc8a74e32 100644
--- a/pkgs/development/python-modules/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -55,14 +55,14 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.23.0";
+  version = "3.25.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Ti4RWIN5y38ZpS91Q/4HDE549evQ8rL7P/bp9D7ql7U=";
+    hash = "sha256-XU0jMeYOaLlwnY+P9/H9KathHiVrmpnNNHFIWKihaIo=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/edk2-pytool-library/default.nix b/pkgs/development/python-modules/edk2-pytool-library/default.nix
index 27d545acd8918..f279bb2dc605d 100644
--- a/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , setuptools
 , setuptools-scm
@@ -14,14 +15,16 @@
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.18.1";
-  format = "pyproject";
+  version = "0.19.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "v${version}";
-    hash = "sha256-Ps1gXeaatZ3wIPcJybpj5y9q5kpaiTc8IuEkGAV48OA=";
+    hash = "sha256-aXwQWnhbt4D5OYYMlGLl+il/RJp6mGJLFXw8pj7TYyk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/einops/default.nix b/pkgs/development/python-modules/einops/default.nix
index f4364aac83074..03c67d7ce5273 100644
--- a/pkgs/development/python-modules/einops/default.nix
+++ b/pkgs/development/python-modules/einops/default.nix
@@ -3,12 +3,7 @@
 , chainer
 , fetchFromGitHub
 , hatchling
-, jupyter
-, keras
-  #, mxnet
 , nbconvert
-, nbformat
-, nose
 , numpy
 , parameterized
 , pytestCheckHook
@@ -33,12 +28,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     chainer
-    jupyter
-    keras
-    # mxnet (has issues with some CPUs, segfault)
     nbconvert
-    nbformat
-    nose
     numpy
     parameterized
     pytestCheckHook
diff --git a/pkgs/development/python-modules/elmax-api/default.nix b/pkgs/development/python-modules/elmax-api/default.nix
index 415211cb36256..b3e94cca5f02e 100644
--- a/pkgs/development/python-modules/elmax-api/default.nix
+++ b/pkgs/development/python-modules/elmax-api/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "elmax-api";
-  version = "0.0.4";
+  version = "0.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "albertogeniola";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+dR1ccRa4G91yFeSwjgdZ1lEXV/PIgnKN8e9tfy5fTU=";
+    hash = "sha256-57pmmH7f893H71CMhdnahvbN/5F2yfrVZ6MFpYQ4+mQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
index 332d4866e09a9..9906725b63c65 100644
--- a/pkgs/development/python-modules/env-canada/default.nix
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.36";
+  version = "0.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5eA9fqL748VigNgy1G7bZtMstV7EI9LLPhv6xZnCEFA=";
+    hash = "sha256-YIU0fboXw2CHkAeC47pcXlZT2KPO0R1UolBVILlLoPg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ephem/default.nix b/pkgs/development/python-modules/ephem/default.nix
index 0accb3ccf6d91..3b9f4fba9f505 100644
--- a/pkgs/development/python-modules/ephem/default.nix
+++ b/pkgs/development/python-modules/ephem/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "4.1.4";
+  version = "4.1.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-c6WfDSFi0WJFNcPDt1+VZVa9uyBV6vVUp77xR9P5x2A=";
+    hash = "sha256-DGSoqkAVdMdZQgRbmvcNFlbhTFNmFRwMu0AMvu3CNio=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/esig/default.nix b/pkgs/development/python-modules/esig/default.nix
new file mode 100644
index 0000000000000..f0183917c2c69
--- /dev/null
+++ b/pkgs/development/python-modules/esig/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cmake
+, ninja
+, oldest-supported-numpy
+, scikit-build
+, setuptools
+, numpy
+, iisignature
+, boost
+}:
+
+buildPythonPackage rec {
+  pname = "esig";
+  version = "0.9.8.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-BGZaJSrpNSwZMHBYFDmDVPZOtgam/EVyh5Y5FAB8e1o=";
+  };
+
+  buildInputs = [
+    boost
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    oldest-supported-numpy
+    scikit-build
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  passthru.optional-dependencies = {
+    iisignature = [
+      iisignature
+    ];
+  };
+
+  # PyPI tarball has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "esig" ];
+
+  meta = with lib; {
+    description = "This package provides \"rough path\" tools for analysing vector time series";
+    homepage = "https://github.com/datasig-ac-uk/esig";
+    changelog = "https://github.com/datasig-ac-uk/esig/blob/release/CHANGELOG";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/pkgs/development/python-modules/eth-keys/default.nix b/pkgs/development/python-modules/eth-keys/default.nix
index e9d3cc28cb83a..8cc904bb4029b 100644
--- a/pkgs/development/python-modules/eth-keys/default.nix
+++ b/pkgs/development/python-modules/eth-keys/default.nix
@@ -6,7 +6,7 @@
 , eth-hash
 , eth-typing
 , eth-utils
-, factory_boy
+, factory-boy
 , hypothesis
 , isPyPy
 , pyasn1
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     asn1tools
-    factory_boy
+    factory-boy
     hypothesis
     pyasn1
     pytestCheckHook
diff --git a/pkgs/development/python-modules/eufylife-ble-client/default.nix b/pkgs/development/python-modules/eufylife-ble-client/default.nix
index a3a228682f735..d6216634232a2 100644
--- a/pkgs/development/python-modules/eufylife-ble-client/default.nix
+++ b/pkgs/development/python-modules/eufylife-ble-client/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "eufylife-ble-client";
-  version = "0.1.7";
+  version = "0.1.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "eufylife_ble_client";
     inherit version;
-    hash = "sha256-Vt9hHUVAM0d+BcotPUD9v8jXrcg7lEDVChLENUHd3rY=";
+    hash = "sha256-1pnT5B+m2/IDqHqOIZdDx8WwBdZpJe1Bj/HaxY+VW1Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/faadelays/default.nix b/pkgs/development/python-modules/faadelays/default.nix
index 22f764ad4aced..e19b3192e3503 100644
--- a/pkgs/development/python-modules/faadelays/default.nix
+++ b/pkgs/development/python-modules/faadelays/default.nix
@@ -3,25 +3,38 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "faadelays";
-  version = "0.0.7";
+  version = "2023.9.1";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-osZqfSYlKPYZMelBR6YB331iRB4DTjCUlmX7pcrIiGk=";
+    hash = "sha256-ngMFd+BE3hKeaeGEX4xHpzDIrtGFDsSwxBbrc4ZMFas=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "faadelays" ];
+
+  pythonImportsCheck = [
+    "faadelays"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/ntilley905/faadelays/releases/tag/v${version}";
     description = "Python package to retrieve FAA airport status";
     homepage = "https://github.com/ntilley905/faadelays";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/factory_boy/default.nix b/pkgs/development/python-modules/factory-boy/default.nix
index 2269445282bdf..2269445282bdf 100644
--- a/pkgs/development/python-modules/factory_boy/default.nix
+++ b/pkgs/development/python-modules/factory-boy/default.nix
diff --git a/pkgs/development/python-modules/fake-useragent/default.nix b/pkgs/development/python-modules/fake-useragent/default.nix
index c9b58a92c2292..50c4f5e968378 100644
--- a/pkgs/development/python-modules/fake-useragent/default.nix
+++ b/pkgs/development/python-modules/fake-useragent/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "fake-useragent";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fake-useragent";
     repo = "fake-useragent";
     rev = "refs/tags/${version}";
-    hash = "sha256-kOvVqdfK9swtjW8D7COrZksLCu1N8sQO8rzx5RZqCT0=";
+    hash = "sha256-erGX52ipM0scn3snICf6ipjgVbV8/H5xT4GP3AtvOwo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix
index 784b13c3549a8..fb2bcf88fa7f1 100644
--- a/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.13.2";
+  version = "1.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZoxIuUeDkhACWGi+njZuMhO8P6nlErcBkub5VCMNm8Q=";
+    hash = "sha256-qFA0AVebHd/Ny8x+rUkueLZhYB/PwL7o/qpUnZCRsEA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix
index 173b029d1533f..2d5537b5df697 100644
--- a/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "flask-jwt-extended";
-  version = "4.5.2";
+  version = "4.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-JWT-Extended";
     inherit version;
-    hash = "sha256-ulYkW6Q7cciuk2eEuGdiXc6LmVb67t7ClTIi5XlC+ws=";
+    hash = "sha256-Bh7z0l7VdDur5JZKs4822HDm0v2KEmurXXfd74oBkys=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-mysqldb/default.nix b/pkgs/development/python-modules/flask-mysqldb/default.nix
new file mode 100644
index 0000000000000..f0b7d59206feb
--- /dev/null
+++ b/pkgs/development/python-modules/flask-mysqldb/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, flask
+, mysqlclient
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "flask-mysqldb";
+  version = "2.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "alexferl";
+    repo = "flask-mysqldb";
+    rev = "v${version}";
+    hash = "sha256-RHAB9WGRzojH6eAOG61QguwF+4LssO9EcFjbWxoOtF4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    mysqlclient
+  ];
+
+  pythonImportsCheck = [
+    "flask_mysqldb"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "MySQL connection support for Flask";
+    homepage = "https://github.com/alexferl/flask-mysqldb";
+    changelog = "https://github.com/alexferl/flask-mysqldb/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ netali ];
+  };
+}
diff --git a/pkgs/development/python-modules/fschat/default.nix b/pkgs/development/python-modules/fschat/default.nix
index 26f69132ed0c4..ee42f4ce8ac9b 100644
--- a/pkgs/development/python-modules/fschat/default.nix
+++ b/pkgs/development/python-modules/fschat/default.nix
@@ -29,7 +29,7 @@
 , protobuf
 }:
 let
-  version = "0.2.28";
+  version = "0.2.30";
 in
 buildPythonPackage {
   pname = "fschat";
@@ -39,8 +39,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "lm-sys";
     repo = "FastChat";
-    rev = "v${version}";
-    hash = "sha256-nTP4zY6mJykzKb6LBWosg77mwE33vq9eiYSpAlZU5NI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-SkrdRpmbxnt/Xn8TTmozxhr3fPeAFPP7X0cM9vJC9Sc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/garth/default.nix b/pkgs/development/python-modules/garth/default.nix
index 92ce1294388e9..45ba76913a32b 100644
--- a/pkgs/development/python-modules/garth/default.nix
+++ b/pkgs/development/python-modules/garth/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "garth";
-  version = "0.4.37";
+  version = "0.4.38";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7mq661cW67EvvJ1s2W5Ybw+oiDz9vdmmt/ljt/llIoo=";
+    hash = "sha256-c+wSXADcgl7DpJJxGUus3oA4v+DmjGwjKfp0tJbcxb8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gitignore-parser/default.nix b/pkgs/development/python-modules/gitignore-parser/default.nix
index 571d4e9246514..a50d7ce2e2357 100644
--- a/pkgs/development/python-modules/gitignore-parser/default.nix
+++ b/pkgs/development/python-modules/gitignore-parser/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "gitignore-parser";
-  version = "0.1.7";
+  version = "0.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mherrmann";
     repo = "gitignore_parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Zw7BuhdUzd0pjlRHf3KbkOUhLuBVvlKhWIzZocKOU30=";
+    hash = "sha256-T1XgcOHVFv/+oCEFKSoJeFAspJguimHasuREzjQwgWE=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index a79c74b3de08f..2ee87fac60c2c 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.31.0";
+  version = "2.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PGrG29a5tq41hn8zzJWdAy4Dju1O5ZPYhZ+CcsBraAY=";
+    hash = "sha256-aU+42neWNlPhxw+mCSi0oR+vjh8VgKOQJQU6PhvM5t4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
index 1a5d935f4a81c..2f934c38765a3 100644
--- a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datacatalog";
-  version = "3.15.2";
+  version = "3.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GaGxn7Q5blqPWNWIl6pRV9lLzmGm5GGwqcyOuAWI0Ds=";
+    hash = "sha256-cD5BQ5Ykj6mEdLurnqli9MlqPK8RhMkDv8lFPSdLDqI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-logging/default.nix b/pkgs/development/python-modules/google-cloud-logging/default.nix
index 2c4054a5085cc..83842597d8771 100644
--- a/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "3.7.0";
+  version = "3.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0uroUD8Pb5SEhG34sIepU5zY0yo19n9QBTz9sCuYlh4=";
+    hash = "sha256-/dkW5ZqEqowC6BSNf907O2I8V7DB/3H0MpfOjlD8Hqs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index 7f2b2f46d6758..1622df5207970 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.15.1";
+  version = "2.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CGqEWjSm4QWrijpICTkupjZ6ZbKLdWHCYQFTSocF7Tc=";
+    hash = "sha256-PRhRAJMSraXoq/IP92GvhHS3UwYKtuC31uxHvBHysTY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-generativeai/default.nix b/pkgs/development/python-modules/google-generativeai/default.nix
index ffab9af498023..2131255d5a85c 100644
--- a/pkgs/development/python-modules/google-generativeai/default.nix
+++ b/pkgs/development/python-modules/google-generativeai/default.nix
@@ -2,13 +2,17 @@
 , buildPythonPackage
 , fetchFromGitHub
 , google-ai-generativelanguage
+, google-api-core
+, google-auth
+, protobuf
 , pythonOlder
 , pythonRelaxDepsHook
+, tqdm
 }:
 
 buildPythonPackage rec {
   pname = "google-generativeai";
-  version = "0.1.0";
+  version = "0.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +21,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "generative-ai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-caFq7BZKRuNU7fKJWeWSbbDFNpav7OrIET4OQSHkPz4=";
+    hash = "sha256-zlLfA8wlXCsBXvzTHNW8y30/DvWMgf7DnpShsvjZXZ4=";
   };
 
   pythonRelaxDeps = [
@@ -30,6 +34,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     google-ai-generativelanguage
+    google-auth
+    google-api-core
+    protobuf
+    tqdm
   ];
 
   # Issue with the google.ai module. Check with the next release
diff --git a/pkgs/development/python-modules/gpiozero/default.nix b/pkgs/development/python-modules/gpiozero/default.nix
index 587f3c9e30154..929ce0e24f5b5 100644
--- a/pkgs/development/python-modules/gpiozero/default.nix
+++ b/pkgs/development/python-modules/gpiozero/default.nix
@@ -4,25 +4,29 @@
 , sphinx-rtd-theme
 , sphinxHook
 , colorzero
-, mock
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "gpiozero";
-  version = "1.6.2";
+  version = "2.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "gpiozero";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-dmFc3DNTlEajYQ5e8QK2WfehwYwAsWyG2cxKg5ykEaI=";
+    hash = "sha256-6qSB9RMypNXNj+Ds1nyzB7iaeHXvF0swSubrJSn2L34=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov" ""
+  '';
+
   outputs = [
     "out"
     "doc"
@@ -38,7 +42,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    mock
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/grappelli_safe/default.nix b/pkgs/development/python-modules/grappelli-safe/default.nix
index 33b4c437dde26..916ac606473b7 100644
--- a/pkgs/development/python-modules/grappelli_safe/default.nix
+++ b/pkgs/development/python-modules/grappelli-safe/default.nix
@@ -1,17 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   version = "1.1.1";
-  pname = "grappelli_safe";
+  pname = "grappelli-safe";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "ee34b3e2a3711498b1f8da3d9daa8a1239efdf255a212181742b6a5890fac039";
+    pname = "grappelli_safe";
+    inherit version;
+    hash = "sha256-7jSz4qNxFJix+No9naqKEjnv3yVaISGBdCtqWJD6wDk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "grappelli_safe"
+  ];
+
   meta = with lib; {
     description = "A snapshot of django-grappelli for the Mezzanine CMS";
     longDescription = ''
@@ -26,9 +43,8 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/stephenmcd/grappelli-safe";
     downloadPage = "http://pypi.python.org/pypi/grappelli_safe/";
-    license = licenses.free;
+    changelog = "https://github.com/stephenmcd/grappelli-safe/releases/tag/v${version}";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ prikhi ];
-    platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index 959c9d39b3a90..d2d8ce4664202 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.36.4";
+  version = "0.36.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-H4iKxM6uwpAIISSxm4ux+qXsoPfHmpHBRx5MuGxwCE4=";
+    hash = "sha256-e70SirkWOQveyH6qMe+v2JSoNFvEc0EwJ9tLQA0jxZI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/ha-philipsjs/default.nix b/pkgs/development/python-modules/ha-philipsjs/default.nix
index 0f1af2dee46c2..5530cfe070f1b 100644
--- a/pkgs/development/python-modules/ha-philipsjs/default.nix
+++ b/pkgs/development/python-modules/ha-philipsjs/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ha-philipsjs";
-  version = "3.1.0";
+  version = "3.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VwgcN9DXzuWp6J3joswXEwRKJI499LNY7MAVBWBBEbM=";
+    hash = "sha256-r8uqToxkJg9j89UUZpxsPXutWPefAYDW95zFBKU9Al4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index dba6e4be3c4eb..470fe43ce496e 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2023.10.4";
+  version = "2023.10.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-SDkwKJVymWpl65TGVWpZL0KQhMdnjTLyOR+G3nyRWw0=";
+    hash = "sha256-m7jBL4qB8ZcGifd6F2/In8JrSMyFeEYKf52Y+y22yK0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/hap-python/default.nix b/pkgs/development/python-modules/hap-python/default.nix
index c40d1633eaedf..3364e3e64abf3 100644
--- a/pkgs/development/python-modules/hap-python/default.nix
+++ b/pkgs/development/python-modules/hap-python/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "4.7.1";
+  version = "4.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-M/STfco+Bx+KxBT1lUIrYyGSjBcPw2UVX02gNOROke4=";
+    hash = "sha256-1NLLNE4LgV0r45nc21xCAAaKuH6bQm2YQWlxzhgajSI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix
index 07449e0cce308..5e963bd82e55f 100644
--- a/pkgs/development/python-modules/icmplib/default.nix
+++ b/pkgs/development/python-modules/icmplib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "3.0.3";
+  version = "3.0.4";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-EQyu7lV8F/U8cZklYYIMk9ut1FTcoBvGc8Ggx6JerDk=";
+    hash = "sha256-PnBcGiUvftz/KYg9Qd2GaIcF3OW4lYH301uI5/M5CBI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix
index 8fb0b0c4d0084..7e9c67634976d 100644
--- a/pkgs/development/python-modules/idasen/default.nix
+++ b/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.10.2";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aCAtZsHH1tkti2A7OWw9rV4vij1n6T+R8nMa/MRZuF8=";
+    hash = "sha256-mAczHrFEH1LEH1IEUc7ZXTWtaPBrvIdSvkUqOCupyRs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/iisignature/default.nix b/pkgs/development/python-modules/iisignature/default.nix
new file mode 100644
index 0000000000000..1ddfd05b53266
--- /dev/null
+++ b/pkgs/development/python-modules/iisignature/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, wheel
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "iisignature";
+  version = "0.24";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-C5MUxui4BIf68yMZH7NZhq1CJuhrDGfPCjspObaVucY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  # PyPI tarball has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "iisignature" ];
+
+  meta = with lib; {
+    description = "Iterated integral signature calculations";
+    homepage = "https://pypi.org/project/iisignature";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index b7d2811fbd100..a93b13f81807d 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "1.2.0";
+  version = "1.3.0";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FC4uvBqQ9Lqpvj94ByM7LYiqqjAQQljYduBxwum49lI=";
+    hash = "sha256-dlCPJQDkHW4zNIHwhyKkgk+rI2t+Xn+Fbf3xJPRtaiY=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 699cd2945d734..5bc9ba395063c 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.37.0";
+  version = "1.38.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-paS+/miraJ9vRL1ZEAWJRSVd1hGvrYJe+0YD/F4sGDs=";
+    hash = "sha256-oE0RPryuUJcy6HN3V2XIxipGYU41xrYMC7b0sGRfay8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ircrobots/default.nix b/pkgs/development/python-modules/ircrobots/default.nix
index 51de0c11bfe2b..ef09e41c23613 100644
--- a/pkgs/development/python-modules/ircrobots/default.nix
+++ b/pkgs/development/python-modules/ircrobots/default.nix
@@ -13,21 +13,19 @@
 
 buildPythonPackage rec {
   pname = "ircrobots";
-  version = "0.4.6";
+  version = "0.6.6";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+BrS1+ZkgwT/qvqD0PwRZi2LF+31biS738SzKH1dy7w=";
+    hash = "sha256-mIh3tERwHtGH9eA0AT8Lcnwp1Wn9lQhKkUjuZcOXO/c=";
   };
 
   postPatch = ''
     # too specific pins https://github.com/jesopo/ircrobots/issues/3
     sed -iE 's/anyio.*/anyio/' requirements.txt
-    sed -iE 's/ircstates.*/ircstates/' requirements.txt
-    sed -iE 's/async_timeout.*/async_timeout/' requirements.txt
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ircstates/default.nix b/pkgs/development/python-modules/ircstates/default.nix
index 49ddb8c0614e0..4ccaea6e6f247 100644
--- a/pkgs/development/python-modules/ircstates/default.nix
+++ b/pkgs/development/python-modules/ircstates/default.nix
@@ -4,19 +4,20 @@
 , pythonOlder
 , irctokens
 , pendulum
+, freezegun
 , python
 }:
 
 buildPythonPackage rec {
   pname = "ircstates";
-  version = "0.11.8";
+  version = "0.12.1";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0scxqcgby4vzh2q937r0wy2mb46aghjf47q3z6fp6di1b6hlj7zh";
+    hash = "sha256-F9yOY3YBacyoUzNTvPs7pxp6yNx08tiq1jWQKhGiagc=";
   };
 
   propagatedBuildInputs = [
@@ -24,6 +25,10 @@ buildPythonPackage rec {
     pendulum
   ];
 
+  nativeCheckInputs = [
+    freezegun
+  ];
+
   checkPhase = ''
     ${python.interpreter} -m unittest test
   '';
diff --git a/pkgs/development/python-modules/irctokens/default.nix b/pkgs/development/python-modules/irctokens/default.nix
index 9f40a88dd3528..b2b35a7a926bd 100644
--- a/pkgs/development/python-modules/irctokens/default.nix
+++ b/pkgs/development/python-modules/irctokens/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "irctokens";
-  version = "2.0.1";
+  version = "2.0.2";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FgcLngS11U9eBNV/8jllwdrm89tCmthA1sUaFDovk6U=";
+    hash = "sha256-Y9NBqxGUkt48hnXxsmfydHkJmWWb+sRrElV8C7l9bpw=";
   };
 
   nativeCheckInputs = [ pyyaml ];
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index 4f8235bac5787..9453ba1c0c6c5 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -27,7 +27,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.17";
+  version = "0.4.18";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     repo = pname;
     # google/jax contains tags for jax and jaxlib. Only use jax tags!
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-Lxi/lBBq7VlsT6CgnXPFcwbRU+T8630rBdm693E2jok=";
+    hash = "sha256-rDvWHa8jYCAA9iKbWaFUXdE/9L7AepFiNzmqOcc/090=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index ae1b10aab0f5c..68a1275246aa0 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -39,7 +39,7 @@ in
 assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
 
 let
-  version = "0.4.17";
+  version = "0.4.18";
 
   inherit (python) pythonVersion;
 
@@ -60,15 +60,15 @@ let
     {
       "x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
-        hash = "sha256-Fg/OaLgqeabFImUujdmhCqycANFZnLfhZmca2QmqE54=";
+        hash = "sha256-MpNomovvSVx4N6gsowOLksTyEgTK261vSXMGxYqlVOE=";
       };
       "aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
-        hash = "sha256-OSx3n5AsQ+Ggr0kVna/++bWvlSq6ABRj+Yz5WlnvF/8=";
+        hash = "sha256-if/5O5DQVHFdsLw9O1creZBx5j8ftE7fsWMMX1NjHP0=";
       };
       "x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
-        hash = "sha256-1L4axL8b4a4c2PX02kFKbQ3o3jbPLv/bV1jU1neJYHg=";
+        hash = "sha256-4NeHA/0SGdmHXyDGxpK7oJc7dE1meR4LPjzbIwxloqU=";
       };
     };
 
@@ -77,8 +77,8 @@ let
   # When upgrading, you can get these hashes from prefetch.sh. See
   # https://github.com/google/jax/issues/12879 as to why this specific URL is the correct index.
   gpuSrc = fetchurl {
-    url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl";
-    hash = "sha256-Ctdlr8mvlMcTnBSiyjEEvle5AGr+o1v6OI7XIqcTENM=";
+    url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl";
+    hash = "sha256-p6BNvhhRzVDQdpEoIRau5JovC+eDjlW3bXrahtsGvmI=";
   };
 
 in
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index 36b8f25ec5559..35d56ff1a1eb6 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -54,7 +54,7 @@ let
   inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.17";
+  version = "0.4.18";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -151,7 +151,7 @@ let
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-Lxi/lBBq7VlsT6CgnXPFcwbRU+T8630rBdm693E2jok=";
+      hash = "sha256-rDvWHa8jYCAA9iKbWaFUXdE/9L7AepFiNzmqOcc/090=";
     };
 
     nativeBuildInputs = [
@@ -264,10 +264,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-nRvvFAuP/9D8BWWVPjuZijVtk+F9IrBBHsNc5Daluy4=";
+        x86_64-linux = "sha256-0CfGWlwKsUFP1DHUN6+6wX3cHr5x3TE6NbqYlV5me1E=";
       } else {
-        x86_64-linux = "sha256-pPIJOELN62GqUuaKpcpaqHu7wbJHiZgtb2PVUPRr1Ek=";
-        aarch64-linux = "sha256-Q0PYZkOkUYUHVtSHZDlWitslDZbjNq6yRZv/ZkhTmyc=";
+        x86_64-linux = "sha256-sljmyIligXC7d9fdlpqR32xyMR0UslWs04gXJBD8FTA=";
+        aarch64-linux = "sha256-eJ4KIkHdcA2EVvyBoNum2cOPcHPFoBOtUTAGufO8FJA=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/pkgs/development/python-modules/junos-eznc/default.nix b/pkgs/development/python-modules/junos-eznc/default.nix
index d50dd571764b4..e6499c5196d1d 100644
--- a/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/pkgs/development/python-modules/junos-eznc/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.6.7";
+  version = "2.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "Juniper";
     repo = "py-junos-eznc";
     rev = "refs/tags/${version}";
-    hash = "sha256-+hGybznip5RpJm89MLg9JO4B/y50OIdgtmV2FIpZShU=";
+    hash = "sha256-5xZjuU2U3BodAMQiWZIJ27AZiAwoMm4yJ4qr3DjMd9o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jupyter-server/default.nix b/pkgs/development/python-modules/jupyter-server/default.nix
index 0c3d704711d1e..fbb9f0cacd832 100644
--- a/pkgs/development/python-modules/jupyter-server/default.nix
+++ b/pkgs/development/python-modules/jupyter-server/default.nix
@@ -5,12 +5,10 @@
 , pythonOlder
 , hatch-jupyter-builder
 , hatchling
-, pandoc
 , pytestCheckHook
 , pytest-console-scripts
 , pytest-jupyter
 , pytest-timeout
-, pytest-tornasync
 , argon2-cffi
 , jinja2
 , tornado
@@ -102,7 +100,8 @@ buildPythonPackage rec {
     "test_authorized_requests"
     # Insufficient access privileges for operation
     "test_regression_is_hidden"
-  ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+  ] ++ lib.optionals stdenv.isLinux [
+    # Failed: DID NOT RAISE <class 'tornado.web.HTTPError'>
     "test_copy_big_dir"
   ];
 
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
index 3f16022e21636..d6bdedc992ae5 100644
--- a/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -201,7 +201,7 @@ buildPythonPackage rec {
     homepage = "https://jupyter.org/";
     changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/reference/changelog.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ixxie cstrahan ];
+    maintainers = with maintainers; [ ixxie ];
     # darwin: E   OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found
     broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
   };
diff --git a/pkgs/development/python-modules/levenshtein/default.nix b/pkgs/development/python-modules/levenshtein/default.nix
index 47a9d2c39c3a2..037ae3cda69f1 100644
--- a/pkgs/development/python-modules/levenshtein/default.nix
+++ b/pkgs/development/python-modules/levenshtein/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.22.0";
+  version = "0.23.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rqbZ2+UfWhh5qEd1GL6W9edHPCSNnK3s/Y2aT3R5wCA=";
+    hash = "sha256-O39Xe26WKAGcv6DEvwuOL8NZJBem5SYZDX1TPAY7/uA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/liquidctl/default.nix b/pkgs/development/python-modules/liquidctl/default.nix
index bc4dcaee1a193..f6e5379fb2710 100644
--- a/pkgs/development/python-modules/liquidctl/default.nix
+++ b/pkgs/development/python-modules/liquidctl/default.nix
@@ -87,5 +87,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/liquidctl/liquidctl/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ arturcygan evils ];
+    mainProgram = "liquidctl";
   };
 }
diff --git a/pkgs/development/python-modules/lit/default.nix b/pkgs/development/python-modules/lit/default.nix
index b4dee1e20b555..1467dfaa1f6dc 100644
--- a/pkgs/development/python-modules/lit/default.nix
+++ b/pkgs/development/python-modules/lit/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "lit";
-  version = "15.0.6";
+  version = "17.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S06OQfDmDyutls21HxyQ016ku3FTTsDOP8Di67d9f+k=";
+    hash = "sha256-RIZ65Xa1eQVnsSC8Pw2fAh2slCTRsIQMdazYX0YQrAQ=";
   };
 
   passthru = {
diff --git a/pkgs/development/python-modules/localstack/default.nix b/pkgs/development/python-modules/localstack/default.nix
index e984554a843ee..e44f6e609d218 100644
--- a/pkgs/development/python-modules/localstack/default.nix
+++ b/pkgs/development/python-modules/localstack/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "localstack";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "localstack";
     repo = "localstack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hlK3pltajFRAtiwLOJQNmxRfoRAX5Jccygglbhb45O8=";
+    hash = "sha256-Sdyl/ccyhKRP5eb866ly1ZJrrFSQMLdX22R7UNRfDCA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/loqedapi/default.nix b/pkgs/development/python-modules/loqedapi/default.nix
new file mode 100644
index 0000000000000..332edd1c01124
--- /dev/null
+++ b/pkgs/development/python-modules/loqedapi/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "loqedapi";
+  version = "2.1.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "cpolhout";
+    repo = "loqedAPI";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9ekZ98GazH1tna4JT5SEUETKR227UYRIBBghdj+TFB4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "loqedAPI"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Loqed Smart Door Lock API";
+    homepage = "https://github.com/cpolhout/loqedAPI";
+    changelog = "https://github.com/cpolhout/loqedAPI/releases/tag/v${version}";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index 1a103d2a8c522..1f702894258bf 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.19.0";
+  version = "1.19.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    hash = "sha256-Kr+L8zHcutpxzqvwQ10iebHiwBIT+sZiiT38G6O/joY=";
+    hash = "sha256-xCC0AEiHrulxNdBf59ap9oKh/mF1u9IzZsPYFJeHNR0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/lxmf/default.nix b/pkgs/development/python-modules/lxmf/default.nix
index 1dae9f126b92f..0deabb0661e67 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.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "lxmf";
     rev = "refs/tags/${version}";
-    hash = "sha256-IbBuQuKWFjWUpVRdo5rl2Wq8vCAngg9/TKLuljRmKAU=";
+    hash = "sha256-JQgeujIfVJrIQ5Z0znqYPiKFocEDgF2Fo89QwgS+gfw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/magic-filter/default.nix b/pkgs/development/python-modules/magic-filter/default.nix
index bf85abee73c8b..e9d2fb8b86967 100644
--- a/pkgs/development/python-modules/magic-filter/default.nix
+++ b/pkgs/development/python-modules/magic-filter/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "magic-filter";
-  version = "1.0.11";
+  version = "1.0.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "aiogram";
     repo = "magic-filter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mfSq47UWOLyEDkAsdHsJuVl/rJ4KgiGPpDL7qSKEfws=";
+    hash = "sha256-MSYIZ/bzngRu6mG3EGblUotSCA+6bi+l3EymFA8NRZA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mando/default.nix b/pkgs/development/python-modules/mando/default.nix
new file mode 100644
index 0000000000000..dc48dd18ebe15
--- /dev/null
+++ b/pkgs/development/python-modules/mando/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+# Python deps
+, six
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "mando";
+  version = "0.7.1";
+
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rubik";
+    repo = "mando";
+    rev = "v${version}";
+    hash = "sha256-Ylrrfo57jqGuWEqCa5RyTT9AagBpUvAfviHkyJPFv08=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  pythonImportsCheck = [
+    "mando"
+  ];
+
+  meta = with lib; {
+    description = "Create Python CLI apps with little to no effort at all";
+    homepage = "https://mando.readthedocs.org";
+    changelog = "https://github.com/rubik/mando/blob/v${version}/CHANGELOG";
+    license = licenses.mit;
+    maintainers = with maintainers; [ t4ccer ];
+  };
+}
diff --git a/pkgs/development/python-modules/marisa-trie/default.nix b/pkgs/development/python-modules/marisa-trie/default.nix
index 34a1a4767e72d..587dc99080a94 100644
--- a/pkgs/development/python-modules/marisa-trie/default.nix
+++ b/pkgs/development/python-modules/marisa-trie/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "marisa-trie";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2KaDAfAjpyTrN5qqGxD4ip4aRYzIpBtSfGJQeFm0pNI=";
+    hash = "sha256-W/Q+0M82r0V4/nsDTPlfUyQ5dmUWaA5L1gNyNhHr1Ws=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 03bc6015843d0..77f47543c52aa 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.20.1";
+  version = "0.21.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    hash = "sha256-6oMOfyl8yR8FMprPYD831eiXh9g/bqslvxDmVcrNK80=";
+    hash = "sha256-eK5DPmPZ/hv3i3lzoIuS9sJXKpUNhmBv4+Nw2u/RZi0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/memory_profiler/default.nix b/pkgs/development/python-modules/memory-profiler/default.nix
index 7473514cd6286..218772a1527ec 100644
--- a/pkgs/development/python-modules/memory_profiler/default.nix
+++ b/pkgs/development/python-modules/memory-profiler/default.nix
@@ -4,11 +4,12 @@
 }:
 
 python.pkgs.buildPythonPackage rec {
-  pname = "memory_profiler";
+  pname = "memory-profiler";
   version = "0.61.0";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "memory_profiler";
+    inherit version;
     sha256 = "sha256-Tltz14ZKHRKS+3agPoKj5475NNBoKKaY2dradtogZ7A=";
   };
 
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index 984f4e0329fdf..0a0cf8966cf9c 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.8";
+  version = "2.2.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-2VkxKeoRgBCmA59XZT8wlrzvnJ6k2Q2ZLM72TB1atEw=";
+    hash = "sha256-VHL5wxq9Ckczur5jmmsYzOnQhLwCXftR8rmBGQ80gOo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mezzanine/default.nix b/pkgs/development/python-modules/mezzanine/default.nix
index 46bf44bf8ad90..0b210e18d6d9b 100644
--- a/pkgs/development/python-modules/mezzanine/default.nix
+++ b/pkgs/development/python-modules/mezzanine/default.nix
@@ -8,7 +8,7 @@
 , fetchPypi
 , filebrowser_safe
 , future
-, grappelli_safe
+, grappelli-safe
 , isPyPy
 , pep8
 , pillow
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     django-contrib-comments
     filebrowser_safe
     future
-    grappelli_safe
+    grappelli-safe
     pillow
     pytz
     requests
diff --git a/pkgs/development/python-modules/mistune/default.nix b/pkgs/development/python-modules/mistune/default.nix
index 2023b478cb857..38e2c21ba66ae 100644
--- a/pkgs/development/python-modules/mistune/default.nix
+++ b/pkgs/development/python-modules/mistune/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
 , setuptools
@@ -8,15 +8,17 @@
 
 buildPythonPackage rec {
   pname = "mistune";
-  version = "3.0.1";
+  version = "3.0.2";
 
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6RIRbBOqCUT53FMNs464j2p3CHqxKPSfhKSPTAXqFjw=";
+  src = fetchFromGitHub {
+    owner = "lepture";
+    repo = "mistune";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-OoTiqJ7hsFP1Yx+7xW3rL+Yc/O2lCMdhBBbaZucyZXM=";
   };
 
   nativeBuildInputs = [
@@ -30,7 +32,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "mistune" ];
 
   meta = with lib; {
-    changelog = "https://github.com/lepture/mistune/blob/v${version}/docs/changes.rst";
+    changelog = "https://github.com/lepture/mistune/blob/${src.rev}/docs/changes.rst";
     description = "A sane Markdown parser with useful plugins and renderers";
     homepage = "https://github.com/lepture/mistune";
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/msgspec/default.nix b/pkgs/development/python-modules/msgspec/default.nix
index c4d7d2f73c635..b2039e23c6ed7 100644
--- a/pkgs/development/python-modules/msgspec/default.nix
+++ b/pkgs/development/python-modules/msgspec/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "msgspec";
-  version = "0.18.3";
+  version = "0.18.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "jcrist";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PtI+dlhDyFRHSOqdU0TUZtllAlTFtYwOsYQrFrDSFDY=";
+    hash = "sha256-u1mrj/pHvlbSwh6QtRdJKuVGN1zQ6mRITi/qzrCHnhk=";
   };
 
   # Requires libasan to be accessible
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index bee82c34672e4..dc76133547433 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.5.6";
+  version = "0.5.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NCcEUSDsvMUCV07Gzh18NaKSw4On0XPT3UytBeeT3qo=";
+    hash = "sha256-6gTUPtGQKJSd7HpMRRlw87Iu3I1L2ea2F+QQs1U1jIM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nasdaq-data-link/default.nix b/pkgs/development/python-modules/nasdaq-data-link/default.nix
index 17e2b229245a6..f72edadaf262a 100644
--- a/pkgs/development/python-modules/nasdaq-data-link/default.nix
+++ b/pkgs/development/python-modules/nasdaq-data-link/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , httpretty
 , inflection
@@ -42,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     httpretty
     jsondate
     mock
diff --git a/pkgs/development/python-modules/nibe/default.nix b/pkgs/development/python-modules/nibe/default.nix
index f2a2c33105615..bec644ecaae1f 100644
--- a/pkgs/development/python-modules/nibe/default.nix
+++ b/pkgs/development/python-modules/nibe/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "nibe";
-  version = "2.4.0";
+  version = "2.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "yozik04";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Ek5yYg6UweURg8BQhtpPFIcPBkblIIo66SRxWlJ8vG4=";
+    hash = "sha256-6WXn8W7C6QCy9afGMTL2NaSYuxQy+u2OYYa0Vc8sbV8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nomadnet/default.nix b/pkgs/development/python-modules/nomadnet/default.nix
index 18b4b3f7fa052..567c78d68f5dd 100644
--- a/pkgs/development/python-modules/nomadnet/default.nix
+++ b/pkgs/development/python-modules/nomadnet/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "nomadnet";
-  version = "0.3.8";
+  version = "0.3.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "NomadNet";
     rev = "refs/tags/${version}";
-    hash = "sha256-w7NQH4CEfYQ4iwPtLQO5mYRnfWQbPuxb/qXRBP0V56Y=";
+    hash = "sha256-dElqneeZ9S1n+q0VidprZV0M+sWNgdRcts7L1is8r/o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nsz/default.nix b/pkgs/development/python-modules/nsz/default.nix
index e9d6edbfa80a4..06cb7a9457b13 100644
--- a/pkgs/development/python-modules/nsz/default.nix
+++ b/pkgs/development/python-modules/nsz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "nsz";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "nicoboss";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-glK4CK7D33FfLqHLxVr4kkb887/A9tqxPwWpcXYZu/0=";
+    hash = "sha256-/46qOQEuzSBmnFG0XW4z71HAHpuyqhia29KQkUlDsgg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/numpyro/default.nix b/pkgs/development/python-modules/numpyro/default.nix
index f301fdac7be91..612be673dbc19 100644
--- a/pkgs/development/python-modules/numpyro/default.nix
+++ b/pkgs/development/python-modules/numpyro/default.nix
@@ -9,19 +9,20 @@
 , tqdm
 , funsor
 , pytestCheckHook
-, tensorflow-probability
+# TODO: uncomment when tensorflow-probability gets fixed.
+# , tensorflow-probability
 }:
 
 buildPythonPackage rec {
   pname = "numpyro";
-  version = "0.13.0";
+  version = "0.13.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit version pname;
-    hash = "sha256-n+5K6fZlatKkXGVxzKcVhmP5XNuJeeM+GcCJ1Kh/WMk=";
+    hash = "sha256-Um8LFVGAlMeOaN9uMwycHJzqEnTaxp8FYXIk+m2VTug=";
   };
 
   propagatedBuildInputs = [
@@ -35,7 +36,8 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     funsor
     pytestCheckHook
-    tensorflow-probability
+    # TODO: uncomment when tensorflow-probability gets fixed.
+    # tensorflow-probability
   ];
 
   pythonImportsCheck = [
@@ -62,6 +64,11 @@ buildPythonPackage rec {
     "test_model_transformation"
   ];
 
+  # TODO: remove when tensorflow-probability gets fixed.
+  disabledTestPaths = [
+    "test/test_distributions.py"
+  ];
+
   meta = with lib; {
     description = "Library for probabilistic programming with NumPy";
     homepage = "https://num.pyro.ai/";
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 0c30ddd4f1ba2..a00519e095f2b 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.112.2";
+  version = "2.112.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Khh1/lpgBtUb1pfV7wNkHA6dWiBpAS899zB4Elp1ULY=";
+    hash = "sha256-MeqMaui3gBtEdYGZ5w557hfIOiPKRUdScEUBN9QQWwg=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/openai-triton/default.nix b/pkgs/development/python-modules/openai-triton/default.nix
index 0e10642f0693f..68dfc24aafdaa 100644
--- a/pkgs/development/python-modules/openai-triton/default.nix
+++ b/pkgs/development/python-modules/openai-triton/default.nix
@@ -1,12 +1,13 @@
 { lib
+, callPackage
 , buildPythonPackage
-, python
-, fetchpatch
 , fetchFromGitHub
 , addOpenGLRunpath
+, pytestCheckHook
+, pythonRelaxDepsHook
+, pkgsTargetTarget
 , cmake
-, cudaPackages
-, llvmPackages
+, ninja
 , pybind11
 , gtest
 , zlib
@@ -15,18 +16,11 @@
 , lit
 , filelock
 , torchWithRocm
-, pytest
-, pytestCheckHook
-, pythonRelaxDepsHook
-, pkgsTargetTarget
+, python
+, cudaPackages
 }:
 
 let
-  pname = "triton";
-  version = "2.0.0";
-
-  inherit (cudaPackages) cuda_cudart backendStdenv;
-
   # A time may come we'll want to be cross-friendly
   #
   # Short explanation: we need pkgsTargetTarget, because we use string
@@ -38,20 +32,12 @@ let
   # pkgsTargetTarget maybe doesn't matter, because ptxas compiles programs to
   # be executed on the GPU.
   # Cf. https://nixos.org/manual/nixpkgs/unstable/#sec-cross-infra
-  ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas";
-
-  llvm = (llvmPackages.llvm.override {
-    llvmTargetsToBuild = [ "NATIVE" "NVPTX" ];
-    # Upstream CI sets these too:
-    # targetProjects = [ "mlir" ];
-    extraCMakeFlags = [
-      "-DLLVM_INSTALL_UTILS=ON"
-    ];
-  });
+  ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas"; # Make sure cudaPackages is the right version each update (See python/setup.py)
+  llvm = callPackage ./llvm.nix { }; # Use a custom llvm, see llvm.nix for details
 in
-buildPythonPackage {
-  inherit pname version;
-
+buildPythonPackage rec {
+  pname = "triton";
+  version = "2.0.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
@@ -62,21 +48,6 @@ buildPythonPackage {
   };
 
   patches = [
-    # Prerequisite for llvm15 patch
-    (fetchpatch {
-      url = "https://github.com/openai/triton/commit/2aba985daaa70234823ea8f1161da938477d3e02.patch";
-      hash = "sha256-LGv0+Ut2WYPC4Ksi4803Hwmhi3FyQOF9zElJc/JCobk=";
-    })
-    (fetchpatch {
-      url = "https://github.com/openai/triton/commit/e3941f9d09cdd31529ba4a41018cfc0096aafea6.patch";
-      hash = "sha256-A+Gor6qzFlGQhVVhiaaYOzqqx8yO2MdssnQS6TIfUWg=";
-    })
-
-    # Source: https://github.com/openai/triton/commit/fc7a8e35819bda632bdcf1cf75fd9abe4d4e077a.patch
-    # The original patch adds ptxas binary, so we include our own clean copy
-    # Drop with the next update
-    ./llvm15.patch
-
     # TODO: there have been commits upstream aimed at removing the "torch"
     # circular dependency, but the patches fail to apply on the release
     # revision. Keeping the link for future reference
@@ -88,70 +59,11 @@ buildPythonPackage {
     # })
   ];
 
-  postPatch = ''
-    substituteInPlace python/setup.py \
-      --replace \
-        '= get_thirdparty_packages(triton_cache_path)' \
-        '= os.environ["cmakeFlags"].split()'
-  ''
-  # Wiring triton=2.0.0 with llcmPackages_rocm.llvm=5.4.3
-  # Revisit when updating either triton or llvm
-  + ''
-    substituteInPlace CMakeLists.txt \
-      --replace "nvptx" "NVPTX" \
-      --replace "LLVM 11" "LLVM"
-    sed -i '/AddMLIR/a set(MLIR_TABLEGEN_EXE "${llvmPackages.mlir}/bin/mlir-tblgen")' CMakeLists.txt
-    sed -i '/AddMLIR/a set(MLIR_INCLUDE_DIR ''${MLIR_INCLUDE_DIRS})' CMakeLists.txt
-    find -iname '*.td' -exec \
-      sed -i \
-      -e '\|include "mlir/IR/OpBase.td"|a include "mlir/IR/AttrTypeBase.td"' \
-      -e 's|include "mlir/Dialect/StandardOps/IR/Ops.td"|include "mlir/Dialect/Func/IR/FuncOps.td"|' \
-      '{}' ';'
-    substituteInPlace unittest/CMakeLists.txt --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
-    sed -i 's/^include.*$//' unittest/CMakeLists.txt
-    sed -i '/LINK_LIBS/i NVPTXInfo' lib/Target/PTX/CMakeLists.txt
-    sed -i '/LINK_LIBS/i NVPTXCodeGen' lib/Target/PTX/CMakeLists.txt
-  ''
-  # TritonMLIRIR already links MLIRIR. Not transitive?
-  # + ''
-  #   echo "target_link_libraries(TritonPTX PUBLIC MLIRIR)" >> lib/Target/PTX/CMakeLists.txt
-  # ''
-  # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
-  + ''
-    substituteInPlace bin/CMakeLists.txt \
-      --replace "add_subdirectory(FileCheck)" ""
-
-    rm cmake/FindLLVM.cmake
-  ''
-  +
-  (
-    let
-      # Bash was getting weird without linting,
-      # but basically upstream contains [cc, ..., "-lcuda", ...]
-      # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
-      old = [ "-lcuda" ];
-      new = [ "-lcuda" "-L${addOpenGLRunpath.driverLink}" "-L${cuda_cudart}/lib/stubs/" ];
-
-      quote = x: ''"${x}"'';
-      oldStr = lib.concatMapStringsSep ", " quote old;
-      newStr = lib.concatMapStringsSep ", " quote new;
-    in
-    ''
-      substituteInPlace python/triton/compiler.py \
-        --replace '${oldStr}' '${newStr}'
-    ''
-  )
-  # Triton seems to be looking up cuda.h
-  + ''
-    sed -i 's|cu_include_dir = os.path.join.*$|cu_include_dir = "${cuda_cudart}/include"|' python/triton/compiler.py
-  '';
-
   nativeBuildInputs = [
-    cmake
     pythonRelaxDepsHook
-
-    # Requires torch (circular dependency) and probably needs GPUs:
-    # pytestCheckHook
+    # pytestCheckHook # Requires torch (circular dependency) and probably needs GPUs:
+    cmake
+    ninja
 
     # Note for future:
     # These *probably* should go in depsTargetTarget
@@ -159,7 +71,6 @@ buildPythonPackage {
     # because we only support cudaPackages on x86_64-linux atm
     lit
     llvm
-    llvmPackages.mlir
   ];
 
   buildInputs = [
@@ -170,17 +81,44 @@ buildPythonPackage {
     zlib
   ];
 
-  propagatedBuildInputs = [
-    filelock
-  ];
+  propagatedBuildInputs = [ filelock ];
+
+  postPatch = let
+    # Bash was getting weird without linting,
+    # but basically upstream contains [cc, ..., "-lcuda", ...]
+    # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
+    old = [ "-lcuda" ];
+    new = [ "-lcuda" "-L${addOpenGLRunpath.driverLink}" "-L${cudaPackages.cuda_cudart}/lib/stubs/" ];
+
+    quote = x: ''"${x}"'';
+    oldStr = lib.concatMapStringsSep ", " quote old;
+    newStr = lib.concatMapStringsSep ", " quote new;
+  in ''
+    # Use our `cmakeFlags` instead and avoid downloading dependencies
+    substituteInPlace python/setup.py \
+      --replace "= get_thirdparty_packages(triton_cache_path)" "= os.environ[\"cmakeFlags\"].split()"
+
+    # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
+    substituteInPlace bin/CMakeLists.txt \
+      --replace "add_subdirectory(FileCheck)" ""
+
+    # Use our linker flags
+    substituteInPlace python/triton/compiler.py \
+      --replace '${oldStr}' '${newStr}'
+
+    # Don't fetch googletest
+    substituteInPlace unittest/CMakeLists.txt \
+      --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
+      --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
+  '';
 
   # Avoid GLIBCXX mismatch with other cuda-enabled python packages
   preConfigure = ''
-    export CC="${backendStdenv.cc}/bin/cc";
-    export CXX="${backendStdenv.cc}/bin/c++";
+    export CC=${cudaPackages.backendStdenv.cc}/bin/cc;
+    export CXX=${cudaPackages.backendStdenv.cc}/bin/c++;
 
     # Upstream's setup.py tries to write cache somewhere in ~/
-    export HOME=$TMPDIR
+    export HOME=$(mktemp -d)
 
     # Upstream's github actions patch setup.cfg to write base-dir. May be redundant
     echo "
@@ -188,52 +126,41 @@ buildPythonPackage {
     base-dir=$PWD" >> python/setup.cfg
 
     # The rest (including buildPhase) is relative to ./python/
-    cd python/
+    cd python
 
     # Work around download_and_copy_ptxas()
-    dst_cuda="$PWD/triton/third_party/cuda/bin"
-    mkdir -p "$dst_cuda"
-    ln -s "${ptxas}" "$dst_cuda/"
+    mkdir -p $PWD/triton/third_party/cuda/bin
+    ln -s ${ptxas} $PWD/triton/third_party/cuda/bin
   '';
 
   # CMake is run by setup.py instead
   dontUseCmakeConfigure = true;
-  cmakeFlags = [
-    "-DMLIR_DIR=${llvmPackages.mlir}/lib/cmake/mlir"
-  ];
 
-  postFixup =
-    let
-      ptxasDestination = "$out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas";
-    in
-    # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink
-    ''
-      rm -f ${ptxasDestination}
-      ln -s ${ptxas} ${ptxasDestination}
-    '';
-
-  checkInputs = [
-    cmake # ctest
-  ];
+  # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink
+  postFixup = ''
+    rm -f $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
+    ln -s ${ptxas} $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
+  '';
+
+  checkInputs = [ cmake ]; # ctest
   dontUseSetuptoolsCheck = true;
-  preCheck =
+
+  preCheck = ''
     # build/temp* refers to build_ext.build_temp (looked up in the build logs)
-    ''
-      (cd /build/source/python/build/temp* ; ctest)
-    '' # For pytestCheckHook
-    + ''
-      cd test/unit
-    '';
-  pythonImportsCheck = [
-    # Circular dependency on torch
-    # "triton"
-    # "triton.language"
-  ];
+    (cd /build/source/python/build/temp* ; ctest)
+
+    # For pytestCheckHook
+    cd test/unit
+  '';
+
+  # Circular dependency on torch
+  # pythonImportsCheck = [
+  #   "triton"
+  #   "triton.language"
+  # ];
 
   # Ultimately, torch is our test suite:
-  passthru.tests = {
-    inherit torchWithRocm;
-  };
+  passthru.tests = { inherit torchWithRocm; };
 
   pythonRemoveDeps = [
     # Circular dependency, cf. https://github.com/openai/triton/issues/1374
@@ -243,11 +170,12 @@ buildPythonPackage {
     "cmake"
     "lit"
   ];
+
   meta = with lib; {
-    description = "Development repository for the Triton language and compiler";
-    homepage = "https://github.com/openai/triton/";
+    description = "Language and compiler for writing highly efficient custom Deep-Learning primitives";
+    homepage = "https://github.com/openai/triton";
     platforms = lib.platforms.unix;
     license = licenses.mit;
-    maintainers = with maintainers; [ SomeoneSerge ];
+    maintainers = with maintainers; [ SomeoneSerge Madouura ];
   };
 }
diff --git a/pkgs/development/python-modules/openai-triton/llvm.nix b/pkgs/development/python-modules/openai-triton/llvm.nix
new file mode 100644
index 0000000000000..6ac0d9f5738c3
--- /dev/null
+++ b/pkgs/development/python-modules/openai-triton/llvm.nix
@@ -0,0 +1,112 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, cmake
+, ninja
+, git
+, doxygen
+, sphinx
+, libxml2
+, libxcrypt
+, libedit
+, libffi
+, mpfr
+, zlib
+, ncurses
+, python3Packages
+, buildDocs ? true
+, buildMan ? true
+, buildTests ? true
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "triton-llvm";
+  version = "14.0.6-f28c006a5895";
+
+  outputs = [
+    "out"
+  ] ++ lib.optionals buildDocs [
+    "doc"
+  ] ++ lib.optionals buildMan [
+    "man"
+  ];
+
+  # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases
+  src = fetchFromGitHub {
+    owner = "llvm";
+    repo = "llvm-project";
+    rev = "f28c006a5895fc0e329fe15fead81e37457cb1d1";
+    hash = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    ninja
+    git
+    python3Packages.python
+  ] ++ lib.optionals (buildDocs || buildMan) [
+    doxygen
+    sphinx
+    python3Packages.recommonmark
+  ];
+
+  buildInputs = [
+    libxml2
+    libxcrypt
+    libedit
+    libffi
+    mpfr
+  ];
+
+  propagatedBuildInputs = [
+    zlib
+    ncurses
+  ];
+
+  sourceRoot = "${finalAttrs.src.name}/llvm";
+
+  cmakeFlags = [
+    "-DLLVM_TARGETS_TO_BUILD=X86;AMDGPU;NVPTX"
+    "-DLLVM_ENABLE_PROJECTS=llvm;mlir"
+    "-DLLVM_INSTALL_UTILS=ON"
+  ] ++ lib.optionals (buildDocs || buildMan) [
+    "-DLLVM_INCLUDE_DOCS=ON"
+    "-DMLIR_INCLUDE_DOCS=ON"
+    "-DLLVM_BUILD_DOCS=ON"
+    # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_HTML=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ] ++ lib.optionals buildTests [
+    "-DLLVM_INCLUDE_TESTS=ON"
+    "-DMLIR_INCLUDE_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=ON"
+  ];
+
+  postPatch = ''
+    # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied`
+    chmod +w -R ../mlir
+
+    # FileSystem permissions tests fail with various special bits
+    rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
+    rm unittests/Support/Path.cpp
+
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+  '';
+
+  doCheck = buildTests;
+  requiredSystemFeatures = [ "big-parallel" ];
+
+  meta = with lib; {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage = "https://github.com/llvm/llvm-project";
+    license = with licenses; [ ncsa ];
+    maintainers = with maintainers; [ SomeoneSerge Madouura ];
+    platforms = platforms.linux;
+    broken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344
+  };
+})
diff --git a/pkgs/development/python-modules/openai-triton/llvm15.patch b/pkgs/development/python-modules/openai-triton/llvm15.patch
deleted file mode 100644
index 3e20cce238013..0000000000000
--- a/pkgs/development/python-modules/openai-triton/llvm15.patch
+++ /dev/null
@@ -1,4617 +0,0 @@
-From fc7a8e35819bda632bdcf1cf75fd9abe4d4e077a Mon Sep 17 00:00:00 2001
-From: Christian Sigg <chsigg@users.noreply.github.com>
-Date: Thu, 16 Feb 2023 15:40:53 +0100
-Subject: [PATCH] Rebase Triton to LLVM-15. (#1070)
-
-This PR rebases Triton from LLVM-14 to LLVM-15. Most changes are
-mechanical, except for the analysis framework changes.
----
- CMakeLists.txt                                |   6 +-
- bin/CMakeLists.txt                            |   2 +-
- bin/FileCheck/FileCheck.cpp                   |   3 +
- bin/triton-opt.cpp                            |   6 +-
- bin/triton-translate.cpp                      |   7 +-
- include/triton/Analysis/Alias.h               |  21 +-
- include/triton/Analysis/Allocation.h          |   2 +
- include/triton/Analysis/AxisInfo.h            |  56 ++-
- include/triton/Analysis/Utility.h             |   6 +-
- include/triton/Conversion/Passes.td           |   4 +-
- include/triton/Dialect/Triton/IR/Dialect.h    |   7 +-
- .../triton/Dialect/Triton/IR/TritonDialect.td |   8 +-
- include/triton/Dialect/Triton/IR/TritonOps.td |  12 +-
- .../triton/Dialect/Triton/IR/TritonTypes.td   |   2 +
- .../Dialect/Triton/Transforms/Passes.td       |   3 +-
- include/triton/Dialect/TritonGPU/IR/Dialect.h |   4 +-
- .../Dialect/TritonGPU/IR/TritonGPUAttrDefs.td |   7 +
- .../Dialect/TritonGPU/IR/TritonGPUDialect.td  |   2 +-
- .../Dialect/TritonGPU/IR/TritonGPUOps.td      |  13 +-
- lib/Analysis/Alias.cpp                        |  14 +-
- lib/Analysis/Allocation.cpp                   |  30 +-
- lib/Analysis/AxisInfo.cpp                     |  79 ++--
- lib/Analysis/CMakeLists.txt                   |   2 +-
- lib/Analysis/Membar.cpp                       |   2 +-
- lib/Analysis/Utility.cpp                      |  54 +++
- .../TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp |   3 -
- lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h |  10 +-
- .../TritonGPUToLLVM/DotOpToLLVM.cpp           |   5 -
- .../TritonGPUToLLVM/ElementwiseOpToLLVM.cpp   |   2 -
- .../TritonGPUToLLVM/LoadStoreOpToLLVM.cpp     |   5 +-
- .../TritonGPUToLLVM/ReduceOpToLLVM.cpp        |   2 -
- .../TritonGPUToLLVM/TritonGPUToLLVM.cpp       |   7 +-
- .../TritonGPUToLLVM/TritonGPUToLLVMBase.h     |  26 +-
- .../TritonGPUToLLVM/TritonGPUToLLVMPass.cpp   |  52 +--
- lib/Conversion/TritonGPUToLLVM/Utility.h      |   5 +-
- .../TritonToTritonGPUPass.cpp                 |  69 ++--
- lib/Dialect/Triton/IR/CMakeLists.txt          |  10 +-
- lib/Dialect/Triton/IR/Ops.cpp                 |  34 +-
- lib/Dialect/Triton/Transforms/Combine.cpp     |   6 +-
- lib/Dialect/Triton/Transforms/Combine.td      |   2 +-
- lib/Dialect/TritonGPU/IR/Dialect.cpp          |  27 +-
- lib/Dialect/TritonGPU/Transforms/Coalesce.cpp |  20 +-
- lib/Dialect/TritonGPU/Transforms/Combine.cpp  |   2 +-
- lib/Dialect/TritonGPU/Transforms/Combine.td   |   1 +
- .../Transforms/DecomposeConversions.cpp       |   2 +-
- lib/Dialect/TritonGPU/Transforms/Pipeline.cpp |  10 +-
- .../Transforms/ReorderInstructions.cpp        |   2 +-
- .../Transforms/TritonGPUConversion.cpp        |  12 +-
- .../Transforms/UpdateMmaForVolta.cpp          |   6 +-
- lib/Dialect/TritonGPU/Transforms/Utility.cpp  |   2 +-
- lib/Target/LLVMIR/CMakeLists.txt              |   3 +-
- lib/Target/PTX/PTXTranslation.cpp             |   3 +
- python/setup.py                               |  15 +-
- python/src/triton.cc                          |  85 +++--
- python/test/unit/language/test_core.py        |   2 +-
- python/triton/compiler.py                     |   4 +-
- test/Analysis/test-alias.mlir                 |  24 +-
- test/Analysis/test-alignment.mlir             | 344 +++++++++---------
- test/Analysis/test-allocation.mlir            |  32 +-
- test/Analysis/test-membar.mlir                |  38 +-
- test/Conversion/triton_ops.mlir               |  10 +-
- test/Conversion/triton_to_tritongpu.mlir      |   6 +-
- test/Conversion/tritongpu_to_llvm.mlir        |  94 ++---
- test/Target/tritongpu_to_llvmir.mlir          |   4 +-
- test/Target/tritongpu_to_ptx.mlir             |   2 +-
- test/Triton/combine.mlir                      |  40 +-
- test/Triton/vecadd.mlir                       |   4 +-
- test/TritonGPU/coalesce.mlir                  |   2 +-
- test/TritonGPU/combine.mlir                   |  38 +-
- test/TritonGPU/loop-pipeline.mlir             |  22 +-
- test/TritonGPU/matmul.mlir                    |   4 +-
- test/TritonGPU/prefetch.mlir                  |   4 +-
- test/TritonGPU/update-mma-for-volta.mlir      |   4 +-
- test/lib/Analysis/TestAlias.cpp               |  29 +-
- test/lib/Analysis/TestAllocation.cpp          |   5 +-
- test/lib/Analysis/TestAxisInfo.cpp            |  51 +--
- test/lib/Analysis/TestMembar.cpp              |   7 +-
- 78 files changed, 808 insertions(+), 742 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d0d361fc7c..b281a28400 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,4 +1,7 @@
- cmake_minimum_required(VERSION 3.6)
-+
-+cmake_policy(SET CMP0116 OLD)
-+
- include(ExternalProject)
- 
- set(CMAKE_CXX_STANDARD 17)
-@@ -155,7 +158,6 @@ if(TRITON_BUILD_PYTHON_MODULE)
-     endif()
- endif()
- 
--
- # # Triton
- # file(GLOB_RECURSE LIBTRITON_SRC lib/*.cc)
- # if (WIN32 AND TRITON_BUILD_PYTHON_MODULE)
-@@ -212,7 +214,7 @@ if(TRITON_BUILD_PYTHON_MODULE)
-     # optimizations
-     MLIRPass
-     MLIRTransforms
--    MLIRLLVMIR
-+    MLIRLLVMDialect
-     MLIRSupport
-     MLIRTargetLLVMIRExport
-     MLIRExecutionEngine
-diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
-index 906f635f8b..695b3479fd 100644
---- a/bin/CMakeLists.txt
-+++ b/bin/CMakeLists.txt
-@@ -48,7 +48,7 @@ llvm_update_compile_flags(triton-translate)
-          # MLIR core
-          MLIROptLib
-          MLIRIR
--         MLIRLLVMIR
-+         MLIRLLVMDialect
-          MLIRPass
-          MLIRSupport
-          MLIRTransforms
-diff --git a/bin/FileCheck/FileCheck.cpp b/bin/FileCheck/FileCheck.cpp
-index 819efc3541..9ac6f1b277 100644
---- a/bin/FileCheck/FileCheck.cpp
-+++ b/bin/FileCheck/FileCheck.cpp
-@@ -19,6 +19,7 @@
- #include "llvm/Support/CommandLine.h"
- #include "llvm/Support/InitLLVM.h"
- #include "llvm/Support/Process.h"
-+#include "llvm/Support/SourceMgr.h"
- #include "llvm/Support/WithColor.h"
- #include "llvm/Support/raw_ostream.h"
- #include <cmath>
-@@ -360,6 +361,8 @@ static std::string GetCheckTypeAbbreviation(Check::FileCheckType Ty) {
-     return "bad-not";
-   case Check::CheckBadCount:
-     return "bad-count";
-+  case Check::CheckMisspelled:
-+    return "misspelled";
-   case Check::CheckNone:
-     llvm_unreachable("invalid FileCheckType");
-   }
-diff --git a/bin/triton-opt.cpp b/bin/triton-opt.cpp
-index 9f3b53b7ae..f96232e1b0 100644
---- a/bin/triton-opt.cpp
-+++ b/bin/triton-opt.cpp
-@@ -8,7 +8,7 @@
- 
- #include "mlir/IR/Dialect.h"
- #include "mlir/InitAllPasses.h"
--#include "mlir/Support/MlirOptMain.h"
-+#include "mlir/Tools/mlir-opt/MlirOptMain.h"
- 
- namespace mlir {
- namespace test {
-@@ -33,8 +33,8 @@ int main(int argc, char **argv) {
-   // TODO: register Triton & TritonGPU passes
-   mlir::DialectRegistry registry;
-   registry.insert<mlir::triton::TritonDialect,
--                  mlir::triton::gpu::TritonGPUDialect, mlir::math::MathDialect,
--                  mlir::arith::ArithmeticDialect, mlir::StandardOpsDialect,
-+                  mlir::triton::gpu::TritonGPUDialect, mlir::func::FuncDialect,
-+                  mlir::math::MathDialect, mlir::arith::ArithmeticDialect,
-                   mlir::scf::SCFDialect, mlir::gpu::GPUDialect>();
- 
-   return mlir::asMainReturnCode(mlir::MlirOptMain(
-diff --git a/bin/triton-translate.cpp b/bin/triton-translate.cpp
-index 05ba15e453..56b5d65857 100644
---- a/bin/triton-translate.cpp
-+++ b/bin/triton-translate.cpp
-@@ -3,7 +3,7 @@
- #include "mlir/IR/AsmState.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
--#include "mlir/Parser.h"
-+#include "mlir/Parser/Parser.h"
- #include "mlir/Pass/Pass.h"
- #include "mlir/Pass/PassManager.h"
- #include "mlir/Support/FileUtilities.h"
-@@ -38,7 +38,7 @@ OwningOpRef<ModuleOp> loadMLIRModule(llvm::StringRef inputFilename,
-   mlir::DialectRegistry registry;
-   registry.insert<TritonDialect, triton::gpu::TritonGPUDialect,
-                   mlir::math::MathDialect, arith::ArithmeticDialect,
--                  StandardOpsDialect, scf::SCFDialect>();
-+                  scf::SCFDialect>();
- 
-   context.appendDialectRegistry(registry);
- 
-@@ -50,7 +50,8 @@ OwningOpRef<ModuleOp> loadMLIRModule(llvm::StringRef inputFilename,
-     context.loadAllAvailableDialects();
-     context.allowUnregisteredDialects();
- 
--    OwningOpRef<ModuleOp> module(parseSourceFile(sourceMgr, &context));
-+    OwningOpRef<ModuleOp> module =
-+        parseSourceFile<ModuleOp>(sourceMgr, &context);
-     if (!module) {
-       llvm::errs() << "Parse MLIR file failed.";
-       return nullptr;
-diff --git a/include/triton/Analysis/Alias.h b/include/triton/Analysis/Alias.h
-index fa6b906fc9..631df518bc 100644
---- a/include/triton/Analysis/Alias.h
-+++ b/include/triton/Analysis/Alias.h
-@@ -2,7 +2,7 @@
- #define TRITON_ANALYSIS_ALIAS_H
- 
- #include "mlir/Analysis/AliasAnalysis.h"
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
- #include "llvm/ADT/DenseSet.h"
- 
- namespace mlir {
-@@ -21,7 +21,7 @@ class AliasInfo {
-   }
- 
-   /// The pessimistic value state of a value without alias
--  static AliasInfo getPessimisticValueState(MLIRContext *context) {
-+  static AliasInfo getPessimisticValueState(MLIRContext *context = nullptr) {
-     return AliasInfo();
-   }
-   static AliasInfo getPessimisticValueState(Value value) { return AliasInfo(); }
-@@ -29,6 +29,10 @@ class AliasInfo {
-   /// The union of both arguments
-   static AliasInfo join(const AliasInfo &lhs, const AliasInfo &rhs);
- 
-+  void print(raw_ostream &os) const {
-+    llvm::interleaveComma(allocs, os, [&](Value alloc) { alloc.print(os); });
-+  }
-+
- private:
-   /// The set of allocated values that are aliased by this lattice.
-   /// For now, we only consider aliased value produced by the following
-@@ -58,9 +62,13 @@ class AliasInfo {
- //===----------------------------------------------------------------------===//
- // Shared Memory Alias Analysis
- //===----------------------------------------------------------------------===//
--class SharedMemoryAliasAnalysis : public ForwardDataFlowAnalysis<AliasInfo> {
-+class SharedMemoryAliasAnalysis
-+    : public dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AliasInfo>> {
- public:
--  using ForwardDataFlowAnalysis<AliasInfo>::ForwardDataFlowAnalysis;
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AliasInfo>>::SparseDataFlowAnalysis;
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AliasInfo>>::getLatticeElement;
- 
-   /// XXX(Keren): Compatible interface with MLIR AliasAnalysis for future use.
-   /// Given two values, returns their aliasing behavior.
-@@ -70,9 +78,10 @@ class SharedMemoryAliasAnalysis : public ForwardDataFlowAnalysis<AliasInfo> {
-   ModRefResult getModRef(Operation *op, Value location);
- 
-   /// Computes if the alloc set of the results are changed.
--  ChangeResult
-+  void
-   visitOperation(Operation *op,
--                 ArrayRef<LatticeElement<AliasInfo> *> operands) override;
-+                 ArrayRef<const dataflow::Lattice<AliasInfo> *> operands,
-+                 ArrayRef<dataflow::Lattice<AliasInfo> *> results) override;
- };
- 
- } // namespace mlir
-diff --git a/include/triton/Analysis/Allocation.h b/include/triton/Analysis/Allocation.h
-index b7c136d602..89b77034cc 100644
---- a/include/triton/Analysis/Allocation.h
-+++ b/include/triton/Analysis/Allocation.h
-@@ -188,6 +188,8 @@ class Allocation {
-   friend class triton::AllocationAnalysis;
- };
- 
-+template <typename T> Interval(T, T) -> Interval<T>;
-+
- } // namespace mlir
- 
- #endif // TRITON_ANALYSIS_ALLOCATION_H
-diff --git a/include/triton/Analysis/AxisInfo.h b/include/triton/Analysis/AxisInfo.h
-index fdfbd8fbb3..7083b9c43b 100644
---- a/include/triton/Analysis/AxisInfo.h
-+++ b/include/triton/Analysis/AxisInfo.h
-@@ -1,9 +1,10 @@
- #ifndef TRITON_ANALYSIS_AXISINFO_H
- #define TRITON_ANALYSIS_AXISINFO_H
- 
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
- #include "llvm/Support/raw_ostream.h"
- 
-+#include "mlir/Support/LLVM.h"
- #include "triton/Analysis/Utility.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
-@@ -62,7 +63,7 @@ class AxisInfo {
-   }
- 
-   /// The pessimistic value state of the contiguity is unknown.
--  static AxisInfo getPessimisticValueState(MLIRContext *context) {
-+  static AxisInfo getPessimisticValueState(MLIRContext *context = nullptr) {
-     return AxisInfo();
-   }
-   static AxisInfo getPessimisticValueState(Value value);
-@@ -70,6 +71,22 @@ class AxisInfo {
-   /// The gcd of both arguments for each dimension
-   static AxisInfo join(const AxisInfo &lhs, const AxisInfo &rhs);
- 
-+  void print(raw_ostream &os) const {
-+    auto print = [&](StringRef name, DimVectorT vec) {
-+      os << name << " = [";
-+      llvm::interleaveComma(vec, os);
-+      os << "]";
-+    };
-+    print("contiguity", contiguity);
-+    print(", divisibility", divisibility);
-+    print(", constancy", constancy);
-+    os << ", constant_value = ";
-+    if (constantValue)
-+      os << *constantValue;
-+    else
-+      os << "<none>";
-+  }
-+
- private:
-   /// The _contiguity_ information maps the `d`-th
-   /// dimension to the length of the shortest
-@@ -147,7 +164,8 @@ class AxisInfoVisitor {
-   }
- 
-   virtual AxisInfo
--  getAxisInfo(Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) = 0;
-+  getAxisInfo(Operation *op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) = 0;
- 
-   virtual bool match(Operation *op) = 0;
- };
-@@ -157,15 +175,16 @@ template <typename OpTy> class AxisInfoVisitorImpl : public AxisInfoVisitor {
- public:
-   using AxisInfoVisitor::AxisInfoVisitor;
- 
--  AxisInfo getAxisInfo(Operation *op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) final {
-+  AxisInfo
-+  getAxisInfo(Operation *op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) final {
-     return getAxisInfo(cast<OpTy>(op), operands);
-   }
- 
-   bool match(Operation *op) final { return isa<OpTy>(op); }
- 
--  virtual AxisInfo getAxisInfo(OpTy op,
--                               ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+  virtual AxisInfo
-+  getAxisInfo(OpTy op, ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) {
-     llvm_unreachable("Unimplemented getAxisInfo");
-   }
- };
-@@ -176,8 +195,9 @@ class BinaryOpVisitorImpl : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto lhsInfo = operands[0]->getValue();
-     auto rhsInfo = operands[1]->getValue();
-     auto rank = lhsInfo.getRank();
-@@ -230,7 +250,8 @@ class AxisInfoVisitorList {
-     (visitors.emplace_back(std::make_unique<Ts>()), ...);
-   }
- 
--  AxisInfo apply(Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+  AxisInfo apply(Operation *op,
-+                 ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) {
-     for (auto &visitor : visitors)
-       if (visitor->match(op))
-         return visitor->getAxisInfo(op, operands);
-@@ -241,16 +262,19 @@ class AxisInfoVisitorList {
-   std::vector<std::unique_ptr<AxisInfoVisitor>> visitors;
- };
- 
--class AxisInfoAnalysis : public ForwardDataFlowAnalysis<AxisInfo> {
-+class AxisInfoAnalysis
-+    : public dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AxisInfo>> {
- private:
-   AxisInfoVisitorList visitors;
- 
- public:
--  AxisInfoAnalysis(MLIRContext *context);
-+  AxisInfoAnalysis(DataFlowSolver &solver);
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AxisInfo>>::getLatticeElement;
- 
--  ChangeResult
--  visitOperation(Operation *op,
--                 ArrayRef<LatticeElement<AxisInfo> *> operands) override;
-+  void visitOperation(Operation *op,
-+                      ArrayRef<const dataflow::Lattice<AxisInfo> *> operands,
-+                      ArrayRef<dataflow::Lattice<AxisInfo> *> results) override;
- 
-   unsigned getPtrContiguity(Value ptr);
- 
-@@ -261,4 +285,4 @@ class AxisInfoAnalysis : public ForwardDataFlowAnalysis<AxisInfo> {
- 
- } // namespace mlir
- 
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/include/triton/Analysis/Utility.h b/include/triton/Analysis/Utility.h
-index c5ac137dc1..ee7fadb59d 100644
---- a/include/triton/Analysis/Utility.h
-+++ b/include/triton/Analysis/Utility.h
-@@ -1,6 +1,7 @@
- #ifndef TRITON_ANALYSIS_UTILITY_H
- #define TRITON_ANALYSIS_UTILITY_H
- 
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Analysis/SliceAnalysis.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include <algorithm>
-@@ -12,7 +13,7 @@ namespace mlir {
- class ReduceOpHelper {
- public:
-   explicit ReduceOpHelper(triton::ReduceOp op) : op(op) {
--    srcTy = op.operand().getType().cast<RankedTensorType>();
-+    srcTy = op.getOperand().getType().cast<RankedTensorType>();
-   }
- 
-   ArrayRef<int64_t> getSrcShape() { return srcTy.getShape(); }
-@@ -103,6 +104,9 @@ SetVector<Operation *>
- multiRootGetSlice(Operation *op, TransitiveFilter backwardFilter = nullptr,
-                   TransitiveFilter forwardFilter = nullptr);
- 
-+// Create a basic DataFlowSolver with constant and dead code analysis included.
-+std::unique_ptr<DataFlowSolver> createDataFlowSolver();
-+
- } // namespace mlir
- 
- #endif // TRITON_ANALYSIS_UTILITY_H
-diff --git a/include/triton/Conversion/Passes.td b/include/triton/Conversion/Passes.td
-index 70bb20b78e..be00eb2dac 100644
---- a/include/triton/Conversion/Passes.td
-+++ b/include/triton/Conversion/Passes.td
-@@ -12,7 +12,6 @@ def ConvertTritonToTritonGPU: Pass<"convert-triton-to-tritongpu", "mlir::ModuleO
- 
-     let dependentDialects = ["mlir::arith::ArithmeticDialect",
-                              "mlir::math::MathDialect",
--                             "mlir::StandardOpsDialect",
-                              // TODO: Does this pass depend on SCF?
-                              "mlir::scf::SCFDialect",
-                              "mlir::triton::TritonDialect",
-@@ -41,8 +40,7 @@ def ConvertTritonGPUToLLVM : Pass<"convert-triton-gpu-to-llvm", "mlir::ModuleOp"
-                              "mlir::tensor::TensorDialect",
-                              "mlir::triton::TritonDialect",
-                              "mlir::triton::gpu::TritonGPUDialect",
--                             "mlir::NVVM::NVVMDialect",
--                             "mlir::StandardOpsDialect"];
-+                             "mlir::NVVM::NVVMDialect"];
- 
-     let options = [
-         Option<"computeCapability", "compute-capability",
-diff --git a/include/triton/Dialect/Triton/IR/Dialect.h b/include/triton/Dialect/Triton/IR/Dialect.h
-index e8012a51df..15869e262e 100644
---- a/include/triton/Dialect/Triton/IR/Dialect.h
-+++ b/include/triton/Dialect/Triton/IR/Dialect.h
-@@ -1,14 +1,15 @@
- #ifndef TRITON_DIALECT_TRITON_IR_DIALECT_H_
- #define TRITON_DIALECT_TRITON_IR_DIALECT_H_
- 
-+#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
-+#include "mlir/Dialect/Func/IR/FuncOps.h"
- #include "mlir/Dialect/Math/IR/Math.h"
--#include "mlir/Dialect/SCF/SCF.h"
--#include "mlir/Dialect/StandardOps/IR/Ops.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
- #include "mlir/Interfaces/ControlFlowInterfaces.h"
--
- #include "triton/Dialect/Triton/IR/Dialect.h.inc"
- #include "triton/Dialect/Triton/IR/OpsEnums.h.inc"
- #include "triton/Dialect/Triton/IR/Traits.h"
-diff --git a/include/triton/Dialect/Triton/IR/TritonDialect.td b/include/triton/Dialect/Triton/IR/TritonDialect.td
-index 07b069e14f..d98ce73884 100644
---- a/include/triton/Dialect/Triton/IR/TritonDialect.td
-+++ b/include/triton/Dialect/Triton/IR/TritonDialect.td
-@@ -25,12 +25,9 @@ def Triton_Dialect : Dialect {
-   let dependentDialects = [
-     "arith::ArithmeticDialect",
-     "math::MathDialect",
--    "StandardOpsDialect",
-     "scf::SCFDialect",
--
--    // Since LLVM 15
--    // "cf::ControlFlowDialect",
--    // "func::FuncDialect"
-+    "cf::ControlFlowDialect",
-+    "func::FuncDialect"
-   ];
- 
-   let extraClassDeclaration = [{
-@@ -38,6 +35,7 @@ def Triton_Dialect : Dialect {
-   }];
- 
-   let hasConstantMaterializer = 1;
-+  let useDefaultTypePrinterParser = 1;
- }
- 
- include "triton/Dialect/Triton/IR/TritonTypes.td"
-diff --git a/include/triton/Dialect/Triton/IR/TritonOps.td b/include/triton/Dialect/Triton/IR/TritonOps.td
-index 779e0b648c..0a69211179 100644
---- a/include/triton/Dialect/Triton/IR/TritonOps.td
-+++ b/include/triton/Dialect/Triton/IR/TritonOps.td
-@@ -141,11 +141,7 @@ def TT_LoadOp : TT_Op<"load",
-                        "triton::EvictionPolicy":$evict, "bool":$isVolatile)>,
-     ];
- 
--    // let assemblyFormat = "operands attr-dict `:` type($result)";
--    let parser = [{ return mlir::triton::parseLoadOp(parser, result); }];
--
--    let printer = [{ return mlir::triton::printLoadOp(p, *this); }];
--
-+    let hasCustomAssemblyFormat = 1;
-     let hasCanonicalizer = 1;
- }
- 
-@@ -170,11 +166,7 @@ def TT_StoreOp : TT_Op<"store",
-                        "triton::EvictionPolicy":$evict)>,
-     ];
- 
--    // let assemblyFormat = "operands attr-dict `:` type($value)";
--    let parser = [{ return mlir::triton::parseStoreOp(parser, result); }];
--
--    let printer = [{ return mlir::triton::printStoreOp(p, *this); }];
--
-+    let hasCustomAssemblyFormat = 1;
-     let hasCanonicalizer = 1;
- }
- 
-diff --git a/include/triton/Dialect/Triton/IR/TritonTypes.td b/include/triton/Dialect/Triton/IR/TritonTypes.td
-index 66d2a7b9a9..2fe2fd077d 100644
---- a/include/triton/Dialect/Triton/IR/TritonTypes.td
-+++ b/include/triton/Dialect/Triton/IR/TritonTypes.td
-@@ -1,6 +1,7 @@
- #ifndef TRITON_TYPES
- #define TRITON_TYPES
- 
-+include "mlir/IR/AttrTypeBase.td"
- include "triton/Dialect/Triton/IR/TritonDialect.td"
- 
- //
-@@ -58,6 +59,7 @@ def TT_Ptr : TritonTypeDef<"Pointer", "ptr"> {
-         }]>
-     ];
- 
-+    let hasCustomAssemblyFormat = 1;
-     let skipDefaultBuilders = 1;
- }
- def TT_PtrTensor : TensorOf<[TT_Ptr]>;
-diff --git a/include/triton/Dialect/Triton/Transforms/Passes.td b/include/triton/Dialect/Triton/Transforms/Passes.td
-index 8f77aed774..a25cdc5680 100644
---- a/include/triton/Dialect/Triton/Transforms/Passes.td
-+++ b/include/triton/Dialect/Triton/Transforms/Passes.td
-@@ -16,8 +16,7 @@ def TritonCombineOps : Pass</*cli-arg*/"triton-combine", /*Op*/"mlir::ModuleOp">
- 
-   let constructor = "mlir::triton::createCombineOpsPass()";
- 
--  let dependentDialects = ["mlir::arith::ArithmeticDialect",
--                           /*SelectOp*/"mlir::StandardOpsDialect"];
-+  let dependentDialects = ["mlir::arith::ArithmeticDialect"];
- }
- 
- #endif
-diff --git a/include/triton/Dialect/TritonGPU/IR/Dialect.h b/include/triton/Dialect/TritonGPU/IR/Dialect.h
-index b4c8daec7b..dfc5f53ab1 100644
---- a/include/triton/Dialect/TritonGPU/IR/Dialect.h
-+++ b/include/triton/Dialect/TritonGPU/IR/Dialect.h
-@@ -1,19 +1,17 @@
- #ifndef TRITON_DIALECT_TRITONGPU_IR_DIALECT_H_
- #define TRITON_DIALECT_TRITONGPU_IR_DIALECT_H_
- 
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
- 
- // TritonGPU depends on Triton
- #include "triton/Dialect/Triton/IR/Dialect.h"
--
- #include "triton/Dialect/TritonGPU/IR/Dialect.h.inc"
- #include "triton/Dialect/TritonGPU/IR/Traits.h"
- 
- #define GET_ATTRDEF_CLASSES
--#include "triton/Dialect/Triton/IR/AttrInterfaces.h.inc"
- #include "triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.h.inc"
- 
- #define GET_OP_CLASSES
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-index 0242c3cc17..af2aeb03a8 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-@@ -1,6 +1,7 @@
- #ifndef TRITONGPU_ATTRDEFS
- #define TRITONGPU_ATTRDEFS
- 
-+include "mlir/IR/AttrTypeBase.td"
- include "triton/Dialect/TritonGPU/IR/TritonGPUDialect.td"
- include "triton/Dialect/Triton/IR/TritonInterfaces.td"
- 
-@@ -136,6 +137,7 @@ A_{3, 2}  A_{3, 3}  A_{3, 0}  A_{3, 1} ...   [phase 1] /
-   ];
- 
-   let extraClassDeclaration = extraBaseClassDeclaration;
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- //===----------------------------------------------------------------------===//
-@@ -273,6 +275,7 @@ for
-     // ArrayRefParameter<"unsigned">:$sizePerCTA
-   );
- 
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- //===----------------------------------------------------------------------===//
-@@ -422,6 +425,7 @@ For example, the matrix L corresponding to blockTileSize=[32,16] is:
-     static constexpr int numBitsToHoldMmaV1ID{5};
-   }];
- 
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def SliceEncodingAttr : DistributedEncoding<"SliceEncoding"> {
-@@ -456,6 +460,8 @@ def SliceEncodingAttr : DistributedEncoding<"SliceEncoding"> {
-     template<class T>
-     SmallVector<T> paddedShape(ArrayRef<T> shape) const;
-   }];
-+
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def DotOperandEncodingAttr : DistributedEncoding<"DotOperandEncoding"> {
-@@ -492,6 +498,7 @@ section 9.7.13.4.1 for more details.
- 
-   ];
- 
-+  let hasCustomAssemblyFormat = 1;
-   let extraClassDeclaration = extraBaseClassDeclaration;
- }
- 
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-index 87ec1d36c6..6489a721b4 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-@@ -30,7 +30,7 @@ def TritonGPU_Dialect : Dialect {
-     }
-   }];
-   
--
-+  let useDefaultAttributePrinterParser = 1;
- }
- 
- #endif
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-index 510f8d0183..7aba11dc75 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-@@ -59,7 +59,7 @@ def TTG_AsyncCommitGroupOp : TTG_Op<"async_commit_group"> {
- // This is needed because these ops don't
- // handle encodings
- // e.g., https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Arith/IR/ArithOps.td#L111
--def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise, 
-+def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise,
-                                  SameOperandsAndResultShape, 
-                                  SameOperandsAndResultEncoding]> {
-   let summary = "integer comparison operation";
-@@ -73,7 +73,7 @@ def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise,
-   let results = (outs TT_BoolLike:$result);
- }
- 
--def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise, 
-+def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise,
-                                  SameOperandsAndResultShape, 
-                                  SameOperandsAndResultEncoding]> {
-   let summary = "floating-point comparison operation";
-@@ -88,8 +88,8 @@ def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise,
- }
- 
- // TODO: migrate to arith::SelectOp on LLVM16
--def TTG_SelectOp : TTG_Op<"select", [NoSideEffect, Elementwise, 
--                                     SameOperandsAndResultShape, 
-+def TTG_SelectOp : TTG_Op<"select", [NoSideEffect, Elementwise,
-+                                     SameOperandsAndResultShape,
-                                      SameOperandsAndResultEncoding]> {
-   let summary = "select operation";
- 
-@@ -188,10 +188,7 @@ def TTG_InsertSliceAsyncOp : TTG_Op<"insert_slice_async",
-     }
-   }];
- 
--  // The custom parser could be replaced with oilist in LLVM-16
--  let parser = [{ return parseInsertSliceAsyncOp(parser, result); }];
--
--  let printer = [{ return printInsertSliceAsyncOp(p, *this); }];
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def TTG_AllocTensorOp : TTG_Op<"alloc_tensor", [MemoryEffects<[MemAlloc]>,  // Allocate shared memory
-diff --git a/lib/Analysis/Alias.cpp b/lib/Analysis/Alias.cpp
-index a39e4de9aa..208fdd4afc 100644
---- a/lib/Analysis/Alias.cpp
-+++ b/lib/Analysis/Alias.cpp
-@@ -18,8 +18,9 @@ AliasInfo AliasInfo::join(const AliasInfo &lhs, const AliasInfo &rhs) {
-   return ret;
- }
- 
--ChangeResult SharedMemoryAliasAnalysis::visitOperation(
--    Operation *op, ArrayRef<LatticeElement<AliasInfo> *> operands) {
-+void SharedMemoryAliasAnalysis::visitOperation(
-+    Operation *op, ArrayRef<const dataflow::Lattice<AliasInfo> *> operands,
-+    ArrayRef<dataflow::Lattice<AliasInfo> *> results) {
-   AliasInfo aliasInfo;
-   bool pessimistic = true;
-   if (maybeSharedAllocationOp(op)) {
-@@ -44,14 +45,11 @@ ChangeResult SharedMemoryAliasAnalysis::visitOperation(
-   }
- 
-   if (pessimistic) {
--    return markAllPessimisticFixpoint(op->getResults());
-+    return markAllPessimisticFixpoint(results);
-   }
-   // Join all lattice elements
--  ChangeResult result = ChangeResult::NoChange;
--  for (Value value : op->getResults()) {
--    result |= getLatticeElement(value).join(aliasInfo);
--  }
--  return result;
-+  for (auto *result : results)
-+    propagateIfChanged(result, result->join(aliasInfo));
- }
- 
- AliasResult SharedMemoryAliasAnalysis::alias(Value lhs, Value rhs) {
-diff --git a/lib/Analysis/Allocation.cpp b/lib/Analysis/Allocation.cpp
-index 712c08c475..b4de8dcd9d 100644
---- a/lib/Analysis/Allocation.cpp
-+++ b/lib/Analysis/Allocation.cpp
-@@ -1,4 +1,5 @@
- #include "triton/Analysis/Allocation.h"
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Analysis/Liveness.h"
- #include "mlir/Analysis/SliceAnalysis.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
-@@ -33,10 +34,8 @@ constexpr int kPtrBitWidth = 64;
- 
- static std::pair<SmallVector<unsigned>, SmallVector<unsigned>>
- getCvtOrder(const Attribute &srcLayout, const Attribute &dstLayout) {
--  auto srcBlockedLayout = srcLayout.dyn_cast<BlockedEncodingAttr>();
-   auto srcMmaLayout = srcLayout.dyn_cast<MmaEncodingAttr>();
-   auto srcDotLayout = srcLayout.dyn_cast<DotOperandEncodingAttr>();
--  auto dstBlockedLayout = dstLayout.dyn_cast<BlockedEncodingAttr>();
-   auto dstMmaLayout = dstLayout.dyn_cast<MmaEncodingAttr>();
-   auto dstDotLayout = dstLayout.dyn_cast<DotOperandEncodingAttr>();
-   assert(!(srcMmaLayout && dstMmaLayout) &&
-@@ -224,14 +223,12 @@ class AllocationAnalysis {
-   }
- 
-   void getValueAlias(Value value, SharedMemoryAliasAnalysis &analysis) {
--    LatticeElement<AliasInfo> *latticeElement =
--        analysis.lookupLatticeElement(value);
--    if (latticeElement) {
--      auto &info = latticeElement->getValue();
--      if (!info.getAllocs().empty()) {
--        for (auto alloc : info.getAllocs()) {
--          allocation->addAlias(value, alloc);
--        }
-+    dataflow::Lattice<AliasInfo> *latticeElement =
-+        analysis.getLatticeElement(value);
-+    if (latticeElement && !latticeElement->isUninitialized()) {
-+      AliasInfo &info = latticeElement->getValue();
-+      for (auto alloc : info.getAllocs()) {
-+        allocation->addAlias(value, alloc);
-       }
-     }
-   }
-@@ -244,14 +241,19 @@ class AllocationAnalysis {
-       getScratchValueSize(op);
-     });
-     // Get the alias values
--    SharedMemoryAliasAnalysis aliasAnalysis(operation->getContext());
--    aliasAnalysis.run(operation);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    SharedMemoryAliasAnalysis *aliasAnalysis =
-+        solver->load<SharedMemoryAliasAnalysis>();
-+    if (failed(solver->initializeAndRun(operation))) {
-+      // TODO: return error instead of bailing out..
-+      llvm_unreachable("failed to run SharedMemoryAliasAnalysis");
-+    }
-     operation->walk<WalkOrder::PreOrder>([&](Operation *op) {
-       for (auto operand : op->getOperands()) {
--        getValueAlias(operand, aliasAnalysis);
-+        getValueAlias(operand, *aliasAnalysis);
-       }
-       for (auto value : op->getResults()) {
--        getValueAlias(value, aliasAnalysis);
-+        getValueAlias(value, *aliasAnalysis);
-       }
-     });
-   }
-diff --git a/lib/Analysis/AxisInfo.cpp b/lib/Analysis/AxisInfo.cpp
-index 0b7142b04d..4af46c3fbb 100644
---- a/lib/Analysis/AxisInfo.cpp
-+++ b/lib/Analysis/AxisInfo.cpp
-@@ -1,4 +1,4 @@
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "llvm/Support/raw_ostream.h"
- 
-@@ -52,7 +52,7 @@ AxisInfo AxisInfo::getPessimisticValueState(Value value) {
-   BlockArgument blockArg = value.dyn_cast<BlockArgument>();
-   if (blockArg && blockArg.getOwner()->isEntryBlock()) {
-     Operation *op = blockArg.getOwner()->getParentOp();
--    if (FuncOp fun = dyn_cast<FuncOp>(op)) {
-+    if (func::FuncOp fun = dyn_cast<func::FuncOp>(op)) {
-       Attribute attr =
-           fun.getArgAttr(blockArg.getArgNumber(), "tt.divisibility");
-       if (attr)
-@@ -136,8 +136,9 @@ class CastOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     return operands[0]->getValue();
-   }
- };
-@@ -147,8 +148,9 @@ class MakeRangeOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::MakeRangeOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::MakeRangeOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::MakeRangeOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto start = op.start();
-     auto end = op.end();
-     return AxisInfo(/*contiguity=*/{end - start},
-@@ -162,8 +164,9 @@ class ConstantOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<arith::ConstantOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(arith::ConstantOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(arith::ConstantOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto intAttr = op.getValue().dyn_cast<IntegerAttr>();
-     auto boolAttr = op.getValue().dyn_cast<BoolAttr>();
-     if (intAttr || boolAttr) {
-@@ -416,8 +419,9 @@ class SplatOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::SplatOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::SplatOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::SplatOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     Type _retTy = *op->result_type_begin();
-     TensorType retTy = _retTy.cast<TensorType>();
-     AxisInfo opInfo = operands[0]->getValue();
-@@ -439,8 +443,9 @@ class ExpandDimsOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::ExpandDimsOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::ExpandDimsOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::ExpandDimsOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     AxisInfo opInfo = operands[0]->getValue();
-     AxisInfo::DimVectorT contiguity = opInfo.getContiguity();
-     AxisInfo::DimVectorT divisibility = opInfo.getDivisibility();
-@@ -458,8 +463,9 @@ class BroadcastOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::BroadcastOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::BroadcastOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::BroadcastOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     Type _retTy = *op->result_type_begin();
-     Type _opTy = *op->operand_type_begin();
-     TensorType retTy = _retTy.cast<TensorType>();
-@@ -486,8 +492,9 @@ class CmpOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto resTy = op.getResult().getType().template dyn_cast<RankedTensorType>();
-     if (!resTy)
-       return AxisInfo();
-@@ -596,8 +603,9 @@ class SelectOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto resTy = op.getResult().getType().template dyn_cast<RankedTensorType>();
-     if (!resTy)
-       return AxisInfo();
-@@ -757,8 +765,9 @@ class MaxMinOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto lhsInfo = operands[0]->getValue();
-     auto rhsInfo = operands[1]->getValue();
-     std::optional<int64_t> constantValue;
-@@ -786,8 +795,8 @@ class MaxMinOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- // AxisInfoAnalysis
- //===----------------------------------------------------------------------===//
- 
--AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
--    : ForwardDataFlowAnalysis<AxisInfo>(context) {
-+AxisInfoAnalysis::AxisInfoAnalysis(DataFlowSolver &solver)
-+    : dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AxisInfo>>(solver) {
-   // UnrealizedConversionCast:
-   // This is needed by TritonGPUToLLVM, to get AxisInfo when the graph is
-   // in the process of a PartialConversion, where UnrealizedConversionCast
-@@ -819,7 +828,7 @@ AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
-   visitors.append<LogicalOpAxisInfoVisitor<arith::AndIOp>,
-                   LogicalOpAxisInfoVisitor<arith::OrIOp>,
-                   LogicalOpAxisInfoVisitor<arith::XOrIOp>>();
--  visitors.append<SelectOpAxisInfoVisitor<mlir::SelectOp>,
-+  visitors.append<SelectOpAxisInfoVisitor<mlir::arith::SelectOp>,
-                   SelectOpAxisInfoVisitor<triton::gpu::SelectOp>>();
-   visitors.append<ShLIOpAxisInfoVisitor, ShROpAxisInfoVisitor<arith::ShRUIOp>,
-                   ShROpAxisInfoVisitor<arith::ShRSIOp>>();
-@@ -829,11 +838,12 @@ AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
-                   MaxMinOpAxisInfoVisitor<arith::MinUIOp>>();
- }
- 
--ChangeResult AxisInfoAnalysis::visitOperation(
--    Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+void AxisInfoAnalysis::visitOperation(
-+    Operation *op, ArrayRef<const dataflow::Lattice<AxisInfo> *> operands,
-+    ArrayRef<dataflow::Lattice<AxisInfo> *> results) {
-   AxisInfo curr = visitors.apply(op, operands);
-   if (curr.getRank() == 0) {
--    return markAllPessimisticFixpoint(op->getResults());
-+    return markAllPessimisticFixpoint(results);
-   }
-   // override with hint
-   auto newContiguity = curr.getContiguity();
-@@ -854,11 +864,8 @@ ChangeResult AxisInfoAnalysis::visitOperation(
-   curr = mlir::AxisInfo(newContiguity, newDivisibility, newConstancy,
-                         curr.getConstantValue());
-   // join all lattice elements
--  ChangeResult result = ChangeResult::NoChange;
--  for (Value value : op->getResults()) {
--    result |= getLatticeElement(value).join(curr);
--  }
--  return result;
-+  for (auto *result : results)
-+    propagateIfChanged(result, result->join(curr));
- }
- 
- unsigned AxisInfoAnalysis::getPtrContiguity(Value ptr) {
-@@ -884,7 +891,10 @@ unsigned AxisInfoAnalysis::getPtrAlignment(Value ptr) {
-   auto tensorTy = ptr.getType().dyn_cast<RankedTensorType>();
-   if (!tensorTy)
-     return 1;
--  auto axisInfo = lookupLatticeElement(ptr)->getValue();
-+  dataflow::Lattice<AxisInfo> *latticeElement = getLatticeElement(ptr);
-+  if (!latticeElement || latticeElement->isUninitialized())
-+    return 1;
-+  auto axisInfo = latticeElement->getValue();
-   auto layout = tensorTy.getEncoding();
-   auto order = triton::gpu::getOrder(layout);
-   auto maxMultipleBytes = axisInfo.getDivisibility(order[0]);
-@@ -900,8 +910,11 @@ unsigned AxisInfoAnalysis::getMaskAlignment(Value mask) {
-   auto tensorTy = mask.getType().dyn_cast<RankedTensorType>();
-   if (!tensorTy)
-     return 1;
-+  dataflow::Lattice<AxisInfo> *latticeElement = getLatticeElement(mask);
-+  if (!latticeElement || latticeElement->isUninitialized())
-+    return 1;
-+  auto maskAxis = latticeElement->getValue();
-   auto maskOrder = triton::gpu::getOrder(tensorTy.getEncoding());
--  auto maskAxis = lookupLatticeElement(mask)->getValue();
-   auto alignment = std::max<unsigned>(maskAxis.getConstancy(maskOrder[0]), 1);
-   return alignment;
- }
-diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt
-index afbc692510..1f761f845c 100644
---- a/lib/Analysis/CMakeLists.txt
-+++ b/lib/Analysis/CMakeLists.txt
-@@ -8,7 +8,7 @@ add_mlir_library(TritonAnalysis
-   DEPENDS
-   TritonTableGen
-   TritonGPUAttrDefsIncGen
--  
-+
-   LINK_LIBS PUBLIC
-   MLIRAnalysis
- )
-diff --git a/lib/Analysis/Membar.cpp b/lib/Analysis/Membar.cpp
-index acc885e827..910274b2ac 100644
---- a/lib/Analysis/Membar.cpp
-+++ b/lib/Analysis/Membar.cpp
-@@ -2,7 +2,7 @@
- #include "triton/Analysis/Alias.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- 
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- 
- namespace mlir {
-diff --git a/lib/Analysis/Utility.cpp b/lib/Analysis/Utility.cpp
-index d9e917e731..6ea52df272 100644
---- a/lib/Analysis/Utility.cpp
-+++ b/lib/Analysis/Utility.cpp
-@@ -1,5 +1,8 @@
- #include "triton/Analysis/Utility.h"
-+#include "mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h"
-+#include "mlir/Analysis/DataFlow/DeadCodeAnalysis.h"
- #include "mlir/IR/Dialect.h"
-+#include "mlir/IR/Matchers.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include <deque>
-@@ -325,4 +328,55 @@ SetVector<Operation *> multiRootGetSlice(Operation *op,
-   return multiRootTopologicalSort(slice);
- }
- 
-+namespace {
-+// Copied from TestDeadCodeAnalysis.cpp, because some dead code analysis
-+// interacts with constant propagation, but SparseConstantPropagation
-+// doesn't seem to be sufficient.
-+struct ConstantAnalysis : public DataFlowAnalysis {
-+  using DataFlowAnalysis::DataFlowAnalysis;
-+
-+  LogicalResult initialize(Operation *top) override {
-+    WalkResult result = top->walk([&](Operation *op) {
-+      if (failed(visit(op)))
-+        return WalkResult::interrupt();
-+      return WalkResult::advance();
-+    });
-+    return success(!result.wasInterrupted());
-+  }
-+
-+  LogicalResult visit(ProgramPoint point) override {
-+    Operation *op = point.get<Operation *>();
-+    Attribute value;
-+    if (matchPattern(op, m_Constant(&value))) {
-+      auto *constant = getOrCreate<dataflow::Lattice<dataflow::ConstantValue>>(
-+          op->getResult(0));
-+      propagateIfChanged(constant, constant->join(dataflow::ConstantValue(
-+                                       value, op->getDialect())));
-+      return success();
-+    }
-+    setAllToUnknownConstants(op->getResults());
-+    for (Region &region : op->getRegions())
-+      setAllToUnknownConstants(region.getArguments());
-+    return success();
-+  }
-+
-+  /// Set all given values as not constants.
-+  void setAllToUnknownConstants(ValueRange values) {
-+    dataflow::ConstantValue unknownConstant(nullptr, nullptr);
-+    for (Value value : values) {
-+      auto *constant =
-+          getOrCreate<dataflow::Lattice<dataflow::ConstantValue>>(value);
-+      propagateIfChanged(constant, constant->join(unknownConstant));
-+    }
-+  }
-+};
-+} // namespace
-+
-+std::unique_ptr<DataFlowSolver> createDataFlowSolver() {
-+  auto solver = std::make_unique<DataFlowSolver>();
-+  solver->load<dataflow::DeadCodeAnalysis>();
-+  solver->load<ConstantAnalysis>();
-+  return solver;
-+}
-+
- } // namespace mlir
-diff --git a/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-index 6a46265bd7..e352eb3698 100644
---- a/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-@@ -159,9 +159,6 @@ struct ConvertLayoutOpConversion
-                       Value smemBase) const {
-     auto accumNumCTAsEachRep = product<unsigned>(numCTAsEachRep);
-     auto layout = type.getEncoding();
--    auto blockedLayout = layout.dyn_cast<BlockedEncodingAttr>();
--    auto sliceLayout = layout.dyn_cast<SliceEncodingAttr>();
--    auto mmaLayout = layout.dyn_cast<MmaEncodingAttr>();
-     auto rank = type.getRank();
-     auto sizePerThread = getSizePerThread(layout);
-     auto accumSizePerThread = product<unsigned>(sizePerThread);
-diff --git a/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h b/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-index 4b89965aa9..1d9e00519b 100644
---- a/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-+++ b/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-@@ -7,10 +7,8 @@
- #include "mlir/Conversion/LLVMCommon/LoweringOptions.h"
- #include "mlir/Conversion/LLVMCommon/Pattern.h"
- #include "mlir/Conversion/MathToLLVM/MathToLLVM.h"
--#include "mlir/Conversion/SCFToStandard/SCFToStandard.h"
--#include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h"
- #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/Matchers.h"
-@@ -422,9 +420,9 @@ struct MMA16816ConversionHelper {
-   MMA16816ConversionHelper(Type dotOperand, MmaEncodingAttr mmaLayout,
-                            Value thread, ConversionPatternRewriter &rewriter,
-                            TypeConverter *typeConverter, Location loc)
--      : mmaLayout(mmaLayout), thread(thread), helper(mmaLayout),
--        rewriter(rewriter), typeConverter(typeConverter), loc(loc),
--        ctx(mmaLayout.getContext()), wpt(mmaLayout.getWarpsPerCTA()) {
-+      : mmaLayout(mmaLayout), wpt(mmaLayout.getWarpsPerCTA()), thread(thread),
-+        helper(mmaLayout), rewriter(rewriter), typeConverter(typeConverter),
-+        loc(loc), ctx(mmaLayout.getContext()) {
-     helper.deduceMmaType(dotOperand);
- 
-     Value _32 = i32_val(32);
-diff --git a/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-index 0f8070ca9f..e4bd47c411 100644
---- a/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-@@ -115,8 +115,6 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
-     auto DTensorTy = D.getType().cast<RankedTensorType>();
-     auto AShape = ATensorTy.getShape();
-     auto BShape = BTensorTy.getShape();
--    auto DShape = DTensorTy.getShape();
--    auto wpt = mmaLayout.getWarpsPerCTA();
- 
-     bool isARow = ALayout.getIsMMAv1Row().cast<BoolAttr>().getValue();
-     bool isBRow = BLayout.getIsMMAv1Row().cast<BoolAttr>().getValue();
-@@ -221,7 +219,6 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
-                               ConversionPatternRewriter &rewriter) const {
-     auto *ctx = rewriter.getContext();
-     auto loc = op.getLoc();
--    auto threadId = getThreadId(rewriter, loc);
- 
-     auto A = op.a();
-     auto B = op.b();
-@@ -230,12 +227,10 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
- 
-     auto aTensorTy = A.getType().cast<RankedTensorType>();
-     auto bTensorTy = B.getType().cast<RankedTensorType>();
--    auto cTensorTy = C.getType().cast<RankedTensorType>();
-     auto dTensorTy = D.getType().cast<RankedTensorType>();
- 
-     auto aShape = aTensorTy.getShape();
-     auto bShape = bTensorTy.getShape();
--    auto cShape = cTensorTy.getShape();
- 
-     BlockedEncodingAttr dLayout =
-         dTensorTy.getEncoding().cast<BlockedEncodingAttr>();
-diff --git a/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-index deb71b9597..0b9e67674b 100644
---- a/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-@@ -61,7 +61,6 @@ struct FpToFpOpConversion
-   convertFp16x4ToFp8x4(Location loc, ConversionPatternRewriter &rewriter,
-                        const Value &v0, const Value &v1, const Value &v2,
-                        const Value &v3) {
--    auto ctx = rewriter.getContext();
-     auto fp16x2VecTy = vec_ty(f16_ty, 2);
-     Value fp16x2Vec0 = undef(fp16x2VecTy);
-     Value fp16x2Vec1 = undef(fp16x2VecTy);
-@@ -153,7 +152,6 @@ struct FpToFpOpConversion
-   convertBf16x4ToFp8x4(Location loc, ConversionPatternRewriter &rewriter,
-                        const Value &v0, const Value &v1, const Value &v2,
-                        const Value &v3) {
--    auto ctx = rewriter.getContext();
-     auto bf16x2VecTy = vec_ty(i16_ty, 2);
-     Value bf16x2Vec0 = undef(bf16x2VecTy);
-     Value bf16x2Vec1 = undef(bf16x2VecTy);
-diff --git a/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-index 9a8b4702bc..bae675f0cb 100644
---- a/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-@@ -109,7 +109,8 @@ struct LoadOpConversion
-     DenseElementsAttr constAttr;
-     int64_t splatVal = 0;
-     if (other && valueElemTy.isa<IntegerType>() &&
--        matchPattern(other, m_Constant(&constAttr)) && constAttr.isSplat()) {
-+        matchPattern(other, m_Constant(&constAttr)) && constAttr.isSplat() &&
-+        constAttr.getElementType().isa<IntegerType>()) {
-       otherIsSplatConstInt = true;
-       splatVal = constAttr.getSplatValue<APInt>().getSExtValue();
-     }
-@@ -333,7 +334,6 @@ struct StoreOpConversion
-             elem = rewriter.create<LLVM::SExtOp>(loc, type::i8Ty(ctx), elem);
-           elem = bitcast(elem, valueElemTy);
- 
--          Type u32Ty = typeConverter->convertType(type::u32Ty(ctx));
-           llWord = insert_element(wordTy, llWord, elem, i32_val(elemIdx));
-         }
-         llWord = bitcast(llWord, valArgTy);
-@@ -387,7 +387,6 @@ struct AtomicCASOpConversion
-                   ConversionPatternRewriter &rewriter) const override {
-     auto loc = op.getLoc();
-     MLIRContext *ctx = rewriter.getContext();
--    Value ptr = op.ptr();
- 
-     Value llPtr = adaptor.ptr();
-     Value llCmp = adaptor.cmp();
-diff --git a/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-index 69abd889be..1c973dc196 100644
---- a/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-@@ -286,7 +286,6 @@ struct ReduceOpConversion
-     auto srcTy = op.operand().getType().cast<RankedTensorType>();
-     auto srcLayout = srcTy.getEncoding();
-     auto srcShape = srcTy.getShape();
--    auto srcRank = srcTy.getRank();
-     auto order = getOrder(srcLayout);
- 
-     auto threadsPerWarp = triton::gpu::getThreadsPerWarp(srcLayout);
-@@ -351,7 +350,6 @@ struct ReduceOpConversion
- 
-     Value zero = i32_val(0);
-     Value laneZero = icmp_eq(laneIdAxis, zero);
--    Value warpZero = icmp_eq(warpIdAxis, zero);
- 
-     for (auto it : accs) {
-       const SmallVector<unsigned> &key = it.first;
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-index 5b77150b1a..78cfa076bd 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-@@ -11,11 +11,11 @@ using ::mlir::LLVM::getStructFromElements;
- using ::mlir::triton::gpu::getElemsPerThread;
- using ::mlir::triton::gpu::SharedEncodingAttr;
- 
--struct ReturnOpConversion : public ConvertOpToLLVMPattern<::mlir::ReturnOp> {
--  using ConvertOpToLLVMPattern<ReturnOp>::ConvertOpToLLVMPattern;
-+struct ReturnOpConversion : public ConvertOpToLLVMPattern<func::ReturnOp> {
-+  using ConvertOpToLLVMPattern<func::ReturnOp>::ConvertOpToLLVMPattern;
- 
-   LogicalResult
--  matchAndRewrite(ReturnOp op, OpAdaptor adaptor,
-+  matchAndRewrite(func::ReturnOp op, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     unsigned numArguments = op.getNumOperands();
- 
-@@ -476,7 +476,6 @@ struct ExtractSliceOpConversion
- 
-     auto llvmElemTy = getTypeConverter()->convertType(srcTy.getElementType());
-     auto elemPtrTy = ptr_ty(llvmElemTy, 3);
--    auto resTy = op.getType().dyn_cast<RankedTensorType>();
-     smemObj = SharedMemoryObject(gep(elemPtrTy, smemObj.base, offset),
-                                  strideVals, offsetVals);
-     auto retVal = getStructFromSharedMemoryObject(loc, smemObj, rewriter);
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-index bb10d5b24a..00e399f848 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-@@ -4,6 +4,7 @@
- // TODO: refactor so that it doesn't fail if Allocation.h
- // is included after utility.h (due to conflict in `store` macro
- // and <atomic>
-+#include "mlir/Dialect/Func/IR/FuncOps.h"
- #include "triton/Analysis/Allocation.h"
- 
- //
-@@ -39,15 +40,15 @@ void vprintf_array(Value thread, ArrayRef<Value> arr, std::string info,
- // TODO(Superjomn): remove the code when MLIR v15.0 is included.
- // All the rights are reserved by the LLVM community.
- 
--struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-+struct FuncOpConversionBase : public ConvertOpToLLVMPattern<func::FuncOp> {
- private:
-   /// Only retain those attributes that are not constructed by
-   /// `LLVMFuncOp::build`. If `filterArgAttrs` is set, also filter out argument
-   /// attributes.
--  static void filterFuncAttributes(ArrayRef<NamedAttribute> attrs,
--                                   bool filterArgAttrs,
-+  static void filterFuncAttributes(func::FuncOp op, bool filterArgAttrs,
-                                    SmallVectorImpl<NamedAttribute> &result) {
--    for (const auto &attr : attrs) {
-+
-+    for (const auto &attr : op->getAttrs()) {
-       if (attr.getName() == SymbolTable::getSymbolAttrName() ||
-           attr.getName() == FunctionOpInterface::getTypeAttrName() ||
-           attr.getName() == "std.varargs" ||
-@@ -65,27 +66,27 @@ struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-   }
- 
- protected:
--  using ConvertOpToLLVMPattern<FuncOp>::ConvertOpToLLVMPattern;
-+  using ConvertOpToLLVMPattern<func::FuncOp>::ConvertOpToLLVMPattern;
- 
-   // Convert input FuncOp to LLVMFuncOp by using the LLVMTypeConverter provided
-   // to this legalization pattern.
-   LLVM::LLVMFuncOp
--  convertFuncOpToLLVMFuncOp(FuncOp funcOp,
-+  convertFuncOpToLLVMFuncOp(func::FuncOp funcOp,
-                             ConversionPatternRewriter &rewriter) const {
-     // Convert the original function arguments. They are converted using the
-     // LLVMTypeConverter provided to this legalization pattern.
-     auto varargsAttr = funcOp->getAttrOfType<BoolAttr>("func.varargs");
-     TypeConverter::SignatureConversion result(funcOp.getNumArguments());
-     auto llvmType = getTypeConverter()->convertFunctionSignature(
--        funcOp.getType(), varargsAttr && varargsAttr.getValue(), result);
-+        funcOp.getFunctionType(), varargsAttr && varargsAttr.getValue(),
-+        result);
-     if (!llvmType)
-       return nullptr;
- 
-     // Propagate argument/result attributes to all converted arguments/result
-     // obtained after converting a given original argument/result.
-     SmallVector<NamedAttribute, 4> attributes;
--    filterFuncAttributes(funcOp->getAttrs(), /*filterArgAttrs=*/true,
--                         attributes);
-+    filterFuncAttributes(funcOp, /*filterArgAttrs=*/true, attributes);
-     if (ArrayAttr resAttrDicts = funcOp.getAllResultAttrs()) {
-       assert(!resAttrDicts.empty() && "expected array to be non-empty");
-       auto newResAttrDicts =
-@@ -131,7 +132,7 @@ struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-     }
-     auto newFuncOp = rewriter.create<LLVM::LLVMFuncOp>(
-         funcOp.getLoc(), funcOp.getName(), llvmType, linkage,
--        /*dsoLocal*/ false, attributes);
-+        /*dsoLocal*/ false, LLVM::CConv::C, attributes);
-     rewriter.inlineRegionBefore(funcOp.getBody(), newFuncOp.getBody(),
-                                 newFuncOp.end());
-     if (failed(rewriter.convertRegionTypes(&newFuncOp.getBody(), *typeConverter,
-@@ -191,8 +192,8 @@ class ConvertTritonGPUOpToLLVMPatternBase {
-                                                const Allocation *allocation,
-                                                Value smem,
-                                                IndexCacheInfo indexCacheInfo)
--      : converter(&typeConverter), indexCacheInfo(indexCacheInfo),
--        allocation(allocation), smem(smem) {}
-+      : converter(&typeConverter), allocation(allocation), smem(smem),
-+        indexCacheInfo(indexCacheInfo) {}
- 
-   LLVMTypeConverter *getTypeConverter() const { return converter; }
- 
-@@ -861,7 +862,6 @@ class ConvertTritonGPUOpToLLVMPatternBase {
-                             ArrayRef<int64_t> shape) const {
-     auto parent = sliceLayout.getParent();
-     unsigned dim = sliceLayout.getDim();
--    size_t rank = shape.size();
-     auto parentIndices =
-         emitIndices(loc, rewriter, parent, sliceLayout.paddedShape(shape));
-     unsigned numIndices = parentIndices.size();
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-index ff1af09835..6f66af4e34 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-@@ -1,10 +1,11 @@
- #include "triton/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.h"
- 
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Conversion/ArithmeticToLLVM/ArithmeticToLLVM.h"
-+#include "mlir/Conversion/ControlFlowToLLVM//ControlFlowToLLVM.h"
- #include "mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h"
- #include "mlir/Conversion/MathToLLVM/MathToLLVM.h"
--#include "mlir/Conversion/SCFToStandard/SCFToStandard.h"
--#include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h"
-+#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/LLVMIR/NVVMDialect.h"
- #include "mlir/Pass/Pass.h"
-@@ -40,7 +41,6 @@ class TritonLLVMConversionTarget : public ConversionTarget {
-     addIllegalDialect<triton::TritonDialect>();
-     addIllegalDialect<triton::gpu::TritonGPUDialect>();
-     addIllegalDialect<mlir::gpu::GPUDialect>();
--    addIllegalDialect<mlir::StandardOpsDialect>();
-     addLegalOp<mlir::UnrealizedConversionCastOp>();
-   }
- };
-@@ -51,7 +51,7 @@ class TritonLLVMFunctionConversionTarget : public ConversionTarget {
-       : ConversionTarget(ctx) {
-     addLegalDialect<LLVM::LLVMDialect>();
-     addLegalDialect<NVVM::NVVMDialect>();
--    addIllegalOp<mlir::FuncOp>();
-+    addIllegalOp<mlir::func::FuncOp>();
-     addLegalOp<mlir::UnrealizedConversionCastOp>();
-   }
- };
-@@ -69,7 +69,7 @@ struct FuncOpConversion : public FuncOpConversionBase {
-       : FuncOpConversionBase(converter, benefit), numWarps(numWarps) {}
- 
-   LogicalResult
--  matchAndRewrite(FuncOp funcOp, OpAdaptor adaptor,
-+  matchAndRewrite(func::FuncOp funcOp, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     auto newFuncOp = convertFuncOpToLLVMFuncOp(funcOp, rewriter);
-     if (!newFuncOp)
-@@ -133,7 +133,8 @@ class ConvertTritonGPUToLLVM
-     decomposeBlockedToDotOperand(mod);
- 
-     // Step 2
--    decomposeInsertSliceAsyncOp(mod);
-+    if (failed(decomposeInsertSliceAsyncOp(mod)))
-+      return signalPassFailure();
- 
-     // Step 3
-     Allocation allocation(mod);
-@@ -142,7 +143,7 @@ class ConvertTritonGPUToLLVM
- 
-     // Step 4
-     RewritePatternSet scf_patterns(context);
--    mlir::populateLoopToStdConversionPatterns(scf_patterns);
-+    mlir::populateSCFToControlFlowConversionPatterns(scf_patterns);
-     mlir::ConversionTarget scf_target(*context);
-     scf_target.addIllegalOp<scf::ForOp, scf::IfOp, scf::ParallelOp,
-                             scf::WhileOp, scf::ExecuteRegionOp>();
-@@ -159,8 +160,10 @@ class ConvertTritonGPUToLLVM
-       return signalPassFailure();
- 
-     // Step 6 - get axis and shared memory info
--    AxisInfoAnalysis axisInfoAnalysis(mod.getContext());
--    axisInfoAnalysis.run(mod);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(mod)))
-+      return signalPassFailure();
-     initSharedMemory(allocation.getSharedMemorySize(), typeConverter);
-     mod->setAttr("triton_gpu.shared",
-                  mlir::IntegerAttr::get(mlir::IntegerType::get(context, 32),
-@@ -178,38 +181,39 @@ class ConvertTritonGPUToLLVM
- 
-     // Normal conversions
-     populateTritonGPUToLLVMPatterns(typeConverter, patterns, numWarps,
--                                    axisInfoAnalysis, &allocation, smem,
-+                                    *axisInfoAnalysis, &allocation, smem,
-                                     indexCacheInfo, /*benefit=*/10);
-     // ConvertLayoutOp
-     populateConvertLayoutOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                          axisInfoAnalysis, &allocation, smem,
-+                                          *axisInfoAnalysis, &allocation, smem,
-                                           indexCacheInfo, /*benefit=*/10);
-     // DotOp
-     populateDotOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                axisInfoAnalysis, &allocation, smem,
-+                                *axisInfoAnalysis, &allocation, smem,
-                                 /*benefit=*/10);
-     // ElementwiseOp
-     populateElementwiseOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                        axisInfoAnalysis, &allocation, smem,
-+                                        *axisInfoAnalysis, &allocation, smem,
-                                         /*benefit=*/10);
-     // LoadStoreOp
-     populateLoadStoreOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                      axisInfoAnalysis, &allocation, smem,
-+                                      *axisInfoAnalysis, &allocation, smem,
-                                       indexCacheInfo, /*benefit=*/10);
-     // ReduceOp
-     populateReduceOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                   axisInfoAnalysis, &allocation, smem,
-+                                   *axisInfoAnalysis, &allocation, smem,
-                                    indexCacheInfo, /*benefit=*/10);
-     // ViewOp
-     populateViewOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                 axisInfoAnalysis, &allocation, smem,
-+                                 *axisInfoAnalysis, &allocation, smem,
-                                  /*benefit=*/10);
- 
-     // Add arith/math's patterns to help convert scalar expression to LLVM.
-     mlir::arith::populateArithmeticToLLVMConversionPatterns(typeConverter,
-                                                             patterns);
-     mlir::populateMathToLLVMConversionPatterns(typeConverter, patterns);
--    mlir::populateStdToLLVMConversionPatterns(typeConverter, patterns);
-+    mlir::cf::populateControlFlowToLLVMConversionPatterns(typeConverter,
-+                                                          patterns);
-     mlir::populateGpuToNVVMConversionPatterns(typeConverter, patterns);
- 
-     if (failed(applyPartialConversion(mod, target, std::move(patterns))))
-@@ -306,9 +310,11 @@ class ConvertTritonGPUToLLVM
-     });
-   }
- 
--  void decomposeInsertSliceAsyncOp(ModuleOp mod) const {
--    AxisInfoAnalysis axisInfoAnalysis(mod.getContext());
--    axisInfoAnalysis.run(mod);
-+  LogicalResult decomposeInsertSliceAsyncOp(ModuleOp mod) const {
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(mod)))
-+      return failure();
-     // TODO(Keren): This is a hacky knob that may cause performance regression
-     // when decomposition has been performed. We should remove this knob once we
-     // have thorough analysis on async wait. Currently, we decompose
-@@ -342,7 +348,7 @@ class ConvertTritonGPUToLLVM
-       auto resSharedLayout =
-           dstTy.getEncoding().dyn_cast<triton::gpu::SharedEncodingAttr>();
-       auto resElemTy = dstTy.getElementType();
--      unsigned inVec = axisInfoAnalysis.getPtrContiguity(src);
-+      unsigned inVec = axisInfoAnalysis->getPtrContiguity(src);
-       unsigned outVec = resSharedLayout.getVec();
-       unsigned minVec = std::min(outVec, inVec);
-       auto maxBitWidth =
-@@ -400,11 +406,11 @@ class ConvertTritonGPUToLLVM
-       } else if (decomposed) {
-         // Wait for all previous async ops
-         OpBuilder builder(asyncWaitOp);
--        auto newAsyncWaitOp =
--            builder.create<triton::gpu::AsyncWaitOp>(asyncWaitOp.getLoc(), 0);
-+        builder.create<triton::gpu::AsyncWaitOp>(asyncWaitOp.getLoc(), 0);
-         asyncWaitOp.erase();
-       }
-     });
-+    return success();
-   }
- };
- 
-diff --git a/lib/Conversion/TritonGPUToLLVM/Utility.h b/lib/Conversion/TritonGPUToLLVM/Utility.h
-index d35dac28c5..11976908cf 100644
---- a/lib/Conversion/TritonGPUToLLVM/Utility.h
-+++ b/lib/Conversion/TritonGPUToLLVM/Utility.h
-@@ -220,10 +220,7 @@ struct SharedMemoryObject {
-                      ConversionPatternRewriter &rewriter)
-       : base(base) {
-     strides = getStridesFromShapeAndOrder(shape, order, loc, rewriter);
--
--    for (auto idx : order) {
--      offsets.emplace_back(i32_val(0));
--    }
-+    offsets.append(order.size(), i32_val(0));
-   }
- 
-   SmallVector<Value> getElems() const {
-diff --git a/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp b/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-index fe42202c34..5f230f787f 100644
---- a/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-+++ b/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-@@ -1,10 +1,10 @@
- #include "triton/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.h"
- 
- #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/LLVMIR/NVVMDialect.h"
--#include "mlir/Dialect/StandardOps/IR/Ops.h"
- #include "mlir/Pass/Pass.h"
- #include "mlir/Transforms/DialectConversion.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
-@@ -59,10 +59,13 @@ class ArithConstantPattern : public OpConversionPattern<arith::ConstantOp> {
-     Type retType = getTypeConverter()->convertType(op.getType());
-     auto value = adaptor.getValue().dyn_cast<DenseElementsAttr>();
-     assert(value);
--    rewriter.replaceOpWithNewOp<arith::ConstantOp>(
--        op, retType,
--        value.reshape(retType) // This is a hack. We just want to add encoding
--    );
-+    if (value.getElementType().isInteger(1) && value.isSplat())
-+      // Workaround until https://reviews.llvm.org/D133743 is included.
-+      value = DenseElementsAttr::get(retType, value.getSplatValue<bool>());
-+    else
-+      // This is a hack. We just want to add encoding
-+      value = value.reshape(retType);
-+    rewriter.replaceOpWithNewOp<arith::ConstantOp>(op, retType, value);
-     return success();
-   }
- };
-@@ -127,12 +130,12 @@ void populateArithmeticPatternsAndLegality(
- }
- 
- // this shouldn't exist if mlir's SelectOp checked encodings properly
--class StdSelectPattern : public OpConversionPattern<SelectOp> {
-+class StdSelectPattern : public OpConversionPattern<arith::SelectOp> {
- public:
--  using OpConversionPattern<SelectOp>::OpConversionPattern;
-+  using OpConversionPattern<arith::SelectOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(SelectOp op, typename SelectOp::Adaptor adaptor,
-+  matchAndRewrite(arith::SelectOp op, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     Type retType = this->getTypeConverter()->convertType(op.getType());
-     rewriter.replaceOpWithNewOp<triton::gpu::SelectOp>(
-@@ -148,8 +151,8 @@ void populateStdPatternsAndLegality(TritonGPUTypeConverter &typeConverter,
-   MLIRContext *context = patterns.getContext();
-   // Rewrite rule
-   patterns.add<StdSelectPattern>(typeConverter, context);
--  target.addLegalOp<ReturnOp>(); // this is ok because all functions are inlined
--                                 // by the frontend
-+  target.addLegalOp<func::ReturnOp>(); // this is ok because all functions are
-+                                       // inlined by the frontend
- }
- 
- void populateMathPatternsAndLegality(TritonGPUTypeConverter &typeConverter,
-@@ -455,18 +458,19 @@ struct TritonPrintfPattern : public OpConversionPattern<triton::PrintfOp> {
- void populateTritonPatterns(TritonGPUTypeConverter &typeConverter,
-                             RewritePatternSet &patterns) {
-   MLIRContext *context = patterns.getContext();
--  patterns.add< // TODO: view should have custom pattern that views the layout
--      TritonGenericPattern<triton::ViewOp>,
--      TritonGenericPattern<triton::BitcastOp>,
--      TritonGenericPattern<triton::FpToFpOp>,
--      TritonGenericPattern<triton::IntToPtrOp>,
--      TritonGenericPattern<triton::PtrToIntOp>,
--      TritonGenericPattern<triton::SplatOp>, TritonBroadcastPattern,
--      TritonGenericPattern<triton::AddPtrOp>, TritonCatPattern,
--      TritonReducePattern, TritonTransPattern, TritonExpandDimsPattern,
--      TritonMakeRangePattern, TritonDotPattern, TritonLoadPattern,
--      TritonStorePattern, TritonExtElemwisePattern, TritonPrintfPattern,
--      TritonAtomicRMWPattern>(typeConverter, context);
-+  patterns
-+      .insert< // TODO: view should have custom pattern that views the layout
-+          TritonGenericPattern<triton::ViewOp>,
-+          TritonGenericPattern<triton::BitcastOp>,
-+          TritonGenericPattern<triton::FpToFpOp>,
-+          TritonGenericPattern<triton::IntToPtrOp>,
-+          TritonGenericPattern<triton::PtrToIntOp>,
-+          TritonGenericPattern<triton::SplatOp>, TritonBroadcastPattern,
-+          TritonGenericPattern<triton::AddPtrOp>, TritonCatPattern,
-+          TritonReducePattern, TritonTransPattern, TritonExpandDimsPattern,
-+          TritonMakeRangePattern, TritonDotPattern, TritonLoadPattern,
-+          TritonStorePattern, TritonExtElemwisePattern, TritonPrintfPattern,
-+          TritonAtomicRMWPattern>(typeConverter, context);
- }
- 
- //
-@@ -623,29 +627,28 @@ void populateSCFPatterns(TritonGPUTypeConverter &typeConverter,
- 
- // CF
- 
--class CFBranchPattern : public OpConversionPattern<BranchOp> {
-+class CFBranchPattern : public OpConversionPattern<cf::BranchOp> {
- public:
--  using OpConversionPattern<BranchOp>::OpConversionPattern;
-+  using OpConversionPattern<cf::BranchOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(BranchOp op, BranchOp::Adaptor adaptor,
-+  matchAndRewrite(cf::BranchOp op, cf::BranchOp::Adaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
--    auto converter = getTypeConverter();
--    auto newOp = rewriter.replaceOpWithNewOp<BranchOp>(op, op.getSuccessor(),
--                                                       adaptor.getOperands());
-+    auto newOp = rewriter.replaceOpWithNewOp<cf::BranchOp>(
-+        op, op.getSuccessor(), adaptor.getOperands());
-     return success();
-   }
- };
- 
--class CFCondBranchPattern : public OpConversionPattern<CondBranchOp> {
-+class CFCondBranchPattern : public OpConversionPattern<cf::CondBranchOp> {
- public:
--  using OpConversionPattern<CondBranchOp>::OpConversionPattern;
-+  using OpConversionPattern<cf::CondBranchOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(CondBranchOp op, CondBranchOp::Adaptor adaptor,
-+  matchAndRewrite(cf::CondBranchOp op, cf::CondBranchOp::Adaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     auto converter = getTypeConverter();
--    auto newOp = rewriter.replaceOpWithNewOp<CondBranchOp>(
-+    auto newOp = rewriter.replaceOpWithNewOp<cf::CondBranchOp>(
-         op, adaptor.getCondition(), op.getTrueDest(),
-         adaptor.getTrueDestOperands(), op.getFalseDest(),
-         adaptor.getFalseDestOperands());
-diff --git a/lib/Dialect/Triton/IR/CMakeLists.txt b/lib/Dialect/Triton/IR/CMakeLists.txt
-index 2d679b21fd..705554ba6b 100644
---- a/lib/Dialect/Triton/IR/CMakeLists.txt
-+++ b/lib/Dialect/Triton/IR/CMakeLists.txt
-@@ -10,11 +10,7 @@ add_mlir_dialect_library(TritonIR
- 
-   LINK_LIBS PUBLIC
-   MLIRIR
--  MLIRArithmetic
--  MLIRSCF
--
--  # Since LLVM 15
--  # MLIRFunc
--  # else
--  MLIRStandard
-+  MLIRArithmeticDialect
-+  MLIRSCFDialect
-+  MLIRFuncDialect
- )
-diff --git a/lib/Dialect/Triton/IR/Ops.cpp b/lib/Dialect/Triton/IR/Ops.cpp
-index 3aadbfa0c0..86570359c5 100644
---- a/lib/Dialect/Triton/IR/Ops.cpp
-+++ b/lib/Dialect/Triton/IR/Ops.cpp
-@@ -1,10 +1,9 @@
--#include "triton/Dialect/Triton/IR/Dialect.h"
--#include "triton/Dialect/Triton/IR/Types.h"
--
- #include "mlir/IR/Builders.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/BuiltinTypes.h"
- #include "mlir/IR/OperationSupport.h"
-+#include "triton/Dialect/Triton/IR/Dialect.h"
-+#include "triton/Dialect/Triton/IR/Types.h"
- 
- namespace mlir {
- namespace triton {
-@@ -38,8 +37,8 @@ static Type getPointerTypeSameShape(Type type) {
- }
- 
- // Parser & printer for assembly forms
--ParseResult parseLoadOp(OpAsmParser &parser, OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 4> allOperands;
-+ParseResult LoadOp::parse(OpAsmParser &parser, OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 4> allOperands;
-   Type resultTypes[1];
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -73,18 +72,18 @@ ParseResult parseLoadOp(OpAsmParser &parser, OperationState &result) {
-   return success();
- }
- 
--void printLoadOp(OpAsmPrinter &printer, LoadOp loadOp) {
-+void LoadOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << loadOp.getOperation()->getOperands();
-+  printer << getOperation()->getOperands();
-   // "operand_segment_sizes" can be deduced, so we don't print it.
--  printer.printOptionalAttrDict(loadOp->getAttrs(),
--                                {loadOp.operand_segment_sizesAttrName()});
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(),
-+                                {operand_segment_sizesAttrName()});
-   printer << " : ";
--  printer.printStrippedAttrOrType(loadOp.result().getType());
-+  printer.printStrippedAttrOrType(getResult().getType());
- }
- 
--ParseResult parseStoreOp(OpAsmParser &parser, OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 4> allOperands;
-+ParseResult StoreOp::parse(OpAsmParser &parser, OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 4> allOperands;
-   Type valueType;
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -104,12 +103,12 @@ ParseResult parseStoreOp(OpAsmParser &parser, OperationState &result) {
-   return success();
- }
- 
--void printStoreOp(OpAsmPrinter &printer, StoreOp storeOp) {
-+void StoreOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << storeOp.getOperation()->getOperands();
--  printer.printOptionalAttrDict(storeOp->getAttrs(), /*elidedAttrs=*/{});
-+  printer << getOperation()->getOperands();
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(), /*elidedAttrs=*/{});
-   printer << " : ";
--  printer.printStrippedAttrOrType(storeOp.value().getType());
-+  printer.printStrippedAttrOrType(value().getType());
- }
- 
- } // namespace triton
-@@ -319,7 +318,8 @@ OpFoldResult SplatOp::fold(ArrayRef<Attribute> operands) {
-   if (!constOperand)
-     return {};
-   auto shapedType = getType().cast<ShapedType>();
--  auto ret = SplatElementsAttr::get(shapedType, {constOperand.getValue()});
-+  auto ret = SplatElementsAttr::get(
-+      shapedType, ArrayRef<Attribute>(constOperand.getValue()));
-   return ret;
- }
- 
-diff --git a/lib/Dialect/Triton/Transforms/Combine.cpp b/lib/Dialect/Triton/Transforms/Combine.cpp
-index 2261472170..11570283d6 100644
---- a/lib/Dialect/Triton/Transforms/Combine.cpp
-+++ b/lib/Dialect/Triton/Transforms/Combine.cpp
-@@ -57,13 +57,13 @@ DenseElementsAttr getConstantValue(Builder &builder, Attribute value,
- class CombineSelectMaskedLoadPattern : public mlir::RewritePattern {
- public:
-   CombineSelectMaskedLoadPattern(mlir::MLIRContext *context)
--      : mlir::RewritePattern(mlir::SelectOp::getOperationName(), 3, context,
--                             {triton::LoadOp::getOperationName()}) {}
-+      : mlir::RewritePattern(mlir::arith::SelectOp::getOperationName(), 3,
-+                             context, {triton::LoadOp::getOperationName()}) {}
- 
-   mlir::LogicalResult
-   matchAndRewrite(mlir::Operation *op,
-                   mlir::PatternRewriter &rewriter) const override {
--    auto selectOp = llvm::dyn_cast<mlir::SelectOp>(op);
-+    auto selectOp = llvm::dyn_cast<mlir::arith::SelectOp>(op);
-     if (!selectOp)
-       return mlir::failure();
- 
-diff --git a/lib/Dialect/Triton/Transforms/Combine.td b/lib/Dialect/Triton/Transforms/Combine.td
-index 14f286b26e..ded0e346e6 100644
---- a/lib/Dialect/Triton/Transforms/Combine.td
-+++ b/lib/Dialect/Triton/Transforms/Combine.td
-@@ -1,9 +1,9 @@
- #ifndef TRITON_PATTERNS
- #define TRITON_PATTERNS
- 
--include "mlir/Dialect/StandardOps/IR/Ops.td"
- include "mlir/Dialect/Arithmetic/IR/ArithmeticOps.td"
- include "triton/Dialect/Triton/IR/TritonOps.td"
-+include "mlir/IR/PatternBase.td"
- 
- 
- // AddIOp(DotOp(a, b, c), d) and c==0 => DotOp(a, b, d)
-diff --git a/lib/Dialect/TritonGPU/IR/Dialect.cpp b/lib/Dialect/TritonGPU/IR/Dialect.cpp
-index 1fbc609e88..bfc3f3d3da 100644
---- a/lib/Dialect/TritonGPU/IR/Dialect.cpp
-+++ b/lib/Dialect/TritonGPU/IR/Dialect.cpp
-@@ -1,14 +1,14 @@
-+#include "triton/Dialect/Triton/IR/Dialect.h"
-+
- #include <numeric>
- 
- #include "mlir/IR/DialectImplementation.h"
- #include "mlir/IR/OpImplementation.h"
- #include "triton/Analysis/Utility.h"
--#include "triton/Dialect/Triton/IR/Dialect.h"
-+#include "triton/Dialect/TritonGPU/IR/Dialect.cpp.inc"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include "llvm/ADT/TypeSwitch.h"
- 
--#include "triton/Dialect/TritonGPU/IR/Dialect.cpp.inc"
--
- using namespace mlir;
- using namespace mlir::triton::gpu;
- 
-@@ -366,7 +366,6 @@ template SmallVector<int64_t>
- SliceEncodingAttr::paddedShape<int64_t>(ArrayRef<int64_t> shape) const;
- 
- unsigned SliceEncodingAttr::getElemsPerThread(ArrayRef<int64_t> shape) const {
--  size_t rank = shape.size();
-   auto parent = getParent();
-   return ::getElemsPerThread(parent, paddedShape(shape));
- }
-@@ -655,9 +654,9 @@ void DotOperandEncodingAttr::print(mlir::AsmPrinter &printer) const {
- // InsertSliceAsyncOp
- //===----------------------------------------------------------------------===//
- 
--ParseResult parseInsertSliceAsyncOp(OpAsmParser &parser,
--                                    OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 8> allOperands;
-+ParseResult InsertSliceAsyncOp::parse(OpAsmParser &parser,
-+                                      OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 8> allOperands;
-   Type srcType, dstType;
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -696,18 +695,16 @@ ParseResult parseInsertSliceAsyncOp(OpAsmParser &parser,
-   return success();
- }
- 
--void printInsertSliceAsyncOp(OpAsmPrinter &printer,
--                             InsertSliceAsyncOp insertSliceAsyncOp) {
-+void InsertSliceAsyncOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << insertSliceAsyncOp.getOperation()->getOperands();
-+  printer << getOperation()->getOperands();
-   // "operand_segment_sizes" can be deduced, so we don't print it.
--  printer.printOptionalAttrDict(
--      insertSliceAsyncOp->getAttrs(),
--      {insertSliceAsyncOp.operand_segment_sizesAttrName()});
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(),
-+                                {operand_segment_sizesAttrName()});
-   printer << " : ";
--  printer.printStrippedAttrOrType(insertSliceAsyncOp.src().getType());
-+  printer.printStrippedAttrOrType(src().getType());
-   printer << " -> ";
--  printer.printStrippedAttrOrType(insertSliceAsyncOp.result().getType());
-+  printer.printStrippedAttrOrType(result().getType());
- }
- 
- //===----------------------------------------------------------------------===//
-diff --git a/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp b/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-index 82407980d3..ee6009f44a 100644
---- a/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-@@ -27,7 +27,11 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-     auto origType = ptr.getType().cast<RankedTensorType>();
-     // Get the shape of the tensor.
-     size_t rank = origType.getRank();
--    AxisInfo info = axisInfo.lookupLatticeElement(ptr)->getValue();
-+    dataflow::Lattice<AxisInfo> *latticeElement =
-+        axisInfo.getLatticeElement(ptr);
-+    AxisInfo info = latticeElement && !latticeElement->isUninitialized()
-+                        ? latticeElement->getValue()
-+                        : AxisInfo();
-     // Get the contiguity order of `ptr`
-     auto order = argSort(info.getContiguity());
-     // The desired divisibility is the maximum divisibility
-@@ -40,7 +44,7 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-         for (Value val : op->getResults()) {
-           if (val.getType() != origType)
-             continue;
--          auto valInfo = axisInfo.lookupLatticeElement(val);
-+          auto valInfo = axisInfo.getLatticeElement(val);
-           auto currOrder = argSort(valInfo->getValue().getContiguity());
-           if (order == currOrder)
-             withSameOrder.insert(val);
-@@ -55,7 +59,7 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-     unsigned elemNumBytes = std::max(elemNumBits / 8, 1u);
-     unsigned perThread = 1;
-     for (Value val : withSameOrder) {
--      AxisInfo info = axisInfo.lookupLatticeElement(val)->getValue();
-+      AxisInfo info = axisInfo.getLatticeElement(val)->getValue();
-       unsigned maxMultipleBytes = info.getDivisibility(order[0]);
-       unsigned maxMultiple = std::max(maxMultipleBytes / elemNumBytes, 1u);
-       unsigned maxContig = info.getContiguity(order[0]);
-@@ -123,8 +127,10 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-   void runOnOperation() override {
-     Operation *op = getOperation();
-     // Run axis info analysis
--    AxisInfoAnalysis axisInfo(&getContext());
--    axisInfo.run(op);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfo = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(op)))
-+      return signalPassFailure();
- 
-     // For each i/o operation, we determine what layout
-     // the pointers should have for best memory coalescing
-@@ -146,10 +152,10 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-       RankedTensorType ty = ptr.getType().template dyn_cast<RankedTensorType>();
-       if (!ty || !ty.getElementType().isa<PointerType>())
-         return;
--      AxisInfo info = axisInfo.lookupLatticeElement(ptr)->getValue();
-+      AxisInfo info = axisInfo->getLatticeElement(ptr)->getValue();
-       auto mod = curr->getParentOfType<ModuleOp>();
-       int numWarps = triton::gpu::TritonGPUDialect::getNumWarps(mod);
--      auto convertType = getTypeConverter(axisInfo, ptr, numWarps);
-+      auto convertType = getTypeConverter(*axisInfo, ptr, numWarps);
-       layoutMap[ptr] = convertType;
-     });
- 
-diff --git a/lib/Dialect/TritonGPU/Transforms/Combine.cpp b/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-index efa37ff2dc..089ce3996c 100644
---- a/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-@@ -1,6 +1,6 @@
- #include "Utility.h"
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/Combine.td b/lib/Dialect/TritonGPU/Transforms/Combine.td
-index 6bf1b14866..6a7b10dbcb 100644
---- a/lib/Dialect/TritonGPU/Transforms/Combine.td
-+++ b/lib/Dialect/TritonGPU/Transforms/Combine.td
-@@ -3,5 +3,6 @@
- 
- include "triton/Dialect/TritonGPU/IR/TritonGPUOps.td"
- include "triton/Dialect/Triton/IR/TritonOps.td"
-+include "mlir/IR/PatternBase.td"
- 
- #endif
-diff --git a/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp b/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-index 4bd3bc76bf..b2f8defd81 100644
---- a/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-@@ -1,5 +1,5 @@
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp b/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-index 9b2f42231e..85f746c1dc 100644
---- a/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-@@ -2,6 +2,7 @@
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/TypeUtilities.h"
- #include "triton/Analysis/AxisInfo.h"
-+#include "triton/Analysis/Utility.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/Transforms/Passes.h"
- 
-@@ -160,15 +161,18 @@ ttg::AllocTensorOp LoopPipeliner::allocateEmptyBuffer(Operation *op,
- LogicalResult LoopPipeliner::initialize() {
-   Block *loop = forOp.getBody();
- 
--  AxisInfoAnalysis axisInfoAnalysis(forOp.getContext());
--  axisInfoAnalysis.run(forOp->getParentOfType<ModuleOp>());
-+  std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+  AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+  if (failed(solver->initializeAndRun(forOp->getParentOfType<ModuleOp>()))) {
-+    return failure();
-+  }
- 
-   // can we use forOp.walk(...) here?
-   SmallVector<triton::LoadOp, 2> allLoads;
-   for (Operation &op : *loop)
-     if (auto loadOp = dyn_cast<triton::LoadOp>(&op)) {
-       auto ptr = loadOp.ptr();
--      unsigned vec = axisInfoAnalysis.getPtrContiguity(ptr);
-+      unsigned vec = axisInfoAnalysis->getPtrContiguity(ptr);
-       auto tensorTy = ptr.getType().dyn_cast<RankedTensorType>();
-       if (!tensorTy)
-         continue;
-diff --git a/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp b/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-index 0e7dbe5264..b95a4f50a6 100644
---- a/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-@@ -1,5 +1,5 @@
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp b/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-index 37ac710995..762e887f36 100644
---- a/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-@@ -82,12 +82,12 @@ TritonGPUConversionTarget::TritonGPUConversionTarget(
-                scf::ReduceReturnOp>();
- 
-   addDynamicallyLegalDialect<arith::ArithmeticDialect, math::MathDialect,
--                             triton::TritonDialect, StandardOpsDialect,
--                             scf::SCFDialect>([&](Operation *op) {
--    if (typeConverter.isLegal(op))
--      return true;
--    return false;
--  });
-+                             triton::TritonDialect, scf::SCFDialect>(
-+      [&](Operation *op) {
-+        if (typeConverter.isLegal(op))
-+          return true;
-+        return false;
-+      });
- 
-   // We have requirements for the data layouts
-   addDynamicallyLegalOp<triton::DotOp>([](triton::DotOp dotOp) -> bool {
-diff --git a/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp b/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-index c229104286..c911fd4a5c 100644
---- a/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-@@ -1,5 +1,5 @@
- #include "Utility.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/Matchers.h"
- #include "mlir/IR/PatternMatch.h"
- #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
-@@ -118,8 +118,8 @@ void setOpResultType(Operation *op, ArrayRef<Type> newTypes) {
-                     .get("value")
-                     .dyn_cast<mlir::DenseElementsAttr>();
-     if (attr) {
--      auto newAttr = mlir::DenseElementsAttr::getFromRawBuffer(
--          newType, attr.getRawData(), true);
-+      auto newAttr =
-+          mlir::DenseElementsAttr::getFromRawBuffer(newType, attr.getRawData());
-       op->setAttr("value", newAttr);
-     }
-   }
-diff --git a/lib/Dialect/TritonGPU/Transforms/Utility.cpp b/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-index ed15f02f67..6400f1633a 100644
---- a/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-@@ -1,5 +1,5 @@
- #include "Utility.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
- 
-diff --git a/lib/Target/LLVMIR/CMakeLists.txt b/lib/Target/LLVMIR/CMakeLists.txt
-index f1bbd0bf4e..ac8973ad19 100644
---- a/lib/Target/LLVMIR/CMakeLists.txt
-+++ b/lib/Target/LLVMIR/CMakeLists.txt
-@@ -6,8 +6,7 @@ add_mlir_translation_library(TritonLLVMIR
- 
-         LINK_LIBS PUBLIC
-         MLIRIR
--        MLIRLLVMIR
--        MLIRSCFToStandard
-+        MLIRLLVMDialect
-         MLIRSupport
-         MLIRTargetLLVMIRExport
-         )
-diff --git a/lib/Target/PTX/PTXTranslation.cpp b/lib/Target/PTX/PTXTranslation.cpp
-index 4cb0d8193c..6a5453a6e7 100644
---- a/lib/Target/PTX/PTXTranslation.cpp
-+++ b/lib/Target/PTX/PTXTranslation.cpp
-@@ -1,11 +1,14 @@
- #include "triton/Target/PTX/PTXTranslation.h"
- #include "triton/Target/LLVMIR/LLVMIRTranslation.h"
-+#include <optional>
- 
- #include "llvm/IR/IRBuilder.h"
- #include "llvm/IR/LegacyPassManager.h"
- #include "llvm/IR/Module.h"
- #include "llvm/IR/Verifier.h"
- #include "llvm/MC/TargetRegistry.h"
-+#include "llvm/Pass.h"
-+#include "llvm/Support/CommandLine.h"
- #include "llvm/Support/TargetSelect.h"
- #include "llvm/Target/TargetMachine.h"
- 
-diff --git a/python/setup.py b/python/setup.py
-index 2ac3accd25..4530b36714 100644
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -57,19 +57,10 @@ def get_pybind11_package_info():
- def get_llvm_package_info():
-     # download if nothing is installed
-     system = platform.system()
--    if system == "Darwin":
--        system_suffix = "apple-darwin"
--    elif system == "Linux":
--        vglibc = tuple(map(int, platform.libc_ver()[1].split('.')))
--        vglibc = vglibc[0] * 100 + vglibc[1]
--        linux_suffix = 'ubuntu-18.04' if vglibc > 217 else 'centos-7'
--        system_suffix = f"linux-gnu-{linux_suffix}"
--    else:
--        raise RuntimeError(f"unsupported system: {system}")
-+    system_suffix = {"Linux": "linux-gnu-ubuntu-18.04", "Darwin": "apple-darwin"}[system]
-     use_assert_enabled_llvm = check_env_flag("TRITON_USE_ASSERT_ENABLED_LLVM", "False")
--    release_suffix = "assert" if use_assert_enabled_llvm else "release"
--    name = f'llvm+mlir-14.0.6-x86_64-{system_suffix}-{release_suffix}'
--    url = f"https://github.com/ptillet/triton-llvm-releases/releases/download/llvm-14.0.6-f28c006a5895/{name}.tar.xz"
-+    name = 'llvm+mlir-15.0.7-x86_64-{}-{}'.format(system_suffix, "assert" if use_assert_enabled_llvm else "release")
-+    url = "https://github.com/ptillet/triton-llvm-releases/releases/download/llvm-15.0.7-8dfdcc7b7bf6/{}.tar.xz".format(name)
-     return Package("llvm", name, url, "lib", "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
- 
- 
-diff --git a/python/src/triton.cc b/python/src/triton.cc
-index c40b117a55..f190eacc34 100644
---- a/python/src/triton.cc
-+++ b/python/src/triton.cc
-@@ -8,9 +8,10 @@
- #include "mlir/Pass/PassManager.h"
- #include "mlir/Transforms/Passes.h"
- 
--#include "mlir/Parser.h"
-+#include "mlir/Parser/Parser.h"
- #include "mlir/Support/FileUtilities.h"
- 
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "triton/Analysis/Allocation.h"
- #include "triton/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.h"
-@@ -195,7 +196,7 @@ void init_triton_ir(py::module &&m) {
-                std::string attrName = name + "_arg" + std::to_string(id);
-                mlir::Block *owner = arg.getOwner();
-                if (owner->isEntryBlock() &&
--                   !mlir::isa<mlir::FuncOp>(owner->getParentOp())) {
-+                   !mlir::isa<mlir::func::FuncOp>(owner->getParentOp())) {
-                  owner->getParentOp()->setAttr(attrName, attr);
-                }
-              }
-@@ -348,7 +349,7 @@ void init_triton_ir(py::module &&m) {
-              return str;
-            })
-       .def("push_back",
--           [](mlir::ModuleOp &self, mlir::FuncOp &funcOp) -> void {
-+           [](mlir::ModuleOp &self, mlir::func::FuncOp &funcOp) -> void {
-              self.push_back(funcOp);
-            })
-       .def("has_function",
-@@ -358,16 +359,18 @@ void init_triton_ir(py::module &&m) {
-              return false;
-            })
-       .def("get_function",
--           [](mlir::ModuleOp &self, std::string &funcName) -> mlir::FuncOp {
--             return self.lookupSymbol<mlir::FuncOp>(funcName);
--           })
--      .def("get_single_function", [](mlir::ModuleOp &self) -> mlir::FuncOp {
--        llvm::SmallVector<mlir::FuncOp> funcs;
--        self.walk([&](mlir::FuncOp func) { funcs.push_back(func); });
--        if (funcs.size() != 1)
--          throw std::runtime_error("Expected a single function");
--        return funcs[0];
--      });
-+           [](mlir::ModuleOp &self,
-+              std::string &funcName) -> mlir::func::FuncOp {
-+             return self.lookupSymbol<mlir::func::FuncOp>(funcName);
-+           })
-+      .def("get_single_function",
-+           [](mlir::ModuleOp &self) -> mlir::func::FuncOp {
-+             llvm::SmallVector<mlir::func::FuncOp> funcs;
-+             self.walk([&](mlir::func::FuncOp func) { funcs.push_back(func); });
-+             if (funcs.size() != 1)
-+               throw std::runtime_error("Expected a single function");
-+             return funcs[0];
-+           });
- 
-   m.def("make_attr",
-         [](const std::vector<int> &values, mlir::MLIRContext &context) {
-@@ -388,47 +391,48 @@ void init_triton_ir(py::module &&m) {
-         registry.insert<mlir::triton::TritonDialect,
-                         mlir::triton::gpu::TritonGPUDialect,
-                         mlir::math::MathDialect, mlir::arith::ArithmeticDialect,
--                        mlir::StandardOpsDialect, mlir::scf::SCFDialect>();
-+                        mlir::func::FuncDialect, mlir::scf::SCFDialect>();
-         context.appendDialectRegistry(registry);
-         context.loadAllAvailableDialects();
- 
-         // parse module
--        mlir::OwningOpRef<mlir::ModuleOp> module(
--            mlir::parseSourceFile(inputFilename, &context));
-+        mlir::OwningOpRef<mlir::ModuleOp> module =
-+            mlir::parseSourceFile<mlir::ModuleOp>(inputFilename, &context);
-+        if (!module)
-+          throw std::runtime_error("Parse MLIR file failed.");
-         // locations are incompatible with ptx < 7.5 !
-         module->walk([](mlir::Operation *op) {
-           op->setLoc(mlir::UnknownLoc::get(op->getContext()));
-         });
--        if (!module)
--          throw std::runtime_error("Parse MLIR file failed.");
- 
-         return module->clone();
-       },
-       ret::take_ownership);
- 
--  py::class_<mlir::FuncOp, mlir::OpState>(m, "function")
-+  py::class_<mlir::func::FuncOp, mlir::OpState>(m, "function")
-       // .def_property_readonly("attrs", &ir::function::attrs)
-       // .def("add_attr", &ir::function::add_attr);
-       .def("args",
--           [](mlir::FuncOp &self, unsigned idx) -> mlir::BlockArgument {
-+           [](mlir::func::FuncOp &self, unsigned idx) -> mlir::BlockArgument {
-              return self.getArgument(idx);
-            })
-       .def(
-           "add_entry_block",
--          [](mlir::FuncOp &self) -> mlir::Block * {
-+          [](mlir::func::FuncOp &self) -> mlir::Block * {
-             return self.addEntryBlock();
-           },
-           ret::reference)
-       .def(
-           "set_arg_attr",
--          [](mlir::FuncOp &self, int arg_no, const std::string &name, int val) {
-+          [](mlir::func::FuncOp &self, int arg_no, const std::string &name,
-+             int val) {
-             // set arg attributes "name" to value "val"
-             auto attrTy = mlir::IntegerType::get(self.getContext(), 32);
-             self.setArgAttr(arg_no, name, mlir::IntegerAttr::get(attrTy, val));
-           },
-           ret::reference)
--      .def_property_readonly("type", &mlir::FuncOp::getType)
--      .def("reset_type", &mlir::FuncOp::setType);
-+      .def_property_readonly("type", &mlir::func::FuncOp::getFunctionType)
-+      .def("reset_type", &mlir::func::FuncOp::setType);
- 
-   py::class_<mlir::OpBuilder::InsertPoint>(m, "InsertPoint");
- 
-@@ -445,13 +449,13 @@ void init_triton_ir(py::module &&m) {
-       .def("ret",
-            [](mlir::OpBuilder &self, std::vector<mlir::Value> &vals) -> void {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::ReturnOp>(loc, vals);
-+             self.create<mlir::func::ReturnOp>(loc, vals);
-            })
-       .def("call",
--           [](mlir::OpBuilder &self, mlir::FuncOp &func,
-+           [](mlir::OpBuilder &self, mlir::func::FuncOp &func,
-               std::vector<mlir::Value> &args) -> mlir::OpState {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::CallOp>(loc, func, args);
-+             return self.create<mlir::func::CallOp>(loc, func, args);
-            })
-       // insertion block/point
-       .def("set_insertion_point_to_start",
-@@ -618,15 +622,16 @@ void init_triton_ir(py::module &&m) {
-       .def("get_or_insert_function",
-            [](mlir::OpBuilder &self, mlir::ModuleOp &module,
-               std::string &funcName, mlir::Type &funcType,
--              std::string &visibility) -> mlir::FuncOp {
-+              std::string &visibility) -> mlir::func::FuncOp {
-              if (mlir::Operation *funcOperation = module.lookupSymbol(funcName))
--               return llvm::dyn_cast<mlir::FuncOp>(funcOperation);
-+               return llvm::dyn_cast<mlir::func::FuncOp>(funcOperation);
-              auto loc = self.getUnknownLoc();
-              if (auto funcTy = funcType.dyn_cast<mlir::FunctionType>()) {
-                llvm::SmallVector<mlir::NamedAttribute> attrs = {
-                    mlir::NamedAttribute(self.getStringAttr("sym_visibility"),
-                                         self.getStringAttr(visibility))};
--               return self.create<mlir::FuncOp>(loc, funcName, funcTy, attrs);
-+               return self.create<mlir::func::FuncOp>(loc, funcName, funcTy,
-+                                                      attrs);
-              }
-              throw std::runtime_error("invalid function type");
-            })
-@@ -658,15 +663,15 @@ void init_triton_ir(py::module &&m) {
-            [](mlir::OpBuilder &self, mlir::Value condition,
-               mlir::Block *trueDest, mlir::Block *falseDest) {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::CondBranchOp>(loc, condition, trueDest,
--                                             falseDest);
-+             self.create<mlir::cf::CondBranchOp>(loc, condition, trueDest,
-+                                                 falseDest);
-              return;
-            })
-       .def("create_branch",
-            [](mlir::OpBuilder &self, mlir::Block *dest,
-               std::vector<mlir::Value> &args) {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::BranchOp>(loc, dest, args);
-+             self.create<mlir::cf::BranchOp>(loc, dest, args);
-              return;
-            })
-       // Structured control flow
-@@ -792,14 +797,14 @@ void init_triton_ir(py::module &&m) {
-       .def("create_to_index",
-            [](mlir::OpBuilder &self, mlir::Value &input) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::arith::IndexCastOp>(loc, input,
--                                                          self.getIndexType());
-+             return self.create<mlir::arith::IndexCastOp>(
-+                 loc, self.getIndexType(), input);
-            })
-       .def("create_index_to_si",
-            [](mlir::OpBuilder &self, mlir::Value &input) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::arith::IndexCastOp>(loc, input,
--                                                          self.getI32Type());
-+             return self.create<mlir::arith::IndexCastOp>(
-+                 loc, self.getI32Type(), input);
-            })
-       .def("create_fmul",
-            [](mlir::OpBuilder &self, mlir::Value &lhs,
-@@ -1316,8 +1321,8 @@ void init_triton_ir(py::module &&m) {
-            [](mlir::OpBuilder &self, mlir::Value &condition,
-               mlir::Value &trueValue, mlir::Value &falseValue) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::SelectOp>(loc, condition, trueValue,
--                                                falseValue);
-+             return self.create<mlir::arith::SelectOp>(loc, condition,
-+                                                       trueValue, falseValue);
-            })
-       .def("create_printf",
-            [](mlir::OpBuilder &self, const std::string &prefix,
-@@ -1429,7 +1434,7 @@ void init_triton_ir(py::module &&m) {
-              self.addPass(mlir::triton::createConvertTritonGPUToLLVMPass());
-            })
-       .def("add_scf_to_cfg", [](mlir::PassManager &self) {
--        self.addPass(mlir::createLowerToCFGPass());
-+        self.addPass(mlir::createConvertSCFToCFPass());
-       });
- }
- 
-diff --git a/python/test/unit/language/test_core.py b/python/test/unit/language/test_core.py
-index 432544a8a4..018f544714 100644
---- a/python/test/unit/language/test_core.py
-+++ b/python/test/unit/language/test_core.py
-@@ -1918,7 +1918,7 @@ def test_convert2d(dtype, shape, src_layout, dst_layout, device='cuda'):
- #dst = {dst_layout}
- """ + """
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func public @kernel_0d1d(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-+  func.func public @kernel_0d1d(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-     %cst = arith.constant dense<128> : tensor<128x1xi32, #src>
-     %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32, #triton_gpu.slice<{dim = 1, parent = #src}>>
-     %1 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32, #triton_gpu.slice<{dim = 0, parent = #src}>>
-diff --git a/python/triton/compiler.py b/python/triton/compiler.py
-index 5d167634df..c36589037c 100644
---- a/python/triton/compiler.py
-+++ b/python/triton/compiler.py
-@@ -1514,14 +1514,14 @@ def make_hash(fn, **kwargs):
-     return hashlib.md5((Path(fn).read_text() + triton.runtime.jit.version_key()).encode("utf-8")).hexdigest()
- 
- 
--# - ^\s*func\s+ : match the start of the string, any leading whitespace, the keyword func,
-+# - ^\s*func\.func\s+ : match the start of the string, any leading whitespace, the keyword func,
- #    and any following whitespace
- # - (public\s+)? : optionally match the keyword public and any following whitespace
- # - (@\w+) : match an @ symbol followed by one or more word characters
- #   (letters, digits, or underscores), and capture it as group 1 (the function name)
- # - (\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\)) : match a pair of parentheses enclosing
- #   zero or more arguments separated by commas, and capture it as group 2 (the argument list)
--mlir_prototype_pattern = r'^\s*func\s+(?:public\s+)?(@\w+)(\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\))\s*\{\s*$'
-+mlir_prototype_pattern = r'^\s*func\.func\s+(?:public\s+)?(@\w+)(\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\))\s*\{\s*$'
- ptx_prototype_pattern = r"\.(?:visible|extern)\s+\.(?:entry|func)\s+(\w+)\s*\(([^)]*)\)"
- prototype_pattern = {
-     "ttir": mlir_prototype_pattern,
-diff --git a/test/Analysis/test-alias.mlir b/test/Analysis/test-alias.mlir
-index b3d5673f85..bb21615e68 100644
---- a/test/Analysis/test-alias.mlir
-+++ b/test/Analysis/test-alias.mlir
-@@ -11,7 +11,7 @@
- 
- // CHECK-LABEL: matmul_loop
- // There shouldn't be any aliasing with the dot op encoding.
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
-   %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-@@ -36,7 +36,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- }
- 
- // CHECK-LABEL: alloc
--func @alloc(%A : !tt.ptr<f16>) {
-+func.func @alloc(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #AL>
-@@ -46,7 +46,7 @@ func @alloc(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: convert
--func @convert(%A : !tt.ptr<f16>) {
-+func.func @convert(%A : !tt.ptr<f16>) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-   // CHECK: %0 -> %0
-   %cst1 = triton_gpu.convert_layout %cst0 : (tensor<16x16xf16, #AL>) -> tensor<16x16xf16, #A_SHARED>
-@@ -54,7 +54,7 @@ func @convert(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: trans
--func @trans(%A : !tt.ptr<f16>) {
-+func.func @trans(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %tensor = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   // CHECK: %0 -> %cst
-@@ -63,7 +63,7 @@ func @trans(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -76,7 +76,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: insert_slice
--func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -90,7 +90,7 @@ func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice(%A : !tt.ptr<f16>) {
-+func.func @extract_slice(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-@@ -100,7 +100,7 @@ func @extract_slice(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: if_cat
--func @if_cat(%i1 : i1) {
-+func.func @if_cat(%i1 : i1) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: %cst_0 -> %cst_0
-@@ -119,7 +119,7 @@ func @if_cat(%i1 : i1) {
- }
- 
- // CHECK-LABEL: if_alias
--func @if_alias(%i1 : i1) {
-+func.func @if_alias(%i1 : i1) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -134,7 +134,7 @@ func @if_alias(%i1 : i1) {
- }
- 
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -154,7 +154,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- }
- 
- // CHECK-LABEL: for_if
--func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -180,7 +180,7 @@ func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !t
- }
- 
- // CHECK-LABEL: for_if_for
--func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-diff --git a/test/Analysis/test-alignment.mlir b/test/Analysis/test-alignment.mlir
-index 0ab34c7a78..af8ea6f856 100644
---- a/test/Analysis/test-alignment.mlir
-+++ b/test/Analysis/test-alignment.mlir
-@@ -1,288 +1,288 @@
--// RUN: triton-opt %s -test-print-alignment -split-input-file 2>&1 | FileCheck %s
-+// RUN: triton-opt %s -test-print-alignment -split-input-file -o %t 2>&1 | FileCheck %s
- 
--// CHECK-LABEL: cast
--func @cast() {
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [1]
-+// CHECK-LABEL: @cast
-+func.func @cast() {
-+  // CHECK: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 1
-   %cst = arith.constant 1 : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 1
-   %0 = arith.extsi %cst : i32 to i64
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %cst_tensor = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = tt.bitcast %cst_tensor : tensor<128xi32> -> tensor<128xi64>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: add
--func @add() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @add
-+func.func @add() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.addi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [127]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 127
-   %3 = arith.constant dense<127> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.addi %1, %3 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: sub
--func @sub() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @sub
-+func.func @sub() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.subi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [129]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 129
-   %3 = arith.constant dense<129> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.subi %3, %1 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: mul
--func @mul() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @mul
-+func.func @mul() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = arith.muli %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %3 = arith.constant dense<128> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.muli %3, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [2]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 2
-   %5 = arith.constant dense<2> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [256] ; Constancy: [128] ; ConstantValue: [256]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [256], constancy = [128], constant_value = 256
-   %6 = arith.muli %4, %5 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: div
--func @div() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @div
-+func.func @div() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = arith.divsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.divui %1, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %4 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16777216] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16777216], constancy = [64], constant_value = <none>
-   %5 = arith.divsi %0, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %6 = arith.divsi %4, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %7 = arith.divsi %4, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [66]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 66
-   %8 = arith.constant dense<66> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [2] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [2], constant_value = <none>
-   %9 = arith.divui %0, %8 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [8192] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [8192], constancy = [1], constant_value = <none>
-   %10 = tt.make_range {end = 8320 : i32, start = 8192 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [64], constant_value = <none>
-   %11 = arith.divsi %10, %4 : tensor<128xi32>
--  return 
-+  return
- }
- 
- // -----
- 
--// CHECK-LABEL: rem
--func @rem() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @rem
-+func.func @rem() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %2 = arith.remsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.remui %1, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %4 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [64] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [64], divisibility = [64], constancy = [1], constant_value = <none>
-   %5 = arith.remsi %0, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [1], constant_value = <none>
-   %6 = arith.remsi %4, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [66]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 66
-   %7 = arith.constant dense<66> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [2] ; Divisibility: [2] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [2], divisibility = [2], constancy = [1], constant_value = <none>
-   %8 = arith.remui %0, %7 : tensor<128xi32>
--  return 
-+  return
- }
- 
- // -----
- 
--// CHECK-LABEL: broadcast
--func @broadcast() {
--  // CHECK: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+// CHECK-LABEL: @broadcast
-+func.func @broadcast() {
-+  // CHECK: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %0 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [64, 1] ; Constancy: [128, 1] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [64, 1], constancy = [128, 1], constant_value = 64
-   %1 = tt.expand_dims %0 {axis = 1 : i32} : (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [64, 1] ; Constancy: [128, 128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [64, 1], constancy = [128, 128], constant_value = 64
-   %2 = tt.broadcast %1 : (tensor<128x1xi32>) -> tensor<128x128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: splat
--func @splat(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 128] ; ConstantValue: [None]
-+// CHECK-LABEL: @splat
-+func.func @splat(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 128], constant_value = <none>
-   %0 = tt.splat %arg0 : (!tt.ptr<f32>) -> tensor<128x128x!tt.ptr<f32>>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: cmp
--func @cmp() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @cmp
-+func.func @cmp() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %1 = arith.constant dense<0> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %2 = arith.cmpi eq, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %3 = arith.cmpi slt, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %4 = arith.cmpi sle, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %5 = arith.cmpi sge, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %6 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %7 = arith.cmpi sgt, %0, %6 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 0
-   %8 = arith.cmpi sgt, %1, %6 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: logic
--func @logic() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @logic
-+func.func @logic() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %1 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16777216] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16777216], constancy = [64], constant_value = <none>
-   %2 = arith.divsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %3 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [134217728] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [134217728], constancy = [8], constant_value = <none>
-   %4 = arith.divsi %0, %3 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %5 = arith.andi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %6 = arith.ori %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %7 = arith.xori %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %8 = arith.andi %2, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %9 = arith.ori %2, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %10 = arith.xori %2, %4 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: select
--func @select() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @select
-+func.func @select() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %1 = arith.constant dense<0> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %2 = arith.cmpi eq, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %3 = arith.cmpi slt, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [1] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [1], constant_value = 0
-   %4 = arith.constant 0 : i1
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %7 = tt.splat %4 : (i1) -> tensor<128xi1>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
--  %5 = select %4, %3, %7 : tensor<128xi1>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-+  %5 = arith.select %4, %3, %7 : tensor<128xi1>
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %8 = "triton_gpu.select"(%7, %3, %2) : (tensor<128xi1>, tensor<128xi1>, tensor<128xi1>) -> tensor<128xi1>
-   return
- }
- 
- // -----
- 
--func @shift() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+func.func @shift() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %1 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4] ; Constancy: [128] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4], constancy = [128], constant_value = 4
-   %2 = arith.constant dense<4> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [274877906944] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [274877906944], constancy = [1], constant_value = <none>
-   %3 = arith.shli %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [67108864] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [67108864], constancy = [1], constant_value = <none>
-   %4 = arith.shrsi %0, %2 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %5 = arith.shli %1, %2 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--func @max_min() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+func.func @max_min() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [64], constancy = [1], constant_value = <none>
-   %1 = tt.make_range {end = 192 : i32, start = 64 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.maxsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.minsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %4 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4] ; Constancy: [128] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4], constancy = [128], constant_value = 4
-   %5 = arith.constant dense<4> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 8
-   %6 = arith.maxsi %4, %5 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: for
--func @for() {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [4611686018427387904, 4611686018427387904] ; Constancy: [128, 32] ; ConstantValue: [0]
-+// CHECK-LABEL: @for
-+func.func @for() {
-+  // CHECK: contiguity = [1, 1], divisibility = [4611686018427387904, 4611686018427387904], constancy = [128, 32], constant_value = 0
-   %a_init = arith.constant dense<0> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = 1
-   %b_init = arith.constant dense<1> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [4, 4] ; Constancy: [128, 32] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [4, 4], constancy = [128, 32], constant_value = 4
-   %c_init = arith.constant dense<4> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = 128
-   %ub = arith.constant 128 : index
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [1] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [1], constant_value = 0
-   %lb = arith.constant 0 : index
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [16]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [1], constant_value = 16
-   %step = arith.constant 16 : index
-   %a, %b, %c = scf.for %iv = %lb to %ub step %step iter_args(%a = %a_init, %b = %b_init, %c = %c_init) -> (tensor<128x32xi32>, tensor<128x32xi32>, tensor<128x32xi32>) {
--    // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None]
-+    // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [1], constant_value = <none>
-     %t = arith.index_cast %iv : index to i32
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [None]
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [None]
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [4, 4] ; Constancy: [128, 32] ; ConstantValue: [4]
-+    // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = <none>
-+    // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = <none>
-+    // CHECK: contiguity = [1, 1], divisibility = [4, 4], constancy = [128, 32], constant_value = 4
-     scf.yield %b, %a, %c : tensor<128x32xi32>, tensor<128x32xi32>, tensor<128x32xi32>
-   }
-   return
-@@ -290,53 +290,53 @@ func @for() {
- 
- // -----
- 
--// CHECK-LABEL: permute_2d
--func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 128] ; ConstantValue: [1]
-+// CHECK-LABEL: @permute_2d
-+func.func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 128], constant_value = 1
-   %cst = arith.constant dense<true> : tensor<128x128xi1>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [1, 1], constant_value = <none>
-   %cst_0 = arith.constant dense<0.000000e+00> : tensor<128x128xf32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %1 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [1073741824, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [1073741824, 1], constancy = [1, 1], constant_value = <none>
-   %2 = tt.expand_dims %0 {axis = 1 : i32} : (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %3 = tt.splat %arg1 : (i32) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [17179869184, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [17179869184, 16], constancy = [1, 1], constant_value = <none>
-   %4 = arith.muli %2, %3 : tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %5 = tt.splat %arg0 : (!tt.ptr<f32>) -> tensor<128x1x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 1], constant_value = <none>
-   %6 = tt.addptr %5, %4 : tensor<128x1x!tt.ptr<f32>>, tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [1, 1], constant_value = <none>
-   %7 = tt.expand_dims %1 {axis = 0 : i32}: (tensor<128xi32>) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 128], constant_value = <none>
-   %8 = tt.broadcast %6 : (tensor<128x1x!tt.ptr<f32>>) -> tensor<128x128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [128, 1], constant_value = <none>
-   %9 = tt.broadcast %7 : (tensor<1x128xi32>) -> tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 16], constancy = [1, 1], constant_value = <none>
-   %10 = tt.addptr %8, %9 : tensor<128x128x!tt.ptr<f32>>, tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [1073741824, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [1073741824, 1], constancy = [1, 1], constant_value = <none>
-   %11 = tt.expand_dims %0 {axis = 1 : i32}: (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %12 = tt.splat %arg2 : (!tt.ptr<f32>) -> tensor<128x1x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 1], constant_value = <none>
-   %13 = tt.addptr %12, %11 : tensor<128x1x!tt.ptr<f32>>, tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [1, 1], constant_value = <none>
-   %14 = tt.expand_dims %1 {axis = 0 : i32} : (tensor<128xi32>) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 128], constant_value = <none>
-   %15 = tt.splat %arg3 : (i32) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 17179869184] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 17179869184], constancy = [1, 1], constant_value = <none>
-   %16 = arith.muli %14, %15 : tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 128], constant_value = <none>
-   %17 = tt.broadcast %13 : (tensor<128x1x!tt.ptr<f32>>) -> tensor<128x128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 17179869184] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 17179869184], constancy = [128, 1], constant_value = <none>
-   %18 = tt.broadcast %16 : (tensor<1x128xi32>) -> tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 1], constant_value = <none>
-   %19 = tt.addptr %17, %18 : tensor<128x128x!tt.ptr<f32>>, tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [1, 1], constant_value = <none>
-   %20 = tt.load %10, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<128x128xf32>
-   tt.store %19, %20, %cst : tensor<128x128xf32>
-   return
-@@ -347,29 +347,29 @@ func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {t
- module {
- 
- // This is a tiny test for verifying StoreOp-related alignment, It simply store a constant to a buffer.
--// CHECK-LABEL: store_constant_align
--func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n: i32 {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @store_constant_align
-+func.func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n: i32 {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %pid = tt.get_program_id {axis = 0 : i32} : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = 128
-   %c128_i32 = arith.constant 128 : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = <none>
-   %1 = arith.muli %pid, %c128_i32 : i32
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
-- // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [None]
-+ // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = <none>
-   %3 = tt.splat %1 : (i32) -> tensor<128xi32>
-- // CHECK-NEXT: Contiguity: [128] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [None]
-+ // CHECK-NEXT: contiguity = [128], divisibility = [128], constancy = [1], constant_value = <none>
-   %4 = arith.addi %3, %2 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [128], constant_value = <none>
-   %5 = tt.splat %addr : (!tt.ptr<f32>) -> tensor<128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [16], constancy = [1], constant_value = <none>
-   %6 = tt.addptr %5, %4 : tensor<128x!tt.ptr<f32>>, tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [128], constant_value = <none>
-   %9 = tt.splat %n : (i32) -> tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [16] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [16], constant_value = <none>
-   %mask = arith.cmpi slt, %4, %9 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %cst = arith.constant dense<0.0> : tensor<128xf32>
-   tt.store %5, %cst, %mask : tensor<128xf32>
-   return
-@@ -381,8 +381,8 @@ func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n:
- 
- // This IR is dumped from vecadd test.
- // Note, the hint {tt.divisibility = 16 : i32} for %n_elements affects the alignment of mask.
--// CHECK-LABEL: vecadd_mask_align_16
--func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32 {tt.divisibility = 16 : i32}) {
-+// CHECK-LABEL: @vecadd_mask_align_16
-+func.func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32 {tt.divisibility = 16 : i32}) {
-   %c64_i32 = arith.constant 64 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = arith.muli %0, %c64_i32 : i32
-@@ -394,13 +394,13 @@ func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ar
-   %7 = tt.splat %arg1 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
-   %8 = tt.addptr %7, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   %9 = tt.splat %n_elements : (i32) -> tensor<64xi32>
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [16] ; ConstantValue: [None] ( %{{.*}} = arith.cmpi slt, %{{.*}}, %{{.*}} : tensor<64xi32> )
-+  // CHECK: arith.cmpi slt, %{{.*}} => contiguity = [1], divisibility = [1], constancy = [16], constant_value = <none>
-   %mask = arith.cmpi slt, %4, %9 : tensor<64xi32>
-   %11 = tt.load %6, %mask {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %12 = tt.load %8, %mask {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %13 = arith.addf %11, %12 : tensor<64xf32>
-   %14 = tt.splat %arg2 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
--  // CHECK: Contiguity: [64] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None] ( %{{.*}} = tt.addptr %{{.*}}, %{{.*}} : tensor<64x!tt.ptr<f32>>, tensor<64xi32> )
-+  // CHECK: tt.addptr %{{.*}} => contiguity = [64], divisibility = [16], constancy = [1], constant_value = <none>
-   %15 = tt.addptr %14, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   tt.store %15, %13, %mask : tensor<64xf32>
-   return
-@@ -410,8 +410,8 @@ func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ar
- 
- // This IR is dumped from vecadd test.
- // Note, there is no divisibility hint for %n_elements, Triton should assume its divisibility to be 1 by default.
--// CHECK-LABEL: vecadd_mask_align_1
--func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-+// CHECK-LABEL: @vecadd_mask_align_1
-+func.func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-   %c64_i32 = arith.constant 64 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = arith.muli %0, %c64_i32 : i32
-@@ -423,7 +423,7 @@ func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg
-   %7 = tt.splat %arg1 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
-   %8 = tt.addptr %7, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   %9 = tt.splat %n_elements : (i32) -> tensor<64xi32>
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None] ( %{{.*}} = arith.cmpi slt, %{{.*}}, %{{.*}} : tensor<64xi32> )
-+  // CHECK: arith.cmpi slt, %{{.*}} => contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %10 = arith.cmpi slt, %4, %9 : tensor<64xi32>
-   %11 = tt.load %6, %10 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %12 = tt.load %8, %10 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-diff --git a/test/Analysis/test-allocation.mlir b/test/Analysis/test-allocation.mlir
-index efb00c404d..f79222aa7b 100644
---- a/test/Analysis/test-allocation.mlir
-+++ b/test/Analysis/test-allocation.mlir
-@@ -13,7 +13,7 @@
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- // CHECK-LABEL: matmul_loop
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-@@ -46,7 +46,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- 
- // Shared memory is available after a tensor's liveness range ends
- // CHECK-LABEL: reusable
--func @reusable(%A : !tt.ptr<f16>) {
-+func.func @reusable(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %cst3 = arith.constant dense<true> : tensor<32x128xi1, #AL>
-@@ -78,7 +78,7 @@ func @reusable(%A : !tt.ptr<f16>) {
- // %cst1->%cst4
- // %cst3->%g->%h->%i
- // CHECK-LABEL: preallocate
--func @preallocate(%A : !tt.ptr<f16>) {
-+func.func @preallocate(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 1024, size = 512
-@@ -113,7 +113,7 @@ func @preallocate(%A : !tt.ptr<f16>) {
- 
- // Unused tensors are immediately released
- // CHECK-LABEL: unused
--func @unused(%A : !tt.ptr<f16>) {
-+func.func @unused(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 1024
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<32x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 0, size = 512
-@@ -128,7 +128,7 @@ func @unused(%A : !tt.ptr<f16>) {
- 
- // cst0 is alive through the entire function, it cannot be released before the end of the function
- // CHECK-LABEL: longlive
--func @longlive(%A : !tt.ptr<f16>) {
-+func.func @longlive(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -156,7 +156,7 @@ func @longlive(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: alloc
--func @alloc(%A : !tt.ptr<f16>) {
-+func.func @alloc(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #AL>
-@@ -167,7 +167,7 @@ func @alloc(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: scratch
--func @scratch() {
-+func.func @scratch() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-   // CHECK: scratch offset = 0, size = 512
-   %b = tt.reduce %cst0 {redOp = 1 : i32, axis = 0 : i32} : tensor<16x16xf16, #AL> -> tensor<16xf16, #sliceAd0>
-@@ -176,7 +176,7 @@ func @scratch() {
- }
- 
- // CHECK-LABEL: trans
--func @trans(%A : !tt.ptr<f16>) {
-+func.func @trans(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 1024
-   %tensor = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   %b = tt.trans %tensor : (tensor<16x32xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED_T>
-@@ -184,7 +184,7 @@ func @trans(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -197,7 +197,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice(%A : !tt.ptr<f16>) {
-+func.func @extract_slice(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-@@ -209,7 +209,7 @@ func @extract_slice(%A : !tt.ptr<f16>) {
- // B0 -> (B1) -> B0
- // Memory used by B1 can be reused by B0.
- // CHECK-LABEL: if
--func @if(%i1 : i1) {
-+func.func @if(%i1 : i1) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -233,7 +233,7 @@ func @if(%i1 : i1) {
- // B0 -> (B1) -> (B2) -> B0
- // Memory used by B0 cannot be reused by B1 or B2.
- // CHECK-LABEL: if_else
--func @if_else(%i1 : i1) {
-+func.func @if_else(%i1 : i1) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -260,7 +260,7 @@ func @if_else(%i1 : i1) {
- // Block arguments and yields are memory aliases that do not trigger a new
- // allocation.
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -275,7 +275,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- }
- 
- // CHECK-LABEL: for_if_slice
--func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -296,7 +296,7 @@ func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %
- 
- // c0 cannot be released in the loop
- // CHECK-LABEL: for_use_ancestor
--func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -316,7 +316,7 @@ func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16
- // a_shared_init, b_shared_init, and c_shared_init's liveness ranges are span over the entire function before cst2.
- // So they cannot be reused by cst0 and cst1, but can be reused by cst2.
- // CHECK-LABEL: for_if_for
--func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-diff --git a/test/Analysis/test-membar.mlir b/test/Analysis/test-membar.mlir
-index 7199e5f53d..17880b2094 100644
---- a/test/Analysis/test-membar.mlir
-+++ b/test/Analysis/test-membar.mlir
-@@ -14,7 +14,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- // CHECK-LABEL: matmul_loop
- // There shouldn't be any membar with the dot op encoding.
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-@@ -42,7 +42,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- }
- 
- // CHECK-LABEL: raw_single_block
--func @raw_single_block(%A : !tt.ptr<f16>) {
-+func.func @raw_single_block(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -54,7 +54,7 @@ func @raw_single_block(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: war_single_block
--func @war_single_block(%A : !tt.ptr<f16>) {
-+func.func @war_single_block(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -70,7 +70,7 @@ func @war_single_block(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: scratch
--func @scratch() {
-+func.func @scratch() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: Membar 1
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-@@ -81,7 +81,7 @@ func @scratch() {
- }
- 
- // CHECK-LABEL: async_wait
--func @async_wait() {
-+func.func @async_wait() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: Membar 1
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-@@ -92,7 +92,7 @@ func @async_wait() {
- }
- 
- // CHECK-LABEL: alloc
--func @alloc() {
-+func.func @alloc() {
-   %cst0 = triton_gpu.alloc_tensor : tensor<16x16xf16, #A_SHARED>
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-   // CHECK: Membar 2
-@@ -101,7 +101,7 @@ func @alloc() {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice() {
-+func.func @extract_slice() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-   %cst1 = tensor.extract_slice %cst0[%index, 0, 0][1, 16, 16][1, 1, 1] : tensor<1x16x16xf16, #A_SHARED> to tensor<16x16xf16, #A_SHARED>
-@@ -113,14 +113,14 @@ func @extract_slice() {
- }
- 
- // CHECK-LABEL: trans
--func @trans() {
-+func.func @trans() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   %b = tt.trans %cst0 : (tensor<16x32xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED_T>
-   return
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -135,7 +135,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: insert_slice
--func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -153,7 +153,7 @@ func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
- 
- // If branch inserted a barrier for %cst0 and %cst1, but else didn't, then the barrier should be inserted in the parent region
- // CHECK-LABEL: multi_blocks
--func @multi_blocks(%i1 : i1) {
-+func.func @multi_blocks(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -174,7 +174,7 @@ func @multi_blocks(%i1 : i1) {
- 
- // Both branches inserted a barrier for %cst0 and %cst1, then the barrier doesn't need to be inserted in the parent region
- // CHECK-LABEL: multi_blocks_join_barrier
--func @multi_blocks_join_barrier(%i1 : i1) {
-+func.func @multi_blocks_join_barrier(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -192,7 +192,7 @@ func @multi_blocks_join_barrier(%i1 : i1) {
- 
- // Read yielded tensor requires a barrier
- // CHECK-LABEL: multi_blocks_yield
--func @multi_blocks_yield(%i1 : i1) {
-+func.func @multi_blocks_yield(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %a = scf.if %i1 -> (tensor<32x16xf16, #A_SHARED>) {
-@@ -212,7 +212,7 @@ func @multi_blocks_yield(%i1 : i1) {
- 
- // Conservatively add a barrier as if the branch (%i1) is never taken
- // CHECK-LABEL: multi_blocks_noelse
--func @multi_blocks_noelse(%i1 : i1) {
-+func.func @multi_blocks_noelse(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -226,7 +226,7 @@ func @multi_blocks_noelse(%i1 : i1) {
- 
- // Conservatively add a barrier as if the branch (%i2) is never taken
- // CHECK-LABEL: multi_blocks_nested_scf
--func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
-+func.func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -247,7 +247,7 @@ func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
- }
- 
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %c_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-@@ -262,7 +262,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- // Although a_shared and b_shared are synced before entering the loop,
- // they are reassociated with aliases (c_shared) and thus require a barrier.
- // CHECK-LABEL: for_alias
--func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-@@ -282,7 +282,7 @@ func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B :
- // Although cst2 is not an argument of scf.yield, its memory is reused by cst1.
- // So we need a barrier both before and after cst1
- // CHECK-LABEL: for_reuse
--func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-@@ -302,7 +302,7 @@ func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B :
- 
- 
- // CHECK-LABEL: for_reuse_nested
--func @for_reuse_nested(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_reuse_nested(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-diff --git a/test/Conversion/triton_ops.mlir b/test/Conversion/triton_ops.mlir
-index e9ee502435..0e979b148d 100644
---- a/test/Conversion/triton_ops.mlir
-+++ b/test/Conversion/triton_ops.mlir
-@@ -1,6 +1,6 @@
- // RUN: triton-opt %s | FileCheck %s
- 
--func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-+func.func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-   // scalar -> scalar
-   // CHECK:  i64 -> !tt.ptr<f32>
-   %0 = tt.int_to_ptr %scalar_i64 : i64 -> !tt.ptr<f32>
-@@ -35,7 +35,7 @@ func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-   return
- }
- 
--func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-+func.func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-   // scalar -> scalar
-   // CHECK: !tt.ptr<f32>
-   %0 = tt.addptr %scalar_ptr, %scalar_i32 : !tt.ptr<f32>, i32
-@@ -54,7 +54,7 @@ func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-   return
- }
- 
--func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %mask : i1) {
-+func.func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %mask : i1) {
-   // Test if Load/Store ops can handle scalar values
-   %other = arith.constant 0.0e+0 : f32
- 
-@@ -76,7 +76,7 @@ func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ma
-   return
- }
- 
--func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-+func.func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-   // Test if reduce ops infer types correctly
- 
-   // CHECK: %{{.*}} = tt.reduce %{{.*}} -> tensor<2x4xf32>
-@@ -101,7 +101,7 @@ func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-   return
- }
- 
--func @dot_ops_infer(%ptr: !tt.ptr<f32>, %v : f32) {
-+func.func @dot_ops_infer(%ptr: !tt.ptr<f32>, %v : f32) {
-   // Test if reduce ops infer types correctly
-   %v128x32 = tt.splat %v : (f32) -> tensor<128x32xf32>
-   %v32x128 = tt.splat %v : (f32) -> tensor<32x128xf32>
-diff --git a/test/Conversion/triton_to_tritongpu.mlir b/test/Conversion/triton_to_tritongpu.mlir
-index a160bc8815..b461ca542f 100644
---- a/test/Conversion/triton_to_tritongpu.mlir
-+++ b/test/Conversion/triton_to_tritongpu.mlir
-@@ -1,6 +1,6 @@
- // RUN: triton-opt %s -split-input-file -convert-triton-to-tritongpu=num-warps=2 | FileCheck %s
- 
--func @ops() {
-+func.func @ops() {
-   // CHECK: module attributes {"triton_gpu.num-warps" = 2 : i32} {{.*}}
-   %a = arith.constant dense<1.00e+00> : tensor<128x32xf16>
-   %b = arith.constant dense<2.00e+00> : tensor<32x128xf16>
-@@ -11,7 +11,7 @@ func @ops() {
- 
- // -----
- 
--func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+func.func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-   // Test if LoadOp is lowered properly (see #771)
-   %ptrs = tt.splat %ptr : (!tt.ptr<f32>) -> tensor<128x!tt.ptr<f32>>
-   %mask = arith.constant dense<true> : tensor<128xi1>
-@@ -30,7 +30,7 @@ func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
- 
- // -----
- 
--func @reduce_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+func.func @reduce_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-   // Test if the total number of threadsPerWarp is 32
-   // Test if the total number of warps is 2
-   // CHECK: #blocked0 = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [4, 8], warpsPerCTA = [1, 2], order = [0, 1]}>
-diff --git a/test/Conversion/tritongpu_to_llvm.mlir b/test/Conversion/tritongpu_to_llvm.mlir
-index e9e7d5a340..507b362c99 100644
---- a/test/Conversion/tritongpu_to_llvm.mlir
-+++ b/test/Conversion/tritongpu_to_llvm.mlir
-@@ -4,7 +4,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.func @test_empty_kernel(%arg0: i32, %arg1: !llvm.ptr<f16, 1>)
-   // Here the 128 comes from the 4 in module attribute multiples 32
-   // CHECK:  attributes {nvvm.kernel = 1 : ui1, nvvm.maxntid = 128 : i32} {{.*}}
--  func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+  func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-     // CHECK:  llvm.return
-     return
-   }
-@@ -15,7 +15,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_load
--  func @basic_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-+  func.func @basic_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK: llvm.inline_asm
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-@@ -28,7 +28,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: vectorized_load
--  func @vectorized_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-+  func.func @vectorized_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: ld.global.b32
-     // CHECK: llvm.inline_asm
-@@ -43,7 +43,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: vectorized_load_f16
--  func @vectorized_load_f16(%a_ptr_init: tensor<256x!tt.ptr<f16>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf16, #blocked0>) {
-+  func.func @vectorized_load_f16(%a_ptr_init: tensor<256x!tt.ptr<f16>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf16, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: ld.global.b16
-     // CHECK: llvm.inline_asm
-@@ -59,7 +59,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [8], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: masked_load_const_other
--  func @masked_load_const_other(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-+  func.func @masked_load_const_other(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-     %cst_0 = arith.constant dense<0.000000e+00> : tensor<256xf32, #blocked0>
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-     return
-@@ -72,7 +72,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [8], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: masked_load_const_other_vec
--  func @masked_load_const_other_vec(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-+  func.func @masked_load_const_other_vec(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-     %cst_0 = arith.constant dense<0.000000e+00> : tensor<256xf32, #blocked0>
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-     return
-@@ -84,7 +84,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
-   // CHECK-LABEL: global_load_store_no_vec
--  func @global_load_store_no_vec(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg3: i32) {
-+  func.func @global_load_store_no_vec(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -128,7 +128,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
-   // CHECK-LABEL: global_load_store_vec4
--  func @global_load_store_vec4(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+  func.func @global_load_store_vec4(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -165,7 +165,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- // Note, the %n_elements doesn't have a "tt.divisibility" hint, so Triton assumes it's divisibility is 1, this should effect the mask's alignment and further restrict the load/store ops' vector width to be 1.
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
--  func @vecadd_masked_vec1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-+  func.func @vecadd_masked_vec1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-     %c64_i32 = arith.constant 64 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c64_i32 : i32
-@@ -195,7 +195,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: global_load_store_vec2
--    func @global_load_store_vec2(%arg0: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg3: i32) {
-+    func.func @global_load_store_vec2(%arg0: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -240,7 +240,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: global_load_store_vec8
--    func @global_load_store_vec8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+    func.func @global_load_store_vec8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -283,7 +283,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked2 = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [32, 1], warpsPerCTA = [4, 1], order = [0, 1]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_view_broadcast
--  func @basic_view_broadcast(%arg : tensor<256xf32,#blocked0>) {
-+  func.func @basic_view_broadcast(%arg : tensor<256xf32,#blocked0>) {
-     // CHECK: llvm.mlir.undef
-     // CHECK: %[[T0:.*]] = llvm.extractvalue
-     // CHECK: %[[T1:.*]] = llvm.extractvalue
-@@ -307,7 +307,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_make_range
--  func @basic_make_range() {
-+  func.func @basic_make_range() {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     // CHECK: llvm.mlir.undef
-     // CHECK: llvm.insertvalue
-@@ -322,7 +322,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addf
--  func @basic_addf(%arg0 : tensor<256xf32,#blocked0>, %arg1 : tensor<256xf32,#blocked0>) {
-+  func.func @basic_addf(%arg0 : tensor<256xf32,#blocked0>, %arg1 : tensor<256xf32,#blocked0>) {
-     // CHECK: llvm.fadd
-     // CHECK: llvm.fadd
-     %1 = arith.addf %arg0, %arg1 : tensor<256xf32,#blocked0>
-@@ -335,7 +335,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addi
--  func @basic_addi(%arg0 : tensor<256xi32,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-+  func.func @basic_addi(%arg0 : tensor<256xi32,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-     // CHECK: llvm.add
-     // CHECK: llvm.add
-     %1 = arith.addi %arg0, %arg1 : tensor<256xi32,#blocked0>
-@@ -347,7 +347,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_program_id
--  func @basic_program_id() {
-+  func.func @basic_program_id() {
-     // CHECK: nvvm.read.ptx.sreg.ctaid.x : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     return
-@@ -359,7 +359,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addptr
--  func @basic_addptr(%arg0 : tensor<256x!tt.ptr<f32>,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-+  func.func @basic_addptr(%arg0 : tensor<256x!tt.ptr<f32>,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-     // CHECK: llvm.getelementptr
-     // CHECK: llvm.getelementptr
-     %0 = tt.addptr %arg0, %arg1 : tensor<256x!tt.ptr<f32>, #blocked0>, tensor<256xi32, #blocked0>
-@@ -373,7 +373,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem
-   // CHECK-LABEL: basic_alloc_tensor
--  func @basic_alloc_tensor() {
-+  func.func @basic_alloc_tensor() {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK-NEXT: llvm.bitcast
-     // CHECK-NEXT: llvm.mlir.constant
-@@ -390,7 +390,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem
-   // CHECK-LABEL: basic_extract_slice
--  func @basic_extract_slice() {
-+  func.func @basic_extract_slice() {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.extractvalue
-     // CHECK-NEXT: llvm.extractvalue
-@@ -423,7 +423,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_async_wait
--  func @basic_async_wait() {
-+  func.func @basic_async_wait() {
-     // CHECK: cp.async.wait_group 0x4
-     triton_gpu.async_wait {num = 4: i32}
-     return
-@@ -442,7 +442,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 8, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_fallback
--  func @basic_insert_slice_async_fallback(%arg0: !tt.ptr<f16> {tt.divisibility = 1 : i32}) {
-+  func.func @basic_insert_slice_async_fallback(%arg0: !tt.ptr<f16> {tt.divisibility = 1 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<64xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -481,7 +481,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 8, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v4
--  func @basic_insert_slice_async_v4(%arg0: !tt.ptr<f32> {tt.divisibility = 32 : i32}) {
-+  func.func @basic_insert_slice_async_v4(%arg0: !tt.ptr<f32> {tt.divisibility = 32 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<64xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -523,7 +523,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 1, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v1
--  func @basic_insert_slice_async_v1(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-+  func.func @basic_insert_slice_async_v1(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -568,7 +568,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 1, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v1_multictas
--  func @basic_insert_slice_async_v1_multictas(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-+  func.func @basic_insert_slice_async_v1_multictas(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-     %off0_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<32xi32, #slice2d1>) -> tensor<32x1xi32, #block2>
-@@ -619,7 +619,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: basic_splat
--  func @basic_splat(%ptr: !tt.ptr<f32>) {
-+  func.func @basic_splat(%ptr: !tt.ptr<f32>) {
-     // CHECK: llvm.mlir.undef
-     // CHECK: llvm.insertvalue
-     // CHECK: llvm.insertvalue
-@@ -633,7 +633,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_store
--  func @basic_store(%ptrs: tensor<256x!tt.ptr<f32>, #blocked0>, %vals: tensor<256xf32, #blocked0>, %mask: tensor<256xi1, #blocked0>) {
-+  func.func @basic_store(%ptrs: tensor<256x!tt.ptr<f32>, #blocked0>, %vals: tensor<256xf32, #blocked0>, %mask: tensor<256xi1, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: st.global.b32 [ ${{.*}} + 0 ], { ${{.*}} };
-     // CHECK: llvm.inline_asm
-@@ -650,7 +650,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked
--  func @convert_layout_blocked_blocked(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<1xf32>, 3>
-@@ -697,7 +697,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked_vec
--  func @convert_layout_blocked_blocked_vec(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked_vec(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<4xf32>, 3>
-@@ -720,7 +720,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked_multi_rep
--  func @convert_layout_blocked_blocked_multi_rep(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked_multi_rep(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<4xf32>, 3>
-@@ -751,7 +751,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma0}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_dot
--  func @convert_dot(%A: tensor<16x16xf16, #blocked0>, %B: tensor<16x16xf16, #blocked0>) {
-+  func.func @convert_dot(%A: tensor<16x16xf16, #blocked0>, %B: tensor<16x16xf16, #blocked0>) {
-     %AA = triton_gpu.convert_layout %A : (tensor<16x16xf16, #blocked0>) -> tensor<16x16xf16, #shared0>
-     %BB = triton_gpu.convert_layout %B : (tensor<16x16xf16, #blocked0>) -> tensor<16x16xf16, #shared0>
-     // CHECK: llvm.inline_asm
-@@ -775,7 +775,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- // TODO: problems in MLIR's parser on slice layout
- // #blocked0 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [8, 4], warpsPerCTA = [1, 1], order = [1, 0]}>
- // module attributes {"triton_gpu.num-warps" = 1 : i32} {
--//   func @make_range_sliced_layout() {
-+//   func.func @make_range_sliced_layout() {
- //     %0 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #triton_gpu.slice<{dim = 0, parent = #blocked0}>>
- //     return
- //   }
-@@ -788,7 +788,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_mmav2_block
--  func @convert_layout_mmav2_blocked(%arg0: tensor<32x16xf32, #mma>) {
-+  func.func @convert_layout_mmav2_blocked(%arg0: tensor<32x16xf32, #mma>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<2xf32>, 3>
-     // CHECK: llvm.store
-@@ -808,7 +808,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_mmav1_block
--  func @convert_layout_mmav1_blocked(%arg0: tensor<32x64xf32, #mma>) {
-+  func.func @convert_layout_mmav1_blocked(%arg0: tensor<32x64xf32, #mma>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<2xf32>, 3>
-     // CHECK: llvm.store
-@@ -831,7 +831,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_shared
--  func @convert_layout_blocked_shared(%arg0: tensor<128x32xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_shared(%arg0: tensor<128x32xf32, #blocked0>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<8xf32>, 3>
-     // CHECK: llvm.store
-@@ -847,7 +847,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [4, 8], warpsPerCTA = [1, 1], order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked1d_to_slice0
--  func @convert_blocked1d_to_slice0(%src:tensor<32xi32, #blocked0>) {
-+  func.func @convert_blocked1d_to_slice0(%src:tensor<32xi32, #blocked0>) {
-     // CHECK-COUNT-4: llvm.load {{.*}} : !llvm.ptr<vector<1xi32>, 3>
-     %cvt = triton_gpu.convert_layout %src : (tensor<32xi32, #blocked0>) -> tensor<32xi32, #triton_gpu.slice<{dim = 0, parent = #blocked1}>>
-     return
-@@ -860,7 +860,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [4, 8], warpsPerCTA = [1, 1], order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked1d_to_slice1
--  func @convert_blocked1d_to_slice1(%src:tensor<32xi32, #blocked0>) {
-+  func.func @convert_blocked1d_to_slice1(%src:tensor<32xi32, #blocked0>) {
-     // CHECK-COUNT-32: llvm.load {{.*}} : !llvm.ptr<vector<1xi32>, 3>
-     %cvt = triton_gpu.convert_layout %src : (tensor<32xi32, #blocked0>) -> tensor<32xi32, #triton_gpu.slice<{dim = 1, parent = #blocked1}>>
-     return
-@@ -873,7 +873,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked_to_blocked_ptr
--  func @convert_blocked_to_blocked_ptr(%src:tensor<32x!tt.ptr<f32>, #blocked0>) {
-+  func.func @convert_blocked_to_blocked_ptr(%src:tensor<32x!tt.ptr<f32>, #blocked0>) {
-     // CHECK: llvm.ptrtoint
-     // CHECK: llvm.store
-     // CHECK: nvvm.barrier0
-@@ -892,7 +892,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#mma}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<128x32xf16, #shared>, %b:tensor<32x256xf16, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<128x256xf32, #mma>
-     // CHECK: ldmatrix.sync.aligned.m8n8.x4.shared.b16
-@@ -918,7 +918,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#mma, isMMAv1Row=true}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma, isMMAv1Row=true}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul884_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul884_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x64xf16, #shared0>, %b:tensor<64x64xf16, #shared1>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x64xf32, #mma>
-     // CHECK: ldmatrix.sync.aligned.m8n8.x4.shared.b16
-@@ -941,7 +941,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#blocked}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#blocked}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul_fmadot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_fmadot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x16xf32, #shared>, %b:tensor<16x32xf32, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x32xf32, #blocked>
-     // CHECK: llvm.intr.fmuladd
-@@ -965,7 +965,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: matmul_tf32dot
--  func @matmul_tf32dot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_tf32dot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x16xf32, #shared>, %b:tensor<16x32xf32, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x32xf32, #mma>
-     // CHECK: llvm.inline_asm
-@@ -1000,7 +1000,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: atomic_add_f32
--  func @atomic_add_f32(%arg0 : tensor<256x!tt.ptr<f32>, #blocked0>, %arg1 : tensor<256xi1, #blocked0>, %arg2 : tensor<256xf32, #blocked0>) {
-+  func.func @atomic_add_f32(%arg0 : tensor<256x!tt.ptr<f32>, #blocked0>, %arg1 : tensor<256xi1, #blocked0>, %arg2 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: atom.global.gpu.add.f32
-     %0 = "tt.atomic_rmw" (%arg0, %arg2, %arg1) {atomic_rmw_op = 5 : i32} : (tensor<256x!tt.ptr<f32>, #blocked0>, tensor<256xf32, #blocked0>, tensor<256xi1, #blocked0>) -> tensor<256xf32, #blocked0>
-@@ -1012,7 +1012,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-+func.func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-   %blockidx = tt.get_program_id {axis=0:i32} : i32
-   %blockidy = tt.get_program_id {axis=1:i32} : i32
-   %blockidz = tt.get_program_id {axis=2:i32} : i32
-@@ -1032,7 +1032,7 @@ func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
- // -----
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @test_get_num_program(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-+  func.func @test_get_num_program(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-     // CHECK: nvvm.read.ptx.sreg.nctaid.x
-     // CHECK: nvvm.read.ptx.sreg.nctaid.y
-     // CHECK: nvvm.read.ptx.sreg.nctaid.z
-@@ -1052,7 +1052,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: test_index_cache
--  func @test_index_cache() {
-+  func.func @test_index_cache() {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = tt.make_range {end = 256 : i32, start = 0 : i32} : tensor<256xi32, #blocked0>
-     // CHECK-NOT: nvvm.read.ptx.sreg.tid.x
-@@ -1066,7 +1066,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #shared0 = #triton_gpu.shared<{vec = 8, perPhase = 2, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: test_base_index_cache
--  func @test_base_index_cache(%arg0: tensor<128x32xf32, #blocked0>) {
-+  func.func @test_base_index_cache(%arg0: tensor<128x32xf32, #blocked0>) {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = triton_gpu.convert_layout %arg0 : (tensor<128x32xf32, #blocked0>) -> tensor<128x32xf32, #shared0>
-     // CHECK-NOT: nvvm.read.ptx.sreg.tid.x
-@@ -1080,7 +1080,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #shared0 = #triton_gpu.shared<{vec = 8, perPhase = 2, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: test_index_cache_different_block
--  func @test_index_cache_different_block(%arg0: tensor<128x32xf32, #blocked0>, %arg1: i1) {
-+  func.func @test_index_cache_different_block(%arg0: tensor<128x32xf32, #blocked0>, %arg1: i1) {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = triton_gpu.convert_layout %arg0 : (tensor<128x32xf32, #blocked0>) -> tensor<128x32xf32, #shared0>
-     scf.if %arg1 {
-diff --git a/test/Target/tritongpu_to_llvmir.mlir b/test/Target/tritongpu_to_llvmir.mlir
-index cafff3ca60..114d3a9eb2 100644
---- a/test/Target/tritongpu_to_llvmir.mlir
-+++ b/test/Target/tritongpu_to_llvmir.mlir
-@@ -4,11 +4,11 @@
- // CHECK-LABEL: ; ModuleID = 'LLVMDialectModule'
- // CHECK: define void @test_empty_kernel
- // CHECK: !nvvm.annotations
--// CHECK: !{void (i32, half addrspace(1)*)* @test_empty_kernel, !"maxntidx", i32 128}
-+// CHECK: !{ptr @test_empty_kernel, !"maxntidx", i32 128}
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
- 
-   return
- }
-diff --git a/test/Target/tritongpu_to_ptx.mlir b/test/Target/tritongpu_to_ptx.mlir
-index 404e970a29..12742ad9e2 100644
---- a/test/Target/tritongpu_to_ptx.mlir
-+++ b/test/Target/tritongpu_to_ptx.mlir
-@@ -6,7 +6,7 @@
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
- 
-   return
- }
-diff --git a/test/Triton/combine.mlir b/test/Triton/combine.mlir
-index 050a3f7565..5ef6790e69 100644
---- a/test/Triton/combine.mlir
-+++ b/test/Triton/combine.mlir
-@@ -2,10 +2,10 @@
- // RUN: triton-opt %s -split-input-file -canonicalize -triton-combine | FileCheck %s
- 
- // CHECK-LABEL: @test_combine_dot_add_pattern
--func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32>) {
--    // CHECK: %[[d:.*]] = arith.constant dense<3.000000e+00> : tensor<128x128xf32>
--    // CHECK: %[[b:.*]] = arith.constant dense<2.000000e+00> : tensor<128x128xf32>
--    // CHECK: %[[a:.*]] = arith.constant dense<1.000000e+00> : tensor<128x128xf32>
-+func.func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32>) {
-+    // CHECK-DAG: %[[d:.*]] = arith.constant dense<3.000000e+00> : tensor<128x128xf32>
-+    // CHECK-DAG: %[[b:.*]] = arith.constant dense<2.000000e+00> : tensor<128x128xf32>
-+    // CHECK-DAG: %[[a:.*]] = arith.constant dense<1.000000e+00> : tensor<128x128xf32>
-     %a = arith.constant dense<1.0> : tensor<128x128xf32>
-     %b = arith.constant dense<2.0> : tensor<128x128xf32>
-     %zero = arith.constant dense<0.0> : tensor<128x128xf32>
-@@ -24,7 +24,7 @@ func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32
- 
- 
- // COM: CHECK-LABEL: @test_combine_addptr_pattern
--func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>> {
-+func.func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>> {
-     %off0 = arith.constant 10 : i32
-     %off1 = arith.constant 15 : i32
- 
-@@ -47,46 +47,46 @@ func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>>
- 
- 
- // CHECK-LABEL: @test_combine_select_masked_load_pattern
--func @test_combine_select_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %cond: i1) -> (tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_combine_select_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %cond: i1) -> (tensor<8xf32>, tensor<8xf32>) {
-     %mask = tt.broadcast %cond : (i1) -> tensor<8xi1>
-     %false_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // CHECK: %[[res1:.*]] = tt.load %{{.*}}, %{{.*}}, %{{.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
-     %x = tt.load %ptr, %mask, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    %0 = select %cond, %x, %false_val : tensor<8xf32>
-+    %0 = arith.select %cond, %x, %false_val : tensor<8xf32>
- 
-     // CHECK: %[[res2:.*]] = tt.load %{{.*}}, %{{.*}}, %{{.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
-     %y = tt.load %ptr, %mask, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    %1 = select %cond, %y, %false_val : tensor<8xf32>
-+    %1 = arith.select %cond, %y, %false_val : tensor<8xf32>
- 
-     // CHECK: return %[[res1]], %[[res2]] : tensor<8xf32>, tensor<8xf32>
-     return %0, %1 : tensor<8xf32>, tensor<8xf32>
- }
- 
- // CHECK-LABEL: @test_combine_select_masked_load_fail_pattern
--func @test_combine_select_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %dummy_load: tensor<8xf32>, %dummy_broadcast: tensor<8xi1>, %cond0: i1, %cond1: i1) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_combine_select_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %dummy_load: tensor<8xf32>, %dummy_broadcast: tensor<8xi1>, %cond0: i1, %cond1: i1) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-     %false_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // Case 1: value at the "load" position is not an "op".  Select should not be canonicalized.
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %0 = select %cond0, %dummy_load, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %0 = arith.select %cond0, %dummy_load, %false_val : tensor<8xf32>
- 
-     // Case 2: value at the "broadcast" position is not an "op".  Select should not be canonicalized.
-     %real_load0 = tt.load %ptr, %dummy_broadcast, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %1 = select %cond0, %real_load0, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %1 = arith.select %cond0, %real_load0, %false_val : tensor<8xf32>
- 
-     // Case 3: condition of "broadcast" is not the same as the condition of "select".  Select should not be canonicalized.
-     %cond0_ = tt.broadcast %cond0 : (i1) -> tensor<8xi1>
-     %real_load1 = tt.load %ptr, %cond0_, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %2 = select %cond1, %real_load1, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %2 = arith.select %cond1, %real_load1, %false_val : tensor<8xf32>
- 
-     return %0, %1, %2 : tensor<8xf32>, tensor<8xf32>, tensor<8xf32>
- }
- 
- // CHECK-LABEL: @test_combine_broadcast_constant_pattern
--func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
-+func.func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
-     // CHECK: %[[cst:.*]] = arith.constant dense<1.000000e+00> : tensor<8x2xf32>
-     %const = arith.constant dense<1.0> : tensor<8xf32>
-     %bst_out = tt.broadcast %const : (tensor<8xf32>) -> tensor<8x2xf32>
-@@ -96,7 +96,7 @@ func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_load_pattern
--func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-     %true_mask = arith.constant dense<true> : tensor<8xi1>
-     %false_mask = arith.constant dense<false> : tensor<8xi1>
-     %other_val = arith.constant dense<0.0> : tensor<8xf32>
-@@ -117,7 +117,7 @@ func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (te
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_load_fail_pattern
--func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %mask: tensor<8xi1>) -> (tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %mask: tensor<8xi1>) -> (tensor<8xf32>, tensor<8xf32>) {
-     %other_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // Case: value at the "mask" position is not an "op".  Load should not be canonicalized.
-@@ -130,7 +130,7 @@ func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_store_pattern
--func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>) {
-+func.func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>) {
-     %true_mask = arith.constant dense<true> : tensor<8xi1>
-     %false_mask = arith.constant dense<false> : tensor<8xi1>
- 
-@@ -144,7 +144,7 @@ func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val:
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_store_fail_pattern
--func @test_canonicalize_masked_store_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>, %mask: tensor<8xi1>) {
-+func.func @test_canonicalize_masked_store_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>, %mask: tensor<8xi1>) {
-     // Case: value at the "mask" position is not an "op".  Store should not be canonicalized.
-     // CHECK: tt.store %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-     tt.store %ptr, %val, %mask : tensor<8xf32>
-diff --git a/test/Triton/vecadd.mlir b/test/Triton/vecadd.mlir
-index 0b69ef3054..f5019b1cdd 100644
---- a/test/Triton/vecadd.mlir
-+++ b/test/Triton/vecadd.mlir
-@@ -1,7 +1,7 @@
- // RUN: triton-opt %s -verify-diagnostics
- 
- module {
--  func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-+  func.func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %c256_i32 = arith.constant 256 : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -43,7 +43,7 @@ module {
-   }
- }
- // module {
--//   func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-+//   func.func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
- //     %c64 = arith.constant 64 : index
- //     %c32 = arith.constant 32 : index
- //     %c0 = arith.constant 0 : index
-diff --git a/test/TritonGPU/coalesce.mlir b/test/TritonGPU/coalesce.mlir
-index 60e359f527..51cccccfbd 100644
---- a/test/TritonGPU/coalesce.mlir
-+++ b/test/TritonGPU/coalesce.mlir
-@@ -19,7 +19,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- // CHECK: [[store_val:%.*]] = triton_gpu.convert_layout {{.*}} -> tensor<64x64xf32, [[col_layout]]>
- // CHECK: [[store_mask:%.*]] = triton_gpu.convert_layout {{.*}} -> tensor<64x64xi1, [[col_layout]]>
- // CHECK: tt.store [[store_ptr]], [[store_val]], [[store_mask]]
--func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-+func.func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-                 %arg1: i32 {tt.divisibility = 16 : i32},
-                 %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-                 %arg3: i32 {tt.divisibility = 16 : i32}) {
-diff --git a/test/TritonGPU/combine.mlir b/test/TritonGPU/combine.mlir
-index 2c009ffa48..7e9cb9d504 100644
---- a/test/TritonGPU/combine.mlir
-+++ b/test/TritonGPU/combine.mlir
-@@ -9,7 +9,7 @@
- // CHECK: [[col_layout:#.*]] = #triton_gpu.blocked<{sizePerThread = [4, 1], threadsPerWarp = [16, 2], warpsPerCTA = [4, 1], order = [0, 1]}>
- // CHECK: [[col_layout_novec:#.*]] = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [32, 1], warpsPerCTA = [4, 1], order = [0, 1]}>
- // CHECK-LABEL: cst
--func @cst() -> tensor<1024xi32, #layout1> {
-+func.func @cst() -> tensor<1024xi32, #layout1> {
-   %cst = arith.constant dense<0> : tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %cst : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -18,7 +18,7 @@ func @cst() -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: range
--func @range() -> tensor<1024xi32, #layout1> {
-+func.func @range() -> tensor<1024xi32, #layout1> {
-   %0 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %0 : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -27,7 +27,7 @@ func @range() -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: splat
--func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-+func.func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-   %0 = tt.splat %arg0 : (i32) -> tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %0 : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -36,7 +36,7 @@ func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: remat
--func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-+func.func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-   %0 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %1 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %2 = arith.muli %0, %1 : tensor<1024xi32, #layout0>
-@@ -56,7 +56,7 @@ func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: remat_load_store
--func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout0>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout0>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout0>, tensor<64xi32, #layout0>
-@@ -70,7 +70,7 @@ func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Don't rematerialize vectorized loads
- // CHECK-LABEL: remat_expensive
--func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout1>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout1>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout1>, tensor<64xi32, #layout1>
-@@ -85,7 +85,7 @@ func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Don't rematerialize loads when original and target layouts are different
- // CHECK-LABEL: remat_multi_layout
--func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout0>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout0>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout0>, tensor<64xi32, #layout0>
-@@ -100,7 +100,7 @@ func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Always rematerialize single value loads
- // CHECK-LABEL: remat_single_value
--func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<1x!tt.ptr<i32>, #layout1>
-   %1 = tt.load %0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<1xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -111,7 +111,7 @@ func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- }
- 
- // CHECK-LABEL: if
--func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout1>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-@@ -128,7 +128,7 @@ func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- }
- 
- // CHECK-LABEL: if_convert_else_not
--func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -149,7 +149,7 @@ func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- }
- 
- // CHECK-LABEL: if_not_else_convert
--func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -170,7 +170,7 @@ func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- }
- 
- // CHECK-LABEL: if_else_both_convert
--func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -200,7 +200,7 @@ func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- #blocked4 = #triton_gpu.blocked<{sizePerThread = [4, 1], threadsPerWarp = [16, 2], warpsPerCTA = [4, 1], order = [0, 1]}>
- 
- // CHECK-LABEL: transpose
--func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-+func.func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   // CHECK: [[loaded_val:%.*]] = tt.load {{.*}}, {{%cst.*}}, {{%cst.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64x64xf32, [[row_layout]]>
-   // CHECK: [[cvt_val:%.*]] = triton_gpu.convert_layout [[loaded_val]] : (tensor<64x64xf32, [[row_layout]]>) -> tensor<64x64xf32, [[col_layout]]>
-@@ -241,7 +241,7 @@ func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt
- }
- 
- // CHECK-LABEL: loop
--func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32) {
-+func.func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32) {
-     // CHECK-NOT: triton_gpu.convert_layout
-     // CHECK: [[loop_ret:%.*]]:2 = scf.for {{.*}} -> (tensor<64x64xf32, [[row_layout]]>, tensor<64x64x!tt.ptr<f32>, [[row_layout]]>)
-     // CHECK-NEXT: {{.*}} = tt.load {{.*}} : tensor<64x64xf32, [[row_layout]]>
-@@ -295,7 +295,7 @@ func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %ar
- }
- 
- // CHECK-LABEL: vecadd
--func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+func.func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %c256_i32 = arith.constant 256 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-@@ -327,7 +327,7 @@ func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f3
- 
- // Select has args with different element types
- // CHECK-LABEL: select
--func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}) {
-+func.func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %cst = arith.constant dense<30000> : tensor<1x1xi32, #blocked2>
-   %cst_0 = arith.constant dense<30000> : tensor<1x512xi32, #blocked2>
-@@ -378,7 +378,7 @@ func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f6
- 
- // Make sure the following IR doesn't hang the compiler.
- // CHECK-LABEL: long_func
--func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg4: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg5: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg6: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg7: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg8: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg9: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg10: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg11: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg12: !tt.ptr<i32> {tt.divisibility = 16 : i32}, %arg13: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg14: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg15: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg16: i32 {tt.divisibility = 16 : i32}) {
-+func.func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg4: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg5: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg6: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg7: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg8: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg9: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg10: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg11: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg12: !tt.ptr<i32> {tt.divisibility = 16 : i32}, %arg13: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg14: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg15: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg16: i32 {tt.divisibility = 16 : i32}) {
-   %cst = arith.constant dense<1.000000e+00> : tensor<1024xf32, #blocked0>
-   %cst_0 = arith.constant dense<5.000000e-04> : tensor<1024xf32, #blocked0>
-   %cst_1 = arith.constant dense<0.999499976> : tensor<1024xf32, #blocked0>
-@@ -775,7 +775,7 @@ func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1:
- // A mnist model from torch inductor.
- // Check if topological sort is working correct and there's no unnecessary convert
- // CHECK-LABEL: mnist
--func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}, %arg3: i32) {
-+func.func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}, %arg3: i32) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %cst = arith.constant dense<10> : tensor<16x1xi32, #blocked2>
-   %cst_0 = arith.constant dense<10> : tensor<1x16xi32, #blocked3>
-@@ -862,7 +862,7 @@ func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.
- #blocked5 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [2, 16], warpsPerCTA = [8, 1], order = [1, 0]}>
- // cmpf and cmpi have different operands and result types
- // CHECK-LABEL: cmp
--func public @cmp(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg4: i32 {tt.divisibility = 16 : i32}, %arg5: i32 {tt.divisibility = 16 : i32}) {
-+func.func public @cmp(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg4: i32 {tt.divisibility = 16 : i32}, %arg5: i32 {tt.divisibility = 16 : i32}) {
-   %c64 = arith.constant 64 : index
-   %c2048 = arith.constant 2048 : index
-   %c0 = arith.constant 0 : index
-diff --git a/test/TritonGPU/loop-pipeline.mlir b/test/TritonGPU/loop-pipeline.mlir
-index 6ee3b15fbc..663f2da7b0 100644
---- a/test/TritonGPU/loop-pipeline.mlir
-+++ b/test/TritonGPU/loop-pipeline.mlir
-@@ -10,7 +10,7 @@
- #A = #triton_gpu.dot_op<{opIdx = 0, parent = #C}>
- #B = #triton_gpu.dot_op<{opIdx = 1, parent = #C}>
- 
--// CHECK: func @matmul_loop
-+// CHECK: func.func @matmul_loop
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -46,8 +46,8 @@
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:   scf.yield {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_BUFFER]], %[[NEXT_B_BUFFER]], %[[NEXT_A]], %[[NEXT_B]], {{.*}}, {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop(%lb : index, %ub : index, %step : index, 
--                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index,
-+                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                   %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   // A ptrs
-   %a_ptr_splat = tt.splat %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -61,7 +61,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
-   %b_tmp1 = tt.expand_dims %b_tmp0 {axis = 0 : i32} : (tensor<128xi32, #BLs0>) -> tensor<1x128xi32, #BL>
-   %b_offs = tt.broadcast %b_tmp1 : (tensor<1x128xi32, #BL>) -> tensor<32x128xi32, #BL>
-   %b_ptr_init = tt.addptr %b_ptr_splat, %b_offs : tensor<32x128x!tt.ptr<f16>, #BL>, tensor<32x128xi32, #BL>
--  
-+
- 
-   %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %a_other = arith.constant dense<0.00e+00> : tensor<128x32xf16, #AL>
-@@ -88,7 +88,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
- }
- 
- 
--// CHECK: func @matmul_loop_nested
-+// CHECK: func.func @matmul_loop_nested
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -118,8 +118,8 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:     scf.yield {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_BUFFER]], %[[NEXT_B_BUFFER]], %[[NEXT_A]], %[[NEXT_B]], {{.*}}, {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop_nested(%lb : index, %ub : index, %step : index, 
--                         %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
-+                         %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                          %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   scf.for %iv0 = %lb to %ub step %step {
-     // A ptrs
-@@ -134,7 +134,7 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
-     %b_tmp1 = tt.expand_dims %b_tmp0 {axis = 0 : i32} : (tensor<128xi32, #BLs0>) -> tensor<1x128xi32, #BL>
-     %b_offs = tt.broadcast %b_tmp1 : (tensor<1x128xi32, #BL>) -> tensor<32x128xi32, #BL>
-     %b_ptr_init = tt.addptr %b_ptr_splat, %b_offs : tensor<32x128x!tt.ptr<f16>, #BL>, tensor<32x128xi32, #BL>
--  
-+
-     %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-     %a_other = arith.constant dense<0.00e+00> : tensor<128x32xf16, #AL>
-     %b_mask = arith.constant dense<true> : tensor<32x128xi1, #BL>
-@@ -161,7 +161,7 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
- }
- 
- 
--// CHECK: func @matmul_loop_single_pipeline
-+// CHECK: func.func @matmul_loop_single_pipeline
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -183,8 +183,8 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:   scf.yield {{.*}}, {{.*}}, %[[NEXT_B_BUFFER]], %[[NEXT_B]], {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop_single_pipeline(%lb : index, %ub : index, %step : index, 
--                                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop_single_pipeline(%lb : index, %ub : index, %step : index,
-+                                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                                   %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   // A ptrs
-   %a_ptr_splat = tt.splat %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-diff --git a/test/TritonGPU/matmul.mlir b/test/TritonGPU/matmul.mlir
-index 9bd5318e1e..01dc3f0ab1 100644
---- a/test/TritonGPU/matmul.mlir
-+++ b/test/TritonGPU/matmul.mlir
-@@ -4,7 +4,7 @@
- // CHECK: offset = 49152, size = 49152
- // CHECK: size = 98304
- module {
--func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c64_13c64_14c64_15c8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32, %arg4: i32, %arg5: i32, %arg6: i32 {tt.divisibility = 16 : i32}, %arg7: i32, %arg8: i32 {tt.divisibility = 16 : i32}, %arg9: i32, %arg10: i32 {tt.divisibility = 16 : i32}, %arg11: i32) {
-+func.func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c64_13c64_14c64_15c8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32, %arg4: i32, %arg5: i32, %arg6: i32 {tt.divisibility = 16 : i32}, %arg7: i32, %arg8: i32 {tt.divisibility = 16 : i32}, %arg9: i32, %arg10: i32 {tt.divisibility = 16 : i32}, %arg11: i32) {
-     %cst = arith.constant dense<true> : tensor<64x64xi1>
-     %c64 = arith.constant 64 : index
-     %c0 = arith.constant 0 : index
-@@ -22,7 +22,7 @@ func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c6
-     %7 = arith.muli %6, %c8_i32 : i32
-     %8 = arith.subi %2, %7 : i32
-     %9 = arith.cmpi slt, %8, %c8_i32 : i32
--    %10 = select %9, %8, %c8_i32 : i32
-+    %10 = arith.select %9, %8, %c8_i32 : i32
-     %11 = arith.remsi %0, %10 : i32
-     %12 = arith.addi %7, %11 : i32
-     %13 = arith.remsi %0, %5 : i32
-diff --git a/test/TritonGPU/prefetch.mlir b/test/TritonGPU/prefetch.mlir
-index 52b4dddec1..b427547890 100644
---- a/test/TritonGPU/prefetch.mlir
-+++ b/test/TritonGPU/prefetch.mlir
-@@ -11,7 +11,7 @@
- #B_OP = #triton_gpu.dot_op<{opIdx = 1, parent = #C}>
- 
- 
--// CHECK: func @matmul_loop
-+// CHECK: func.func @matmul_loop
- // CHECK-DAG: %[[A0_PREFETCH_SMEM:.*]] = tensor.extract_slice %[[A0:.*]][0, 0] [128, 16]
- // CHECK-DAG: %[[A0_PREFETCH:.*]] = triton_gpu.convert_layout %[[A0_PREFETCH_SMEM]]
- // CHECK-DAG: %[[B0_PREFETCH_SMEM:.*]] = tensor.extract_slice %[[B0:.*]][0, 0] [16, 128]
-@@ -28,7 +28,7 @@
- // CHECK-DAG:   %[[NEXT_B_PREFETCH_SMEM:.*]] = tensor.extract_slice {{.*}}[0, 0] [16, 128]
- // CHECK-DAG:   %[[NEXT_B_PREFETCH:.*]] = triton_gpu.convert_layout %[[NEXT_B_PREFETCH_SMEM]]
- // CHECK:     scf.yield {{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_PREFETCH]], %[[NEXT_B_PREFETCH]]
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-diff --git a/test/TritonGPU/update-mma-for-volta.mlir b/test/TritonGPU/update-mma-for-volta.mlir
-index d587fffcca..7571ec6185 100644
---- a/test/TritonGPU/update-mma-for-volta.mlir
-+++ b/test/TritonGPU/update-mma-for-volta.mlir
-@@ -15,7 +15,7 @@
- // CHECK: [[new_mma:#mma.*]] = #triton_gpu.mma<{versionMajor = 1, versionMinor = 3, warpsPerCTA = [4, 2]}>
- module attributes {"triton_gpu.num-warps" = 16 : i32} {
-   // CHECK-LABEL: dot_mmav1
--  func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-+  func.func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-     %C = arith.constant dense<0.000000e+00> : tensor<64x64xf32, #blocked0>
-     %AA = triton_gpu.convert_layout %A : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_a>
-     %BB = triton_gpu.convert_layout %B : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_b>
-@@ -50,7 +50,7 @@ module attributes {"triton_gpu.num-warps" = 16 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 16 : i32} {
-   // CHECK-LABEL: dot_mmav1
--  func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-+  func.func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-     %C = arith.constant dense<0.000000e+00> : tensor<64x64xf32, #blocked0>
-     %AA = triton_gpu.convert_layout %A : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_a>
-     %BB = triton_gpu.convert_layout %B : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_b>
-diff --git a/test/lib/Analysis/TestAlias.cpp b/test/lib/Analysis/TestAlias.cpp
-index 88a4118fe9..3fd0cfd0d3 100644
---- a/test/lib/Analysis/TestAlias.cpp
-+++ b/test/lib/Analysis/TestAlias.cpp
-@@ -9,10 +9,10 @@ using namespace mlir;
- namespace {
- 
- struct TestAliasPass
--    : public PassWrapper<TestAliasPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAliasPass, OperationPass<func::FuncOp>> {
-+
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAliasPass);
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAliasPass);
-   static void print(StringRef name, SmallVector<std::string, 4> &vals,
-                     raw_ostream &os) {
-     if (vals.empty())
-@@ -39,23 +39,24 @@ struct TestAliasPass
-     auto opName = SymbolTable::getSymbolName(operation).getValue().str();
-     os << opName << "\n";
- 
--    SharedMemoryAliasAnalysis analysis(&getContext());
--    analysis.run(operation);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    SharedMemoryAliasAnalysis *analysis =
-+        solver->load<SharedMemoryAliasAnalysis>();
-+    if (failed(solver->initializeAndRun(operation)))
-+      return signalPassFailure();
- 
-     AsmState state(operation->getParentOfType<ModuleOp>());
-     // Get operation ids of value's aliases
-     auto getAllocOpNames = [&](Value value) {
--      LatticeElement<AliasInfo> *latticeElement =
--          analysis.lookupLatticeElement(value);
-+      dataflow::Lattice<AliasInfo> *latticeElement =
-+          analysis->getLatticeElement(value);
-       SmallVector<std::string, 4> opNames;
--      if (latticeElement) {
-+      if (latticeElement && !latticeElement->isUninitialized()) {
-         auto &info = latticeElement->getValue();
--        if (!info.getAllocs().empty()) {
--          for (auto &alias : info.getAllocs()) {
--            auto opName =
--                getValueOperandName(alias.getDefiningOp()->getResult(0), state);
--            opNames.push_back(std::move(opName));
--          }
-+        for (auto &alias : info.getAllocs()) {
-+          auto opName =
-+              getValueOperandName(alias.getDefiningOp()->getResult(0), state);
-+          opNames.push_back(std::move(opName));
-         }
-       }
-       // Ensure deterministic output
-diff --git a/test/lib/Analysis/TestAllocation.cpp b/test/lib/Analysis/TestAllocation.cpp
-index 84108c4d36..35e42242bd 100644
---- a/test/lib/Analysis/TestAllocation.cpp
-+++ b/test/lib/Analysis/TestAllocation.cpp
-@@ -6,10 +6,9 @@ using namespace mlir;
- namespace {
- 
- struct TestAllocationPass
--    : public PassWrapper<TestAllocationPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAllocationPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAllocationPass);
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAllocationPass);
- 
-   StringRef getArgument() const final { return "test-print-allocation"; }
-   StringRef getDescription() const final {
-diff --git a/test/lib/Analysis/TestAxisInfo.cpp b/test/lib/Analysis/TestAxisInfo.cpp
-index a5205bb0a0..22347c32f0 100644
---- a/test/lib/Analysis/TestAxisInfo.cpp
-+++ b/test/lib/Analysis/TestAxisInfo.cpp
-@@ -1,25 +1,15 @@
- #include "mlir/Pass/Pass.h"
- #include "triton/Analysis/AxisInfo.h"
-+#include "triton/Analysis/Utility.h"
- 
- using namespace mlir;
- 
- namespace {
- 
- struct TestAxisInfoPass
--    : public PassWrapper<TestAxisInfoPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAxisInfoPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAlignmentPass);
--
--  void print(const std::string &name, raw_ostream &os, ArrayRef<int64_t> vals) {
--    os << name << ": [";
--    for (size_t d = 0; d < vals.size(); d++) {
--      if (d != 0)
--        os << ", ";
--      os << vals[d];
--    }
--    os << "]";
--  }
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAxisInfoPass);
- 
-   StringRef getArgument() const final { return "test-print-alignment"; }
-   StringRef getDescription() const final {
-@@ -30,38 +20,19 @@ struct TestAxisInfoPass
-     Operation *operation = getOperation();
-     auto &os = llvm::errs();
-     auto opName = SymbolTable::getSymbolName(operation).getValue().str();
--    os << opName << "\n";
--    AxisInfoAnalysis analysis(&getContext());
--    analysis.run(operation);
-+    os << "@" << opName << "\n";
-+
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *analysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(operation)))
-+      return signalPassFailure();
-     operation->walk([&](Operation *op) {
-       if (op->getNumResults() < 1)
-         return;
-       for (Value result : op->getResults()) {
--        // std::ostringstream oss;
--        // result.print(oss);
--        // os << " => ";
--        LatticeElement<AxisInfo> *latticeElement =
--            analysis.lookupLatticeElement(result);
--        if (!latticeElement) {
--          os << "None\n";
--          return;
--        }
--        AxisInfo &info = latticeElement->getValue();
--        print("Contiguity", os, info.getContiguity());
--        os << " ; ";
--        print("Divisibility", os, info.getDivisibility());
--        os << " ; ";
--        print("Constancy", os, info.getConstancy());
--        os << " ; ";
--        auto constantValue = info.getConstantValue();
--        os << "ConstantValue: [";
--        if (constantValue.has_value())
--          os << constantValue.value();
--        else
--          os << "None";
--        os << "] ( ";
-         result.print(os);
--        os << " ) ";
-+        os << " => ";
-+        analysis->getLatticeElement(result)->getValue().print(os);
-         os << "\n";
-       }
-     });
-diff --git a/test/lib/Analysis/TestMembar.cpp b/test/lib/Analysis/TestMembar.cpp
-index df4279fe24..ab9b9f3fb7 100644
---- a/test/lib/Analysis/TestMembar.cpp
-+++ b/test/lib/Analysis/TestMembar.cpp
-@@ -1,4 +1,4 @@
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/IR/Dialect.h"
- #include "mlir/Pass/Pass.h"
- #include "triton/Analysis/Allocation.h"
-@@ -9,10 +9,9 @@ using namespace mlir;
- namespace {
- 
- struct TestMembarPass
--    : public PassWrapper<TestMembarPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestMembarPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestMembarPass);
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestMembarPass);
- 
-   StringRef getArgument() const final { return "test-print-membar"; }
-   StringRef getDescription() const final {
diff --git a/pkgs/development/python-modules/parver/default.nix b/pkgs/development/python-modules/parver/default.nix
index d69a9a54e5011..b18d7db34766b 100644
--- a/pkgs/development/python-modules/parver/default.nix
+++ b/pkgs/development/python-modules/parver/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "parver";
-  version = "0.4";
+  version = "0.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1KPbuTxTNz7poLoFXkhYxEFpsgS5EuSdAD6tlduam8o=";
+    hash = "sha256-uf3h5ruc6fB+COnEvqjYglxeeOGKAFLQLgK/lRfrR3c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index 61022edb9f229..4edaa22bb16d9 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "5.4";
+  version = "5.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fyLvgaYHmTh9OaWXkuenKmNTHCVYFln/FbN+5u2a9+8=";
+    hash = "sha256-yz6Q+Vt7ZuT9NaxuQQA+BH7U6Efaim7No6GJmnOQo1o=";
   };
 
   propagatedBuildInputs = [
@@ -37,10 +37,15 @@ buildPythonPackage rec {
     pytest
   '';
 
+  pythonImportsCheck = [
+    "pglast"
+    "pglast.parser"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/lelit/pglast";
     description = "PostgreSQL Languages AST and statements prettifier";
-    changelog = "https://github.com/lelit/pglast/raw/v${version}/CHANGES.rst";
+    changelog = "https://github.com/lelit/pglast/blob/v${version}/CHANGES.rst";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ marsam ];
     mainProgram = "pgpp";
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index d2ecca94cb4d1..57b4cb430b77a 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.15.3";
+  version = "4.15.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-3Rnwo6KpOsfrIWmJjxh1DSDFoVqBckB0uZh5PdsjRO8=";
+    hash = "sha256-NBV4jrLfU5vqQljQh28tJxgaNSo/ilph8xsjdVKCOJg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plexwebsocket/default.nix b/pkgs/development/python-modules/plexwebsocket/default.nix
index 430394c416c52..eaaed97c01b76 100644
--- a/pkgs/development/python-modules/plexwebsocket/default.nix
+++ b/pkgs/development/python-modules/plexwebsocket/default.nix
@@ -1,30 +1,39 @@
-{ lib, buildPythonPackage, fetchFromGitHub, aiohttp, isPy27 }:
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "plexwebsocket";
-  version = "0.0.13";
-  disabled = isPy27;
+  version = "0.0.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jjlawren";
     repo = "python-plexwebsocket";
-    rev = "v${version}";
-    hash = "sha256-u9zO3d0d4Qg+u4ezVRGkNDpJqHkYIMrEMJzBK5WKk8Y=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-gT9RWpaR33ROs6ttjH2joNPi99Ng94Tp/R9eZY1eGZk=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
-  # package does not include tests
+  # Package does not include tests
   doCheck = false;
 
-  # at least guarantee the module can be imported
   pythonImportsCheck = [
     "plexwebsocket"
   ];
 
   meta = with lib; {
+    description = "Library to react to events issued over Plex websockets";
     homepage = "https://github.com/jjlawren/python-plexwebsocket/";
-    description = "Async library to react to events issued over Plex websockets";
+    changelog = "https://github.com/jjlawren/python-plexwebsocket/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ colemickens ];
   };
diff --git a/pkgs/development/python-modules/pony/default.nix b/pkgs/development/python-modules/pony/default.nix
index 46cef25975228..892cb0829baf1 100644
--- a/pkgs/development/python-modules/pony/default.nix
+++ b/pkgs/development/python-modules/pony/default.nix
@@ -8,16 +8,16 @@
 
 buildPythonPackage rec {
   pname = "pony";
-  version = "0.7.16";
+  version = "0.7.17";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.8" || pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "ponyorm";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-yATIsX2nKsW5DBwg9/LznQqf+XPY3q46WZut18Sr0v0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-wBqw+YHKlxYplgsYL1pbkusHyPfCaVPcH/Yku6WDYbE=";
   };
 
   nativeCheckInputs = [
@@ -26,7 +26,6 @@ buildPythonPackage rec {
 
   disabledTests = [
     # Tests are outdated
-    "test_exception_msg"
     "test_method"
   ];
 
diff --git a/pkgs/development/python-modules/prayer-times-calculator/default.nix b/pkgs/development/python-modules/prayer-times-calculator/default.nix
index 7e96bf4196b4e..672c4c393da33 100644
--- a/pkgs/development/python-modules/prayer-times-calculator/default.nix
+++ b/pkgs/development/python-modules/prayer-times-calculator/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "prayer-times-calculator";
-  version = "0.0.8";
+  version = "0.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "uchagani";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Zk7lzZUfojJrsrLRS9cf9AhEfGGsxZJo2MnIIOv6Ezk=";
+    hash = "sha256-QIUMxs6NOqnljTi1UNp7bCQ9TgBy/u+BWEqgr2C854g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycapnp/default.nix b/pkgs/development/python-modules/pycapnp/default.nix
index fc41822cebe3c..b18fa3b3fc7f5 100644
--- a/pkgs/development/python-modules/pycapnp/default.nix
+++ b/pkgs/development/python-modules/pycapnp/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://capnproto.github.io/pycapnp/";
-    maintainers = with maintainers; [ cstrahan lukeadams ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd2;
     # No support for capnproto 1.0 yet
     # https://github.com/capnproto/pycapnp/issues/323
diff --git a/pkgs/development/python-modules/pydiscovergy/default.nix b/pkgs/development/python-modules/pydiscovergy/default.nix
index 31ef680c85c2c..d5cdb74b76714 100644
--- a/pkgs/development/python-modules/pydiscovergy/default.nix
+++ b/pkgs/development/python-modules/pydiscovergy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pydiscovergy";
-  version = "2.0.3";
+  version = "2.0.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jpbede";
     repo = "pydiscovergy";
     rev = "refs/tags/${version}";
-    hash = "sha256-iE80r9xXDI01gG0S9zhWsLSdVLQo2R4A5Ktnccsetzk=";
+    hash = "sha256-yHACEo5481BZVqqEj8WeuIpSWAfBqnmRdOWRPH5RuHQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pydrawise/default.nix b/pkgs/development/python-modules/pydrawise/default.nix
index 24c5d3b21feb7..22c281dce3e6b 100644
--- a/pkgs/development/python-modules/pydrawise/default.nix
+++ b/pkgs/development/python-modules/pydrawise/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pydrawise";
-  version = "2023.9.4";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pydrawise";
     rev = "refs/tags/${version}";
-    hash = "sha256-e6S5osxNh61KSLEq8NWZadXEcZT8DCKBavuIQjyJgAA=";
+    hash = "sha256-CSjYLiOvnm1kFp4DL3w/YmAsDcbaCfLfGT0xUZy+GZ0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pyduotecno/default.nix b/pkgs/development/python-modules/pyduotecno/default.nix
index ad6e0b5f31c41..e61e725a80a1b 100644
--- a/pkgs/development/python-modules/pyduotecno/default.nix
+++ b/pkgs/development/python-modules/pyduotecno/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyduotecno";
-  version = "2023.9.0";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = "pyDuotecno";
     rev = "refs/tags/${version}";
-    hash = "sha256-UPyx/e06N2cAct6/r1y5LXAzKwANQ/ZpADQsjxBv6/Q=";
+    hash = "sha256-GxCqWgw4OdhJUMsGzCZnl6KYH7HQpGyV7zXMxbShHlg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyecoforest/default.nix b/pkgs/development/python-modules/pyecoforest/default.nix
new file mode 100644
index 0000000000000..5d1d716c4025d
--- /dev/null
+++ b/pkgs/development/python-modules/pyecoforest/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, respx
+}:
+
+buildPythonPackage rec {
+  pname = "pyecoforest";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "pjanuario";
+    repo = "pyecoforest";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-GBt7uHppWLq5nIIVwYsOWmLjWjcwdvJwDE/Gu2KnSIA=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov=pyecoforest --cov-report=term-missing:skip-covered" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    respx
+  ];
+
+  pythonImportsCheck = [
+    "pyecoforest"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with Ecoforest devices";
+    homepage = "https://github.com/pjanuario/pyecoforest";
+    changelog = "https://github.com/pjanuario/pyecoforest/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix
index ca106a91fac4b..716846949ade8 100644
--- a/pkgs/development/python-modules/pyenphase/default.nix
+++ b/pkgs/development/python-modules/pyenphase/default.nix
@@ -56,6 +56,11 @@ buildPythonPackage rec {
     syrupy
   ];
 
+  disabledTests = [
+    # https://github.com/pyenphase/pyenphase/issues/97
+    "test_with_7_x_firmware"
+  ];
+
   pythonImportsCheck = [
     "pyenphase"
   ];
diff --git a/pkgs/development/python-modules/pyfaidx/default.nix b/pkgs/development/python-modules/pyfaidx/default.nix
index 3965a31e58c24..c1d081baaadbb 100644
--- a/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/pkgs/development/python-modules/pyfaidx/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.7.2.1";
+  version = "0.7.2.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MPDSCp49UzU/sg62m34i5vAaU+1PIbPhfdQI8L5QUaA=";
+    hash = "sha256-O3aTwFLIJpEAD+SpJHXbgv/DtachoSsQ37yHEZxLTTA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfibaro/default.nix b/pkgs/development/python-modules/pyfibaro/default.nix
index 534181c6e4df8..b1a38f11f6acc 100644
--- a/pkgs/development/python-modules/pyfibaro/default.nix
+++ b/pkgs/development/python-modules/pyfibaro/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyfibaro";
-  version = "0.7.4";
+  version = "0.7.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "rappenze";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Z+JWwu40ober/9RNG9DLqlOlQyPwlAO3LhLnpr+4dL8=";
+    hash = "sha256-hllYxPPbLu3dpjHwXfIvTMW0LWtcglTVfN7youZaXTw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfronius/default.nix b/pkgs/development/python-modules/pyfronius/default.nix
index 0133d409d0c61..74791d25c0cd9 100644
--- a/pkgs/development/python-modules/pyfronius/default.nix
+++ b/pkgs/development/python-modules/pyfronius/default.nix
@@ -2,32 +2,24 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyfronius";
-  version = "0.7.1";
+  version = "0.7.2";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nielstron";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1xwx0c1dp2374bwigzwhvcj4577vrxyhn6i5zv73k9ydc7w1xgyz";
+    hash = "sha256-eWe4nXKW9oP9lqehy6BK7ABaIqP3dgRX6ymW1Okfd9g=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Python3.10 compatibility; https://github.com/nielstron/pyfronius/pull/7
-      url = "https://github.com/nielstron/pyfronius/commit/9deb209d4246ff575cd3c4c5373037bf11df6719.patch";
-      hash = "sha256-srXYCvp86kGYUYZIXMcu68hEbkTspD945J+hc/AhqSw=";
-    })
-  ];
-
   propagatedBuildInputs = [
     aiohttp
   ];
@@ -36,11 +28,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyfronius" ];
+  pythonImportsCheck = [
+    "pyfronius"
+  ];
 
   meta = with lib; {
     description = "Python module to communicate with Fronius Symo";
     homepage = "https://github.com/nielstron/pyfronius";
+    changelog = "https://github.com/nielstron/pyfronius/releases/tag/release-${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pygithub/default.nix b/pkgs/development/python-modules/pygithub/default.nix
index a42c41a392ddf..cbfacc2c4f362 100644
--- a/pkgs/development/python-modules/pygithub/default.nix
+++ b/pkgs/development/python-modules/pygithub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pygithub";
-  version = "1.59.1";
+  version = "2.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tzM2+nLBHTbKlQ7HLmNRq4Kn62vmz1MaGyZsnaJSrgQ=";
+    hash = "sha256-ysa1RAWuFFQCF6bYwAUVFou7nxCKHLZbUtrUtXiSpPk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index dbf6ab12b44eb..8980da8e24bda 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -4,7 +4,6 @@
 , async-generator
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pypubsub
 , pyserial
 , pyserial-asyncio
@@ -17,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.5.0";
+  version = "1.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -26,18 +25,9 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-REm0E7+otqDypVslB5heHEaWA+q3Nh1O96gxFeCC3As=";
+    hash = "sha256-H2rgPA0GW6neFIHZVZxmAP50HJUPCWDZcJ90QxLGXJ8=";
   };
 
-  patches = [
-    # https://github.com/pyinsteon/pyinsteon/pull/361
-    (fetchpatch {
-      name = "relax-setuptools-dependency.patch";
-      url = "https://github.com/pyinsteon/pyinsteon/commit/676bc5fff11b73a4c3fd189a6ac6d3de9ca21ae0.patch";
-      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools
     wheel
diff --git a/pkgs/development/python-modules/pyiqvia/default.nix b/pkgs/development/python-modules/pyiqvia/default.nix
index 392595fbc0821..de604737ace6e 100644
--- a/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/pkgs/development/python-modules/pyiqvia/default.nix
@@ -3,6 +3,7 @@
 , aiohttp
 , aresponses
 , backoff
+, certifi
 , fetchFromGitHub
 , fetchpatch
 , poetry-core
@@ -10,36 +11,23 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "pyiqvia";
-  version = "2023.08.1";
+  version = "2023.10.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pyiqvia";
     rev = "refs/tags/${version}";
-    hash = "sha256-vPcb0mwREQri9FuYhWXihWSYnZ2ywBVujPMaNThTbVI=";
+    hash = "sha256-8eTa2h+1QOL0T13+lg2OzvaQv6CYYKkviQb4J5KPsvM=";
   };
 
-  patches = [
-    # This patch removes references to setuptools and wheel that are no longer
-    # necessary and changes poetry to poetry-core, so that we don't need to add
-    # unnecessary nativeBuildInputs.
-    #
-    #   https://github.com/bachya/pyiqvia/pull/245
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pyiqvia/commit/760d5bd1f4d60f3a97f6ea9a9a57860f4be3abdd.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -47,6 +35,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     backoff
+    certifi
+    yarl
   ];
 
   __darwinAllowLocalNetworking = true;
@@ -75,6 +65,7 @@ buildPythonPackage rec {
       https://flustar.com and more).
     '';
     homepage = "https://github.com/bachya/pyiqvia";
+    changelog = "https://github.com/bachya/pyiqvia/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index dcfc83c029a70..978394e60e27a 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , django
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , pylint-plugin-utils
 , pytestCheckHook
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix
index 14df8ba371477..3120a5a844e96 100644
--- a/pkgs/development/python-modules/pymc/default.nix
+++ b/pkgs/development/python-modules/pymc/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.3.1";
-  format = "setuptools";
+  version = "5.9.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
-    repo = pname;
+    repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TtRIYgsPlire4li4/9Ls7Rh1SIkDGi5uCSN7huSrelA=";
+    hash = "sha256-iaX1+SHGAJ9V2Jv76as5BcL5DcxURwX3aGa+R9YVtXY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynetdicom/default.nix b/pkgs/development/python-modules/pynetdicom/default.nix
index f6cf6e4b999d7..4a78f020f3b7d 100644
--- a/pkgs/development/python-modules/pynetdicom/default.nix
+++ b/pkgs/development/python-modules/pynetdicom/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pydicom
 , pyfakefs
 , pytestCheckHook
@@ -23,6 +24,14 @@ buildPythonPackage rec {
     hash = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-python-3.11-test-attribute-errors";
+      url = "https://github.com/pydicom/pynetdicom/pull/754/commits/2126bd932d6dfb3f07045eb9400acb7eaa1b3069.patch";
+      hash = "sha256-t6Lg0sTZSWIE5q5pkBvEoHDQ+cklDn8SgNBcFk1myp4=";
+     })
+  ];
+
   propagatedBuildInputs = [
     pydicom
   ];
diff --git a/pkgs/development/python-modules/pyopenuv/default.nix b/pkgs/development/python-modules/pyopenuv/default.nix
index 3c70109657852..0b36f9b735447 100644
--- a/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/pkgs/development/python-modules/pyopenuv/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyopenuv";
-  version = "2023.02.0";
+  version = "2023.08.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,16 +23,10 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EiTTck6hmOGSQ7LyZsbhnH1zgkH8GccejLdJaH2m0F8=";
+    hash = "sha256-6JYYkEH873beEQf2agAF85YLSb7+n0UVzIuRz3amXpU=";
   };
 
   patches = [
-    # Remove asynctest, https://github.com/bachya/pyopenuv/pull/108
-    (fetchpatch {
-      name = "remove-asynctest.patch";
-      url = "https://github.com/bachya/pyopenuv/commit/af15736b0d82ef811c3f380f5da32007752644fe.patch";
-      hash = "sha256-5uQS3DoM91mhfyxLTNii3JBxwXIDK4/GwtadkVagjuw=";
-    })
     # This patch removes references to setuptools and wheel that are no longer
     # necessary and changes poetry to poetry-core, so that we don't need to add
     # unnecessary nativeBuildInputs.
diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix
index 99a336f99d8b7..c9d4922501e31 100644
--- a/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.12.0";
+  version = "1.12.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r2d/lc7x45usIhT09JSNnHSErJI4zrr+HuLhznoy1CM=";
+    hash = "sha256-PmdCFeKk2Lz9sKDKcRqNkItpASIaFs9hvGvA1gE1c0E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pypiserver/default.nix b/pkgs/development/python-modules/pypiserver/default.nix
index 6e948d7bb293e..f598eb4df90a9 100644
--- a/pkgs/development/python-modules/pypiserver/default.nix
+++ b/pkgs/development/python-modules/pypiserver/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pypiserver";
-  version = "1.5.2";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jub+iVL/YeGaG9Vzqyyfc4qFi0cR+7xrzuXNHL5W4p4=";
+    hash = "sha256-Eh/3URt7pcJhoDDLRP8iHyjlPsE5E9M/0Hixqi5YNdg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pypoint/default.nix b/pkgs/development/python-modules/pypoint/default.nix
index b19554ea48ff1..20b4ba6d0a7ad 100644
--- a/pkgs/development/python-modules/pypoint/default.nix
+++ b/pkgs/development/python-modules/pypoint/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pypoint";
-  version = "2.3.1";
+  version = "2.3.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fredrike";
     repo = "pypoint";
     rev = "v${version}";
-    hash = "sha256-fO0un6YIK3jutzUxbu9mSqPZHfLa3pMtfxOy1iV3Qio=";
+    hash = "sha256-tQ5rQs6ECn9O9dVXKWhmy9BBpOzgqSmwpmbIRbJn2CQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix
index 9590b7d07b905..cf2a413a04d25 100644
--- a/pkgs/development/python-modules/pypugjs/default.nix
+++ b/pkgs/development/python-modules/pypugjs/default.nix
@@ -7,7 +7,7 @@
 , mako
 , nose
 , pyramid
-, pyramid_mako
+, pyramid-mako
 , pytestCheckHook
 , six
 , tornado
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     nose
     tornado
     pyramid
-    pyramid_mako
+    pyramid-mako
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pypykatz/default.nix b/pkgs/development/python-modules/pypykatz/default.nix
index 429373b47a36d..4a93fb19c1f67 100644
--- a/pkgs/development/python-modules/pypykatz/default.nix
+++ b/pkgs/development/python-modules/pypykatz/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pypykatz";
-  version = "0.6.8";
+  version = "0.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uOOPDVlx8EKgkCJmZOQxIlI0UBMNzuh/ESoIoa2TmNM=";
+    hash = "sha256-Xni2cYI+ByTFSDvuWHDU97KljwMe3aT7P+VIir6ktks=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 6bb268d21995c..12d2ea182af02 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -117,6 +117,10 @@ buildPythonPackage rec {
     multimediaEnabled = withMultimedia;
     webKitEnabled = withWebKit;
     WebSocketsEnabled = withWebSockets;
+    connectivityEnabled = withConnectivity;
+    locationEnabled = withLocation;
+    serialPortEnabled = withSerialPort;
+    toolsEnabled = withTools;
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/pyqt5-stubs/default.nix b/pkgs/development/python-modules/pyqt5-stubs/default.nix
new file mode 100644
index 0000000000000..505c642539712
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt5-stubs/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, pyqt5
+, pyqt3d
+, pyqtchart
+, pyqtdatavisualization
+, pyqtwebengine
+}:
+
+buildPythonPackage rec {
+  pname = "PyQt5-stubs";
+  version = "5.15.6.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "python-qt-tools";
+    repo = "PyQt5-stubs";
+    rev = version;
+    hash = "sha256-qWnvlHnFRy8wbZJ28C0pYqAxod623Epe5z5FZufheDc=";
+  };
+  postPatch = ''
+    # pulls in a dependency to mypy, but we don't want to run linters
+    rm tests/test_stubs.py
+  '' + lib.optionalString (!pyqt5.connectivityEnabled) ''
+    rm tests/qflags/test_QtBluetooth_*
+    rm tests/qflags/test_QtNfc_*
+  '' + lib.optionalString (!pyqt5.locationEnabled) ''
+    rm tests/qflags/test_QtLocation_*
+    rm tests/qflags/test_QtPositioning_*
+  '' + lib.optionalString (!pyqt5.multimediaEnabled) ''
+    rm tests/qflags/test_QtMultimedia_*
+  '' + lib.optionalString (!pyqt5.serialPortEnabled) ''
+    rm tests/qflags/test_QtSerialPort_*
+  '' + lib.optionalString (!pyqt5.toolsEnabled) ''
+    rm tests/qflags/test_QtDesigner_*
+  '';
+
+  pythonImportsCheck = [
+    "PyQt5-stubs"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyqt5
+    pyqt3d
+    pyqtchart
+    pyqtdatavisualization
+    pyqtwebengine
+  ];
+
+  meta = with lib; {
+    description = "Stubs for PyQt5 ";
+    homepage = "https://github.com/python-qt-tools/PyQt5-stubs";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyramid_beaker/default.nix b/pkgs/development/python-modules/pyramid-beaker/default.nix
index 494a8e0c0bfbe..4a9fd61f26163 100644
--- a/pkgs/development/python-modules/pyramid_beaker/default.nix
+++ b/pkgs/development/python-modules/pyramid-beaker/default.nix
@@ -1,11 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, pytest, beaker, pyramid }:
 
 buildPythonPackage rec {
-  pname = "pyramid_beaker";
+  pname = "pyramid-beaker";
   version = "0.8";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "pyramid_beaker";
+    inherit version;
     sha256 = "0hflx3qkcdml1mwpq53sz46s7jickpfn0zy0ns2c7j445j66bp3p";
   };
 
diff --git a/pkgs/development/python-modules/pyramid_chameleon/default.nix b/pkgs/development/python-modules/pyramid-chameleon/default.nix
index 69862bdfe5543..69862bdfe5543 100644
--- a/pkgs/development/python-modules/pyramid_chameleon/default.nix
+++ b/pkgs/development/python-modules/pyramid-chameleon/default.nix
diff --git a/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch b/pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch
index 635ed3510fc79..635ed3510fc79 100644
--- a/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch
+++ b/pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch
diff --git a/pkgs/development/python-modules/pyramid_exclog/default.nix b/pkgs/development/python-modules/pyramid-exclog/default.nix
index 61a95bae84e2f..c54ff94ff1670 100644
--- a/pkgs/development/python-modules/pyramid_exclog/default.nix
+++ b/pkgs/development/python-modules/pyramid-exclog/default.nix
@@ -5,11 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "pyramid_exclog";
+  pname = "pyramid-exclog";
   version = "1.1";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "pyramid_exclog";
+    inherit version;
     hash = "sha256-Tl2rYH/GifNfB9w4nG9UIqAQz0O6kujCED/4iZnPKDw=";
   };
 
diff --git a/pkgs/development/python-modules/pyramid-jinja2/default.nix b/pkgs/development/python-modules/pyramid-jinja2/default.nix
index d83b28e0a4f76..801ad816641b1 100644
--- a/pkgs/development/python-modules/pyramid-jinja2/default.nix
+++ b/pkgs/development/python-modules/pyramid-jinja2/default.nix
@@ -5,7 +5,7 @@
 , markupsafe
 , jinja2
 , pytestCheckHook
-, zope_deprecation
+, zope-deprecation
 , pyramid
 , pythonOlder
 }:
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     markupsafe
     jinja2
     pyramid
-    zope_deprecation
+    zope-deprecation
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/pyramid_mako/default.nix b/pkgs/development/python-modules/pyramid-mako/default.nix
index be9c76eeb8824..d55eee1a37f33 100644
--- a/pkgs/development/python-modules/pyramid_mako/default.nix
+++ b/pkgs/development/python-modules/pyramid-mako/default.nix
@@ -8,7 +8,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "pyramid_mako";
+  pname = "pyramid-mako";
   version = "1.1.0";
 
   src = fetchPypi {
diff --git a/pkgs/development/python-modules/pyramid_multiauth/default.nix b/pkgs/development/python-modules/pyramid-multiauth/default.nix
index 22e32aa4d1eea..f0feafaa59610 100644
--- a/pkgs/development/python-modules/pyramid_multiauth/default.nix
+++ b/pkgs/development/python-modules/pyramid-multiauth/default.nix
@@ -5,11 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "pyramid_multiauth";
+  pname = "pyramid-multiauth";
   version = "1.0.1";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "pyramid-multiauth";
+    inherit version;
     sha256 = "6d8785558e1d0bbe0d0da43e296efc0fbe0de5071d1f9b1091e891f0e4ec9682";
   };
 
diff --git a/pkgs/development/python-modules/pyramid/default.nix b/pkgs/development/python-modules/pyramid/default.nix
index a2b24faf10db9..0589fd0401a37 100644
--- a/pkgs/development/python-modules/pyramid/default.nix
+++ b/pkgs/development/python-modules/pyramid/default.nix
@@ -11,7 +11,7 @@
 , translationstring
 , venusian
 , webob
-, zope_deprecation
+, zope-deprecation
 , zope_interface
 , pythonOlder
 }:
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     translationstring
     venusian
     webob
-    zope_deprecation
+    zope-deprecation
     zope_interface
   ];
 
diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix
index 0d79ed3116255..603800f9a1696 100644
--- a/pkgs/development/python-modules/pysensibo/default.nix
+++ b/pkgs/development/python-modules/pysensibo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pysensibo";
-  version = "1.0.33";
+  version = "1.0.35";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-A7IzAIV8dQVSmYTEp9yeySQ8eXnLFVkiuWFS3pe2YTA=";
+    hash = "sha256-E3XUQ7Ltu9zhjWVvl1LN+UUz8B2dAjLa0CZI9ca35nc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix b/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
new file mode 100644
index 0000000000000..d935b2c171551
--- /dev/null
+++ b/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
+, pyserial
+
+# tests
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "pyserial-asyncio-fast";
+  version = "0.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = "pyserial-asyncio-fast";
+    rev = version;
+    hash = "sha256-B1CLk7ggI7l+DaMDlnMjl2tfh+evvaf1nxzBpmqMBZk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  pythonImportsCheck = [
+    "serial_asyncio_fast"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Fast asyncio extension package for pyserial that implements eager writes";
+    homepage = "https://github.com/bdraco/pyserial-asyncio-fast";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysml/default.nix b/pkgs/development/python-modules/pysml/default.nix
index b3a6f195a008a..c6ff75aa9014e 100644
--- a/pkgs/development/python-modules/pysml/default.nix
+++ b/pkgs/development/python-modules/pysml/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysml";
-  version = "0.0.12";
+  version = "0.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "mtdcr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DgfTSlgDC92l/hOgrMZrkZi1wzRUDY8tNl4xU3OQgJ8=";
+    hash = "sha256-m1dh607hFqcd4CXWiMfGDmI5s8A0UkdyPzq/V+5OUto=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix
index a3257131ac1ac..b3472f306ebb0 100644
--- a/pkgs/development/python-modules/pytensor/default.nix
+++ b/pkgs/development/python-modules/pytensor/default.nix
@@ -1,40 +1,51 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
-, cons
+, fetchFromGitHub
 , cython
+, versioneer
+, cons
 , etuples
-, fetchFromGitHub
 , filelock
-, jax
-, jaxlib
 , logical-unification
 , minikanren
+, numpy
+, scipy
+, typing-extensions
+, jax
+, jaxlib
 , numba
 , numba-scipy
-, numpy
+, pytest-mock
 , pytestCheckHook
 , pythonOlder
-, scipy
-, typing-extensions
+# Tensorflow is currently (2023/10/04) broken.
+# Thus, we don't provide this optional test dependency.
+# , tensorflow-probability
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pytensor";
-  version = "2.11.3";
-  format = "setuptools";
+  version = "2.17.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
-    repo = pname;
+    repo = "pytensor";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-4GDur8S19i8pZkywKHZUelmd2e0jZmC5HzF7o2esDl4=";
+    hash = "sha256-xXS0uNR5rlmUjt9/TW/X/pQc5MS/MwHSQGCp7BkAVYg=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "versioneer[toml]==0.28" "versioneer[toml]"
+  '';
+
   nativeBuildInputs = [
     cython
+    versioneer
   ];
 
   propagatedBuildInputs = [
@@ -48,19 +59,18 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  checkInputs = [
+  nativeCheckInputs = [
     jax
     jaxlib
     numba
     numba-scipy
+    pytest-mock
     pytestCheckHook
+    # Tensorflow is currently (2023/10/04) broken.
+    # Thus, we don't provide this optional test dependency.
+    # tensorflow-probability
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--durations=50" ""
-  '';
-
   preBuild = ''
     export HOME=$(mktemp -d)
   '';
@@ -76,13 +86,14 @@ buildPythonPackage rec {
     "test_logsumexp_benchmark"
     "test_scan_multiple_output"
     "test_vector_taps_benchmark"
+    # Temporarily disabled because of broken tensorflow-probability
+    "test_tfp_ops"
   ];
 
   disabledTestPaths = [
     # Don't run the most compute-intense tests
     "tests/scan/"
     "tests/tensor/"
-    "tests/sandbox/"
     "tests/sparse/sandbox/"
   ];
 
diff --git a/pkgs/development/python-modules/pytest-factoryboy/default.nix b/pkgs/development/python-modules/pytest-factoryboy/default.nix
index efde539cb23f1..349ccf311ddea 100644
--- a/pkgs/development/python-modules/pytest-factoryboy/default.nix
+++ b/pkgs/development/python-modules/pytest-factoryboy/default.nix
@@ -10,7 +10,7 @@
 
 # propagated
 , inflection
-, factory_boy
+, factory-boy
 , typing-extensions
 
 # tests
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    factory_boy
+    factory-boy
     inflection
     typing-extensions
   ];
diff --git a/pkgs/development/python-modules/pytest-randomly/default.nix b/pkgs/development/python-modules/pytest-randomly/default.nix
index 7c723e4cdc252..5549f89334a6c 100644
--- a/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchFromGitHub
 , importlib-metadata
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     faker
     numpy
     pytest-xdist
diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix
index d6f7e29b9dee5..c73160c55e6e5 100644
--- a/pkgs/development/python-modules/python-gvm/default.nix
+++ b/pkgs/development/python-modules/python-gvm/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-gvm";
-  version = "23.5.1";
+  version = "23.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jdfrmFpWOuQgYwV2NrRyRDwAZThWdBFgfLByVIZ5HhQ=";
+    hash = "sha256-me7HO6BiW+0S1GDbKkbJiRrUQotEP1MPo/d0Xc84mIg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-hl7/default.nix b/pkgs/development/python-modules/python-hl7/default.nix
new file mode 100644
index 0000000000000..98a73c8252ba6
--- /dev/null
+++ b/pkgs/development/python-modules/python-hl7/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "python-hl7";
+  version = "0.4.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "johnpaulett";
+    repo = "python-hl7";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9uFdyL4+9KSWXflyOMOeUudZTv4NwYPa0ADNTmuVbqo=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "hl7" ];
+
+  meta = with lib; {
+    description = "A simple library for parsing messages of Health Level 7 (HL7) version 2.x into Python objects";
+    homepage = "https://python-hl7.readthedocs.org";
+    changelog = "https://python-hl7.readthedocs.io/en/latest/changelog.html";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-homewizard-energy/default.nix b/pkgs/development/python-modules/python-homewizard-energy/default.nix
index bffdc7dd27560..e7c0a2a26305a 100644
--- a/pkgs/development/python-modules/python-homewizard-energy/default.nix
+++ b/pkgs/development/python-modules/python-homewizard-energy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-homewizard-energy";
-  version = "2.1.0";
+  version = "2.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "DCSBL";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+RuUNH95Txs6JeObYqg2CQl7qxF4YLVQvBDfzj5L9Bk=";
+    hash = "sha256-iyDRhTV5GSBTVK7ccJhUOrCpE9YuiI1vJM4XroCyIwE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index a74ebb5b5bb98..66293eaa30dbe 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.8.0";
+  version = "1.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hLgMGZumuNY70/qyD9t5pMpYI/g70sqFIt1LEfIEALY=";
+    hash = "sha256-8wFLZuGWt3qIRUkprxzFgxh+rtmIyMBjeCnzCNTbXzA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix
index f5a5eefd5c9f4..7fa3607037571 100644
--- a/pkgs/development/python-modules/python-roborock/default.nix
+++ b/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "0.34.5";
+  version = "0.34.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BJZ24TfdIybSzLLWn7+vRMaxnBKVZSzCNLzKFaFvhok=";
+    hash = "sha256-c55E5J0PKk9FG3KDIO0R3vGQjYjj8u7zXz8o9oA1Grc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python_docs_theme/default.nix b/pkgs/development/python-modules/python_docs_theme/default.nix
index 90cf78e4d69b1..1a1a05733ad38 100644
--- a/pkgs/development/python-modules/python_docs_theme/default.nix
+++ b/pkgs/development/python-modules/python_docs_theme/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "python_docs_theme";
-  version = "2023.7";
+  version = "2023.9";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python";
     repo = "python-docs-theme";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-43/TlgYm7Q4ZtY25MiLU9fd1atDmiDUeUK6AYfDfmag=";
+    sha256 = "sha256-XVwMEfprTNdNnaW38HMCAu4CswdVjBXYtNWBgqXfbno=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/pkgs/development/python-modules/pyvista/default.nix b/pkgs/development/python-modules/pyvista/default.nix
index d6c4ac1751271..eb457166876cf 100644
--- a/pkgs/development/python-modules/pyvista/default.nix
+++ b/pkgs/development/python-modules/pyvista/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyvista";
-  version = "0.42.2";
+  version = "0.42.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-i+09vjp6m9CSEbWcvj2TCnOb408xw5Gli1en6FTYZH4=";
+    hash = "sha256-RIeasdsLCBBs9eXUts53zlCkqkME48GBWVAcBoEHuOM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywayland/default.nix b/pkgs/development/python-modules/pywayland/default.nix
index f35c6a028d132..4015715c4515c 100644
--- a/pkgs/development/python-modules/pywayland/default.nix
+++ b/pkgs/development/python-modules/pywayland/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pywayland";
-  version = "0.4.16";
+  version = "0.4.17";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qqcMhwsKs2UhX45xUF9zaDxO0VsfNjhDOx3HNE/ltd0=";
+    hash = "sha256-9/0ZAmOML3oVrAfzGj72iV08FgyiYBSByoKyxhojxlc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pywaze/default.nix b/pkgs/development/python-modules/pywaze/default.nix
index 5a5ef4abf3c3a..e3b8ab0bded45 100644
--- a/pkgs/development/python-modules/pywaze/default.nix
+++ b/pkgs/development/python-modules/pywaze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pywaze";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "eifinger";
     repo = "pywaze";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iuI/tfU2nEX+Y9pWEsm0Nvu6pModHh/5g2eyud8TnB0=";
+    hash = "sha256-r7ROEdgHdjXkveVUbuALHtwCX4IO0lwx9Zo3u6R9I58=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyweatherflowudp/default.nix b/pkgs/development/python-modules/pyweatherflowudp/default.nix
index 9519831c6d2af..34674635a4185 100644
--- a/pkgs/development/python-modules/pyweatherflowudp/default.nix
+++ b/pkgs/development/python-modules/pyweatherflowudp/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyweatherflowudp";
-  version = "1.4.4";
+  version = "1.4.5";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "briis";
     repo = "pyweatherflowudp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5WdkT4U/+uO9UUIxumrxCKZnK9MdQcvfaO9UfpmpxJE=";
+    hash = "sha256-aTwGFYTtd07BsWFaFc7ns+8oh2AxTUfRFSu81Zv5OoA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pywfa/default.nix b/pkgs/development/python-modules/pywfa/default.nix
new file mode 100644
index 0000000000000..529417db98969
--- /dev/null
+++ b/pkgs/development/python-modules/pywfa/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, cython
+, setuptools
+, wheel
+, pysam
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pywfa";
+  version = "0.5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kcleal";
+    repo = "pywfa";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-oeVXK9uyH4E98tApKrA7dXifQYb41KuDTAZ40XgAaF8=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pysam
+    unittestCheckHook
+  ];
+
+  preCheck = ''
+    cd pywfa/tests
+  '';
+
+  pythonImportsCheck = [
+    "pywfa"
+    "pywfa.align"
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for wavefront alignment using WFA2-lib";
+    homepage = "https://github.com/kcleal/pywfa";
+    changelog = "https://github.com/kcleal/pywfa/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix
index 78f64f1a3e5ee..2350b14da0542 100644
--- a/pkgs/development/python-modules/pywlroots/default.nix
+++ b/pkgs/development/python-modules/pywlroots/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.16.5";
+  version = "0.16.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-W43RCJektumgvO9K3K3mHR1BiyZXsHj4fN2EkGlJChQ=";
+    hash = "sha256-ITf1uALQ0ZJMeZ4wbC7VqEL9LdoK67vqRpXD6LTWjUE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pyyardian/default.nix b/pkgs/development/python-modules/pyyardian/default.nix
new file mode 100644
index 0000000000000..63318cbfcaef2
--- /dev/null
+++ b/pkgs/development/python-modules/pyyardian/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "pyyardian";
+  version = "1.1.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "h3l1o5";
+    repo = "pyyardian";
+    rev = "refs/tags/${version}";
+    hash = "sha256-dnHHRGt3TsWJb6tzx+i1gb9hkLJYPVdCt92UGKuO6Mg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyyardian"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with the Yardian irrigation controller";
+    homepage = "https://github.com/h3l1o5/pyyardian";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/qcelemental/default.nix b/pkgs/development/python-modules/qcelemental/default.nix
index 7b12781ba160c..9ac348304e5e1 100644
--- a/pkgs/development/python-modules/qcelemental/default.nix
+++ b/pkgs/development/python-modules/qcelemental/default.nix
@@ -6,22 +6,26 @@
 , numpy
 , pint
 , pydantic
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.25.1";
-  format = "setuptools";
+  version = "0.26.0";
+
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4+DlP+BH0UdWcYRBBApdc3E18L2zPvsdY6GTW5WCGnQ=";
+    hash = "sha256-oU6FEM2/2mRe8UYcGv0C77WZMRcz27pfg/zR1haKbd0=";
   };
 
+  nativeBuildInputs = [ poetry-core ];
+
   propagatedBuildInputs = [
     networkx
     numpy
diff --git a/pkgs/development/python-modules/qcengine/default.nix b/pkgs/development/python-modules/qcengine/default.nix
index abb84e1e73750..5b240104ca896 100644
--- a/pkgs/development/python-modules/qcengine/default.nix
+++ b/pkgs/development/python-modules/qcengine/default.nix
@@ -8,18 +8,19 @@
 , pythonOlder
 , pyyaml
 , qcelemental
+, msgpack
 }:
 
 buildPythonPackage rec {
   pname = "qcengine";
-  version = "0.26.0";
+  version = "0.28.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jBA3exH/qzEaKZeumvgKD0tKnDptZdlv1KykyUHs8Bg=";
+    hash = "sha256-ebZayF5VGHXjBFO3k2KegCNqAFygB3BXKvdvr8mF/Ss=";
   };
 
   propagatedBuildInputs = [
@@ -28,6 +29,7 @@ buildPythonPackage rec {
     pydantic
     pyyaml
     qcelemental
+    msgpack
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/qt-material/default.nix b/pkgs/development/python-modules/qt-material/default.nix
new file mode 100644
index 0000000000000..c7c195cdfc48f
--- /dev/null
+++ b/pkgs/development/python-modules/qt-material/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jinja2
+}:
+
+buildPythonPackage rec {
+  pname = "qt-material";
+  version = "2.14";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-tdu1relyF8964za7fAR8kL6zncfyBIpJjJFq1fL3riM=";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+  ];
+
+  pythonImportsCheck = [
+    "qt_material"
+  ];
+
+  meta = with lib; {
+    description = "Material inspired stylesheet for PySide2, PySide6, PyQt5 and PyQt6";
+    homepage = "https://github.com/UN-GCPDS/qt-material";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix
index 5be099d986976..85a8fdd12bccd 100644
--- a/pkgs/development/python-modules/quandl/default.nix
+++ b/pkgs/development/python-modules/quandl/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , httpretty
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     faker
     httpretty
     jsondate
diff --git a/pkgs/development/python-modules/radon/default.nix b/pkgs/development/python-modules/radon/default.nix
new file mode 100644
index 0000000000000..23f1a9427b560
--- /dev/null
+++ b/pkgs/development/python-modules/radon/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, fetchpatch
+# Python deps
+, mando
+, colorama
+, pytest-mock
+, tomli
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "radon";
+  version = "6.0.1";
+
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rubik";
+    repo = "radon";
+    rev = "v${version}";
+    hash = "sha256-yY+j9kuX0ou/uDoVI/Qfqsmq0vNHv735k+vRl22LwwY=";
+  };
+
+  patches = [
+    # NOTE: Remove after next release
+    (fetchpatch {
+      url = "https://github.com/rubik/radon/commit/ce5d2daa0a9e0e843059d6f57a8124c64a87a6dc.patch";
+      hash = "sha256-WwcfR2ZEWeRiMKdMZAwtZRBcWOqoqpaVTmVo0k+Tn74=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  propagatedBuildInputs = [
+    mando
+    colorama
+  ];
+
+  passthru.optional-dependencies = {
+    toml = [
+      tomli
+    ];
+  };
+
+  pythonImportsCheck = [
+    "radon"
+  ];
+
+  meta = with lib; {
+    description = "Various code metrics for Python code";
+    homepage = "https://radon.readthedocs.org";
+    changelog = "https://github.com/rubik/radon/blob/v${version}/CHANGELOG";
+    license = licenses.mit;
+    maintainers = with maintainers; [ t4ccer ];
+    mainProgram = "radon";
+  };
+}
diff --git a/pkgs/development/python-modules/requests-ratelimiter/default.nix b/pkgs/development/python-modules/requests-ratelimiter/default.nix
new file mode 100644
index 0000000000000..5cc57d86a57f5
--- /dev/null
+++ b/pkgs/development/python-modules/requests-ratelimiter/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pyrate-limiter
+, requests
+, pytestCheckHook
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "requests-ratelimiter";
+  version = "0.4.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "JWCook";
+    repo = "requests-ratelimiter";
+    rev = "v${version}";
+    hash = "sha256-w4cBQRpk9UTuGA0lPDsqpQ3UEIQdYe38NYXz+V4+Lvc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pyrate-limiter
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [ "requests_ratelimiter" ];
+
+  meta = with lib; {
+    description = "Easy rate-limiting for python requests";
+    homepage = "https://github.com/JWCook/requests-ratelimiter";
+    changelog = "https://github.com/JWCook/requests-ratelimiter/blob/${src.rev}/HISTORY.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/pkgs/development/python-modules/rjsmin/default.nix b/pkgs/development/python-modules/rjsmin/default.nix
index d3f09388affa8..f2a7a7874e6f8 100644
--- a/pkgs/development/python-modules/rjsmin/default.nix
+++ b/pkgs/development/python-modules/rjsmin/default.nix
@@ -1,20 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
 buildPythonPackage rec {
   pname = "rjsmin";
-  version = "1.2.1";
+  version = "1.2.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H5gr6OARQ4d3qUMHJ5tAE0o5NfwPB5MS7imXJbivVBE=";
+    hash = "sha256-jBvNghFD/s8jJCAStV4TYQhAqDnNRns1jxY1kBDWLa4=";
   };
 
   # The package does not ship tests, and the setup machinary confuses
   # tests auto-discovery
   doCheck = false;
 
+  pythonImportsCheck = [
+    "rjsmin"
+  ];
+
   meta = with lib; {
+    description = "Module to minify Javascript";
     homepage = "http://opensource.perlig.de/rjsmin/";
     license = licenses.asl20;
-    description = "Javascript minifier written in python";
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/rnginline/default.nix b/pkgs/development/python-modules/rnginline/default.nix
index 10beaf00bd40c..d006fc950d805 100644
--- a/pkgs/development/python-modules/rnginline/default.nix
+++ b/pkgs/development/python-modules/rnginline/default.nix
@@ -1,37 +1,42 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, poetry-core
 , lxml
-, docopt
-, six
+, docopt-ng
+, typing-extensions
+, importlib-metadata
+, importlib-resources
 , pytestCheckHook
 , mock
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "rnginline";
-  version = "0.0.2";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-j4W4zwHA4yA6iAFVa/LDKp00eeCX3PbmWkjd2LSUGfk=";
+    hash = "sha256-JWqzs+OqOynIAWYVgGrZiuiCqObAgGe6rBt0DcP3U6E=";
   };
 
-  patches = [
-    # Fix failing tests. Should be included in releases after 0.0.2
-    # https://github.com/h4l/rnginline/issues/3
-    (fetchpatch {
-      url = "https://github.com/h4l/rnginline/commit/b1d1c8cda2a17d46627309950f2442021749c07e.patch";
-      hash = "sha256-XbisEwun2wPOp7eqW2YDVdayJ4sjAMG/ezFwgoCKe9o=";
-      name = "fix_tests_failing_collect.patch";
-    })
+  format = "pyproject";
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'importlib-metadata = "^6.6.0"' 'importlib-metadata = "^6.0.0"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
   ];
 
   propagatedBuildInputs = [
-    docopt
+    docopt-ng
     lxml
-    six
+    typing-extensions
+    importlib-metadata
+    importlib-resources
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix
index d2c28c0dd357d..031c44ebb2e32 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.6.1";
+  version = "0.6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-QD70/i/GBxVZ4w46AGqkUGuQDI1uFdwLU7UOBKnyJ2M=";
+    hash = "sha256-Z3vFQB6/z3dWtYikN02QviG+0aDRzt8kk6IOpl/VmF0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index d5d72ac957909..122e2ff326ff3 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "robotframework";
-  version = "6.0.2";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-c7pPcDgqyqWQtiMbLQbQd0nAgx4TIFUFHrlBVDNdr8M=";
+    hash = "sha256-vtP0TVkCMrm0CRXlpZvVTBf7yd8+3p+nRArMWyQUn4k=";
   };
 
   nativeCheckInputs = [ jsonschema ];
diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix
index 7ed829df16794..fef2b05f9e8cf 100644
--- a/pkgs/development/python-modules/screenlogicpy/default.nix
+++ b/pkgs/development/python-modules/screenlogicpy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "screenlogicpy";
-  version = "0.8.2";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dieselrabbit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7w2cg+LfL3w2Xxf8s7lFxE/HkqZ6RBYp8LkZTOwgK+I=";
+    hash = "sha256-bBdOaAr9VH7UeY/UdeKS9oOevJwW2HChJiTGCNbbikM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simple-websocket/default.nix b/pkgs/development/python-modules/simple-websocket/default.nix
index ecb4803599129..475478826ea37 100644
--- a/pkgs/development/python-modules/simple-websocket/default.nix
+++ b/pkgs/development/python-modules/simple-websocket/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "simple-websocket";
-  version = "0.10.1";
+  version = "1.0.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "simple-websocket";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OdgMYi2UobIlE4cDl5aNtVaFiHPTpf5TcuohG+TCSpg=";
+    hash = "sha256-5dUZnbjHzH1sQ93CbFdEoW9j2zY4Z+8wNsYfmOrgC8E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix
index 10b31c02ad24a..a31f44b3ad681 100644
--- a/pkgs/development/python-modules/slackclient/default.nix
+++ b/pkgs/development/python-modules/slackclient/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "slackclient";
-  version = "3.22.0";
+  version = "3.23.0";
   format =  "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PRJgOAC1IJjQb1c4FAbpV8bxOPL9PTbAxNXo2MABRzc=";
+    hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/smart-open/default.nix b/pkgs/development/python-modules/smart-open/default.nix
index e0d7757d0bfe8..078101b1d6a2e 100644
--- a/pkgs/development/python-modules/smart-open/default.nix
+++ b/pkgs/development/python-modules/smart-open/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "smart-open";
-  version = "6.3.0";
+  version = "6.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "RaRe-Technologies";
     repo = "smart_open";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sVKrCph5M7xsE7gtzsP/eVEbZyFfoucW3p30YYpwVFI=";
+    hash = "sha256-fciNaVw603FAcgrSrND+LEycJffmnFQij2ZpatYZ/e4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqids/default.nix b/pkgs/development/python-modules/sqids/default.nix
new file mode 100644
index 0000000000000..a53be04df7112
--- /dev/null
+++ b/pkgs/development/python-modules/sqids/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sqids";
+  version = "0.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-qAY41kOp0m+mua/4bvVwuDW5p0EpwY675Ux3W1JsqbE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "sqids" ];
+
+  meta = with lib; {
+    homepage = "https://sqids.org/python";
+    description = "A library that lets you generate short YouTube-looking IDs from numbers";
+    license = with licenses; mit;
+    maintainers = with maintainers; [ panicgh ];
+  };
+}
diff --git a/pkgs/development/python-modules/stanio/default.nix b/pkgs/development/python-modules/stanio/default.nix
new file mode 100644
index 0000000000000..83fcc79031071
--- /dev/null
+++ b/pkgs/development/python-modules/stanio/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "stanio";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-DFBK5nG41Sah2nEYWsAqJ3VQj/5tPbkfJC6shbz2BG8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  pythonImportsCheck = [ "stanio" ];
+
+  meta = with lib; {
+    description = "Preparing inputs to and reading outputs from Stan";
+    homepage = "https://github.com/WardBrian/stanio";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/development/python-modules/stanza/default.nix b/pkgs/development/python-modules/stanza/default.nix
index 0300f9c559d83..d7c9972f049e7 100644
--- a/pkgs/development/python-modules/stanza/default.nix
+++ b/pkgs/development/python-modules/stanza/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "stanza";
-  version = "1.5.1";
+  version = "1.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "stanfordnlp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-c7FaqI/8h6loLJJ9xOaJCyepWp+bc6IcqQlpGlW7u6g=";
+    hash = "sha256-AyO/BC5JpkxaXXjj8pAVa4WGnK/GTw4xrmUvGLbLt3U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/succulent/default.nix b/pkgs/development/python-modules/succulent/default.nix
new file mode 100644
index 0000000000000..c70a04882e3cd
--- /dev/null
+++ b/pkgs/development/python-modules/succulent/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, pandas
+, pyyaml
+, poetry-core
+, pytestCheckHook
+, pythonRelaxDepsHook
+, pythonOlder
+, toml-adapt
+}:
+
+buildPythonPackage rec {
+  pname = "succulent";
+  version = "0.2.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "firefly-cpp";
+    repo = "succulent";
+    rev = version;
+    hash = "sha256-MtUf3ZSti5kxVd/pJDcBtIXZvmthzCsMF7gSx/wJBcg=";
+  };
+
+  pythonRelaxDeps = [
+    "flask"
+    "pandas"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    pandas
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "succulent"
+  ];
+
+  meta = with lib; {
+    description = "Collect POST requests";
+    homepage = "https://github.com/firefly-cpp/succulent";
+    changelog = "https://github.com/firefly-cpp/succulent/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ firefly-cpp ];
+  };
+}
diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix
index cd9d2addc6041..8759f35625966 100644
--- a/pkgs/development/python-modules/syrupy/default.nix
+++ b/pkgs/development/python-modules/syrupy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "syrupy";
-  version = "4.2.1";
+  version = "4.5.0";
   format = "pyproject";
 
   disabled = lib.versionOlder python.version "3.8.1";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tophat";
     repo = "syrupy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MXUuLw4+J/9JtXY1DYwBjj2sgAbO2cXQi1HnVRx3BhM=";
+    hash = "sha256-HRCURqnFzo1l+PjX1LtXTSVZGA36OaRgmy4xKizeuOg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tagoio-sdk/default.nix b/pkgs/development/python-modules/tagoio-sdk/default.nix
index e6b9ab2d72167..b5bcc619eed8a 100644
--- a/pkgs/development/python-modules/tagoio-sdk/default.nix
+++ b/pkgs/development/python-modules/tagoio-sdk/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "tagoio-sdk";
-  version = "4.1.1";
+  version = "4.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tago-io";
     repo = "sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GHjkw7B/T+XZ3F3XCI0INpx9NWjORr0lbuGse/W25wY=";
+    hash = "sha256-R7qJIgL8/zejIuT6YMnC3bdm8lKLBTK5eVjVDEjvRKs=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/tank-utility/default.nix b/pkgs/development/python-modules/tank-utility/default.nix
index ab4573594d95c..03d9c6c77d732 100644
--- a/pkgs/development/python-modules/tank-utility/default.nix
+++ b/pkgs/development/python-modules/tank-utility/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tank-utility";
-  version = "1.4.1";
+  version = "1.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,16 +20,10 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "krismolendyke";
     repo = pname;
-    rev = version;
-    hash = "sha256-2cxAaSyreIzQzCUtiolEV7JbGFKL8Mob3337J0jlMsU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-h9y3X+FSzSFt+bd/chz+x0nocHaKZ8DvreMxAYMs8/E=";
   };
 
-  postPatch = ''
-    # urllib3[secure] is not picked-up
-    substituteInPlace setup.py \
-      --replace "urllib3[secure]" "urllib3"
-  '';
-
   propagatedBuildInputs = [
     requests
     urllib3
@@ -49,6 +43,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for the Tank Utility API";
     homepage = "https://github.com/krismolendyke/tank-utility";
+    changelog = "https://github.com/krismolendyke/tank-utility/blob/${version}/HISTORY.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/tcolorpy/default.nix b/pkgs/development/python-modules/tcolorpy/default.nix
index cb650560fcda7..9114043e149be 100644
--- a/pkgs/development/python-modules/tcolorpy/default.nix
+++ b/pkgs/development/python-modules/tcolorpy/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "tcolorpy";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "thombashi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NUlDEMvd6l2GJ9tIXC3zo/8Ji7t0oV0GNVP9UF106yo=";
+    hash = "sha256-cCdKeixRfXkvEGBqozMWw2RjliLdzhlMv8GE2Q40LZQ=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index e73413de08013..4883c86f49d04 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "3.9.4";
+  version = "3.9.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-QqC/vPPl9R1n4rtiR+t1oy4V+bPr1QgAwIgpuxiwxj8=";
+    hash = "sha256-sWdcydH83b3Ftp2LJcTlXXbU5IMmFWwcOiCddcyVXY4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/textdistance/default.nix b/pkgs/development/python-modules/textdistance/default.nix
index 5b50bd0a3ad02..2c2d5ee23adf6 100644
--- a/pkgs/development/python-modules/textdistance/default.nix
+++ b/pkgs/development/python-modules/textdistance/default.nix
@@ -1,22 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "textdistance";
-  version = "4.5.0";
+  version = "4.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Nk1D9PZjV0JmLj5s9TcqhoWUFshKPJsu+dZtRPWkOFw=";
+    hash = "sha256-cyxQMVzU7pRjg4ZDzxnWkiEwLDYDHqpgcMMMwKpdqMo=";
   };
 
   # There aren't tests
   doCheck = false;
 
-  pythonImportsCheck = [ "textdistance" ];
+  pythonImportsCheck = [
+    "textdistance"
+  ];
 
   meta = with lib; {
     description = "Python library for comparing distance between two or more sequences";
     homepage = "https://github.com/life4/textdistance";
+    changelog = "https://github.com/life4/textdistance/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/texttable/default.nix b/pkgs/development/python-modules/texttable/default.nix
index 5afe66941c093..d1134a28601a9 100644
--- a/pkgs/development/python-modules/texttable/default.nix
+++ b/pkgs/development/python-modules/texttable/default.nix
@@ -1,20 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "texttable";
-  version = "1.6.7";
+  version = "1.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KQNI+2f3dGkxvN/VWsdYTs1OWwhGqxZDM/B5SxIXYPI=";
+    hash = "sha256-LSBo+1URWAfTrHekymj6SIA+hOuw7iNA+FgQejZSJjg=";
   };
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "texttable"
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
   meta = with lib; {
-    description = "A module to generate a formatted text table, using ASCII characters";
+    description = "Module to generate a formatted text table, using ASCII characters";
     homepage = "https://github.com/foutaise/texttable";
-    license = licenses.lgpl2;
+    changelog = "https://github.com/foutaise/texttable/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/textx/default.nix b/pkgs/development/python-modules/textx/default.nix
index f9541cf23ce20..e169cbdb9b81e 100644
--- a/pkgs/development/python-modules/textx/default.nix
+++ b/pkgs/development/python-modules/textx/default.nix
@@ -12,7 +12,6 @@
 , gprof2dot
 , html5lib
 , jinja2
-, memory_profiler
 , psutil
 , pytestCheckHook
 }:
diff --git a/pkgs/development/python-modules/textx/tests.nix b/pkgs/development/python-modules/textx/tests.nix
index af910a16119fe..488c276e910f3 100644
--- a/pkgs/development/python-modules/textx/tests.nix
+++ b/pkgs/development/python-modules/textx/tests.nix
@@ -4,7 +4,7 @@
 , gprof2dot
 , html5lib
 , jinja2
-, memory_profiler
+, memory-profiler
 , psutil
 , pytestCheckHook
 , setuptools
@@ -30,7 +30,7 @@ buildPythonPackage {
     gprof2dot
     html5lib
     jinja2
-    memory_profiler
+    memory-profiler
     psutil
     pytestCheckHook
     setuptools
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index 2a44225eca63e..a8a25bba00cf1 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , pytestCheckHook
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    factory_boy
+    factory-boy
     faker
   ];
 
diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix
index 403019c07b8f0..c3b08bad24e00 100644
--- a/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/pkgs/development/python-modules/toggl-cli/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , click
 , click-completion
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , inquirer
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-mock
     faker
-    factory_boy
+    factory-boy
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/tokenizers/Cargo.lock b/pkgs/development/python-modules/tokenizers/Cargo.lock
index d069413137e8f..841e6b5e09573 100644
--- a/pkgs/development/python-modules/tokenizers/Cargo.lock
+++ b/pkgs/development/python-modules/tokenizers/Cargo.lock
@@ -3,24 +3,6 @@
 version = 3
 
 [[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "aes"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
- "opaque-debug",
-]
-
-[[package]]
 name = "aho-corasick"
 version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -30,63 +12,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "anstream"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is-terminal",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-dependencies = [
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
-dependencies = [
- "anstyle",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
+name = "aho-corasick"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
 dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
+ "memchr",
 ]
 
 [[package]]
@@ -102,100 +33,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "base64"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
-
-[[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-
-[[package]]
-name = "bzip2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
-dependencies = [
- "bzip2-sys",
- "libc",
-]
-
-[[package]]
-name = "bzip2-sys"
-version = "0.1.11+1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "cached-path"
-version = "0.6.1"
+name = "bitflags"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "097968e38f1319207f057d0f4d76452e4f4f847a5de61c5215379f297fa034f3"
-dependencies = [
- "flate2",
- "fs2",
- "glob",
- "indicatif 0.16.2",
- "log",
- "rand",
- "reqwest",
- "serde",
- "serde_json",
- "sha2",
- "tar",
- "tempfile",
- "thiserror",
- "zip",
-]
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
- "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -205,116 +60,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "cipher"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "clap"
-version = "4.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b802d85aaf3a1cdb02b224ba472ebdea62014fccfcb269b95a4d76443b5ee5a"
-dependencies = [
- "clap_builder",
- "clap_derive",
- "once_cell",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14a1a858f532119338887a4b8e1af9c60de8249cd7bafd68036a489e261e37b6"
-dependencies = [
- "anstream",
- "anstyle",
- "bitflags",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "console"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
-dependencies = [
- "encode_unicode",
- "lazy_static",
- "libc",
- "unicode-width",
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
-[[package]]
-name = "core-foundation"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
 name = "crossbeam-channel"
 version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -337,9 +82,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.14"
+version = "0.9.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
 dependencies = [
  "autocfg",
  "cfg-if",
@@ -350,24 +95,14 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
 name = "darling"
 version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -434,65 +169,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
 name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
-name = "encode_unicode"
-version = "0.3.6"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
-dependencies = [
- "cfg-if",
-]
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "env_logger"
-version = "0.7.1"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
 dependencies = [
- "atty",
  "humantime",
+ "is-terminal",
  "log",
  "regex",
  "termcolor",
@@ -500,13 +189,13 @@ dependencies = [
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 dependencies = [
  "errno-dragonfly",
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -524,40 +213,12 @@ name = "esaxx-rs"
 version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f748b253ceca9fed5f42f8b5ceb3851e93102199bc25b64b65369f76e5c0a35"
-dependencies = [
- "cc",
-]
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "filetime"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "fnv"
@@ -566,102 +227,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
-dependencies = [
- "futures-core",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
-
-[[package]]
-name = "futures-io"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
-
-[[package]]
-name = "futures-sink"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
-
-[[package]]
-name = "futures-task"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
-
-[[package]]
-name = "futures-util"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
-dependencies = [
- "futures-core",
- "futures-io",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
 name = "getrandom"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if",
  "libc",
@@ -669,154 +238,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "h2"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
 name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "http"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
-dependencies = [
- "bytes",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-
-[[package]]
-name = "httpdate"
-version = "1.0.2"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "humantime"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-dependencies = [
- "quick-error",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper-tls"
-version = "0.5.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
-dependencies = [
- "bytes",
- "hyper",
- "native-tls",
- "tokio",
- "tokio-native-tls",
-]
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "ident_case"
@@ -825,91 +256,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix 0.3.0",
- "regex",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix 0.4.0",
- "regex",
-]
-
-[[package]]
 name = "indoc"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
 
 [[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ipnet"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
-
-[[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
+ "hermit-abi",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -932,27 +292,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "jobserver"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.61"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
-dependencies = [
- "wasm-bindgen",
-]
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "lazy_static"
@@ -962,21 +304,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.141"
+version = "0.2.147"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.1"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f"
+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -984,12 +326,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "macro_rules_attribute"
@@ -1018,66 +357,40 @@ dependencies = [
 
 [[package]]
 name = "matrixmultiply"
-version = "0.3.2"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84"
+checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77"
 dependencies = [
+ "autocfg",
  "rawpointer",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
 name = "minimal-lexical"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.45.0",
-]
-
-[[package]]
 name = "monostate"
-version = "0.1.6"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0230b703f1ac35df1e24f6d0d2255472bcccaf657ecdfa4f1fcbcad1ad5bb98a"
+checksum = "15f370ae88093ec6b11a710dec51321a61d420fafd1bad6e30d01bd9c920e8ee"
 dependencies = [
  "monostate-impl",
  "serde",
@@ -1085,31 +398,13 @@ dependencies = [
 
 [[package]]
 name = "monostate-impl"
-version = "0.1.6"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8795add3e14028f11f8e848bd3294898a8294767b3776b6f733560d33bd2530b"
+checksum = "371717c0a5543d6a800cac822eac735aa7d2d2fbb41002e9856a4089532dbdce"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "native-tls"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1131,8 +426,8 @@ version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32"
 dependencies = [
- "matrixmultiply 0.3.2",
- "num-complex 0.4.3",
+ "matrixmultiply 0.3.7",
+ "num-complex 0.4.4",
  "num-integer",
  "num-traits",
  "rawpointer",
@@ -1160,9 +455,9 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
 dependencies = [
  "num-traits",
 ]
@@ -1179,44 +474,32 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
-name = "number_prefix"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a"
-
-[[package]]
-name = "number_prefix"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-
-[[package]]
 name = "numpy"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b0fee4571867d318651c24f4a570c3f18408cf95f16ccb576b3ce85496a46e"
+checksum = "437213adf41bbccf4aeae535fbfcdad0f6fed241e1ae182ebe97fa1f3ce19389"
 dependencies = [
  "libc",
  "ndarray 0.15.6",
- "num-complex 0.4.3",
+ "num-complex 0.4.4",
  "num-integer",
  "num-traits",
  "pyo3",
@@ -1225,9 +508,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "onig"
@@ -1235,7 +518,7 @@ version = "6.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "libc",
  "once_cell",
  "onig_sys",
@@ -1252,56 +535,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "openssl"
-version = "0.10.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e30d8bc91859781f0a943411186324d580f2bbeb71b452fe91ae344806af3f1"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d3d193fb1488ad46ffe3aaabc912cc931d02ee8518fe2959aea8ef52718b0c0"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1313,69 +546,28 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall",
  "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "password-hash"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core",
- "subtle",
+ "windows-targets",
 ]
 
 [[package]]
 name = "paste"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
-
-[[package]]
-name = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest",
- "hmac",
- "password-hash",
- "sha2",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.26"
+version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "ppv-lite86"
@@ -1385,18 +577,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pyo3"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
 dependencies = [
  "cfg-if",
  "indoc",
@@ -1411,9 +603,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
+checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -1421,9 +613,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -1431,9 +623,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -1443,9 +635,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1453,16 +645,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -1538,86 +724,41 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
-name = "redox_users"
-version = "0.4.3"
+name = "regex"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 dependencies = [
- "getrandom",
- "redox_syscall 0.2.16",
- "thiserror",
+ "aho-corasick 1.0.5",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "regex"
-version = "1.7.3"
+name = "regex-automata"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
- "aho-corasick",
+ "aho-corasick 1.0.5",
  "memchr",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.29"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "reqwest"
-version = "0.11.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254"
-dependencies = [
- "base64 0.21.0",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
- "hyper-tls",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "native-tls",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio",
- "tokio-native-tls",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "winreg",
-]
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "rustc-hash"
@@ -1627,151 +768,65 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.11"
+version = "0.38.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77"
+checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "schannel"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
-dependencies = [
- "windows-sys 0.42.0",
-]
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "security-framework"
-version = "2.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
-dependencies = [
- "bitflags",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.8.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.160"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.160"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.31",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
 dependencies = [
- "form_urlencoded",
  "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
-name = "sha1"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "socket2"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "spm_precompiled"
@@ -1779,7 +834,7 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
 dependencies = [
- "base64 0.13.1",
+ "base64",
  "nom",
  "serde",
  "unicode-segmentation",
@@ -1792,12 +847,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
-[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1810,9 +859,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.15"
+version = "2.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1820,33 +869,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "tar"
-version = "0.4.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
-dependencies = [
- "filetime",
- "libc",
- "xattr",
-]
-
-[[package]]
 name = "target-lexicon"
-version = "0.12.6"
+version = "0.12.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
 
 [[package]]
 name = "tempfile"
-version = "3.5.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "rustix",
- "windows-sys 0.45.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -1860,67 +898,32 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "time"
-version = "0.3.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
-dependencies = [
- "serde",
- "time-core",
+ "syn 2.0.31",
 ]
 
 [[package]]
-name = "time-core"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
 name = "tokenizers"
-version = "0.13.3"
+version = "0.14.0"
 dependencies = [
- "aho-corasick",
- "cached-path",
- "clap",
+ "aho-corasick 0.7.20",
  "derive_builder",
- "dirs",
  "esaxx-rs",
  "getrandom",
- "indicatif 0.15.0",
  "itertools 0.9.0",
  "lazy_static",
  "log",
@@ -1933,7 +936,6 @@ dependencies = [
  "rayon-cond",
  "regex",
  "regex-syntax",
- "reqwest",
  "serde",
  "serde_json",
  "spm_precompiled",
@@ -1945,7 +947,7 @@ dependencies = [
 
 [[package]]
 name = "tokenizers-python"
-version = "0.13.3"
+version = "0.14.0"
 dependencies = [
  "env_logger",
  "itertools 0.9.0",
@@ -1962,103 +964,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokio"
-version = "1.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001"
-dependencies = [
- "autocfg",
- "bytes",
- "libc",
- "mio",
- "num_cpus",
- "pin-project-lite",
- "socket2",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "tokio-native-tls"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
-dependencies = [
- "native-tls",
- "tokio",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
-
-[[package]]
-name = "tracing"
-version = "0.1.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
-dependencies = [
- "cfg-if",
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization-alignments"
@@ -2076,12 +985,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
 name = "unicode_categories"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2094,127 +997,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
-name = "url"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
-]
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "want"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
-dependencies = [
- "log",
- "try-lock",
-]
-
-[[package]]
 name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
-name = "wasm-bindgen"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
-
-[[package]]
-name = "web-sys"
-version = "0.3.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
 name = "winapi"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2247,215 +1035,66 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "winreg"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "xattr"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "zip"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef"
-dependencies = [
- "aes",
- "byteorder",
- "bzip2",
- "constant_time_eq",
- "crc32fast",
- "crossbeam-utils",
- "flate2",
- "hmac",
- "pbkdf2",
- "sha1",
- "time",
- "zstd",
-]
-
-[[package]]
-name = "zstd"
-version = "0.11.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
-dependencies = [
- "zstd-safe",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
-dependencies = [
- "libc",
- "zstd-sys",
-]
-
-[[package]]
-name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix
index fd6153b940afd..149f86a284fa8 100644
--- a/pkgs/development/python-modules/tokenizers/default.nix
+++ b/pkgs/development/python-modules/tokenizers/default.nix
@@ -60,21 +60,18 @@ let
 in
 buildPythonPackage rec {
   pname = "tokenizers";
-  version = "0.13.3";
+  version = "0.14.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
-    rev = "python-v${version}";
-    hash = "sha256-QZG5jmr3vbyQs4mVBjwVDR31O66dUM+p39R0htJ1umk=";
+    rev = "v${version}";
+    hash = "sha256-zCpKNMzIdQ0lLWdn4cENtBEMTA7+fg+N6wQGvio9llE=";
   };
 
-  postPatch = ''
-    ln -s ${./Cargo.lock} Cargo.lock
-  '';
-
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
   };
@@ -85,6 +82,7 @@ buildPythonPackage rec {
     pkg-config
     setuptools-rust
     rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
     cargo
     rustc
   ];
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index f9f6e377b1390..65131548e5db9 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -43,11 +43,7 @@
 
   # ROCm dependencies
   rocmSupport ? false,
-  gpuTargets ? [ ],
-  openmp, rocm-core, hip, rccl, miopen, miopengemm, rocrand, rocblas,
-  rocfft, rocsparse, hipsparse, rocthrust, rocprim, hipcub, roctracer,
-  rocsolver, hipfft, hipsolver, hipblas, rocminfo, rocm-thunk, rocm-comgr,
-  rocm-device-libs, rocm-runtime, rocm-opencl-runtime, hipify
+  gpuTargets ? [ ], rocmPackages
 }:
 
 let
@@ -89,7 +85,7 @@ let
     else if cudaSupport then
       gpuArchWarner supportedCudaCapabilities unsupportedCudaCapabilities
     else if rocmSupport then
-      hip.gpuTargets
+      rocmPackages.clr.gpuTargets
     else
       throw "No GPU targets specified"
   );
@@ -97,13 +93,19 @@ let
   rocmtoolkit_joined = symlinkJoin {
     name = "rocm-merged";
 
-    paths = [
-      rocm-core hip rccl miopen miopengemm rocrand rocblas
-      rocfft rocsparse hipsparse rocthrust rocprim hipcub
-      roctracer rocfft rocsolver hipfft hipsolver hipblas
+    paths = with rocmPackages; [
+      rocm-core clr rccl miopen miopengemm rocrand rocblas
+      rocsparse hipsparse rocthrust rocprim hipcub
+      roctracer # Unfree at the moment due to hsa-amd-aqlprofile hard dependency in rocprofiler
+      rocfft rocsolver hipfft hipsolver hipblas
       rocminfo rocm-thunk rocm-comgr rocm-device-libs
-      rocm-runtime rocm-opencl-runtime hipify
+      rocm-runtime clr.icd hipify
     ];
+
+    # Fix `setuptools` not being found
+    postBuild = ''
+      rm -rf $out/nix-support
+    '';
   };
 
   brokenConditions = attrsets.filterAttrs (_: cond: cond) {
@@ -170,7 +172,7 @@ in buildPythonPackage rec {
     # Strangely, this is never set in cmake
     substituteInPlace cmake/public/LoadHIP.cmake \
       --replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \
-        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." hip.version))})"
+        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." rocmPackages.clr.version))})"
   ''
   # Detection of NCCL version doesn't work particularly well when using the static binary.
   + lib.optionalString cudaSupport ''
@@ -323,7 +325,7 @@ in buildPythonPackage rec {
     ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
       cuda_profiler_api.dev # <cuda_profiler_api.h>
     ])
-    ++ lib.optionals rocmSupport [ openmp ]
+    ++ lib.optionals rocmSupport [ rocmPackages.llvm.openmp ]
     ++ lib.optionals (cudaSupport || rocmSupport) [ magma ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
     ++ lib.optionals stdenv.isDarwin [ Accelerate CoreServices libobjc ];
@@ -436,11 +438,7 @@ in buildPythonPackage rec {
     blasProvider = blas.provider;
     # To help debug when a package is broken due to CUDA support
     inherit brokenConditions;
-  } // lib.optionalAttrs cudaSupport {
-    # NOTE: supportedCudaCapabilities isn't computed unless cudaSupport is true, so we can't use
-    #   it in the passthru set above because a downstream package might try to access it even
-    #   when cudaSupport is false. Better to have it missing than null or an empty list by default.
-    cudaCapabilities = supportedCudaCapabilities;
+    cudaCapabilities = if cudaSupport then supportedCudaCapabilities else [ ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix
index 3bd8003890d74..0b38925e0a2b9 100644
--- a/pkgs/development/python-modules/torchaudio/default.nix
+++ b/pkgs/development/python-modules/torchaudio/default.nix
@@ -6,7 +6,7 @@
 , ninja
 , pybind11
 , torch
-, cudaSupport ? false
+, cudaSupport ? torch.cudaSupport
 , cudaPackages
 }:
 
@@ -27,17 +27,30 @@ buildPythonPackage rec {
       --replace "_fetch_archives(_parse_sources())" "pass"
   '';
 
+  env = {
+    TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
+  };
+
   nativeBuildInputs = [
     cmake
     pkg-config
     ninja
   ] ++ lib.optionals cudaSupport [
-    cudaPackages.cudatoolkit
+    cudaPackages.cuda_nvcc
   ];
   buildInputs = [
     pybind11
   ] ++ lib.optionals cudaSupport [
-    cudaPackages.cudnn
+    cudaPackages.libcurand.dev
+    cudaPackages.libcurand.lib
+    cudaPackages.cuda_cudart # cuda_runtime.h and libraries
+    cudaPackages.cuda_cccl.dev # <thrust/*>
+    cudaPackages.cuda_nvtx.dev
+    cudaPackages.cuda_nvtx.lib # -llibNVToolsExt
+    cudaPackages.libcublas.dev
+    cudaPackages.libcublas.lib
+    cudaPackages.libcufft.dev
+    cudaPackages.libcufft.lib
   ];
   propagatedBuildInputs = [
     torch
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 5d677d2f5db2d..e342615d6d664 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -51,7 +51,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.33.2";
+  version = "4.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-i2ruOOkuEHHwzGT2Iqy+Pt1sBBUx43eiNkwf2Iqdcfc=";
+    hash = "sha256-hDZU/3bQ1k4uL3kDEW3+pB4g8jhC8ospRqE55jIqrP0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 078d1775e0a1d..d342c3d330c68 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "8.9.0";
+  version = "8.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-apdLWv4UV4MTAx+kyi/MaOibmBYjwMamaI9b6IGKIl0=";
+    hash = "sha256-F+0nYZIvZVH0QuEkuiV2lwA62r6T/amWFWg7rfBqddU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twitchapi/default.nix b/pkgs/development/python-modules/twitchapi/default.nix
index 7df76ab5dfc9d..f9db5fa4ecc8c 100644
--- a/pkgs/development/python-modules/twitchapi/default.nix
+++ b/pkgs/development/python-modules/twitchapi/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
+, setuptools
+, wheel
 , aiohttp
 , python-dateutil
 , typing-extensions
@@ -9,18 +11,24 @@
 
 buildPythonPackage rec {
   pname = "twitchapi";
-  version = "3.11.0";
+  version = "4.0.1";
 
   disabled = pythonOlder "3.7";
 
-  format = "setuptools";
+  format = "pyproject";
 
-  src = fetchPypi {
-    pname = "twitchAPI";
-    inherit version;
-    hash = "sha256-TkQzF32nt89uBvC6aj/b5f2DQkOVDz7UyeUXRyVYumM=";
+  src = fetchFromGitHub {
+    owner = "Teekeks";
+    repo = "pyTwitchAPI";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WrZb734K51NYqlcMCRr8HO8E7XByioltd4vanTN8HUg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     python-dateutil
@@ -35,11 +43,11 @@ buildPythonPackage rec {
     "twitchAPI.oauth"
     "twitchAPI.pubsub"
     "twitchAPI.twitch"
-    "twitchAPI.types"
+    "twitchAPI.type"
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/v${version}/docs/changelog.rst";
+    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.rev}/docs/changelog.rst";
     description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
     homepage = "https://github.com/Teekeks/pyTwitchAPI";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/types-aiobotocore-packages/default.nix b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
new file mode 100644
index 0000000000000..7bc93024121e1
--- /dev/null
+++ b/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
@@ -0,0 +1,752 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, aiobotocore
+, botocore
+, typing-extensions
+, fetchPypi
+}:
+let
+  toUnderscore = str: builtins.replaceStrings [ "-" ] [ "_" ] str;
+
+  buildTypesAiobotocorePackage = serviceName: version: hash:
+    buildPythonPackage rec {
+      pname = "types-aiobotocore-${serviceName}";
+      inherit version;
+      format = "setuptools";
+
+      disabled = pythonOlder "3.7";
+
+      src = fetchPypi {
+        inherit pname version hash;
+      };
+
+      propagatedBuildInputs = [
+        aiobotocore
+        botocore
+      ] ++ lib.optionals (pythonOlder "3.12") [
+        typing-extensions
+      ];
+
+      # Project has no tests
+      doCheck = false;
+
+      pythonImportsCheck = [
+        "types_aiobotocore_${toUnderscore serviceName}"
+      ];
+
+      meta = with lib; {
+        description = "Type annotations for aiobotocore ${serviceName}";
+        homepage = "https://github.com/youtype/mypy_boto3_builder";
+        license = with licenses; [ mit ];
+        maintainers = with maintainers; [ mbalatsko ];
+      };
+    };
+in
+rec {
+  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.6.0" "sha256-Bit55lGYI8+VOEm+6NKlfxWldFWdiAFwRZjJsgwuv7Q=";
+
+  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.5.2.post3" "sha256-zuBKsuPD3Sjl8KWKIlMgKtzfmtVc8ZZyIMKyPC2QjmY=";
+
+  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.5.4" "sha256-B7SsW+FtSOMfFFdfmH9iv/i9R/qj6ImAr95gpPAf3G4=";
+
+  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.6.0" "sha256-AO3CEqWkLBTkx4k8YamcUUCg2TwHODCMjz6ujubzLjA=";
+
+  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.6.0" "sha256-Pjfm+q8Wq7BT3QfFcLuODteOZdvNXSegde1sc6z2UOk=";
+
+  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.6.0" "sha256-EZ/wSfcWnT7DoSRegMZnzukVLlTFYP2UsR+rEiLwtnE=";
+
+  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.6.0" "sha256-IkvRE9xD0y8l48rWuV1cvnOQ7eHr0hYsrD3NusofgyI=";
+
+  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.6.0" "sha256-4sSNDhmNuOnYPq0X/G8m0XDP08W+MUQ3xiWK9Yc8U6Q=";
+
+  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.6.0" "sha256-K1esoNUDYWzqK12X6o5c12XJQGGDNlCyUiVsNsUaQhI=";
+
+  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.6.0" "sha256-r4eDPDqkcQhApN/+4xjDuillQnDOqu2xqyACYHqXRpw=";
+
+  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.6.0" "sha256-sAJW4q/mUaRsiN7Yt/uBMbxDfKhTSdiZaDd7nvvM3og=";
+
+  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.6.0" "sha256-cNNVvAX1o+ZieUaW59yp5ELFf2S96XdCOLeVe91oFI8=";
+
+  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.6.0" "sha256-qliKZTlmnPwRdhQs26M0PlCM91Mn7cHCmccCAhDtryU=";
+
+  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.6.0" "sha256-DcLOpKbUl/YOinXXtlo2su0uMh0Ja5cGrpbmKuQVGvw=";
+
+  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.6.0" "sha256-yQvNa3iBsoAD4oBVmt0ZNjziBEhzTUE6E6FFLluxTZw=";
+
+  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.6.0" "sha256-ILdWiqipfSnSjdToIq++JIu1WUmv+lMX72Ymo9KGZ9s=";
+
+  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.6.0" "sha256-ZPNB2PUpeTttagX1rRmgINgahj3cNuBdKQMvdFNK15Y=";
+
+  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.6.0" "sha256-p5EgvysfhIHz4ZALV8tJz/7ZkRIu2BIZwENiiVho67w=";
+
+  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.6.0" "sha256-PUDqMFJu2BG3WVCS6SYyltrSr64VblVAgrCYQ6FR2sk=";
+
+  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.6.0" "sha256-bGlbP0d38vFHkITC84N43Vt1Nrsf3+ByWSvvteDejBw=";
+
+  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.6.0" "sha256-Lcoc/IJ9o1glV8gNNA/t9B3J6K5Qz/50fqPMsF78WVI=";
+
+  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.6.0" "sha256-zyesnbNmSrQEsBVQJouP05zxhBTikGZVCR/VFdEkHNE=";
+
+  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.6.0" "sha256-+4LWBHHwL1R4jBGHChSUOq9vFc+k7NmRXvo8ZjDIyXk=";
+
+  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.6.0" "sha256-JFrBy9Ck/Ni4lwHV47fkzt/YI5cX9FvTeaT0tNgzdqs=";
+
+  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.6.0" "sha256-qTW58yyFwbBYyisuL4NkaEXqblJ3vevXI1lHZVX4mZY=";
+
+  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.6.0" "sha256-xmTKI8q82UohBE+Wh+j1xivsY8wmrcvOlDAlwTpJmxE=";
+
+  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.6.0" "sha256-a+47CFM19RM3Y+9wLLe8D4II7rKeDQ93dy68jqJqBD4=";
+
+  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.6.0" "sha256-s0ClcRgYJcd5GZXYWMn2FieNXebdlS9206mLtKCSy44=";
+
+  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.6.0" "sha256-ZhOokFIm5KHBc5X+Lp19z5N7BudTQHU5KjHGYCrW/aE=";
+
+  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.6.0" "sha256-rmm10kZXRkmj0TxqARf+57Nz8LapZF7TaH9GGwhIHys=";
+
+  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.6.0" "sha256-/YH0nuyWaEVPlZFxJarGkWOnLcpiIvvf/GCmxMOaybI=";
+
+  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.6.0" "sha256-OC1xWUT0BjBoelAxHkprhD54kF+YbK30H/42Q3XxdwY=";
+
+  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.6.0" "sha256-/5yrgR7NbQ6GbkC9SsHaAhDa3juBjyRt705wHTu6Mr8=";
+
+  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.6.0" "sha256-bDEICyyIUCRxbTWZFXHsj5yncQI+F+geC92vvsrKCxw=";
+
+  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.6.0" "sha256-aobQZov192xNkN7cwIKLgJnhxltyLpWw1oKk2m1HkV8=";
+
+  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.6.0" "sha256-0tFKq0VomVAD9NRtlQzilQEZHFOZp40vtTKfoBqjpyU=";
+
+  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.6.0" "sha256-eKYNFMlDt9uUaqsK8PPTpt1wghN3nGgM+idQBVei8eY=";
+
+  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.6.0" "sha256-5d9LUaSDvYI/Nrsmg4MnM0ucXmyzUQKV4DpX9pZst2s=";
+
+  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.6.0" "sha256-UXVS4iTbkv9/xmL5AFv3xlWtWk5qN/dam/ic4mg3+cI=";
+
+  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.6.0" "sha256-+2AioI5B/K5QhDsaBSAFyNW0Fd49EA8ZBVrULd3u7qQ=";
+
+  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.6.0" "sha256-oxlFkYpDoi7pidqzDOYdeTazVl/HjnuZmnjMGZa/WIE=";
+
+  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.6.0" "sha256-THOQl3ZUILwLRwYlBb7fQDgpYz7wkMyd+tSLEmHHBVY=";
+
+  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.6.0" "sha256-RwMXK2NrM4BDzeg5lcpxfVzxFzrqjZw+xhZnJL81Uqw=";
+
+  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.6.0" "sha256-i2XmS1m6YO7dOaMZKb0WRQB2WpRue+OCLbdR59oWA1Q=";
+
+  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.6.0" "sha256-W3ni8q7n4l8+SP/RyxibCTptextx4Vd8bmiQ3lhgszQ=";
+
+  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.6.0" "sha256-qWbYfegOQ6QcEWA/gce9ZiIOBIVeWIj1qjfsksncDxY=";
+
+  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.6.0" "sha256-5TzDHj/t0tqxbRYfnGRP9LNq9pSFj7aidadVB03ZY1k=";
+
+  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.6.0" "sha256-EyiQY0NCVa3XuRpBH7aXEA7cBx8BzyRP917f/Ogx0mw=";
+
+  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.6.0" "sha256-f9nqoXlg7sgY2QCkE1/+Q72N/8Besrl6gncmU+vNt/I=";
+
+  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.6.0" "sha256-a3QRjQhW+cRJykNjhhJREGwuZxR0b+WxgRuS2yuGcTQ=";
+
+  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.6.0" "sha256-FyktFlTQAbS6YnoXljvtn6CabJHGLkRv1jCgb9dbz+s=";
+
+  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.6.0" "sha256-eKLM+GYjbm3cweMtF/XI6k+P8t9gaJeRCeMHQbc832g=";
+
+  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.6.0" "sha256-wn03HlgBaZIAkw8gxPehSKpcfQGOhYp0U1CF/84M/lg=";
+
+  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.6.0" "sha256-/vpOE8tU7SsjHmn/YyVfku05ZGBZIiVuFsG6aK47K28=";
+
+  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.6.0" "sha256-8W7TrB1EXp5JeBQ9xqkqFhf+Frflpd5bfVxpqju2ZPM=";
+
+  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.6.0" "sha256-ntQkDjM3I3wuMH5jsifODEwRna2ctRW1M9bzyEjIF7w=";
+
+  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.6.0" "sha256-NuMqaomry4ezNNRKBLOJ0xNwGUO2Prl4nf/5O38oyqI=";
+
+  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.6.0" "sha256-dYe3uLk0ssQPQPEo+3glh+ic6recgV5WPIN09lLuuA4=";
+
+  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.6.0" "sha256-7MKRVJ4fgberRmkHWHfvrfzU2+BYhMZxgb2ge7NAQp4=";
+
+  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.6.0" "sha256-7StmPVxVNfFpqQmjyM4cn9NBrAsuUjxRkP0WgGCnuso=";
+
+  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.6.0" "sha256-4TUcqf3kuRqsMjhfrUTX3/aOSl43NtwmbSgM6KtjAlk=";
+
+  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.6.0" "sha256-qD42WySh9NpQBOveTRGP3hIp8zD1Y1DzSiM7kbbfR88=";
+
+  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.6.0" "sha256-1qgsFoogu8MnWoCeKnqy4KIY7UdMeUPnaS1zVSVl2Mg=";
+
+  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.6.0" "sha256-7Nbb+l7y5ccrVGymZ46nKwnGoa5nThrIOZ1AG0ykPEw=";
+
+  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.6.0" "sha256-cIvM4g/CldgLuN10a3lNhISz08gT6VxZHMS5xo+B2IA=";
+
+  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.6.0" "sha256-6b3QfRecmprhRU+loWafrcL1mWNLFmZXZOAhUMkpGqU=";
+
+  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.6.0" "sha256-D/icEGVsuYSU7hCw2VEojLTkdaBcK6SoEZqpvD/NKV0=";
+
+  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.6.0" "sha256-7vWHwrG7Z80Zb3ncGBqN4ItKAVWLR0XHITJxMmE8y8Y=";
+
+  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.6.0" "sha256-C1JRefgyuiKDOJMhShyDPDjfKp5S5OMCaHcnORLxnvY=";
+
+  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.6.0" "sha256-ks8MmuhrmdTS509vgxZ0raZqISMPaAItEjf93ppWhrU=";
+
+  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.6.0" "sha256-pOLa8tDqPexDigPbRqTjnr7/ricz92/Ml79AyUXvXBg=";
+
+  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.6.0" "sha256-qXIwjiNksQbQiTtwaKWNHaUCras/moRuFXN3sOEPYMc=";
+
+  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.6.0" "sha256-C98s7dkFRgj8m4M+MmjvCWwrdohkLJafgo9j2ACQ2l4=";
+
+  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.6.0" "sha256-4MRGtyFWceAuspTW6Xqwjf2ta0VC1SIoK/U80QZw7UA=";
+
+  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.6.0" "sha256-qW+R5X/fu784kjARjISaNxwzIJn74SXfUaPEuGqsM1M=";
+
+  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.6.0" "sha256-d+7VqW5H0hyINQVXoy6djyFmkGzlhLnEpzURuPQLyBc=";
+
+  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.6.0" "sha256-3d2WJQpohaiwdsKOS2u5kNhHVsgELMxgjunHAk6v7Y8=";
+
+  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.6.0" "sha256-lsDs0yxFf4ForZ2bU719LFCDHzR9lOE211XuYGYKZCw=";
+
+  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.6.0" "sha256-/MRl46K5h5mtboGhWDop0psxPyxhm3tKhzvMpr91d/w=";
+
+  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.6.0" "sha256-3E+8scTPCcNm8RDoxGWSm/u6drT12aiFqf3LbxWTy8w=";
+
+  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.6.0" "sha256-Df25Lah8FBdCrbWMC+Y9ayQCO3ijG8cMdypA2+sE3oY=";
+
+  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.6.0" "sha256-i+n53Eejdz26WGsHBmLR3V0ZxOBHPtTTzoxH0mmKPig=";
+
+  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.6.0" "sha256-i1mv2M3bboOF3+iIKYhp4raYb7mHiQTirlWsttB/dXY=";
+
+  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.6.0" "sha256-WMVPGbQkdbKc2T+gR9P3oWUxl5VSVf4IdcLeuW9SNUo=";
+
+  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.6.0" "sha256-okcgm0Lx5s2AM2mprVwNjeI1TTmlR73FgjWbYa9uRdE=";
+
+  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.6.0" "sha256-k0tYIWqPEnETISThasPHa9AaWdAs0p+hfrUuCI7VTJk=";
+
+  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.6.0" "sha256-C138viPl57+Z79k1C0c4IjgdpMd4PhO352fUs6/YnE0=";
+
+  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.6.0" "sha256-1BtV4vajDTlmNhX4oh1h81+1MsIe63gxnkd1oWn0yeI=";
+
+  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.6.0" "sha256-UP8rTuCwNq6Eu5gYrMj5c+JaNy9grOOL9RRi/QsDvzE=";
+
+  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.6.0" "sha256-Mc4Kl4dZyn9y+9V44QilacOHN9+E1M79uNLATsoH2Ks=";
+
+  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.6.0" "sha256-pPn7O3oK75zRmOFMQmyzmRcjpRTswrVhdbkcqaI5Sj8=";
+
+  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.6.0" "sha256-LwbqLf3BEwW/+f6vsddXt+FiyGkRKIPXfaqW5rtDrig=";
+
+  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.6.0" "sha256-mBruXgMAELLGyEg7ON8PFesERMf5og8As58U9pvIKRc=";
+
+  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.6.0" "sha256-JLOVu9OlJgrfTBlmzVNN5saYO8AFk8N54hRzDAjq7WI=";
+
+  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.6.0" "sha256-cWGwdGBTgEag5SeRDLvAJtCS1dAxtt5R0uanPI6RjkY=";
+
+  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.6.0" "sha256-yYm/H31gRIDV+r2H+8cTHkc5h40aFFUQ7zlX1wyLPAI=";
+
+  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.6.0" "sha256-ro0xv2HHzTXA6tRNnr3eQjCj5iaqc1wOcsKny8j/hoQ=";
+
+  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.6.0" "sha256-4CeNeftLpPSZYqw09LcPRC+8yVp+84azRHQ8O0JFOOo=";
+
+  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.6.0" "sha256-HZEA8fivN05Puxycyl+2z4kIJMbGtF0J7ohLOwx+IzM=";
+
+  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.6.0" "sha256-dFo/YsEQg7TXB5NENmFOv37R3B2GoN0TlIiULWEQr9I=";
+
+  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.6.0" "sha256-8wsE774l7M8Qb3UiaxkAdN6sdnXs5oS4cFhncW0joBI=";
+
+  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.6.0" "sha256-95lUlfOjLVgHufSv3UvaKB1K0F2N0cvtCcKh96VBtqg=";
+
+  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.6.0" "sha256-hSuwPcQEk9Qgkc/JtcZp2vqLXnMQN9gtzjkuC1Bv1C4=";
+
+  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.6.0" "sha256-0Lwxob43TzJHNcriUEa3BAZE64iqS9Js4TtfL20YRj0=";
+
+  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.6.0" "sha256-bMPp7QPa2f8GCRmX3y78XvZTUyYNfYxXDKj5lckBBvE=";
+
+  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.6.0" "sha256-O2RieTv4vyZ6/mR8BRltfbGcPUjAyIIqriskSlmNcb4=";
+
+  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.6.0" "sha256-C660Ync/6dV8c9i+N7bgV0TYaPScrJ40KPdG3LItGGs=";
+
+  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.6.0" "sha256-jhIpP0cJEv2SqvmBJtxNVoWF4AOWci2sPj04dN3N+bo=";
+
+  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.6.0" "sha256-MXMbA1QAyRMhTqihwKztK3EoRp1iesCvPEz30Xc/in8=";
+
+  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.6.0" "sha256-xjMVOk0fzyvDoSNb+kxVQT9emfvIG/6Ws3h3MfCCTOY=";
+
+  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.6.0" "sha256-7iUYuPOerdp1+fxI/KdC4sEWDOTJQAgYYheEmSvjBFo=";
+
+  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.6.0" "sha256-yCF9EHyTsf1hmoeSGrNiM2Dd8gtGlcX79zqF25btN04=";
+
+  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.6.0" "sha256-vRVH67/SbkncE4q3gssGce4NtTYgFM56RLzDKyvBCpc=";
+
+  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.6.0" "sha256-+mFIAOecS21QFsnB+V1EFyGLv6uW+oMzkRi051HvPGA=";
+
+  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.6.0" "sha256-OIWzkp7AC2bK55bl3WvL2Zk7M0WRPc8jVHekPAGDtyw=";
+
+  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.6.0" "sha256-TWCgT2xBi3UajaF6L+m61Q27YV8RCm+e/jRVnZKjwrI=";
+
+  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.6.0" "sha256-pBr9zVqEbP0na385scKW28d0qIB+7HQdYC5QTdhxHNA=";
+
+  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.6.0" "sha256-mdpuehCY0ki+sZSlNS0kIwijZphoyQixNWY4WKEcrMs=";
+
+  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.6.0" "sha256-lFbcxmw7Le/rVVL70cOY/vEUShSRnsOdul+eI1jzX7Y=";
+
+  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.6.0" "sha256-A/1kM0X4bKrPIXBpir9FuEkuYmUb/K06gfut6faGN0A=";
+
+  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.6.0" "sha256-X0r0VZ/ZWYrn2NdE5dJrcS74OyWIvWMDJGSNheIOm0A=";
+
+  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.6.0" "sha256-ec9XPmiGjhH+MsW81JtH13KACasiWqtmxOC/O8ewbgE=";
+
+  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.6.0" "sha256-fPG/13VJzvdfoADYZXTZ2ssdJrKQ/MEic6rhsNUE4tU=";
+
+  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.6.0" "sha256-2mAHrKw7Hur/nrVQpuRwGae5CumbjbQb4V9Z6NlsSmo=";
+
+  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.6.0" "sha256-viWUrt2F0O1jVhkxK5G776A4r7d4jJJVI/5UsUS+cao=";
+
+  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.6.0" "sha256-4T/EcdB+5TV8PnX1Z9c8Ato19kznO3yQPZohuWD1+J8=";
+
+  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.6.0" "sha256-VIGEXyDyUEWshdYFUJ3VmCS1z/ZBOKq2PYCosalPZAw=";
+
+  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.6.0" "sha256-rMjrKtR8BWtAYoyBY52o/5wbZCHqX1aFMRsVCunZTeo=";
+
+  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.6.0" "sha256-rh53/1tmYyADrkUtQjrwrcEe78ji6II0yYnMQO38AOU=";
+
+  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.6.0" "sha256-ICRkb+GIWginbc2LvsJTzBaEXDlwg+JOqWQwNRzu+CI=";
+
+  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.6.0" "sha256-vZiK+Kat3RKN/OcKny5qLF+pYljoVlJGG9Kdlb75GWk=";
+
+  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.6.0" "sha256-9qk0jvEAU6vh++k18ccjrZNLnYlOqiAGuVvBGS5QetQ=";
+
+  types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.6.0" "sha256-9iV7bpGMnzz9TH+g1YpPjbKBSKY3rcL/OJvMOzwLC1M=";
+
+  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.6.0" "sha256-shUgv/KntAP0kuD8pJFLEAp/aIukEsLhte6C5odtNJs=";
+
+  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.6.0" "sha256-U/74XOX/pXh4JJ4n6Fu6quL6gQwz+zt9bOWj/QYOS+8=";
+
+  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.6.0" "sha256-K2asnioD1r9BJCX2PaNaN+fKDyA+oQhvdM0h0LgxbEY=";
+
+  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.6.0" "sha256-acNr8U/E2Eq4wp68Td0k8xdORhT6ZOJBOi0enBnaacE=";
+
+  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.6.0" "sha256-9mqnIWlLUoz28qp8AH8LiNdDgcJ04P0Z+jxNb/91jUg=";
+
+  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.6.0" "sha256-+G6nPOY2Suxa8LPTG8SHOZfwaIJQIyVGTRcsAQYXZzY=";
+
+  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.6.0" "sha256-VGGDcARvtSeukjgVB9jwSamIrlrNCF+0pNszN6VkMC0=";
+
+  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.6.0" "sha256-3bScTMTc7PMrHvZpfPYENj55w2JjnK/pVuNLcxCjw5Q=";
+
+  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.6.0" "sha256-WBxZlnWrZ6b0MIEomvgUDqiKNe9KIIgOrNrRhRw07EA=";
+
+  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.6.0" "sha256-8ofimJ4eTxq8yQjCc23FQ2OktMCNwlIBCn+eC+HLqlc=";
+
+  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.6.0" "sha256-dCjt22yHlShPdG6Jipy3m4Rx3G4OLPiuUi1gyubcQ/g=";
+
+  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.6.0" "sha256-NPvYTwvZY5MjfdIlTMRZEQ1S9IvxvQjoi5K2LOlSrMM=";
+
+  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.6.0" "sha256-u4d+/kVZ+qtLyueNSGy6a2VoB0jIYdKZqvCQQfarbx4=";
+
+  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.6.0" "sha256-uhkFIVr68n0ShrpZY9qyghd0XgMb0ZT6fF9WdjtF7g0=";
+
+  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.6.0" "sha256-m0fUuupB8Eb9pJQnuir4THb4TdDstKcxHQRgz8Ce2Zg=";
+
+  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.6.0" "sha256-dJQnb6AwtmScEIun0QB9CiiPkbdKti9+mc5LN3vf7e0=";
+
+  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.6.0" "sha256-kAhdyymMdbrPoCFzKiVCFzBlfpmz4aGlZ1Ilkrc8EiQ=";
+
+  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.6.0" "sha256-3oJbkuU013LR7DUXvr8y0nbYh3caAF1c4GtgM1CizdU=";
+
+  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.6.0" "sha256-Rt6dsE/9aR5AZC47G3RayV56VVobDWEah64cNHsaYII=";
+
+  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.6.0" "sha256-KpgEjoEsCSiC6aKyHy64it0k87XYICbxMhUFYUjCBuo=";
+
+  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.6.0" "sha256-IQRarMn1ZAh+kUG1I4Cyt/6WrIoby07g3qcSzpWUWWM=";
+
+  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.6.0" "sha256-BFSV0lfXriD43UFXjdomHIQO60TjrYWmL6+htf9Z3mE=";
+
+  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.6.0" "sha256-MRRil8KuR88NvjAOQHQSftplzk7+sdAJBb1Koxj1j8o=";
+
+  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.6.0" "sha256-6YRdsbNw685KvSLCPP6cpCVA5zqht9gF/SthHHtjxfI=";
+
+  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.6.0" "sha256-uhxX742flhdDM7zoYm6yggc41NW7glGPijiql4XKJa4=";
+
+  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.6.0" "sha256-jrOVxsJHgpEvyLhreMrzttu3yQ4FXm4+MVDlNNIKWVU=";
+
+  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.6.0" "sha256-M3wUbFFGsYQesy7ASen+b6yokGkjXY0P5wpGexO2CGg=";
+
+  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.6.0" "sha256-ESm7ZCtEvHo/r9LXnBaIAVAb4bQkGjIlmUNlo/JuzjE=";
+
+  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.6.0" "sha256-0NMp62HDGZ0FHVtyHOvgfMUaedqZG9bY46d2OrpGK7E=";
+
+  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.6.0" "sha256-jbLoJOgFRNSPaFv/diM8L0mTGIB2IjAzHqx/QH7lriQ=";
+
+  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.6.0" "sha256-8zvG95bDvJWNRmw9sCdBfPxQPdb4TNAzqMcth+hliLI=";
+
+  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.6.0" "sha256-1i4Z4CE9PG7JByR9RpPazu7RmPIjNeDecnz5LH2ls2A=";
+
+  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.6.0" "sha256-6161RDBwnvqvBtJWs5bPieI6AdwKFCmiT6ixKRE9GuM=";
+
+  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.6.0" "sha256-/h85AoG+poq4t0EvpXdofWfbaEBD6CiCxhdaGKLi4C0=";
+
+  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.6.0" "sha256-kuOboqDTHpdSW6vD/JGOdLL2U639wM+2V2KaSm1j0xo=";
+
+  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.6.0" "sha256-CiMKW2suhsU2dZsLQkL3hK2qKRJ56FS4Ix7Dt347bMA=";
+
+  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.6.0" "sha256-y4RRQdjaJS9GLW7HUNC9f3kWCOAGijlisrlB0MYQ1As=";
+
+  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.6.0" "sha256-5ANdk601wY6vtjYbe8CxtY9lK4Fe6wbl5uB6Mq6uqII=";
+
+  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.6.0" "sha256-cvmNob4pGa18W/2uh16zFJ58f0MHRDL2LwOKrsO16uI=";
+
+  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.6.0" "sha256-pOk51+FrlKDNPPDaa1mf3HjpCqlUskeRYITkFp91l6M=";
+
+  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.6.0" "sha256-1WeJI++z4QiF0bZ4FyNgoNWY6X62ZCyq7PGNM9urFn4=";
+
+  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.6.0" "sha256-uaeHdW8lew6jq2KQApkY76eWRkYVLffN0h71icP9viE=";
+
+  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.6.0" "sha256-vbWWkLbVnzfWHp3Yy3S6mh0+tHrkA/5Krw4GVSdILls=";
+
+  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.6.0" "sha256-n5u7dzAnZ7YRGIC2qyynlsALR7tONulc0ZmimW+xotk=";
+
+  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.6.0" "sha256-mjY7GbQ20pzL38tQMoluJISpaxk/IreluvmX7XsLfTg=";
+
+  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.6.0" "sha256-8kK4JurIaid4k0BkpoZkaosn7cOIyMTt0RXnoJZUtSc=";
+
+  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.6.0" "sha256-nUOb5NwCsz/7Z0bUMUsxysn2bgNi+yTvyGGCkwzCU1o=";
+
+  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.6.0" "sha256-Tw+ozecMKAw56x47Wqq3wwwcmDT+5LvoUDAZSX0z2I4=";
+
+  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.6.0" "sha256-QY5tN7QVP2WC7P/se6wNrnLp3sJVIr/rTEs9ePpADPE=";
+
+  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.6.0" "sha256-aedmxGOuU70uX/+bQL8coUWBpk9IQHAL7VqusH8zPbs=";
+
+  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.6.0" "sha256-wyT6YahL3sRGHQcBTAyLd7l75wVWRp2waS+Q46Me/ok=";
+
+  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.6.0" "sha256-mY26ICYSENAruEn4986zxi5R9ong4nyuRAHgMZDliqo=";
+
+  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.6.0" "sha256-CR3Uopf6izBTlR16yIA3CUikWrS3OzkFZFpbJNDhBVs=";
+
+  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.6.0" "sha256-pkZMQu5himEPO7z/AF7INb7H7jjmkyQV1ql2epF4yYA=";
+
+  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.6.0" "sha256-sIQ85LzkQgMvVfAKEc5HxIXx85Tckx4HVXcex2hxZ6I=";
+
+  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.6.0" "sha256-IZvLF0Wg7od/LqC2bcCxtvNun0n9JViuXE/CQMoBdMc=";
+
+  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.6.0" "sha256-9eebhFQqnsParfZ1poJJX/ehx1lNHIynFwXEzAo10JM=";
+
+  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.6.0" "sha256-ot+oM2a+CA/92d+tY54tqdOlsZWReknv+Pt3Aw8V1GU=";
+
+  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.6.0" "sha256-iNlzgcjg3VrIZJEi2f+7msFqrfWsUS24k7OERB28uRo=";
+
+  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.6.0" "sha256-1exWgnbG5ikd1pHWClPGq3Luku5qyTtG6pwvqL/zWdk=";
+
+  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.6.0" "sha256-0fLwCr5eDRxcGZdw3sqExh8awX1qu5XmEYMD63xhD3w=";
+
+  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.6.0" "sha256-eiibXP8S+xvn+PTX8cd3WiN6yL2JmjK9EG9BryexFjY=";
+
+  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.6.0" "sha256-3zQZyDgaMuj5SAQ7Nc+XzF5dUi1E9bAjv9mIscJxfqM=";
+
+  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.6.0" "sha256-qyA1uCrAFGZHMlfL8Dou1YkM6rb9xwcrDQmteSqOadM=";
+
+  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.6.0" "sha256-ilPodAPj7J6xVCPEjsBQcQ4I5dNMEM2/hM1j8PJMUto=";
+
+  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.6.0" "sha256-m/13nELWqdPNkZXmA3FhArlOKhB1CcbTaAsI9Iqzrik=";
+
+  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.6.0" "sha256-gW+GFoQhI1Mj412Gh3MXfoSMKpNscUB4AqC9WMF4ACI=";
+
+  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.6.0" "sha256-DoFG4FxvJFnN54G5F2LZY5M0aYlCU9H5wwnAsiHaRmc=";
+
+  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.6.0" "sha256-VZajCqSzofQLUBrXbMzdaPmbIDNp5YuUUk1wberVcFs=";
+
+  types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.6.0" "sha256-gbl7jEgjk4twoxGM+WRg4MZ/nkGg7btiPOsPptR7yfw=";
+
+  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.6.0" "sha256-IX2KY/guFLJ6jL4gRdTS6cQbNuFJuz8xa4QzqZ8j5h8=";
+
+  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.6.0" "sha256-k/J7hBJDfGXMFR9jn7Tiec8bClrXIz6XyLMqLJad6oU=";
+
+  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.6.0" "sha256-swmAlpVrP1eSvJatWaJL6QDfgZ0xzBttrpHt1aNULUk=";
+
+  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.6.0" "sha256-9yD3FIFrRDMAckbztjrKeUEyXCUOggF5UfsPe5hcQ1Q=";
+
+  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.6.0" "sha256-Q6S9pTfquW+Hv4uB9tbS/TEsC/i7iDfA+LyZCHq3cRI=";
+
+  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.6.0" "sha256-iyHFWN8tWgQoShTO6bJQB89K+4JVWjMihzjMr2Lssvw=";
+
+  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.6.0" "sha256-hEwlISpSm6r+a1MXxSH3UrBOiNu+Cx9d1T2RsFfrcyA=";
+
+  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.6.0" "sha256-VdxG2yvN6g9UAn54OP6uafHGN+iHjNrfO4H5f5h6w18=";
+
+  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.6.0" "sha256-hrfqkhKWIcP+fjDaeFjvk6c6GBTgsY3yxPodx9fFpxk=";
+
+  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.6.0" "sha256-c7XLKvwiQL6e0tWH0DmOyauTz3q5b0hOVpjVzR1rmH8=";
+
+  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.6.0" "sha256-zw2mJFQgX9xqjsvldssfMeulgCEY0kqaNg+nUe9PpCc=";
+
+  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.6.0" "sha256-fdZn+f03iIzzkpSCdTh2uUY4WcU1DcyRxozP7SSkGyo=";
+
+  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.6.0" "sha256-KoZKeJPlIWhgifauIOSSLZaSJWn3E0lSNUOhKPfI0Go=";
+
+  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.6.0" "sha256-HT/Kvi15YJLEno70ayEXQLPi9Y6NlRD8134IRJ7gdRY=";
+
+  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.6.0" "sha256-3F1Gpd2kOU1rS7iSyDr0pkRECqYsyeeEQKDH2OO9H/A=";
+
+  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.6.0" "sha256-zUXGqquEveHHDqA8XeJX++Yc42rnyW9Vzt5A7LOImfk=";
+
+  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.6.0" "sha256-FJ9aeZRCY+bhot3cU3qX4EuFAowPCc7kT2D0FGVTpys=";
+
+  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.6.0" "sha256-WsWw1y5XueMQnRTWYQP73GawsSzEsliPzu9Xlij3UAo=";
+
+  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.6.0" "sha256-7wvX7X/NdB+GlWDogT2benTSC7ZCdVv97Zi6r+s5B2E=";
+
+  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.6.0" "sha256-e6TTldFkZXf8A8bV7RKkIl6AD/lCC9elB6mT3WeWEiM=";
+
+  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.6.0" "sha256-HVoia2UZMrjgH6aUQGit+MueUk0qW3KjWKYJy2pHlp0=";
+
+  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.6.0" "sha256-hXju28oSNGlQ0qCwFD+qoyWFpKMbFkGWEXteOVOKiII=";
+
+  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.6.0" "sha256-mo4vH/xsbRf1UViSRu4P2YzI+7LFkkzXsHeZZLdXg+U=";
+
+  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.6.0" "sha256-eU4j+9z++Kgp2TaUX214XGuIXPxCriKu9w+XW8mZp+c=";
+
+  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.6.0" "sha256-HKolI0fcGWye3Xow73qXOJRQ/Wb23ZXWLYyfA94zZT0=";
+
+  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.6.0" "sha256-61iFbkOYLF6y1QUGePVAVEFqGgTmPbLYS7VDbvzmInA=";
+
+  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.6.0" "sha256-pdRp9XjLVLCHeMSMV+NycKNt9kbH93/ZJKbiwNlb+A4=";
+
+  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.6.0" "sha256-3/LXxvsVmKHpZPr1BISTndLFPmF3LF75kihknSt2cMk=";
+
+  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.6.0" "sha256-2EIBP4NhRy+/OeFuPP/SIf1q6BhlKU9CFH7AM+y3558=";
+
+  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.6.0" "sha256-3bVNQSzaMhkpiN1mhS9Lz2EfeEJpkSIcPCKPC6s02Uo=";
+
+  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.6.0" "sha256-Pwmgi4ybpOtLWlY62+QcBHT0iF/6B4Hxbv4CQPA+7/o=";
+
+  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.6.0" "sha256-x+wmTG6jeK8KpSDdhOZkbkRZ7ai7N4xaU4cEmHhO5xA=";
+
+  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.6.0" "sha256-Q/msYeaXs9MxXj6X0p8Gw08/Y4FvvV2xAbEXU6iqi2g=";
+
+  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.6.0" "sha256-UB0y0l2fb58yNJr36WpCeTDETAcdQkYd2ueETFEQSTo=";
+
+  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.6.0" "sha256-ynRq7qRVNgpsP4lp6pbZqTv3zrF5Zu1v+STvv/yPgKw=";
+
+  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.6.0" "sha256-M2tvTKjIg8aEP3KZvrMTCgiJqb6oWL9T5ylkj+Fr184=";
+
+  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.6.0" "sha256-XY9DqNQUjFaumcOd2dvX/kV2sWt67Ni26H5SzCarr2E=";
+
+  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.6.0" "sha256-k1QO54TXJJG5jAvPcoEyZEdEXSmLzHdSPDyF60Zmf78=";
+
+  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.6.0" "sha256-kDxDdLaWlaNLfSCOc5Kho73cbk33FnK9c12PYKhdbFQ=";
+
+  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.6.0" "sha256-Q8EIdCvT0Zjj9udUNpWZzgNClVjNBWTW3V7emhdf+yg=";
+
+  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.6.0" "sha256-tXAQ+tNeZUF1snrB+76Ku+j1Wdslah38s0YMBOINrlo=";
+
+  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.6.0" "sha256-/XJsZV5Yhp5BMSheF9zVf+MSJsH2zUrpnrkSwo+4PfI=";
+
+  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.6.0" "sha256-x6uUO578BIDl1kFdyKXSPnegKLAX3FG4U5rDjsQpVQQ=";
+
+  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.6.0" "sha256-+eHgcPA+egPBR06Mddw0RXuivpiprPMnBhPfCmh0sS4=";
+
+  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.6.0" "sha256-5s0KmOdQyPtcFtb+XkR/zHEiEdZcDwZwldwUy+dvC4s=";
+
+  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.6.0" "sha256-+9wtXNgXQhACa8NYfcjbZcJj0j9PlOavxs+c4NXy0kE=";
+
+  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.6.0" "sha256-tvLfXhaFpdivIBtFYp0G4/QihOMSGXK1nVDFKuMJCto=";
+
+  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.6.0" "sha256-j0ngXkDGIhSh/b1RPn+NY6V2BAUZJdvuT18iALwRkAY=";
+
+  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.6.0" "sha256-Txme0jlgoF9IYywdKqv71kcEqBfF1juTJcagi/2wQ20=";
+
+  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.6.0" "sha256-c6tqmW7i5AXrH2PFyVPCpBkDaiMdTu2fmbHeuc3SzPg=";
+
+  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.6.0" "sha256-qvVYusxMw+ZrMJAKXqk1HzEDYHsvaUthnYMDF6b0xbQ=";
+
+  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.6.0" "sha256-ErqAFQYtKfsNABPm+KpOKm88Mh5MmXou6bqJfsqXdt0=";
+
+  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.6.0" "sha256-vOszu7z/DiZwXrdqoiLUlpLQLNNuRbskI59BBippizI=";
+
+  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.6.0" "sha256-AKP23N3xMzdOti6J7vONDM/cwdqTHYkiM6c/njspSXI=";
+
+  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.6.0" "sha256-PccslOI6F2k50g03j22AYN3xtTsTW3ie4W4pEaT2XwY=";
+
+  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.6.0" "sha256-3e6/IA6QYgGhipt5XP/b4h3soko1tLntMieXOmeWjlI=";
+
+  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.6.0" "sha256-rtJ+idGSdRVZafFNppQgIQUobKzClCKHf4RqlBtppBw=";
+
+  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.6.0" "sha256-AqV8yAUYTT8nc3jQkq0qDzZRKxewsrxIR/kVJiX3fwI=";
+
+  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.6.0" "sha256-N4YntFIEyhhryAaIFY8Gu4Uehw6D/VcTeIlBxx7ej4c=";
+
+  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.6.0" "sha256-DOum/vx6URynxImQN9SRhAr5rFgZdSJMdtAMom5YHe8=";
+
+  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.6.0" "sha256-pZ/h8/1njNNp9+nhpbU/VhGevrZkSrWnhWm3weHAxWQ=";
+
+  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.6.0" "sha256-TOI2FQdO71XT1NESXGrZN+UI6c7CGRmsBbp4ipuQwhg=";
+
+  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.6.0" "sha256-M0IDOMbqGdLl0WSipPirjDn3Fr4AQ06+j3m0Ci3jyBE=";
+
+  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.6.0" "sha256-GYddRqZeBP5f6chzZON9y59KcBiss9eWa8rVGo53C0g=";
+
+  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.6.0" "sha256-6znZQUxNKE7SB6G+9l4iQSP9hZt+plKFA8VkE1scxrU=";
+
+  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.6.0" "sha256-FRJeBjA5dfnnZ586VShmPt0CBgi5+ZYbldOUZIGR2L0=";
+
+  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.6.0" "sha256-lMNUId8z4h/m0FmusvEjYoQj+PUSLaiOREd27vF3qxI=";
+
+  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.6.0" "sha256-8luG3yWj82hmMq5KYjNG58pbiDBMk+D6ykgzqE752T8=";
+
+  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.6.0" "sha256-nXZ7ZrpEOSdXdcuGVMNI7hjx6oisnnej18vALIEEzGQ=";
+
+  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.6.0" "sha256-cjBd3Ns1ckr7DT9gpaeb8CbXOrmwU3gENN5Is5BwrZI=";
+
+  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.6.0" "sha256-GcbI21WVdMmwMcpbBkma4VrLsLVRP24/Uk43+4vE864=";
+
+  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.6.0" "sha256-pW8/wn2Qk1jf1d2kYZ84yEaNUcl6xgHw+yuT0bHnsBE=";
+
+  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.6.0" "sha256-aKO/fGT4UANiYkZOUuOQ4ungKpW8p+yAT5+42WHgp3M=";
+
+  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.6.0" "sha256-jTAe8nMwbXwb+1uf9ITVIKtKyOLIwFH6yi+2IYYVIyU=";
+
+  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.6.0" "sha256-RMIrcFD+1RbA3AcRw3TSjENBzmHQL1zHX7FoOFA+UP0=";
+
+  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.6.0" "sha256-mBwT11n8moLt/j46AayYES6rjVo3Tpa5UWJ4Klb1N0g=";
+
+  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.6.0" "sha256-qYYT1FRpqxtR9LPGMOH+p0+kbeGvfrlIE6rp5Nupioc=";
+
+  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.6.0" "sha256-66kGFeDv4PkKYd4UEL4Feqw5LnygBMGvHqctC4EWnNU=";
+
+  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.6.0" "sha256-TQ7aNPrky6O+xQefuSkHyFN0XJC5u3xMaT0yrjwYv3E=";
+
+  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.6.0" "sha256-55qUjFm6ryLjGAmxGLFkl9dPHXjDWyIINZQRQXe4bnk=";
+
+  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.6.0" "sha256-e8LzXHMfEgkcJKx5a/I//L4/oCz1l7N487wNoTtBP1Y=";
+
+  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.6.0" "sha256-MIp/lGwJah2Jj/2KFfoeW2uQlV1DZbP8TYcdsNvEMU8=";
+
+  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.6.0" "sha256-eyiAFFT5KOtTDT2EZNah1KRdcWw1v1titjHwG3DnRj4=";
+
+  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.6.0" "sha256-g4wAsVc3gqiovsXZtEey4XKmLp/UkIeKD1pEjiey5DE=";
+
+  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.6.0" "sha256-GUcRyWviI+JCG7XTGBQcUljxAdjBzso76d5A3ql5lbA=";
+
+  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.6.0" "sha256-7znJt8gJGnBbTndTPeFOpN6iytOPTJPgvA/tHeYQVoo=";
+
+  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.6.0" "sha256-O3oCXuvREHW7lcwDzbJRogb9Qa2Wfb8C5/rbpjhVm8A=";
+
+  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.6.0" "sha256-mcU7ZGAGzbV7i8H1qMWFI9vm/8APRfmaAncxKBJL+NU=";
+
+  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.6.0" "sha256-uKvgKNZHFZIYsE0hMWjuHN+QzI/eQcCn4HD2C8H+d2I=";
+
+  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.6.0" "sha256-Hnq9JAdPiqfhb/uLQhMk7JWZ8xHko06KqHXh9f6al/8=";
+
+  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.6.0" "sha256-/7Zzo383eWFjEHxZST1QKzTNHunhR8mjSE2uEHUw9IE=";
+
+  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.6.0" "sha256-6sIHmILzIg1aOskXnjbDDzbkygXDwFcnd9mfuuhRFZQ=";
+
+  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.6.0" "sha256-2BnFCPgaAWxBsc+79oQT+DDj6IM7cV7F+LjqsFG6BBc=";
+
+  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.6.0" "sha256-TW57DJw0QgnPrIWlOlAvESYSEPUD/UKbXVs+NYW+7r0=";
+
+  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.6.0" "sha256-cLciwg4d5EZKYquNitl3yD+8eJnemEiF27LcXfxy0Zs=";
+
+  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.6.0" "sha256-dvte4Yjl+a/UqL5v7xJ9626igVjx/ZPdM2SsLGsVdDk=";
+
+  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.6.0" "sha256-36BIOCHnkFyEp3MPa5NfjNJNBeqVMCmx9C907Bw3YWQ=";
+
+  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.6.0" "sha256-DKmk2ddd7b0g6mnt0d37Y1ofb6dgN/6XFBCElqdQ9+A=";
+
+  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.6.0" "sha256-PRzh/JFCHUqXTSAR4IoftxvkRBsVq4XEX7ihC9FzqSI=";
+
+  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.6.0" "sha256-GcDl3LIy+urPEzXINmU4g7xgk8IIIJ6fBFFXhv18eSA=";
+
+  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.6.0" "sha256-5IoQuLh6bh3mlzInR+Aci6yIRCSYJXfbvv49FEs2tPA=";
+
+  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.6.0" "sha256-l0xrQXkDYmB3+RFtwJ70l6GgKeA0z1V107HG8Ddvb8U=";
+
+  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.6.0" "sha256-KLdOmaO6x7AmQInP1RRAf8s5rlpD0PpDHeBnor5gl2A=";
+
+  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.6.0" "sha256-QNjpM0m1PKSQx2f1eNkOeNP7pHN0PfHZlMFVQbGOgGU=";
+
+  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.6.0" "sha256-5g1LUvS324evqH+Rv+pUKlePnE3QqMqpiLCrknxjQX8=";
+
+  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.6.0" "sha256-5NbnrGPo9jTCIxq7ubNX/OuKZOXU0PoSwgTjfuMvnKY=";
+
+  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.6.0" "sha256-AZRsUZpKhzPiHoUcboBeX5zYlVD9kY6F4n6/ifRTpr8=";
+
+  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.6.0" "sha256-WrkKQxXI7eIaX4GimyDyBqDWVjw0eF3jJTA40JScvG0=";
+
+  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.6.0" "sha256-I//ZK5HolYkCfpTCPYhEDALfcn9AYcLk7x7vfRjTDlo=";
+
+  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.6.0" "sha256-Qz+ZXVBSe3kHgGlqQjgxWoQhnguqauxmPKaISQbAG/8=";
+
+  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.6.0" "sha256-Fh35RpHExkL/PeqEnWNR2pJYWERDJzOF9oE3SvIxxQ4=";
+
+  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.6.0" "sha256-Wia4Xc/Kt8j6X5rZ9vvxupr6tCv1XQQQFOwRnugL0lE=";
+
+  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.6.0" "sha256-hDPU7e14iYcpt8dXzjx7PgT4TQloAn2ZYrq6cMtMncc=";
+
+  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.6.0" "sha256-J5QSpJQjhO6T2uGpDstHdEVJTLuTIxilmYmKdtB7u6g=";
+
+  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.6.0" "sha256-NxTwgcrDNOHZ8PReIgfTOGLTl7bL1948NKAyjJ0QYKc=";
+
+  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.6.0" "sha256-fWnCKnG6ikXzDx40HFxlh9DyLVlX9pBB4CMcJxUt+Ps=";
+
+  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.6.0" "sha256-6wkvuRGT91a0Ggxt13amMzjWd6Pj62w4nrvWQNQ0GxI=";
+
+  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.6.0" "sha256-7NkEDcuph8xxjlDjuEiSuhvM5srAeY4QfAKLwFLhCsU=";
+
+  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.6.0" "sha256-pM6yxg0MxTXjSWZ/CLsatlIMx4tO0p9ZKRzOhyJYXWc=";
+
+  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.6.0" "sha256-idc5d/Kvjhd7RkTHuErSoP/f64/Q1+jg0TE3UMiL4pQ=";
+
+  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.6.0" "sha256-3eJaNx/Tzy9XQtHSPGKlkMG7klB2KDgL60knGghWAn8=";
+
+  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.6.0" "sha256-7y8SiLa09lDqnMZtlG0Qw5tvAvQMvTNqMuCpRecOpXc=";
+
+  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.6.0" "sha256-Umq4Slts9RHPJRJCWRAIAizLxB9Clcz8GomLsUr5gNE=";
+
+  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.6.0" "sha256-iRwalkojzQCUiAQcxl8hEYFFbnIxhuaJfrATnK18ltI=";
+
+  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.6.0" "sha256-+4rnAV2Qr29bvWRO6TnSaRZkUVCoefB3SDXc2Ye9kpE=";
+
+  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.6.0" "sha256-CXYfdtO1TdmEz39v2AEeCTJmgiA/EF1gmaBBYGRgYV0=";
+
+  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.6.0" "sha256-x9cBjUe4LC9uSsFpPciZP1QlUEqfNo3xZFKUqPuVV6E=";
+
+  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.6.0" "sha256-Wew0A2xIYOGXzfZf3sBpHnRW/dZD1s6wHveNMwYj1s4=";
+
+  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.6.0" "sha256-vWUMopzR+1095nN6POsHShvCKZIcUwfW11oMOJ9R94c=";
+
+  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.6.0" "sha256-4QpCK14NogeYR9DB877zh760GEXYieiyOgepB9DZd+8=";
+
+  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.6.0" "sha256-bBcMTJOVFq1mJQZtc9M/EMT45Xxxk2DqDgVHfM3qt3A=";
+
+  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.6.0" "sha256-c4Y5kilT50Ips16/YhwduNbm89gB4iLHFv8eN8T4NDM=";
+
+  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.6.0" "sha256-HB1CKe9mkD0+0TdFXmdiphDUqc+4xbwBIXSu0PulBE4=";
+
+  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.6.0" "sha256-59SvnKQ+WpAKUZNYunFywLLah1aBnF0maZrFbALXcIM=";
+
+  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.6.0" "sha256-cgxE6GYG9c4234RAiyFfF22NPHJ29oytOvLpETnjdS4=";
+
+  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.6.0" "sha256-yg4zDBjgSB7JuuS2DXIUe3PFQq9stIfEJSMF1IP2BWI=";
+
+  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.6.0" "sha256-Pnn3CGL5rr3MtzaakjDXmReVKXnyB76IxSnAPnKU45I=";
+
+  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.6.0" "sha256-kxniFLA2e7aDKulF5z1Ap3z6wbE3eY3QVqhK+CVhrcE=";
+
+  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.6.0" "sha256-adKf+AbPmeN57r93T36IewoiLZ+05CbpuS7NxCkQgMw=";
+
+  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.6.0" "sha256-56SIq8Q6B405aqKU8UMddGHyrJeFaVKZSG4ImBWBZLU=";
+
+  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.6.0" "sha256-nAGK0tN42UhDUmpztGeAPRS5FuuTt+LugQmcgkR0oLA=";
+
+  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.6.0" "sha256-p/2uqdRwKgsS2EUCr8ZLds6WHUjVQz8mEv35qcyMTYA=";
+
+  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.6.0" "sha256-EInqI5EqriiI2L/tdQiy3/jY8tnZ6+QOk9PdEyDuSj4=";
+
+  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.6.0" "sha256-cNegCM7a4QlI+NLzIRIoGHYzQqbFkNRKqDKLOqE3OUY=";
+
+  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.6.0" "sha256-hMPU0wmTi0BQ+AWo4T6DIOl6FrAQbzdal8rcPoY3wP0=";
+
+  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.6.0" "sha256-W/kHZMLFQ7kv8i/3urxbjdXc7RorMyy5joJNtFPAhVU=";
+
+  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.6.0" "sha256-Mc3h0CSmJRoV+ncwhtd4Tu5LSoasWqK8V9hXK5+XYfs=";
+
+  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.6.0" "sha256-xtsxrIzhjJSoGqd1fEgXP55bRtDsJTtdoWn8eooHCmY=";
+
+  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.6.0" "sha256-J3lsLnwcttamV4NroDuXz9EupXrsoN/SumKrykQkwVU=";
+
+  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.6.0" "sha256-DPirH1s636ZW6VKyD4wMiJEfM+u9NknH0ODLQagaLrs=";
+}
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
new file mode 100644
index 0000000000000..638a00c60903a
--- /dev/null
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -0,0 +1,1824 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, wheel
+, botocore-stubs
+, typing-extensions
+, types-aiobotocore-accessanalyzer
+, types-aiobotocore-account
+, types-aiobotocore-acm
+, types-aiobotocore-acm-pca
+, aiobotocore
+, botocore
+, types-aiobotocore-alexaforbusiness
+, types-aiobotocore-amp
+, types-aiobotocore-amplify
+, types-aiobotocore-amplifybackend
+, types-aiobotocore-amplifyuibuilder
+, types-aiobotocore-apigateway
+, types-aiobotocore-apigatewaymanagementapi
+, types-aiobotocore-apigatewayv2
+, types-aiobotocore-appconfig
+, types-aiobotocore-appconfigdata
+, types-aiobotocore-appfabric
+, types-aiobotocore-appflow
+, types-aiobotocore-appintegrations
+, types-aiobotocore-application-autoscaling
+, types-aiobotocore-application-insights
+, types-aiobotocore-applicationcostprofiler
+, types-aiobotocore-appmesh
+, types-aiobotocore-apprunner
+, types-aiobotocore-appstream
+, types-aiobotocore-appsync
+, types-aiobotocore-arc-zonal-shift
+, types-aiobotocore-athena
+, types-aiobotocore-auditmanager
+, types-aiobotocore-autoscaling
+, types-aiobotocore-autoscaling-plans
+, types-aiobotocore-backup
+, types-aiobotocore-backup-gateway
+, types-aiobotocore-backupstorage
+, types-aiobotocore-batch
+, types-aiobotocore-billingconductor
+, types-aiobotocore-braket
+, types-aiobotocore-budgets
+, types-aiobotocore-ce
+, types-aiobotocore-chime
+, types-aiobotocore-chime-sdk-identity
+, types-aiobotocore-chime-sdk-media-pipelines
+, types-aiobotocore-chime-sdk-meetings
+, types-aiobotocore-chime-sdk-messaging
+, types-aiobotocore-chime-sdk-voice
+, types-aiobotocore-cleanrooms
+, types-aiobotocore-cloud9
+, types-aiobotocore-cloudcontrol
+, types-aiobotocore-clouddirectory
+, types-aiobotocore-cloudformation
+, types-aiobotocore-cloudfront
+, types-aiobotocore-cloudhsm
+, types-aiobotocore-cloudhsmv2
+, types-aiobotocore-cloudsearch
+, types-aiobotocore-cloudsearchdomain
+, types-aiobotocore-cloudtrail
+, types-aiobotocore-cloudtrail-data
+, types-aiobotocore-cloudwatch
+, types-aiobotocore-codeartifact
+, types-aiobotocore-codebuild
+, types-aiobotocore-codecatalyst
+, types-aiobotocore-codecommit
+, types-aiobotocore-codedeploy
+, types-aiobotocore-codeguru-reviewer
+, types-aiobotocore-codeguru-security
+, types-aiobotocore-codeguruprofiler
+, types-aiobotocore-codepipeline
+, types-aiobotocore-codestar
+, types-aiobotocore-codestar-connections
+, types-aiobotocore-codestar-notifications
+, types-aiobotocore-cognito-identity
+, types-aiobotocore-cognito-idp
+, types-aiobotocore-cognito-sync
+, types-aiobotocore-comprehend
+, types-aiobotocore-comprehendmedical
+, types-aiobotocore-compute-optimizer
+, types-aiobotocore-config
+, types-aiobotocore-connect
+, types-aiobotocore-connect-contact-lens
+, types-aiobotocore-connectcampaigns
+, types-aiobotocore-connectcases
+, types-aiobotocore-connectparticipant
+, types-aiobotocore-controltower
+, types-aiobotocore-cur
+, types-aiobotocore-customer-profiles
+, types-aiobotocore-databrew
+, types-aiobotocore-dataexchange
+, types-aiobotocore-datapipeline
+, types-aiobotocore-datasync
+, types-aiobotocore-dax
+, types-aiobotocore-detective
+, types-aiobotocore-devicefarm
+, types-aiobotocore-devops-guru
+, types-aiobotocore-directconnect
+, types-aiobotocore-discovery
+, types-aiobotocore-dlm
+, types-aiobotocore-dms
+, types-aiobotocore-docdb
+, types-aiobotocore-docdb-elastic
+, types-aiobotocore-drs
+, types-aiobotocore-ds
+, types-aiobotocore-dynamodb
+, types-aiobotocore-dynamodbstreams
+, types-aiobotocore-ebs
+, types-aiobotocore-ec2
+, types-aiobotocore-ec2-instance-connect
+, types-aiobotocore-ecr
+, types-aiobotocore-ecr-public
+, types-aiobotocore-ecs
+, types-aiobotocore-efs
+, types-aiobotocore-eks
+, types-aiobotocore-elastic-inference
+, types-aiobotocore-elasticache
+, types-aiobotocore-elasticbeanstalk
+, types-aiobotocore-elastictranscoder
+, types-aiobotocore-elb
+, types-aiobotocore-elbv2
+, types-aiobotocore-emr
+, types-aiobotocore-emr-containers
+, types-aiobotocore-emr-serverless
+, types-aiobotocore-entityresolution
+, types-aiobotocore-es
+, types-aiobotocore-events
+, types-aiobotocore-evidently
+, types-aiobotocore-finspace
+, types-aiobotocore-finspace-data
+, types-aiobotocore-firehose
+, types-aiobotocore-fis
+, types-aiobotocore-fms
+, types-aiobotocore-forecast
+, types-aiobotocore-forecastquery
+, types-aiobotocore-frauddetector
+, types-aiobotocore-fsx
+, types-aiobotocore-gamelift
+, types-aiobotocore-gamesparks
+, types-aiobotocore-glacier
+, types-aiobotocore-globalaccelerator
+, types-aiobotocore-glue
+, types-aiobotocore-grafana
+, types-aiobotocore-greengrass
+, types-aiobotocore-greengrassv2
+, types-aiobotocore-groundstation
+, types-aiobotocore-guardduty
+, types-aiobotocore-health
+, types-aiobotocore-healthlake
+, types-aiobotocore-honeycode
+, types-aiobotocore-iam
+, types-aiobotocore-identitystore
+, types-aiobotocore-imagebuilder
+, types-aiobotocore-importexport
+, types-aiobotocore-inspector
+, types-aiobotocore-inspector2
+, types-aiobotocore-internetmonitor
+, types-aiobotocore-iot
+, types-aiobotocore-iot-data
+, types-aiobotocore-iot-jobs-data
+, types-aiobotocore-iot-roborunner
+, types-aiobotocore-iot1click-devices
+, types-aiobotocore-iot1click-projects
+, types-aiobotocore-iotanalytics
+, types-aiobotocore-iotdeviceadvisor
+, types-aiobotocore-iotevents
+, types-aiobotocore-iotevents-data
+, types-aiobotocore-iotfleethub
+, types-aiobotocore-iotfleetwise
+, types-aiobotocore-iotsecuretunneling
+, types-aiobotocore-iotsitewise
+, types-aiobotocore-iotthingsgraph
+, types-aiobotocore-iottwinmaker
+, types-aiobotocore-iotwireless
+, types-aiobotocore-ivs
+, types-aiobotocore-ivs-realtime
+, types-aiobotocore-ivschat
+, types-aiobotocore-kafka
+, types-aiobotocore-kafkaconnect
+, types-aiobotocore-kendra
+, types-aiobotocore-kendra-ranking
+, types-aiobotocore-keyspaces
+, types-aiobotocore-kinesis
+, types-aiobotocore-kinesis-video-archived-media
+, types-aiobotocore-kinesis-video-media
+, types-aiobotocore-kinesis-video-signaling
+, types-aiobotocore-kinesis-video-webrtc-storage
+, types-aiobotocore-kinesisanalytics
+, types-aiobotocore-kinesisanalyticsv2
+, types-aiobotocore-kinesisvideo
+, types-aiobotocore-kms
+, types-aiobotocore-lakeformation
+, types-aiobotocore-lambda
+, types-aiobotocore-lex-models
+, types-aiobotocore-lex-runtime
+, types-aiobotocore-lexv2-models
+, types-aiobotocore-lexv2-runtime
+, types-aiobotocore-license-manager
+, types-aiobotocore-license-manager-linux-subscriptions
+, types-aiobotocore-license-manager-user-subscriptions
+, types-aiobotocore-lightsail
+, types-aiobotocore-location
+, types-aiobotocore-logs
+, types-aiobotocore-lookoutequipment
+, types-aiobotocore-lookoutmetrics
+, types-aiobotocore-lookoutvision
+, types-aiobotocore-m2
+, types-aiobotocore-machinelearning
+, types-aiobotocore-macie
+, types-aiobotocore-macie2
+, types-aiobotocore-managedblockchain
+, types-aiobotocore-managedblockchain-query
+, types-aiobotocore-marketplace-catalog
+, types-aiobotocore-marketplace-entitlement
+, types-aiobotocore-marketplacecommerceanalytics
+, types-aiobotocore-mediaconnect
+, types-aiobotocore-mediaconvert
+, types-aiobotocore-medialive
+, types-aiobotocore-mediapackage
+, types-aiobotocore-mediapackage-vod
+, types-aiobotocore-mediapackagev2
+, types-aiobotocore-mediastore
+, types-aiobotocore-mediastore-data
+, types-aiobotocore-mediatailor
+, types-aiobotocore-medical-imaging
+, types-aiobotocore-memorydb
+, types-aiobotocore-meteringmarketplace
+, types-aiobotocore-mgh
+, types-aiobotocore-mgn
+, types-aiobotocore-migration-hub-refactor-spaces
+, types-aiobotocore-migrationhub-config
+, types-aiobotocore-migrationhuborchestrator
+, types-aiobotocore-migrationhubstrategy
+, types-aiobotocore-mobile
+, types-aiobotocore-mq
+, types-aiobotocore-mturk
+, types-aiobotocore-mwaa
+, types-aiobotocore-neptune
+, types-aiobotocore-network-firewall
+, types-aiobotocore-networkmanager
+, types-aiobotocore-nimble
+, types-aiobotocore-oam
+, types-aiobotocore-omics
+, types-aiobotocore-opensearch
+, types-aiobotocore-opensearchserverless
+, types-aiobotocore-opsworks
+, types-aiobotocore-opsworkscm
+, types-aiobotocore-organizations
+, types-aiobotocore-osis
+, types-aiobotocore-outposts
+, types-aiobotocore-panorama
+, types-aiobotocore-payment-cryptography
+, types-aiobotocore-payment-cryptography-data
+, types-aiobotocore-personalize
+, types-aiobotocore-personalize-events
+, types-aiobotocore-personalize-runtime
+, types-aiobotocore-pi
+, types-aiobotocore-pinpoint
+, types-aiobotocore-pinpoint-email
+, types-aiobotocore-pinpoint-sms-voice
+, types-aiobotocore-pinpoint-sms-voice-v2
+, types-aiobotocore-pipes
+, types-aiobotocore-polly
+, types-aiobotocore-pricing
+, types-aiobotocore-privatenetworks
+, types-aiobotocore-proton
+, types-aiobotocore-qldb
+, types-aiobotocore-qldb-session
+, types-aiobotocore-quicksight
+, types-aiobotocore-ram
+, types-aiobotocore-rbin
+, types-aiobotocore-rds
+, types-aiobotocore-rds-data
+, types-aiobotocore-redshift
+, types-aiobotocore-redshift-data
+, types-aiobotocore-redshift-serverless
+, types-aiobotocore-rekognition
+, types-aiobotocore-resiliencehub
+, types-aiobotocore-resource-explorer-2
+, types-aiobotocore-resource-groups
+, types-aiobotocore-resourcegroupstaggingapi
+, types-aiobotocore-robomaker
+, types-aiobotocore-rolesanywhere
+, types-aiobotocore-route53
+, types-aiobotocore-route53-recovery-cluster
+, types-aiobotocore-route53-recovery-control-config
+, types-aiobotocore-route53-recovery-readiness
+, types-aiobotocore-route53domains
+, types-aiobotocore-route53resolver
+, types-aiobotocore-rum
+, types-aiobotocore-s3
+, types-aiobotocore-s3control
+, types-aiobotocore-s3outposts
+, types-aiobotocore-sagemaker
+, types-aiobotocore-sagemaker-a2i-runtime
+, types-aiobotocore-sagemaker-edge
+, types-aiobotocore-sagemaker-featurestore-runtime
+, types-aiobotocore-sagemaker-geospatial
+, types-aiobotocore-sagemaker-metrics
+, types-aiobotocore-sagemaker-runtime
+, types-aiobotocore-savingsplans
+, types-aiobotocore-scheduler
+, types-aiobotocore-schemas
+, types-aiobotocore-sdb
+, types-aiobotocore-secretsmanager
+, types-aiobotocore-securityhub
+, types-aiobotocore-securitylake
+, types-aiobotocore-serverlessrepo
+, types-aiobotocore-service-quotas
+, types-aiobotocore-servicecatalog
+, types-aiobotocore-servicecatalog-appregistry
+, types-aiobotocore-servicediscovery
+, types-aiobotocore-ses
+, types-aiobotocore-sesv2
+, types-aiobotocore-shield
+, types-aiobotocore-signer
+, types-aiobotocore-simspaceweaver
+, types-aiobotocore-sms
+, types-aiobotocore-sms-voice
+, types-aiobotocore-snow-device-management
+, types-aiobotocore-snowball
+, types-aiobotocore-sns
+, types-aiobotocore-sqs
+, types-aiobotocore-ssm
+, types-aiobotocore-ssm-contacts
+, types-aiobotocore-ssm-incidents
+, types-aiobotocore-ssm-sap
+, types-aiobotocore-sso
+, types-aiobotocore-sso-admin
+, types-aiobotocore-sso-oidc
+, types-aiobotocore-stepfunctions
+, types-aiobotocore-storagegateway
+, types-aiobotocore-sts
+, types-aiobotocore-support
+, types-aiobotocore-support-app
+, types-aiobotocore-swf
+, types-aiobotocore-synthetics
+, types-aiobotocore-textract
+, types-aiobotocore-timestream-query
+, types-aiobotocore-timestream-write
+, types-aiobotocore-tnb
+, types-aiobotocore-transcribe
+, types-aiobotocore-transfer
+, types-aiobotocore-translate
+, types-aiobotocore-verifiedpermissions
+, types-aiobotocore-voice-id
+, types-aiobotocore-vpc-lattice
+, types-aiobotocore-waf
+, types-aiobotocore-waf-regional
+, types-aiobotocore-wafv2
+, types-aiobotocore-wellarchitected
+, types-aiobotocore-wisdom
+, types-aiobotocore-workdocs
+, types-aiobotocore-worklink
+, types-aiobotocore-workmail
+, types-aiobotocore-workmailmessageflow
+, types-aiobotocore-workspaces
+, types-aiobotocore-workspaces-web
+, types-aiobotocore-xray
+}:
+
+buildPythonPackage rec {
+  pname = "types-aiobotocore";
+  version = "2.6.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-GF3YDuyhnEx0JpOxU/tRAnFu+98p0TF5NCU1CXnR2bE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    botocore-stubs
+    typing-extensions
+  ];
+
+  passthru.optional-dependencies = {
+    accessanalyzer = [
+      types-aiobotocore-accessanalyzer
+    ];
+    account = [
+      types-aiobotocore-account
+    ];
+    acm = [
+      types-aiobotocore-acm
+    ];
+    acm-pca = [
+      types-aiobotocore-acm-pca
+    ];
+    aiobotocore = [
+      aiobotocore
+      botocore
+    ];
+    alexaforbusiness = [
+      types-aiobotocore-alexaforbusiness
+    ];
+    all = [
+      types-aiobotocore-accessanalyzer
+      types-aiobotocore-account
+      types-aiobotocore-acm
+      types-aiobotocore-acm-pca
+      types-aiobotocore-alexaforbusiness
+      types-aiobotocore-amp
+      types-aiobotocore-amplify
+      types-aiobotocore-amplifybackend
+      types-aiobotocore-amplifyuibuilder
+      types-aiobotocore-apigateway
+      types-aiobotocore-apigatewaymanagementapi
+      types-aiobotocore-apigatewayv2
+      types-aiobotocore-appconfig
+      types-aiobotocore-appconfigdata
+      types-aiobotocore-appfabric
+      types-aiobotocore-appflow
+      types-aiobotocore-appintegrations
+      types-aiobotocore-application-autoscaling
+      types-aiobotocore-application-insights
+      types-aiobotocore-applicationcostprofiler
+      types-aiobotocore-appmesh
+      types-aiobotocore-apprunner
+      types-aiobotocore-appstream
+      types-aiobotocore-appsync
+      types-aiobotocore-arc-zonal-shift
+      types-aiobotocore-athena
+      types-aiobotocore-auditmanager
+      types-aiobotocore-autoscaling
+      types-aiobotocore-autoscaling-plans
+      types-aiobotocore-backup
+      types-aiobotocore-backup-gateway
+      types-aiobotocore-backupstorage
+      types-aiobotocore-batch
+      types-aiobotocore-billingconductor
+      types-aiobotocore-braket
+      types-aiobotocore-budgets
+      types-aiobotocore-ce
+      types-aiobotocore-chime
+      types-aiobotocore-chime-sdk-identity
+      types-aiobotocore-chime-sdk-media-pipelines
+      types-aiobotocore-chime-sdk-meetings
+      types-aiobotocore-chime-sdk-messaging
+      types-aiobotocore-chime-sdk-voice
+      types-aiobotocore-cleanrooms
+      types-aiobotocore-cloud9
+      types-aiobotocore-cloudcontrol
+      types-aiobotocore-clouddirectory
+      types-aiobotocore-cloudformation
+      types-aiobotocore-cloudfront
+      types-aiobotocore-cloudhsm
+      types-aiobotocore-cloudhsmv2
+      types-aiobotocore-cloudsearch
+      types-aiobotocore-cloudsearchdomain
+      types-aiobotocore-cloudtrail
+      types-aiobotocore-cloudtrail-data
+      types-aiobotocore-cloudwatch
+      types-aiobotocore-codeartifact
+      types-aiobotocore-codebuild
+      types-aiobotocore-codecatalyst
+      types-aiobotocore-codecommit
+      types-aiobotocore-codedeploy
+      types-aiobotocore-codeguru-reviewer
+      types-aiobotocore-codeguru-security
+      types-aiobotocore-codeguruprofiler
+      types-aiobotocore-codepipeline
+      types-aiobotocore-codestar
+      types-aiobotocore-codestar-connections
+      types-aiobotocore-codestar-notifications
+      types-aiobotocore-cognito-identity
+      types-aiobotocore-cognito-idp
+      types-aiobotocore-cognito-sync
+      types-aiobotocore-comprehend
+      types-aiobotocore-comprehendmedical
+      types-aiobotocore-compute-optimizer
+      types-aiobotocore-config
+      types-aiobotocore-connect
+      types-aiobotocore-connect-contact-lens
+      types-aiobotocore-connectcampaigns
+      types-aiobotocore-connectcases
+      types-aiobotocore-connectparticipant
+      types-aiobotocore-controltower
+      types-aiobotocore-cur
+      types-aiobotocore-customer-profiles
+      types-aiobotocore-databrew
+      types-aiobotocore-dataexchange
+      types-aiobotocore-datapipeline
+      types-aiobotocore-datasync
+      types-aiobotocore-dax
+      types-aiobotocore-detective
+      types-aiobotocore-devicefarm
+      types-aiobotocore-devops-guru
+      types-aiobotocore-directconnect
+      types-aiobotocore-discovery
+      types-aiobotocore-dlm
+      types-aiobotocore-dms
+      types-aiobotocore-docdb
+      types-aiobotocore-docdb-elastic
+      types-aiobotocore-drs
+      types-aiobotocore-ds
+      types-aiobotocore-dynamodb
+      types-aiobotocore-dynamodbstreams
+      types-aiobotocore-ebs
+      types-aiobotocore-ec2
+      types-aiobotocore-ec2-instance-connect
+      types-aiobotocore-ecr
+      types-aiobotocore-ecr-public
+      types-aiobotocore-ecs
+      types-aiobotocore-efs
+      types-aiobotocore-eks
+      types-aiobotocore-elastic-inference
+      types-aiobotocore-elasticache
+      types-aiobotocore-elasticbeanstalk
+      types-aiobotocore-elastictranscoder
+      types-aiobotocore-elb
+      types-aiobotocore-elbv2
+      types-aiobotocore-emr
+      types-aiobotocore-emr-containers
+      types-aiobotocore-emr-serverless
+      types-aiobotocore-entityresolution
+      types-aiobotocore-es
+      types-aiobotocore-events
+      types-aiobotocore-evidently
+      types-aiobotocore-finspace
+      types-aiobotocore-finspace-data
+      types-aiobotocore-firehose
+      types-aiobotocore-fis
+      types-aiobotocore-fms
+      types-aiobotocore-forecast
+      types-aiobotocore-forecastquery
+      types-aiobotocore-frauddetector
+      types-aiobotocore-fsx
+      types-aiobotocore-gamelift
+      types-aiobotocore-gamesparks
+      types-aiobotocore-glacier
+      types-aiobotocore-globalaccelerator
+      types-aiobotocore-glue
+      types-aiobotocore-grafana
+      types-aiobotocore-greengrass
+      types-aiobotocore-greengrassv2
+      types-aiobotocore-groundstation
+      types-aiobotocore-guardduty
+      types-aiobotocore-health
+      types-aiobotocore-healthlake
+      types-aiobotocore-honeycode
+      types-aiobotocore-iam
+      types-aiobotocore-identitystore
+      types-aiobotocore-imagebuilder
+      types-aiobotocore-importexport
+      types-aiobotocore-inspector
+      types-aiobotocore-inspector2
+      types-aiobotocore-internetmonitor
+      types-aiobotocore-iot
+      types-aiobotocore-iot-data
+      types-aiobotocore-iot-jobs-data
+      types-aiobotocore-iot-roborunner
+      types-aiobotocore-iot1click-devices
+      types-aiobotocore-iot1click-projects
+      types-aiobotocore-iotanalytics
+      types-aiobotocore-iotdeviceadvisor
+      types-aiobotocore-iotevents
+      types-aiobotocore-iotevents-data
+      types-aiobotocore-iotfleethub
+      types-aiobotocore-iotfleetwise
+      types-aiobotocore-iotsecuretunneling
+      types-aiobotocore-iotsitewise
+      types-aiobotocore-iotthingsgraph
+      types-aiobotocore-iottwinmaker
+      types-aiobotocore-iotwireless
+      types-aiobotocore-ivs
+      types-aiobotocore-ivs-realtime
+      types-aiobotocore-ivschat
+      types-aiobotocore-kafka
+      types-aiobotocore-kafkaconnect
+      types-aiobotocore-kendra
+      types-aiobotocore-kendra-ranking
+      types-aiobotocore-keyspaces
+      types-aiobotocore-kinesis
+      types-aiobotocore-kinesis-video-archived-media
+      types-aiobotocore-kinesis-video-media
+      types-aiobotocore-kinesis-video-signaling
+      types-aiobotocore-kinesis-video-webrtc-storage
+      types-aiobotocore-kinesisanalytics
+      types-aiobotocore-kinesisanalyticsv2
+      types-aiobotocore-kinesisvideo
+      types-aiobotocore-kms
+      types-aiobotocore-lakeformation
+      types-aiobotocore-lambda
+      types-aiobotocore-lex-models
+      types-aiobotocore-lex-runtime
+      types-aiobotocore-lexv2-models
+      types-aiobotocore-lexv2-runtime
+      types-aiobotocore-license-manager
+      types-aiobotocore-license-manager-linux-subscriptions
+      types-aiobotocore-license-manager-user-subscriptions
+      types-aiobotocore-lightsail
+      types-aiobotocore-location
+      types-aiobotocore-logs
+      types-aiobotocore-lookoutequipment
+      types-aiobotocore-lookoutmetrics
+      types-aiobotocore-lookoutvision
+      types-aiobotocore-m2
+      types-aiobotocore-machinelearning
+      types-aiobotocore-macie
+      types-aiobotocore-macie2
+      types-aiobotocore-managedblockchain
+      types-aiobotocore-managedblockchain-query
+      types-aiobotocore-marketplace-catalog
+      types-aiobotocore-marketplace-entitlement
+      types-aiobotocore-marketplacecommerceanalytics
+      types-aiobotocore-mediaconnect
+      types-aiobotocore-mediaconvert
+      types-aiobotocore-medialive
+      types-aiobotocore-mediapackage
+      types-aiobotocore-mediapackage-vod
+      types-aiobotocore-mediapackagev2
+      types-aiobotocore-mediastore
+      types-aiobotocore-mediastore-data
+      types-aiobotocore-mediatailor
+      types-aiobotocore-medical-imaging
+      types-aiobotocore-memorydb
+      types-aiobotocore-meteringmarketplace
+      types-aiobotocore-mgh
+      types-aiobotocore-mgn
+      types-aiobotocore-migration-hub-refactor-spaces
+      types-aiobotocore-migrationhub-config
+      types-aiobotocore-migrationhuborchestrator
+      types-aiobotocore-migrationhubstrategy
+      types-aiobotocore-mobile
+      types-aiobotocore-mq
+      types-aiobotocore-mturk
+      types-aiobotocore-mwaa
+      types-aiobotocore-neptune
+      types-aiobotocore-network-firewall
+      types-aiobotocore-networkmanager
+      types-aiobotocore-nimble
+      types-aiobotocore-oam
+      types-aiobotocore-omics
+      types-aiobotocore-opensearch
+      types-aiobotocore-opensearchserverless
+      types-aiobotocore-opsworks
+      types-aiobotocore-opsworkscm
+      types-aiobotocore-organizations
+      types-aiobotocore-osis
+      types-aiobotocore-outposts
+      types-aiobotocore-panorama
+      types-aiobotocore-payment-cryptography
+      types-aiobotocore-payment-cryptography-data
+      types-aiobotocore-personalize
+      types-aiobotocore-personalize-events
+      types-aiobotocore-personalize-runtime
+      types-aiobotocore-pi
+      types-aiobotocore-pinpoint
+      types-aiobotocore-pinpoint-email
+      types-aiobotocore-pinpoint-sms-voice
+      types-aiobotocore-pinpoint-sms-voice-v2
+      types-aiobotocore-pipes
+      types-aiobotocore-polly
+      types-aiobotocore-pricing
+      types-aiobotocore-privatenetworks
+      types-aiobotocore-proton
+      types-aiobotocore-qldb
+      types-aiobotocore-qldb-session
+      types-aiobotocore-quicksight
+      types-aiobotocore-ram
+      types-aiobotocore-rbin
+      types-aiobotocore-rds
+      types-aiobotocore-rds-data
+      types-aiobotocore-redshift
+      types-aiobotocore-redshift-data
+      types-aiobotocore-redshift-serverless
+      types-aiobotocore-rekognition
+      types-aiobotocore-resiliencehub
+      types-aiobotocore-resource-explorer-2
+      types-aiobotocore-resource-groups
+      types-aiobotocore-resourcegroupstaggingapi
+      types-aiobotocore-robomaker
+      types-aiobotocore-rolesanywhere
+      types-aiobotocore-route53
+      types-aiobotocore-route53-recovery-cluster
+      types-aiobotocore-route53-recovery-control-config
+      types-aiobotocore-route53-recovery-readiness
+      types-aiobotocore-route53domains
+      types-aiobotocore-route53resolver
+      types-aiobotocore-rum
+      types-aiobotocore-s3
+      types-aiobotocore-s3control
+      types-aiobotocore-s3outposts
+      types-aiobotocore-sagemaker
+      types-aiobotocore-sagemaker-a2i-runtime
+      types-aiobotocore-sagemaker-edge
+      types-aiobotocore-sagemaker-featurestore-runtime
+      types-aiobotocore-sagemaker-geospatial
+      types-aiobotocore-sagemaker-metrics
+      types-aiobotocore-sagemaker-runtime
+      types-aiobotocore-savingsplans
+      types-aiobotocore-scheduler
+      types-aiobotocore-schemas
+      types-aiobotocore-sdb
+      types-aiobotocore-secretsmanager
+      types-aiobotocore-securityhub
+      types-aiobotocore-securitylake
+      types-aiobotocore-serverlessrepo
+      types-aiobotocore-service-quotas
+      types-aiobotocore-servicecatalog
+      types-aiobotocore-servicecatalog-appregistry
+      types-aiobotocore-servicediscovery
+      types-aiobotocore-ses
+      types-aiobotocore-sesv2
+      types-aiobotocore-shield
+      types-aiobotocore-signer
+      types-aiobotocore-simspaceweaver
+      types-aiobotocore-sms
+      types-aiobotocore-sms-voice
+      types-aiobotocore-snow-device-management
+      types-aiobotocore-snowball
+      types-aiobotocore-sns
+      types-aiobotocore-sqs
+      types-aiobotocore-ssm
+      types-aiobotocore-ssm-contacts
+      types-aiobotocore-ssm-incidents
+      types-aiobotocore-ssm-sap
+      types-aiobotocore-sso
+      types-aiobotocore-sso-admin
+      types-aiobotocore-sso-oidc
+      types-aiobotocore-stepfunctions
+      types-aiobotocore-storagegateway
+      types-aiobotocore-sts
+      types-aiobotocore-support
+      types-aiobotocore-support-app
+      types-aiobotocore-swf
+      types-aiobotocore-synthetics
+      types-aiobotocore-textract
+      types-aiobotocore-timestream-query
+      types-aiobotocore-timestream-write
+      types-aiobotocore-tnb
+      types-aiobotocore-transcribe
+      types-aiobotocore-transfer
+      types-aiobotocore-translate
+      types-aiobotocore-verifiedpermissions
+      types-aiobotocore-voice-id
+      types-aiobotocore-vpc-lattice
+      types-aiobotocore-waf
+      types-aiobotocore-waf-regional
+      types-aiobotocore-wafv2
+      types-aiobotocore-wellarchitected
+      types-aiobotocore-wisdom
+      types-aiobotocore-workdocs
+      types-aiobotocore-worklink
+      types-aiobotocore-workmail
+      types-aiobotocore-workmailmessageflow
+      types-aiobotocore-workspaces
+      types-aiobotocore-workspaces-web
+      types-aiobotocore-xray
+    ];
+    amp = [
+      types-aiobotocore-amp
+    ];
+    amplify = [
+      types-aiobotocore-amplify
+    ];
+    amplifybackend = [
+      types-aiobotocore-amplifybackend
+    ];
+    amplifyuibuilder = [
+      types-aiobotocore-amplifyuibuilder
+    ];
+    apigateway = [
+      types-aiobotocore-apigateway
+    ];
+    apigatewaymanagementapi = [
+      types-aiobotocore-apigatewaymanagementapi
+    ];
+    apigatewayv2 = [
+      types-aiobotocore-apigatewayv2
+    ];
+    appconfig = [
+      types-aiobotocore-appconfig
+    ];
+    appconfigdata = [
+      types-aiobotocore-appconfigdata
+    ];
+    appfabric = [
+      types-aiobotocore-appfabric
+    ];
+    appflow = [
+      types-aiobotocore-appflow
+    ];
+    appintegrations = [
+      types-aiobotocore-appintegrations
+    ];
+    application-autoscaling = [
+      types-aiobotocore-application-autoscaling
+    ];
+    application-insights = [
+      types-aiobotocore-application-insights
+    ];
+    applicationcostprofiler = [
+      types-aiobotocore-applicationcostprofiler
+    ];
+    appmesh = [
+      types-aiobotocore-appmesh
+    ];
+    apprunner = [
+      types-aiobotocore-apprunner
+    ];
+    appstream = [
+      types-aiobotocore-appstream
+    ];
+    appsync = [
+      types-aiobotocore-appsync
+    ];
+    arc-zonal-shift = [
+      types-aiobotocore-arc-zonal-shift
+    ];
+    athena = [
+      types-aiobotocore-athena
+    ];
+    auditmanager = [
+      types-aiobotocore-auditmanager
+    ];
+    autoscaling = [
+      types-aiobotocore-autoscaling
+    ];
+    autoscaling-plans = [
+      types-aiobotocore-autoscaling-plans
+    ];
+    backup = [
+      types-aiobotocore-backup
+    ];
+    backup-gateway = [
+      types-aiobotocore-backup-gateway
+    ];
+    backupstorage = [
+      types-aiobotocore-backupstorage
+    ];
+    batch = [
+      types-aiobotocore-batch
+    ];
+    billingconductor = [
+      types-aiobotocore-billingconductor
+    ];
+    braket = [
+      types-aiobotocore-braket
+    ];
+    budgets = [
+      types-aiobotocore-budgets
+    ];
+    ce = [
+      types-aiobotocore-ce
+    ];
+    chime = [
+      types-aiobotocore-chime
+    ];
+    chime-sdk-identity = [
+      types-aiobotocore-chime-sdk-identity
+    ];
+    chime-sdk-media-pipelines = [
+      types-aiobotocore-chime-sdk-media-pipelines
+    ];
+    chime-sdk-meetings = [
+      types-aiobotocore-chime-sdk-meetings
+    ];
+    chime-sdk-messaging = [
+      types-aiobotocore-chime-sdk-messaging
+    ];
+    chime-sdk-voice = [
+      types-aiobotocore-chime-sdk-voice
+    ];
+    cleanrooms = [
+      types-aiobotocore-cleanrooms
+    ];
+    cloud9 = [
+      types-aiobotocore-cloud9
+    ];
+    cloudcontrol = [
+      types-aiobotocore-cloudcontrol
+    ];
+    clouddirectory = [
+      types-aiobotocore-clouddirectory
+    ];
+    cloudformation = [
+      types-aiobotocore-cloudformation
+    ];
+    cloudfront = [
+      types-aiobotocore-cloudfront
+    ];
+    cloudhsm = [
+      types-aiobotocore-cloudhsm
+    ];
+    cloudhsmv2 = [
+      types-aiobotocore-cloudhsmv2
+    ];
+    cloudsearch = [
+      types-aiobotocore-cloudsearch
+    ];
+    cloudsearchdomain = [
+      types-aiobotocore-cloudsearchdomain
+    ];
+    cloudtrail = [
+      types-aiobotocore-cloudtrail
+    ];
+    cloudtrail-data = [
+      types-aiobotocore-cloudtrail-data
+    ];
+    cloudwatch = [
+      types-aiobotocore-cloudwatch
+    ];
+    codeartifact = [
+      types-aiobotocore-codeartifact
+    ];
+    codebuild = [
+      types-aiobotocore-codebuild
+    ];
+    codecatalyst = [
+      types-aiobotocore-codecatalyst
+    ];
+    codecommit = [
+      types-aiobotocore-codecommit
+    ];
+    codedeploy = [
+      types-aiobotocore-codedeploy
+    ];
+    codeguru-reviewer = [
+      types-aiobotocore-codeguru-reviewer
+    ];
+    codeguru-security = [
+      types-aiobotocore-codeguru-security
+    ];
+    codeguruprofiler = [
+      types-aiobotocore-codeguruprofiler
+    ];
+    codepipeline = [
+      types-aiobotocore-codepipeline
+    ];
+    codestar = [
+      types-aiobotocore-codestar
+    ];
+    codestar-connections = [
+      types-aiobotocore-codestar-connections
+    ];
+    codestar-notifications = [
+      types-aiobotocore-codestar-notifications
+    ];
+    cognito-identity = [
+      types-aiobotocore-cognito-identity
+    ];
+    cognito-idp = [
+      types-aiobotocore-cognito-idp
+    ];
+    cognito-sync = [
+      types-aiobotocore-cognito-sync
+    ];
+    comprehend = [
+      types-aiobotocore-comprehend
+    ];
+    comprehendmedical = [
+      types-aiobotocore-comprehendmedical
+    ];
+    compute-optimizer = [
+      types-aiobotocore-compute-optimizer
+    ];
+    config = [
+      types-aiobotocore-config
+    ];
+    connect = [
+      types-aiobotocore-connect
+    ];
+    connect-contact-lens = [
+      types-aiobotocore-connect-contact-lens
+    ];
+    connectcampaigns = [
+      types-aiobotocore-connectcampaigns
+    ];
+    connectcases = [
+      types-aiobotocore-connectcases
+    ];
+    connectparticipant = [
+      types-aiobotocore-connectparticipant
+    ];
+    controltower = [
+      types-aiobotocore-controltower
+    ];
+    cur = [
+      types-aiobotocore-cur
+    ];
+    customer-profiles = [
+      types-aiobotocore-customer-profiles
+    ];
+    databrew = [
+      types-aiobotocore-databrew
+    ];
+    dataexchange = [
+      types-aiobotocore-dataexchange
+    ];
+    datapipeline = [
+      types-aiobotocore-datapipeline
+    ];
+    datasync = [
+      types-aiobotocore-datasync
+    ];
+    dax = [
+      types-aiobotocore-dax
+    ];
+    detective = [
+      types-aiobotocore-detective
+    ];
+    devicefarm = [
+      types-aiobotocore-devicefarm
+    ];
+    devops-guru = [
+      types-aiobotocore-devops-guru
+    ];
+    directconnect = [
+      types-aiobotocore-directconnect
+    ];
+    discovery = [
+      types-aiobotocore-discovery
+    ];
+    dlm = [
+      types-aiobotocore-dlm
+    ];
+    dms = [
+      types-aiobotocore-dms
+    ];
+    docdb = [
+      types-aiobotocore-docdb
+    ];
+    docdb-elastic = [
+      types-aiobotocore-docdb-elastic
+    ];
+    drs = [
+      types-aiobotocore-drs
+    ];
+    ds = [
+      types-aiobotocore-ds
+    ];
+    dynamodb = [
+      types-aiobotocore-dynamodb
+    ];
+    dynamodbstreams = [
+      types-aiobotocore-dynamodbstreams
+    ];
+    ebs = [
+      types-aiobotocore-ebs
+    ];
+    ec2 = [
+      types-aiobotocore-ec2
+    ];
+    ec2-instance-connect = [
+      types-aiobotocore-ec2-instance-connect
+    ];
+    ecr = [
+      types-aiobotocore-ecr
+    ];
+    ecr-public = [
+      types-aiobotocore-ecr-public
+    ];
+    ecs = [
+      types-aiobotocore-ecs
+    ];
+    efs = [
+      types-aiobotocore-efs
+    ];
+    eks = [
+      types-aiobotocore-eks
+    ];
+    elastic-inference = [
+      types-aiobotocore-elastic-inference
+    ];
+    elasticache = [
+      types-aiobotocore-elasticache
+    ];
+    elasticbeanstalk = [
+      types-aiobotocore-elasticbeanstalk
+    ];
+    elastictranscoder = [
+      types-aiobotocore-elastictranscoder
+    ];
+    elb = [
+      types-aiobotocore-elb
+    ];
+    elbv2 = [
+      types-aiobotocore-elbv2
+    ];
+    emr = [
+      types-aiobotocore-emr
+    ];
+    emr-containers = [
+      types-aiobotocore-emr-containers
+    ];
+    emr-serverless = [
+      types-aiobotocore-emr-serverless
+    ];
+    entityresolution = [
+      types-aiobotocore-entityresolution
+    ];
+    es = [
+      types-aiobotocore-es
+    ];
+    essential = [
+      types-aiobotocore-cloudformation
+      types-aiobotocore-dynamodb
+      types-aiobotocore-ec2
+      types-aiobotocore-lambda
+      types-aiobotocore-rds
+      types-aiobotocore-s3
+      types-aiobotocore-sqs
+    ];
+    events = [
+      types-aiobotocore-events
+    ];
+    evidently = [
+      types-aiobotocore-evidently
+    ];
+    finspace = [
+      types-aiobotocore-finspace
+    ];
+    finspace-data = [
+      types-aiobotocore-finspace-data
+    ];
+    firehose = [
+      types-aiobotocore-firehose
+    ];
+    fis = [
+      types-aiobotocore-fis
+    ];
+    fms = [
+      types-aiobotocore-fms
+    ];
+    forecast = [
+      types-aiobotocore-forecast
+    ];
+    forecastquery = [
+      types-aiobotocore-forecastquery
+    ];
+    frauddetector = [
+      types-aiobotocore-frauddetector
+    ];
+    fsx = [
+      types-aiobotocore-fsx
+    ];
+    gamelift = [
+      types-aiobotocore-gamelift
+    ];
+    gamesparks = [
+      types-aiobotocore-gamesparks
+    ];
+    glacier = [
+      types-aiobotocore-glacier
+    ];
+    globalaccelerator = [
+      types-aiobotocore-globalaccelerator
+    ];
+    glue = [
+      types-aiobotocore-glue
+    ];
+    grafana = [
+      types-aiobotocore-grafana
+    ];
+    greengrass = [
+      types-aiobotocore-greengrass
+    ];
+    greengrassv2 = [
+      types-aiobotocore-greengrassv2
+    ];
+    groundstation = [
+      types-aiobotocore-groundstation
+    ];
+    guardduty = [
+      types-aiobotocore-guardduty
+    ];
+    health = [
+      types-aiobotocore-health
+    ];
+    healthlake = [
+      types-aiobotocore-healthlake
+    ];
+    honeycode = [
+      types-aiobotocore-honeycode
+    ];
+    iam = [
+      types-aiobotocore-iam
+    ];
+    identitystore = [
+      types-aiobotocore-identitystore
+    ];
+    imagebuilder = [
+      types-aiobotocore-imagebuilder
+    ];
+    importexport = [
+      types-aiobotocore-importexport
+    ];
+    inspector = [
+      types-aiobotocore-inspector
+    ];
+    inspector2 = [
+      types-aiobotocore-inspector2
+    ];
+    internetmonitor = [
+      types-aiobotocore-internetmonitor
+    ];
+    iot = [
+      types-aiobotocore-iot
+    ];
+    iot-data = [
+      types-aiobotocore-iot-data
+    ];
+    iot-jobs-data = [
+      types-aiobotocore-iot-jobs-data
+    ];
+    iot-roborunner = [
+      types-aiobotocore-iot-roborunner
+    ];
+    iot1click-devices = [
+      types-aiobotocore-iot1click-devices
+    ];
+    iot1click-projects = [
+      types-aiobotocore-iot1click-projects
+    ];
+    iotanalytics = [
+      types-aiobotocore-iotanalytics
+    ];
+    iotdeviceadvisor = [
+      types-aiobotocore-iotdeviceadvisor
+    ];
+    iotevents = [
+      types-aiobotocore-iotevents
+    ];
+    iotevents-data = [
+      types-aiobotocore-iotevents-data
+    ];
+    iotfleethub = [
+      types-aiobotocore-iotfleethub
+    ];
+    iotfleetwise = [
+      types-aiobotocore-iotfleetwise
+    ];
+    iotsecuretunneling = [
+      types-aiobotocore-iotsecuretunneling
+    ];
+    iotsitewise = [
+      types-aiobotocore-iotsitewise
+    ];
+    iotthingsgraph = [
+      types-aiobotocore-iotthingsgraph
+    ];
+    iottwinmaker = [
+      types-aiobotocore-iottwinmaker
+    ];
+    iotwireless = [
+      types-aiobotocore-iotwireless
+    ];
+    ivs = [
+      types-aiobotocore-ivs
+    ];
+    ivs-realtime = [
+      types-aiobotocore-ivs-realtime
+    ];
+    ivschat = [
+      types-aiobotocore-ivschat
+    ];
+    kafka = [
+      types-aiobotocore-kafka
+    ];
+    kafkaconnect = [
+      types-aiobotocore-kafkaconnect
+    ];
+    kendra = [
+      types-aiobotocore-kendra
+    ];
+    kendra-ranking = [
+      types-aiobotocore-kendra-ranking
+    ];
+    keyspaces = [
+      types-aiobotocore-keyspaces
+    ];
+    kinesis = [
+      types-aiobotocore-kinesis
+    ];
+    kinesis-video-archived-media = [
+      types-aiobotocore-kinesis-video-archived-media
+    ];
+    kinesis-video-media = [
+      types-aiobotocore-kinesis-video-media
+    ];
+    kinesis-video-signaling = [
+      types-aiobotocore-kinesis-video-signaling
+    ];
+    kinesis-video-webrtc-storage = [
+      types-aiobotocore-kinesis-video-webrtc-storage
+    ];
+    kinesisanalytics = [
+      types-aiobotocore-kinesisanalytics
+    ];
+    kinesisanalyticsv2 = [
+      types-aiobotocore-kinesisanalyticsv2
+    ];
+    kinesisvideo = [
+      types-aiobotocore-kinesisvideo
+    ];
+    kms = [
+      types-aiobotocore-kms
+    ];
+    lakeformation = [
+      types-aiobotocore-lakeformation
+    ];
+    lambda = [
+      types-aiobotocore-lambda
+    ];
+    lex-models = [
+      types-aiobotocore-lex-models
+    ];
+    lex-runtime = [
+      types-aiobotocore-lex-runtime
+    ];
+    lexv2-models = [
+      types-aiobotocore-lexv2-models
+    ];
+    lexv2-runtime = [
+      types-aiobotocore-lexv2-runtime
+    ];
+    license-manager = [
+      types-aiobotocore-license-manager
+    ];
+    license-manager-linux-subscriptions = [
+      types-aiobotocore-license-manager-linux-subscriptions
+    ];
+    license-manager-user-subscriptions = [
+      types-aiobotocore-license-manager-user-subscriptions
+    ];
+    lightsail = [
+      types-aiobotocore-lightsail
+    ];
+    location = [
+      types-aiobotocore-location
+    ];
+    logs = [
+      types-aiobotocore-logs
+    ];
+    lookoutequipment = [
+      types-aiobotocore-lookoutequipment
+    ];
+    lookoutmetrics = [
+      types-aiobotocore-lookoutmetrics
+    ];
+    lookoutvision = [
+      types-aiobotocore-lookoutvision
+    ];
+    m2 = [
+      types-aiobotocore-m2
+    ];
+    machinelearning = [
+      types-aiobotocore-machinelearning
+    ];
+    macie = [
+      types-aiobotocore-macie
+    ];
+    macie2 = [
+      types-aiobotocore-macie2
+    ];
+    managedblockchain = [
+      types-aiobotocore-managedblockchain
+    ];
+    managedblockchain-query = [
+      types-aiobotocore-managedblockchain-query
+    ];
+    marketplace-catalog = [
+      types-aiobotocore-marketplace-catalog
+    ];
+    marketplace-entitlement = [
+      types-aiobotocore-marketplace-entitlement
+    ];
+    marketplacecommerceanalytics = [
+      types-aiobotocore-marketplacecommerceanalytics
+    ];
+    mediaconnect = [
+      types-aiobotocore-mediaconnect
+    ];
+    mediaconvert = [
+      types-aiobotocore-mediaconvert
+    ];
+    medialive = [
+      types-aiobotocore-medialive
+    ];
+    mediapackage = [
+      types-aiobotocore-mediapackage
+    ];
+    mediapackage-vod = [
+      types-aiobotocore-mediapackage-vod
+    ];
+    mediapackagev2 = [
+      types-aiobotocore-mediapackagev2
+    ];
+    mediastore = [
+      types-aiobotocore-mediastore
+    ];
+    mediastore-data = [
+      types-aiobotocore-mediastore-data
+    ];
+    mediatailor = [
+      types-aiobotocore-mediatailor
+    ];
+    medical-imaging = [
+      types-aiobotocore-medical-imaging
+    ];
+    memorydb = [
+      types-aiobotocore-memorydb
+    ];
+    meteringmarketplace = [
+      types-aiobotocore-meteringmarketplace
+    ];
+    mgh = [
+      types-aiobotocore-mgh
+    ];
+    mgn = [
+      types-aiobotocore-mgn
+    ];
+    migration-hub-refactor-spaces = [
+      types-aiobotocore-migration-hub-refactor-spaces
+    ];
+    migrationhub-config = [
+      types-aiobotocore-migrationhub-config
+    ];
+    migrationhuborchestrator = [
+      types-aiobotocore-migrationhuborchestrator
+    ];
+    migrationhubstrategy = [
+      types-aiobotocore-migrationhubstrategy
+    ];
+    mobile = [
+      types-aiobotocore-mobile
+    ];
+    mq = [
+      types-aiobotocore-mq
+    ];
+    mturk = [
+      types-aiobotocore-mturk
+    ];
+    mwaa = [
+      types-aiobotocore-mwaa
+    ];
+    neptune = [
+      types-aiobotocore-neptune
+    ];
+    network-firewall = [
+      types-aiobotocore-network-firewall
+    ];
+    networkmanager = [
+      types-aiobotocore-networkmanager
+    ];
+    nimble = [
+      types-aiobotocore-nimble
+    ];
+    oam = [
+      types-aiobotocore-oam
+    ];
+    omics = [
+      types-aiobotocore-omics
+    ];
+    opensearch = [
+      types-aiobotocore-opensearch
+    ];
+    opensearchserverless = [
+      types-aiobotocore-opensearchserverless
+    ];
+    opsworks = [
+      types-aiobotocore-opsworks
+    ];
+    opsworkscm = [
+      types-aiobotocore-opsworkscm
+    ];
+    organizations = [
+      types-aiobotocore-organizations
+    ];
+    osis = [
+      types-aiobotocore-osis
+    ];
+    outposts = [
+      types-aiobotocore-outposts
+    ];
+    panorama = [
+      types-aiobotocore-panorama
+    ];
+    payment-cryptography = [
+      types-aiobotocore-payment-cryptography
+    ];
+    payment-cryptography-data = [
+      types-aiobotocore-payment-cryptography-data
+    ];
+    personalize = [
+      types-aiobotocore-personalize
+    ];
+    personalize-events = [
+      types-aiobotocore-personalize-events
+    ];
+    personalize-runtime = [
+      types-aiobotocore-personalize-runtime
+    ];
+    pi = [
+      types-aiobotocore-pi
+    ];
+    pinpoint = [
+      types-aiobotocore-pinpoint
+    ];
+    pinpoint-email = [
+      types-aiobotocore-pinpoint-email
+    ];
+    pinpoint-sms-voice = [
+      types-aiobotocore-pinpoint-sms-voice
+    ];
+    pinpoint-sms-voice-v2 = [
+      types-aiobotocore-pinpoint-sms-voice-v2
+    ];
+    pipes = [
+      types-aiobotocore-pipes
+    ];
+    polly = [
+      types-aiobotocore-polly
+    ];
+    pricing = [
+      types-aiobotocore-pricing
+    ];
+    privatenetworks = [
+      types-aiobotocore-privatenetworks
+    ];
+    proton = [
+      types-aiobotocore-proton
+    ];
+    qldb = [
+      types-aiobotocore-qldb
+    ];
+    qldb-session = [
+      types-aiobotocore-qldb-session
+    ];
+    quicksight = [
+      types-aiobotocore-quicksight
+    ];
+    ram = [
+      types-aiobotocore-ram
+    ];
+    rbin = [
+      types-aiobotocore-rbin
+    ];
+    rds = [
+      types-aiobotocore-rds
+    ];
+    rds-data = [
+      types-aiobotocore-rds-data
+    ];
+    redshift = [
+      types-aiobotocore-redshift
+    ];
+    redshift-data = [
+      types-aiobotocore-redshift-data
+    ];
+    redshift-serverless = [
+      types-aiobotocore-redshift-serverless
+    ];
+    rekognition = [
+      types-aiobotocore-rekognition
+    ];
+    resiliencehub = [
+      types-aiobotocore-resiliencehub
+    ];
+    resource-explorer-2 = [
+      types-aiobotocore-resource-explorer-2
+    ];
+    resource-groups = [
+      types-aiobotocore-resource-groups
+    ];
+    resourcegroupstaggingapi = [
+      types-aiobotocore-resourcegroupstaggingapi
+    ];
+    robomaker = [
+      types-aiobotocore-robomaker
+    ];
+    rolesanywhere = [
+      types-aiobotocore-rolesanywhere
+    ];
+    route53 = [
+      types-aiobotocore-route53
+    ];
+    route53-recovery-cluster = [
+      types-aiobotocore-route53-recovery-cluster
+    ];
+    route53-recovery-control-config = [
+      types-aiobotocore-route53-recovery-control-config
+    ];
+    route53-recovery-readiness = [
+      types-aiobotocore-route53-recovery-readiness
+    ];
+    route53domains = [
+      types-aiobotocore-route53domains
+    ];
+    route53resolver = [
+      types-aiobotocore-route53resolver
+    ];
+    rum = [
+      types-aiobotocore-rum
+    ];
+    s3 = [
+      types-aiobotocore-s3
+    ];
+    s3control = [
+      types-aiobotocore-s3control
+    ];
+    s3outposts = [
+      types-aiobotocore-s3outposts
+    ];
+    sagemaker = [
+      types-aiobotocore-sagemaker
+    ];
+    sagemaker-a2i-runtime = [
+      types-aiobotocore-sagemaker-a2i-runtime
+    ];
+    sagemaker-edge = [
+      types-aiobotocore-sagemaker-edge
+    ];
+    sagemaker-featurestore-runtime = [
+      types-aiobotocore-sagemaker-featurestore-runtime
+    ];
+    sagemaker-geospatial = [
+      types-aiobotocore-sagemaker-geospatial
+    ];
+    sagemaker-metrics = [
+      types-aiobotocore-sagemaker-metrics
+    ];
+    sagemaker-runtime = [
+      types-aiobotocore-sagemaker-runtime
+    ];
+    savingsplans = [
+      types-aiobotocore-savingsplans
+    ];
+    scheduler = [
+      types-aiobotocore-scheduler
+    ];
+    schemas = [
+      types-aiobotocore-schemas
+    ];
+    sdb = [
+      types-aiobotocore-sdb
+    ];
+    secretsmanager = [
+      types-aiobotocore-secretsmanager
+    ];
+    securityhub = [
+      types-aiobotocore-securityhub
+    ];
+    securitylake = [
+      types-aiobotocore-securitylake
+    ];
+    serverlessrepo = [
+      types-aiobotocore-serverlessrepo
+    ];
+    service-quotas = [
+      types-aiobotocore-service-quotas
+    ];
+    servicecatalog = [
+      types-aiobotocore-servicecatalog
+    ];
+    servicecatalog-appregistry = [
+      types-aiobotocore-servicecatalog-appregistry
+    ];
+    servicediscovery = [
+      types-aiobotocore-servicediscovery
+    ];
+    ses = [
+      types-aiobotocore-ses
+    ];
+    sesv2 = [
+      types-aiobotocore-sesv2
+    ];
+    shield = [
+      types-aiobotocore-shield
+    ];
+    signer = [
+      types-aiobotocore-signer
+    ];
+    simspaceweaver = [
+      types-aiobotocore-simspaceweaver
+    ];
+    sms = [
+      types-aiobotocore-sms
+    ];
+    sms-voice = [
+      types-aiobotocore-sms-voice
+    ];
+    snow-device-management = [
+      types-aiobotocore-snow-device-management
+    ];
+    snowball = [
+      types-aiobotocore-snowball
+    ];
+    sns = [
+      types-aiobotocore-sns
+    ];
+    sqs = [
+      types-aiobotocore-sqs
+    ];
+    ssm = [
+      types-aiobotocore-ssm
+    ];
+    ssm-contacts = [
+      types-aiobotocore-ssm-contacts
+    ];
+    ssm-incidents = [
+      types-aiobotocore-ssm-incidents
+    ];
+    ssm-sap = [
+      types-aiobotocore-ssm-sap
+    ];
+    sso = [
+      types-aiobotocore-sso
+    ];
+    sso-admin = [
+      types-aiobotocore-sso-admin
+    ];
+    sso-oidc = [
+      types-aiobotocore-sso-oidc
+    ];
+    stepfunctions = [
+      types-aiobotocore-stepfunctions
+    ];
+    storagegateway = [
+      types-aiobotocore-storagegateway
+    ];
+    sts = [
+      types-aiobotocore-sts
+    ];
+    support = [
+      types-aiobotocore-support
+    ];
+    support-app = [
+      types-aiobotocore-support-app
+    ];
+    swf = [
+      types-aiobotocore-swf
+    ];
+    synthetics = [
+      types-aiobotocore-synthetics
+    ];
+    textract = [
+      types-aiobotocore-textract
+    ];
+    timestream-query = [
+      types-aiobotocore-timestream-query
+    ];
+    timestream-write = [
+      types-aiobotocore-timestream-write
+    ];
+    tnb = [
+      types-aiobotocore-tnb
+    ];
+    transcribe = [
+      types-aiobotocore-transcribe
+    ];
+    transfer = [
+      types-aiobotocore-transfer
+    ];
+    translate = [
+      types-aiobotocore-translate
+    ];
+    verifiedpermissions = [
+      types-aiobotocore-verifiedpermissions
+    ];
+    voice-id = [
+      types-aiobotocore-voice-id
+    ];
+    vpc-lattice = [
+      types-aiobotocore-vpc-lattice
+    ];
+    waf = [
+      types-aiobotocore-waf
+    ];
+    waf-regional = [
+      types-aiobotocore-waf-regional
+    ];
+    wafv2 = [
+      types-aiobotocore-wafv2
+    ];
+    wellarchitected = [
+      types-aiobotocore-wellarchitected
+    ];
+    wisdom = [
+      types-aiobotocore-wisdom
+    ];
+    workdocs = [
+      types-aiobotocore-workdocs
+    ];
+    worklink = [
+      types-aiobotocore-worklink
+    ];
+    workmail = [
+      types-aiobotocore-workmail
+    ];
+    workmailmessageflow = [
+      types-aiobotocore-workmailmessageflow
+    ];
+    workspaces = [
+      types-aiobotocore-workspaces
+    ];
+    workspaces-web = [
+      types-aiobotocore-workspaces-web
+    ];
+    xray = [
+      types-aiobotocore-xray
+    ];
+  };
+
+  # Package has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Type annotations for aiobotocore generated with mypy-boto3-builder";
+    homepage = "https://pypi.org/project/types-aiobotocore/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix
index ea56034cf9c2f..ce82a75f52d4b 100644
--- a/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.19.1";
+  version = "0.19.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-YYM6oUDnJKkJgCVhD0uM3j3PZbhCYx10RzePn1204f0=";
+    hash = "sha256-2MN5QgunWx5DaH0SsLdypbsX81KFmivvaqjwq94SP1U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wagtail-factories/default.nix b/pkgs/development/python-modules/wagtail-factories/default.nix
index 42efebb8eafe1..c31993b1e5f39 100644
--- a/pkgs/development/python-modules/wagtail-factories/default.nix
+++ b/pkgs/development/python-modules/wagtail-factories/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage
 , callPackage
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , lib
 , wagtail
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    factory_boy
+    factory-boy
     wagtail
   ];
 
diff --git a/pkgs/development/python-modules/webrtc-noise-gain/default.nix b/pkgs/development/python-modules/webrtc-noise-gain/default.nix
index 52b1d1fde48ad..63b02a1bfd0d2 100644
--- a/pkgs/development/python-modules/webrtc-noise-gain/default.nix
+++ b/pkgs/development/python-modules/webrtc-noise-gain/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "webrtc-noise-gain";
-  version = "1.2.2";
+  version = "1.2.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "webrtc-noise-gain";
     rev = "v${version}";
-    hash = "sha256-yHuCa2To9/9kD+tLG239I1aepuhcPUV4a4O1TQtBPlE=";
+    hash = "sha256-DFEtuO49zXNixLwBjQ/WOiARDhMAXVH+5hfc3eSdPIo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/whodap/default.nix b/pkgs/development/python-modules/whodap/default.nix
index a666d0a156b5d..a322c327b2300 100644
--- a/pkgs/development/python-modules/whodap/default.nix
+++ b/pkgs/development/python-modules/whodap/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.9";
+  version = "0.1.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0Wxx33AO9g4ACAUwkFkLo2AemK7PxXvZXWgHpu+E96c=";
+    hash = "sha256-5XDTl8NPrYWs7gPTJRDVCiZN3cWQ53/ojhJivBPHUL0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix
index cd7fdd9a218bb..3e1ce8b1477af 100644
--- a/pkgs/development/python-modules/xdot/default.nix
+++ b/pkgs/development/python-modules/xdot/default.nix
@@ -1,31 +1,57 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, python, xvfb-run
-, wrapGAppsHook, gobject-introspection, pygobject3, graphviz, gtk3, numpy }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, xvfb-run
+, wrapGAppsHook
+, gobject-introspection
+, pygobject3
+, graphviz
+, gtk3
+, numpy
+}:
 
 buildPythonPackage rec {
   pname = "xdot";
-  version = "1.2";
+  version = "1.3";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3df91e6c671869bd2a6b2a8883fa3476dbe2ba763bd2a7646cf848a9eba71b70";
+  src = fetchFromGitHub {
+    owner = "jrfonseca";
+    repo = "xdot.py";
+    rev = version;
+    hash = "sha256-0UfvN7z7ThlFu825h03Z5Wur9zbiUpvD5cb5gcIhQQI=";
   };
 
-  disabled = !isPy3k;
-  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
-  propagatedBuildInputs = [ pygobject3 graphviz gtk3 numpy ];
-  nativeCheckInputs = [ xvfb-run ];
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+  propagatedBuildInputs = [
+    pygobject3
+    graphviz
+    gtk3
+    numpy
+  ];
+  nativeCheckInputs = [
+    xvfb-run
+  ];
 
-  postInstall = ''
-    wrapProgram "$out/bin/xdot" --prefix PATH : "${lib.makeBinPath [ graphviz ]}"
+  dontWrapGApps = true;
+  # Arguments to be passed to `makeWrapper`, only used by buildPython*
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ graphviz ]})
   '';
 
   checkPhase = ''
-    xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} nix_run_setup test
+    runHook preCheck
+
+    xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py
+
+    runHook postCheck
   '';
 
-  # https://github.com/NixOS/nixpkgs/pull/107872#issuecomment-752175866
-  # cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import)
-  doCheck = false;
+  doCheck = true;
 
   meta = with lib; {
     description = "An interactive viewer for graphs written in Graphviz's dot";
diff --git a/pkgs/development/python-modules/xlsxwriter/default.nix b/pkgs/development/python-modules/xlsxwriter/default.nix
index 4cf7842464ab3..f19fe38366cd6 100644
--- a/pkgs/development/python-modules/xlsxwriter/default.nix
+++ b/pkgs/development/python-modules/xlsxwriter/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "xlsxwriter";
-  version = "3.0.3";
+  version = "3.1.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = "XlsxWriter";
     rev = "RELEASE_${version}";
-    hash = "sha256-9fIxNkOdM+Bz1F9AWq02H3LLQnefxGSAtp9kM2OtJ9M=";
+    hash = "sha256-ZOKS9sTZvlopfIYOEhOk/rq4qtcMrNQ4Bwb8lDtKfxs=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index 33911fbd16db2..84f8138880c4f 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.18.0";
+  version = "3.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "ietf-tools";
     repo = "xml2rfc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yhzOfX2umux1ulDiInbbKXvATA+k1TLQrSa9vcR/i58=";
+    hash = "sha256-+8L6qkJAMdjT+IDVtZt8/7VsOMdSxi/Jm7ORapJArbI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xtensor-python/default.nix b/pkgs/development/python-modules/xtensor-python/default.nix
index 217d856e77f9c..2d652fbd245cc 100644
--- a/pkgs/development/python-modules/xtensor-python/default.nix
+++ b/pkgs/development/python-modules/xtensor-python/default.nix
@@ -1,5 +1,6 @@
 { lib
-, buildPythonPackage
+, toPythonModule
+, stdenv
 , fetchFromGitHub
 , cmake
 , gtest
@@ -8,28 +9,37 @@
 , numpy
 }:
 
-buildPythonPackage rec {
+toPythonModule (stdenv.mkDerivation(finalAttrs: {
   pname = "xtensor-python";
-  version = "0.25.1";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "xtensor-stack";
-    repo = pname;
-    rev = version;
-    sha256 = "17la76hn4r1jv67dzz8x2pzl608r0mnvz854407mchlzj6rhsxza";
+    repo = "xtensor-python";
+    rev = finalAttrs.version;
+    sha256 = "sha256-kLFt5Ah5/ZO6wfTZQviVXeIAVok+/F/XCwpgPSagOMo=";
   };
 
-  nativeBuildInputs = [ cmake pybind11 ];
-
-  propagatedBuildInputs = [ xtensor numpy ];
-
-  dontUseSetuptoolsBuild = true;
-  dontUsePipInstall = true;
-  dontUseSetuptoolsCheck = true;
-
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    pybind11
+  ];
   nativeCheckInputs = [
     gtest
   ];
+  doCheck = true;
+  cmakeFlags = [
+    "-DBUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+  ];
+
+  propagatedBuildInputs = [
+    xtensor
+    numpy
+  ];
+
+  checkTarget = "xtest";
 
   meta = with lib; {
     homepage = "https://github.com/xtensor-stack/xtensor-python";
@@ -37,4 +47,4 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ lsix ];
   };
-}
+}))
diff --git a/pkgs/development/python-modules/y-py/default.nix b/pkgs/development/python-modules/y-py/default.nix
index accb1844b4c6d..97747ccfdf5b5 100644
--- a/pkgs/development/python-modules/y-py/default.nix
+++ b/pkgs/development/python-modules/y-py/default.nix
@@ -11,19 +11,19 @@
 
 buildPythonPackage rec {
   pname = "y-py";
-  version = "0.6.0";
+  version = "0.6.2";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "y_py";
     inherit version;
-    hash = "sha256-RoNhaffcKVffhRPP5LwgCRdbOkc+Ywr0IajnXuHEj5g=";
+    hash = "sha256-R1eoKlBAags6MzqgEiAZozG9bxbkn+1n3KQj+Siz/U0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-tpUDGBIHqXsKPsK+1h2sNuiV2I0pGVBokKh+hdFazRQ=";
+    hash = "sha256-RXwrDSPU0wiprsUJwoDzti14H/+bSwy4hK4tYhNVfYw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index 7e9812fbf29a1..d61a1097ee83f 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -9,6 +9,7 @@
 , multitasking
 , numpy
 , pandas
+, peewee
 , pythonOlder
 , requests
 , lxml
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.28";
+  version = "0.2.31";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kTbQnpha4OHu5Xguo6v90uFpcXY1e8JJsJUo4ZbaCfk=";
+    hash = "sha256-GXnMzIjRx5c3O7J0bPjcdDvEIqTGMe002wYx28FLI6U=";
   };
 
   propagatedBuildInputs = [
@@ -34,11 +35,12 @@ buildPythonPackage rec {
     cryptography
     frozendict
     html5lib
+    lxml
     multitasking
     numpy
     pandas
+    peewee
     requests
-    lxml
   ];
 
   # Tests require internet access
diff --git a/pkgs/development/python-modules/ypy-websocket/default.nix b/pkgs/development/python-modules/ypy-websocket/default.nix
index 70b9d9bfb0bf8..b1840800622f1 100644
--- a/pkgs/development/python-modules/ypy-websocket/default.nix
+++ b/pkgs/development/python-modules/ypy-websocket/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "ypy-websocket";
-  version = "0.12.3";
+  version = "0.12.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "y-crdt";
     repo = "ypy-websocket";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gBLRjqsI2xx2z8qfaix4Gsm1rlNcjZ5g1PNVW7N4Q5k=";
+    hash = "sha256-48x+MUhev9dErC003XOP3oGKd5uOghlBFgcR8Nm/0xs=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 71e83806ffe8f..a26d45415eae2 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.115.1";
+  version = "0.115.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-3dKF0DERxybhDZiwPpre1yrumZGILp0EIWur9WIkhhQ=";
+    hash = "sha256-qLJWOZyWyLx5orDbvVSluA+zFvHN2393hyVC3ty87ug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index a94eb4e4c5458..fe0eb86075826 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-xbee";
-  version = "0.18.2";
+  version = "0.18.3";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-xbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-aglKQWIMh0IyrcGt+PZVtzcgs88YbtZB7Tfg7hlB+18=";
+    hash = "sha256-+qtbOC3rsse57kqd4RLl9EKXzru0vdgIIPSl1OQ652U=";
   };
 
   buildInputs = [
@@ -36,8 +36,8 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # https://github.com/zigpy/zigpy-xbee/issues/126
-    "test_form_network"
+    # fixed in https://github.com/zigpy/zigpy-xbee/commit/f85233fc28ae01c08267965e99a29e43b00e1561
+    "test_shutdown"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/zipstream-ng/default.nix b/pkgs/development/python-modules/zipstream-ng/default.nix
index 18cfe8b658cb1..fe6e8771c057a 100644
--- a/pkgs/development/python-modules/zipstream-ng/default.nix
+++ b/pkgs/development/python-modules/zipstream-ng/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "zipstream-ng";
-  version = "1.6.0";
+  version = "1.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "pR0Ps";
     repo = "zipstream-ng";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mY0dbHho/K1nTmhlv8i8KPa4HW7epBhfEksX3E2df2M=";
+    hash = "sha256-BYQse+DlyLUH9CofRfGrPUZjP7E8AP/wpirvJmSRfow=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 9b529e9f5c3ec..38abffac75ac9 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "3.0.1";
+  version = "3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Dwl1vdSnYVMg50rysLi+R2PHPPi/fEISq3IEQonndJg=";
+    hash = "sha256-uewy5wbHuAi3mlOnrZZgkRfpQoN3K0AO52VSEHqrzBE=";
   };
 
   # fails..
diff --git a/pkgs/development/python-modules/zope-component/default.nix b/pkgs/development/python-modules/zope-component/default.nix
index 2b65136aaf834..522b2817a8455 100644
--- a/pkgs/development/python-modules/zope-component/default.nix
+++ b/pkgs/development/python-modules/zope-component/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , zope_configuration
 , zope-deferredimport
-, zope_deprecation
+, zope-deprecation
 , zope_event
 , zope-hookable
 , zope-i18nmessageid
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     zope_configuration
     zope-deferredimport
-    zope_deprecation
+    zope-deprecation
     zope_event
     zope-hookable
     zope-i18nmessageid
diff --git a/pkgs/development/python-modules/zope-deferredimport/default.nix b/pkgs/development/python-modules/zope-deferredimport/default.nix
index b60a393e42862..a2143171dc547 100644
--- a/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_proxy
+, zope-proxy
 , zope_testrunner
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     sha256 = "2ae3257256802787e52ad840032f39c1496d3ce0b7e11117f663420e4a4c9add";
   };
 
-  propagatedBuildInputs = [ zope_proxy ];
+  propagatedBuildInputs = [ zope-proxy ];
 
   nativeCheckInputs = [ zope_testrunner ];
 
diff --git a/pkgs/development/python-modules/zope-deprecation/default.nix b/pkgs/development/python-modules/zope-deprecation/default.nix
new file mode 100644
index 0000000000000..4a0437e2b2f4e
--- /dev/null
+++ b/pkgs/development/python-modules/zope-deprecation/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-deprecation";
+  version = "5.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.deprecation";
+    inherit version;
+    hash = "sha256-t8MtM5IDayFFxAsxA+cyLbaGYqsJtyZ6/hUyqdk/ZA8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "src/zope/deprecation/tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "zope.deprecation"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.deprecation";
+    description = "Zope Deprecation Infrastructure";
+    changelog = "https://github.com/zopefoundation/zope.deprecation/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/zope-proxy/default.nix b/pkgs/development/python-modules/zope-proxy/default.nix
new file mode 100644
index 0000000000000..d6a93b9d3eb5a
--- /dev/null
+++ b/pkgs/development/python-modules/zope-proxy/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, zope_interface
+}:
+
+buildPythonPackage rec {
+  pname = "zope-proxy";
+  version = "5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.proxy";
+    inherit version;
+    hash = "sha256-d3e9P4986nRSFyYgLhptUVPb9knyBOJQBYrQOvRqQxg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [ zope_interface ];
+
+  # circular deps
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "zope.proxy"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.proxy";
+    description = "Generic Transparent Proxies";
+    changelog = "https://github.com/zopefoundation/zope.proxy/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/pkgs/development/python-modules/zope_deprecation/default.nix b/pkgs/development/python-modules/zope_deprecation/default.nix
deleted file mode 100644
index 7eb66f7a9c576..0000000000000
--- a/pkgs/development/python-modules/zope_deprecation/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope_testing
-}:
-
-buildPythonPackage rec {
-  pname = "zope.deprecation";
-  version = "4.4.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0d453338f04bacf91bbfba545d8bcdf529aa829e67b705eac8c1a7fdce66e2df";
-  };
-
-  buildInputs = [ zope_testing ];
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.deprecation";
-    description = "Zope Deprecation Infrastructure";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ domenkozar ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/zope_location/default.nix b/pkgs/development/python-modules/zope_location/default.nix
index aaf85eaadbbda..d0f79775d12b8 100644
--- a/pkgs/development/python-modules/zope_location/default.nix
+++ b/pkgs/development/python-modules/zope_location/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_proxy
+, zope-proxy
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     hash = "sha256-Fx7tyKIOw6isJxOaqQzyd/93dy6gMrVLaicBp5J7OsU=";
   };
 
-  propagatedBuildInputs = [ zope_proxy ];
+  propagatedBuildInputs = [ zope-proxy ];
 
   # ignore circular dependency on zope_schema
   preBuild = ''
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
deleted file mode 100644
index 199a4b97d5ebf..0000000000000
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope_interface
-}:
-
-buildPythonPackage rec {
-  pname = "zope.proxy";
-  version = "5.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-b6RMl6QStNxR4vX9Tcc8W9SZ01KA+IzSvNJviuHkV3s=";
-  };
-
-  propagatedBuildInputs = [ zope_interface ];
-
-  # circular deps
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.proxy";
-    description = "Generic Transparent Proxies";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 754da83efc3a3..105dbbbe04249 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.51.3";
+  version = "0.52.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-79INvk5WLuSki/kBU25hMHRxGk7FAznU89U+y3Eh+wI=";
+    hash = "sha256-+zGLWti99mYTyPkSxiYgE5RqVvEr2PGt8vFwesjcquo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/clang-ocl/default.nix b/pkgs/development/rocm-modules/5/clang-ocl/default.nix
index 8053b672d3665..96fc4945747f5 100644
--- a/pkgs/development/libraries/clang-ocl/default.nix
+++ b/pkgs/development/rocm-modules/5/clang-ocl/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "clang-ocl";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
diff --git a/pkgs/development/rocm-modules/5/clr/default.nix b/pkgs/development/rocm-modules/5/clr/default.nix
new file mode 100644
index 0000000000000..c0d4de8cbb7c2
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/clr/default.nix
@@ -0,0 +1,165 @@
+{ lib
+, stdenv
+, callPackage
+, fetchFromGitHub
+, rocmUpdateScript
+, makeWrapper
+, cmake
+, perl
+, clang
+, hip-common
+, hipcc
+, rocm-device-libs
+, rocm-comgr
+, rocm-runtime
+, roctracer
+, rocminfo
+, rocm-smi
+, numactl
+, libGL
+, libxml2
+, libX11
+, python3Packages
+}:
+
+let
+  wrapperArgs = [
+    "--prefix PATH : $out/bin"
+    "--prefix LD_LIBRARY_PATH : ${rocm-runtime}"
+    "--set HIP_PLATFORM amd"
+    "--set HIP_PATH $out"
+    "--set HIP_CLANG_PATH ${clang}/bin"
+    "--set DEVICE_LIB_PATH ${rocm-device-libs}/amdgcn/bitcode"
+    "--set HSA_PATH ${rocm-runtime}"
+    "--set ROCM_PATH $out"
+  ];
+in stdenv.mkDerivation (finalAttrs: {
+  pname = "clr";
+  version = "5.7.0";
+
+  outputs = [
+    "out"
+    "icd"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "ROCm-Developer-Tools";
+    repo = "clr";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-C+rFW/7kf35rz0sQTI2+iY5RhZZQY07fc5a+e6cB5OQ=";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    cmake
+    perl
+    python3Packages.python
+    python3Packages.cppheaderparser
+  ];
+
+  buildInputs = [
+    numactl
+    libGL
+    libxml2
+    libX11
+  ];
+
+  propagatedBuildInputs = [
+    rocm-device-libs
+    rocm-comgr
+    rocm-runtime
+    rocminfo
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_POLICY_DEFAULT_CMP0072=NEW" # Prefer newer OpenGL libraries
+    "-DCLR_BUILD_HIP=ON"
+    "-DCLR_BUILD_OCL=ON"
+    "-DHIP_COMMON_DIR=${hip-common}"
+    "-DHIPCC_BIN_DIR=${hipcc}/bin"
+    "-DHIP_PLATFORM=amd"
+    "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext"
+    "-DROCM_PATH=${rocminfo}"
+
+    # Temporarily set variables to work around upstream CMakeLists issue
+    # Can be removed once https://github.com/ROCm-Developer-Tools/hipamd/issues/55 is fixed
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
+
+  postPatch = ''
+    patchShebangs hipamd/src
+
+    # We're not on Windows so these are never installed to hipcc...
+    substituteInPlace hipamd/CMakeLists.txt \
+      --replace "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin)" "" \
+      --replace "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin)" ""
+
+    substituteInPlace hipamd/src/hip_embed_pch.sh \
+      --replace "\''$LLVM_DIR/bin/clang" "${clang}/bin/clang"
+  '';
+
+  postInstall = ''
+    patchShebangs $out/bin
+
+    # hipcc.bin and hipconfig.bin is mysteriously never installed
+    cp -a ${hipcc}/bin/{hipcc.bin,hipconfig.bin} $out/bin
+
+    wrapProgram $out/bin/hipcc.bin ${lib.concatStringsSep " " wrapperArgs}
+    wrapProgram $out/bin/hipconfig.bin ${lib.concatStringsSep " " wrapperArgs}
+    wrapProgram $out/bin/hipcc.pl ${lib.concatStringsSep " " wrapperArgs}
+    wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs}
+
+    # Just link rocminfo, it's easier
+    ln -s ${rocminfo}/bin/* $out/bin
+
+    # Replace rocm-opencl-icd functionality
+    mkdir -p $icd/etc/OpenCL/vendors
+    echo "$out/lib/libamdocl64.so" > $icd/etc/OpenCL/vendors/amdocl64.icd
+  '';
+
+  passthru = {
+    # All known and valid general GPU targets
+    # We cannot use this for each ROCm library, as each defines their own supported targets
+    # See: https://github.com/RadeonOpenCompute/ROCm/blob/77cbac4abab13046ee93d8b5bf410684caf91145/README.md#library-target-matrix
+    gpuTargets = lib.forEach [
+      "803"
+      "900"
+      "906"
+      "908"
+      "90a"
+      "940"
+      "941"
+      "942"
+      "1010"
+      "1012"
+      "1030"
+      "1100"
+      "1101"
+      "1102"
+    ] (target: "gfx${target}");
+
+    updateScript = rocmUpdateScript {
+      name = finalAttrs.pname;
+      owner = finalAttrs.src.owner;
+      repo = finalAttrs.src.repo;
+    };
+
+    impureTests = {
+      clr-icd = callPackage ./test.nix {
+        inherit rocm-smi;
+        clr = finalAttrs.finalPackage;
+      };
+    };
+  };
+
+  meta = with lib; {
+    description = "AMD Common Language Runtime for hipamd, opencl, and rocclr";
+    homepage = "https://github.com/ROCm-Developer-Tools/clr";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
+    platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+  };
+})
diff --git a/pkgs/development/libraries/rocm-opencl-icd/test.nix b/pkgs/development/rocm-modules/5/clr/test.nix
index 398a4818e7c36..c02bb4da88860 100644
--- a/pkgs/development/libraries/rocm-opencl-icd/test.nix
+++ b/pkgs/development/rocm-modules/5/clr/test.nix
@@ -1,11 +1,15 @@
-{ lib, makeImpureTest, clinfo, rocm-opencl-icd, rocm-smi }:
-makeImpureTest {
-  name = "rocm-opencl";
-  testedPackage = "rocm-opencl-icd";
+{ lib
+, makeImpureTest
+, clinfo
+, clr
+, rocm-smi
+}:
 
+makeImpureTest {
+  name = "clr-icd";
+  testedPackage = "rocmPackages.clr";
   nativeBuildInputs = [ clinfo rocm-smi ];
-
-  OCL_ICD_VENDORS = "${rocm-opencl-icd}/etc/OpenCL/vendors/";
+  OCL_ICD_VENDORS = "${clr.icd}/etc/OpenCL/vendors";
 
   testScript = ''
     # Test fails if the number of platforms is 0
diff --git a/pkgs/development/libraries/composable_kernel/default.nix b/pkgs/development/rocm-modules/5/composable_kernel/default.nix
index 54bf1251c3091..2372b27ebe52b 100644
--- a/pkgs/development/libraries/composable_kernel/default.nix
+++ b/pkgs/development/rocm-modules/5/composable_kernel/default.nix
@@ -1,10 +1,10 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, unstableGitUpdater
+, rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , openmp
 , clang-tools-extra
 , gtest
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "composable_kernel";
-  version = "unstable-2023-01-16";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -25,24 +25,21 @@ stdenv.mkDerivation (finalAttrs: {
     "example"
   ];
 
-  # ROCm 5.6 should release composable_kernel as stable with a tag in the future
   src = fetchFromGitHub {
     owner = "ROCmSoftwarePlatform";
     repo = "composable_kernel";
-    rev = "80e05267417f948e4f7e63c0fe807106d9a0c0ef";
-    hash = "sha256-+c0E2UtlG/abweLwCWWjNHDO5ZvSIVKwwwettT9mqR4=";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-Z9X+S2SijGJ8bhr9ghkkWicBUzLzs9fxPpqZxX6BBM4=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     clang-tools-extra
   ];
 
-  buildInputs = [
-    openmp
-  ];
+  buildInputs = [ openmp ];
 
   cmakeFlags = [
     "-DCMAKE_C_COMPILER=hipcc"
@@ -71,7 +68,11 @@ stdenv.mkDerivation (finalAttrs: {
     mv $out/bin/example_* $example/bin
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = rocmUpdateScript {
+    name = finalAttrs.pname;
+    owner = finalAttrs.src.owner;
+    repo = finalAttrs.src.repo;
+  };
 
   # Times out otherwise
   requiredSystemFeatures = [ "big-parallel" ];
@@ -82,5 +83,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/rocm-modules/5/default.nix b/pkgs/development/rocm-modules/5/default.nix
new file mode 100644
index 0000000000000..1e1aa35fa328c
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/default.nix
@@ -0,0 +1,272 @@
+{ callPackage
+, recurseIntoAttrs
+, cudaPackages
+, python3Packages
+, elfutils
+, boost179
+}:
+
+let
+  rocmUpdateScript = callPackage ./update.nix { };
+in rec {
+  ## RadeonOpenCompute ##
+  llvm = recurseIntoAttrs (callPackage ./llvm/default.nix { inherit rocmUpdateScript rocm-device-libs rocm-runtime rocm-thunk clr; });
+
+  rocm-core = callPackage ./rocm-core {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocm-cmake = callPackage ./rocm-cmake {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocm-thunk = callPackage ./rocm-thunk {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocm-smi = python3Packages.callPackage ./rocm-smi {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Eventually will be in the LLVM repo
+  rocm-device-libs = callPackage ./rocm-device-libs {
+    inherit rocmUpdateScript rocm-cmake;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocm-runtime = callPackage ./rocm-runtime {
+    inherit rocmUpdateScript rocm-device-libs rocm-thunk;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Eventually will be in the LLVM repo
+  rocm-comgr = callPackage ./rocm-comgr {
+    inherit rocmUpdateScript rocm-cmake rocm-device-libs;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocminfo = callPackage ./rocminfo {
+    inherit rocmUpdateScript rocm-cmake rocm-runtime;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  clang-ocl = callPackage ./clang-ocl {
+    inherit rocmUpdateScript rocm-cmake rocm-device-libs;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Unfree
+  hsa-amd-aqlprofile-bin = callPackage ./hsa-amd-aqlprofile-bin {
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Broken, too many errors
+  rdc = callPackage ./rdc {
+    inherit rocmUpdateScript rocm-smi rocm-runtime;
+    # stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocm-docs-core = python3Packages.callPackage ./rocm-docs-core { };
+
+  ## ROCm-Developer-Tools ##
+  hip-common = callPackage ./hip-common {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Eventually will be in the LLVM repo
+  hipcc = callPackage ./hipcc {
+    inherit rocmUpdateScript;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Replaces hip, opencl-runtime, and rocclr
+  clr = callPackage ./clr {
+    inherit rocmUpdateScript hip-common hipcc rocm-device-libs rocm-comgr rocm-runtime roctracer rocminfo rocm-smi;
+    inherit (llvm) clang;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipify = callPackage ./hipify {
+    inherit rocmUpdateScript;
+    inherit (llvm) clang;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # Needs GCC
+  rocprofiler = callPackage ./rocprofiler {
+    inherit (llvm) clang;
+    inherit rocmUpdateScript clr rocm-thunk roctracer rocm-smi hsa-amd-aqlprofile-bin;
+  };
+
+  # Needs GCC
+  roctracer = callPackage ./roctracer {
+    inherit rocmUpdateScript rocm-device-libs rocm-runtime rocprofiler clr;
+    inherit (llvm) clang;
+  };
+
+  # Needs GCC
+  rocgdb = callPackage ./rocgdb {
+    inherit rocmUpdateScript;
+    elfutils = elfutils.override { enableDebuginfod = true; };
+  };
+
+  rocdbgapi = callPackage ./rocdbgapi {
+    inherit rocmUpdateScript rocm-cmake rocm-comgr rocm-runtime;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocr-debug-agent = callPackage ./rocr-debug-agent {
+    inherit rocmUpdateScript clr rocdbgapi;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  ## ROCmSoftwarePlatform ##
+  rocprim = callPackage ./rocprim {
+    inherit rocmUpdateScript rocm-cmake clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocsparse = callPackage ./rocsparse {
+    inherit rocmUpdateScript rocm-cmake rocprim clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocthrust = callPackage ./rocthrust {
+    inherit rocmUpdateScript rocm-cmake rocprim clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocrand = callPackage ./rocrand {
+    inherit rocmUpdateScript rocm-cmake clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hiprand = rocrand; # rocrand includes hiprand
+
+  rocfft = callPackage ./rocfft {
+    inherit rocmUpdateScript rocm-cmake rocrand rocfft clr;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rccl = callPackage ./rccl {
+    inherit rocmUpdateScript rocm-cmake rocm-smi clr hipify;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipcub = callPackage ./hipcub {
+    inherit rocmUpdateScript rocm-cmake rocprim clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipsparse = callPackage ./hipsparse {
+    inherit rocmUpdateScript rocm-cmake rocsparse clr;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipfort = callPackage ./hipfort {
+    inherit rocmUpdateScript rocm-cmake;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipfft = callPackage ./hipfft {
+    inherit rocmUpdateScript rocm-cmake rocfft clr;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  tensile = python3Packages.callPackage ./tensile {
+    inherit rocmUpdateScript rocminfo;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocblas = callPackage ./rocblas {
+    inherit rocmUpdateScript rocm-cmake clr tensile;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocsolver = callPackage ./rocsolver {
+    inherit rocmUpdateScript rocm-cmake rocblas rocsparse clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocwmma = callPackage ./rocwmma {
+    inherit rocmUpdateScript rocm-cmake rocm-smi rocblas clr;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocalution = callPackage ./rocalution {
+    inherit rocmUpdateScript rocm-cmake rocprim rocsparse rocrand rocblas clr;
+    inherit (llvm) openmp;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocmlir = callPackage ./rocmlir {
+    inherit rocmUpdateScript rocm-cmake clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  rocmlir-rock = rocmlir.override {
+    buildRockCompiler = true;
+  };
+
+  hipsolver = callPackage ./hipsolver {
+    inherit rocmUpdateScript rocm-cmake rocblas rocsolver clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  hipblas = callPackage ./hipblas {
+    inherit rocmUpdateScript rocm-cmake rocblas rocsolver clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  # hipBlasLt - Very broken with Tensile at the moment, only supports GFX9
+  # hipTensor - Only supports GFX9
+
+  miopengemm = callPackage ./miopengemm {
+    inherit rocmUpdateScript rocm-cmake clr;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  composable_kernel = callPackage ./composable_kernel {
+    inherit rocmUpdateScript rocm-cmake clr;
+    inherit (llvm) openmp clang-tools-extra;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  half = callPackage ./half {
+    inherit rocmUpdateScript rocm-cmake;
+    stdenv = llvm.rocmClangStdenv;
+  };
+
+  miopen = callPackage ./miopen {
+    inherit rocmUpdateScript rocm-cmake rocblas clang-ocl miopengemm composable_kernel rocm-comgr clr rocm-docs-core half;
+    inherit (llvm) clang-tools-extra;
+    stdenv = llvm.rocmClangStdenv;
+    rocmlir = rocmlir-rock;
+    boost = boost179.override { enableStatic = true; };
+  };
+
+  miopen-hip = miopen.override {
+    useOpenCL = false;
+  };
+
+  miopen-opencl = miopen.override {
+    useOpenCL = true;
+  };
+
+  migraphx = callPackage ./migraphx {
+    inherit rocmUpdateScript rocm-cmake rocblas composable_kernel miopengemm miopen clr half rocm-device-libs;
+    inherit (llvm) openmp clang-tools-extra;
+    stdenv = llvm.rocmClangStdenv;
+    rocmlir = rocmlir-rock;
+  };
+}
diff --git a/pkgs/development/rocm-modules/5/half/default.nix b/pkgs/development/rocm-modules/5/half/default.nix
new file mode 100644
index 0000000000000..08c645848fa25
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/half/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rocmUpdateScript
+, cmake
+, rocm-cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "half";
+  version = "5.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ROCmSoftwarePlatform";
+    repo = "half";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-82It+/wm8+umBdQYn7lz/fS69h+f0mzwPdGxoJNYUq0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    rocm-cmake
+  ];
+
+  passthru.updateScript = rocmUpdateScript {
+    name = finalAttrs.pname;
+    owner = finalAttrs.src.owner;
+    repo = finalAttrs.src.repo;
+  };
+
+  meta = with lib; {
+    description = "C++ library for half precision floating point arithmetics";
+    homepage = "https://github.com/ROCmSoftwarePlatform/half";
+    license = with licenses; [ mit ];
+    maintainers = teams.rocm.members;
+    platforms = platforms.unix;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+  };
+})
diff --git a/pkgs/development/compilers/hip-common/default.nix b/pkgs/development/rocm-modules/5/hip-common/default.nix
index 1721091d6a60e..9f5f37511ef01 100644
--- a/pkgs/development/compilers/hip-common/default.nix
+++ b/pkgs/development/rocm-modules/5/hip-common/default.nix
@@ -2,34 +2,19 @@
 , stdenv
 , fetchFromGitHub
 , rocmUpdateScript
-, substituteAll
-, llvm
-, rocm-runtime
-, rocminfo
-, lsb-release
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hip-common";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "HIP";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-44CZWk6EsP5EduzBCBbOh2kshS89qOm4v3mx/xNDzV0=";
+    hash = "sha256-1Abit9qZCwrCVcnaFT4uMygFB9G6ovRasLmTsOsJ/Fw=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./0000-fixup-paths.patch;
-      inherit llvm rocminfo;
-      clang = stdenv.cc;
-      rocm_runtime = rocm-runtime;
-      lsb_release = lsb-release;
-    })
-  ];
-
   dontConfigure = true;
   dontBuild = true;
 
diff --git a/pkgs/development/libraries/hipblas/default.nix b/pkgs/development/rocm-modules/5/hipblas/default.nix
index e8402c0d05bd4..b2206c737b00a 100644
--- a/pkgs/development/libraries/hipblas/default.nix
+++ b/pkgs/development/rocm-modules/5/hipblas/default.nix
@@ -4,7 +4,7 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , gfortran
 , rocblas
 , rocsolver
@@ -18,7 +18,7 @@
 # Can also use cuBLAS
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipblas";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -34,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "hipBLAS";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-mSZCq8UaiffMzWVflW1nAX6CQZ1DqwWJaSIzKslZSEk=";
+    hash = "sha256-abaEZN82dsoEC5gIF3/6epRDVz5ItUo6CkZsybu/G+g=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     gfortran
   ];
 
@@ -94,7 +94,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    # Fixed in develop branch by using C++17 and related refactor
-    broken = versions.minor finalAttrs.version != versions.minor hip.version || buildTests || buildBenchmarks || buildSamples;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/compilers/hipcc/default.nix b/pkgs/development/rocm-modules/5/hipcc/default.nix
index af0cb35c14808..e6610e8909f75 100644
--- a/pkgs/development/compilers/hipcc/default.nix
+++ b/pkgs/development/rocm-modules/5/hipcc/default.nix
@@ -2,47 +2,31 @@
 , stdenv
 , fetchFromGitHub
 , rocmUpdateScript
-, substituteAll
 , cmake
-, llvm
-, rocm-runtime
-, rocminfo
 , lsb-release
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipcc";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "HIPCC";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-PEwue4O43MiMkF8UmTeHsmlikBG2V3/nFQLKmtHrRWQ=";
+    hash = "sha256-lJX6nF1V4YmK5ai7jivXlRnG3doIOf6X9CWLHVdRuVg=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./0000-fixup-paths.patch;
-      inherit llvm rocminfo;
-      version_major = lib.versions.major finalAttrs.version;
-      version_minor = lib.versions.minor finalAttrs.version;
-      version_patch = lib.versions.patch finalAttrs.version;
-      clang = stdenv.cc;
-      rocm_runtime = rocm-runtime;
-      lsb_release = lsb-release;
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/bin
-    mv *.bin $out/bin
+  postPatch = ''
+    substituteInPlace src/hipBin_amd.h \
+      --replace "/usr/bin/lsb_release" "${lsb-release}/bin/lsb_release"
+  '';
 
-    runHook postInstall
+  postInstall = ''
+    rm -r $out/hip/bin
+    ln -s $out/bin $out/hip/bin
   '';
 
   passthru.updateScript = rocmUpdateScript {
diff --git a/pkgs/development/libraries/hipcub/default.nix b/pkgs/development/rocm-modules/5/hipcub/default.nix
index d0f33c0dc1d27..447c2c4174afe 100644
--- a/pkgs/development/libraries/hipcub/default.nix
+++ b/pkgs/development/rocm-modules/5/hipcub/default.nix
@@ -5,17 +5,18 @@
 , cmake
 , rocm-cmake
 , rocprim
-, hip
+, clr
 , gtest
 , gbenchmark
 , buildTests ? false
 , buildBenchmarks ? false
+, gpuTargets ? [ ]
 }:
 
 # CUB can also be used as a backend instead of rocPRIM.
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipcub";
-  version = "5.4.4";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -29,13 +30,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "hipCUB";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-reFxSOYQOf9QcoZzaLt4D1yKGQoDxpt/3rwiHgP1DCo=";
+    hash = "sha256-ygBEA3NuCQ13QrSzGqyWXkx8Dy9WhR3u4syzapRTkFU=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
   ];
 
   buildInputs = [
@@ -48,12 +49,14 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DHIP_ROOT_DIR=${hip}"
+    "-DHIP_ROOT_DIR=${clr}"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_TEST=ON"
   ] ++ lib.optionals buildBenchmarks [
@@ -82,6 +85,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ bsd3 ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/hipfft/default.nix b/pkgs/development/rocm-modules/5/hipfft/default.nix
index c4d13cb4f55e2..153a7c8c18cc5 100644
--- a/pkgs/development/libraries/hipfft/default.nix
+++ b/pkgs/development/rocm-modules/5/hipfft/default.nix
@@ -4,7 +4,7 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , git
 , rocfft
 , gtest
@@ -15,12 +15,13 @@
 , buildTests ? false
 , buildBenchmarks ? false
 , buildSamples ? false
+, gpuTargets ? [ ]
 }:
 
 # Can also use cuFFT
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipfft";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -36,12 +37,12 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "hipFFT";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-yDtm9J0wqH6zo4HcgQbqhvwbzbOiJPQ48gJ2gC8PvjA=";
+    hash = "sha256-fuYRKdlTrRMwxr3cgMeT3YniPzs4nuvF8YCzr3LLPFM=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    hip
+    clr
     git
     cmake
     rocm-cmake
@@ -60,14 +61,16 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DCMAKE_C_COMPILER=hipcc"
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DCMAKE_MODULE_PATH=${hip}/lib/cmake/hip"
-    "-DHIP_ROOT_DIR=${hip}"
-    "-DHIP_PATH=${hip}"
+    "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip"
+    "-DHIP_ROOT_DIR=${clr}"
+    "-DHIP_PATH=${clr}"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_CLIENTS_TESTS=ON"
   ] ++ lib.optionals buildBenchmarks [
@@ -102,6 +105,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/hipfort/default.nix b/pkgs/development/rocm-modules/5/hipfort/default.nix
index 5c5f0f61e81c1..4bb2a270271b6 100644
--- a/pkgs/development/libraries/hipfort/default.nix
+++ b/pkgs/development/rocm-modules/5/hipfort/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipfort";
-  version = "5.6.0";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCmSoftwarePlatform";
     repo = "hipfort";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-x1pF9md7RIcobE/4UxHxOaURbljFZGOashW1KM0lmo0=";
+    hash = "sha256-DRjUWhdinDKP7CZgq2SmU3lGmmodCuXvco9aEeMLSZ4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/hipify/default.nix b/pkgs/development/rocm-modules/5/hipify/default.nix
index 342e8e7e8bd48..893056496c9c0 100644
--- a/pkgs/development/compilers/hipify/default.nix
+++ b/pkgs/development/rocm-modules/5/hipify/default.nix
@@ -3,18 +3,19 @@
 , fetchFromGitHub
 , rocmUpdateScript
 , cmake
+, clang
 , libxml2
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipify";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "HIPIFY";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-EaHtI1ywjEHioWptuHvCllJ3dENtSClVoE6NpWTOa9I=";
+    hash = "sha256-lCQ2VTUGmFC90Xu70/tvoeDhFaInGqLT3vC2A1UojNI=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   postPatch = ''
     substituteInPlace CMakeLists.txt \
-      --replace "\''${LLVM_TOOLS_BINARY_DIR}/clang" "${stdenv.cc}/bin/clang"
+      --replace "\''${LLVM_TOOLS_BINARY_DIR}/clang" "${clang}/bin/clang"
   '';
 
   passthru.updateScript = rocmUpdateScript {
@@ -31,11 +32,11 @@ stdenv.mkDerivation (finalAttrs: {
     repo = finalAttrs.src.repo;
   };
 
-  # Fixup weird install paths
+  # Fixup bad symlinks
   postInstall = ''
-    mkdir -p $out/bin
-    mv $out/{*.sh,hipify-*} $out/bin
-    cp -afs $out/bin $out/hip
+    rm -r $out/hip/bin
+    ln -s $out/bin $out/hip/bin
+    patchShebangs $out/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/hipsolver/default.nix b/pkgs/development/rocm-modules/5/hipsolver/default.nix
index ff499b342f260..34592a5bbd961 100644
--- a/pkgs/development/libraries/hipsolver/default.nix
+++ b/pkgs/development/rocm-modules/5/hipsolver/default.nix
@@ -4,7 +4,7 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , gfortran
 , rocblas
 , rocsolver
@@ -18,7 +18,7 @@
 # Can also use cuSOLVER
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipsolver";
-  version = "5.4.4";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -34,13 +34,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "hipSOLVER";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-p9hgKqRALLItv/HTpVlTsu+m9wlwCBYPYnJcm8StIao=";
+    hash = "sha256-I9Xjkilo+baeM1CRXjLAbj/vrg8r5/E2yEImhHGSyf8=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     gfortran
   ];
 
@@ -95,6 +95,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/hipsparse/default.nix b/pkgs/development/rocm-modules/5/hipsparse/default.nix
index 4f4b0c7cdc004..79b78f3661d85 100644
--- a/pkgs/development/libraries/hipsparse/default.nix
+++ b/pkgs/development/rocm-modules/5/hipsparse/default.nix
@@ -5,19 +5,20 @@
 , cmake
 , rocm-cmake
 , rocsparse
-, hip
+, clr
 , gfortran
 , git
 , gtest
 , openmp
 , buildTests ? false
 , buildSamples ? false
+, gpuTargets ? [ ]
 }:
 
 # This can also use cuSPARSE as a backend instead of rocSPARSE
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipsparse";
-  version = "5.4.4";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -31,13 +32,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "hipSPARSE";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-JWjmMvqIm4in1aPq2UgYmL0eWjrrRBiU6vH3FnCZZ40=";
+    hash = "sha256-txigaOoZMI/v+EQLgGlj2O0IHfE7EpgjL0cyv49nKzo=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     gfortran
   ];
 
@@ -59,16 +60,15 @@ stdenv.mkDerivation (finalAttrs: {
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_CLIENTS_TESTS=ON"
   ];
 
   # We have to manually generate the matrices
   # CMAKE_MATRICES_DIR seems to be reset in clients/tests/CMakeLists.txt
-  postPatch = ''
-    substituteInPlace clients/common/utility.cpp \
-      --replace "#ifdef __cpp_lib_filesystem" " #if true"
-  '' + lib.optionalString buildTests ''
+  postPatch = lib.optionalString buildTests ''
     mkdir -p matrices
 
     ln -s ${rocsparse.passthru.matrices.matrix-01}/*.mtx matrices
@@ -116,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
     mkdir -p $sample/bin
     mv clients/staging/example_* $sample/bin
     patchelf --set-rpath $out/lib:${lib.makeLibraryPath (
-      finalAttrs.buildInputs ++ [ hip gfortran.cc ])} $sample/bin/example_*
+      finalAttrs.buildInputs ++ [ clr gfortran.cc ])} $sample/bin/example_*
   '';
 
   passthru.updateScript = rocmUpdateScript {
@@ -131,6 +131,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix
new file mode 100644
index 0000000000000..d13092fd3eef0
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/hsa-amd-aqlprofile-bin/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchurl
+, dpkg
+}:
+
+let
+  prefix = "hsa-amd-aqlprofile";
+  version = "5.7.0";
+  major = lib.versions.major version;
+  minor = lib.versions.minor version;
+  patch = lib.versions.patch version;
+  magic = lib.strings.concatStrings (lib.strings.intersperse "0" (lib.versions.splitVersion version));
+in stdenv.mkDerivation (finalAttrs: {
+  inherit version;
+  pname = "${prefix}-bin";
+
+  src = fetchurl {
+    url = "https://repo.radeon.com/rocm/apt/${major}.${minor}/pool/main/h/${prefix}/${prefix}_1.0.0.${magic}.${magic}-63~22.04_amd64.deb";
+    hash = "sha256-FQ25eXkhnvOmcf0sGW3GYu9kZj69bVvZrh0jVx/G/kI=";
+  };
+
+  nativeBuildInputs = [ dpkg ];
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -a opt/rocm-${version}/* $out
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "AQLPROFILE library for AMD HSA runtime API extension support";
+    homepage = "https://rocm.docs.amd.com/en/latest/";
+    license = with licenses; [ unfree ];
+    maintainers = teams.rocm.members;
+    platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+  };
+})
diff --git a/pkgs/development/compilers/llvm/rocm/llvm.nix b/pkgs/development/rocm-modules/5/llvm/base.nix
index 5475f411304b5..655192d892bb1 100644
--- a/pkgs/development/compilers/llvm/rocm/llvm.nix
+++ b/pkgs/development/rocm-modules/5/llvm/base.nix
@@ -24,8 +24,7 @@
 , targetDir ? "llvm"
 , targetProjects ? [ ]
 , targetRuntimes ? [ ]
-# "NATIVE" resolves into x86 or aarch64 depending on stdenv
-, llvmTargetsToBuild ? [ "NATIVE" ]
+, llvmTargetsToBuild ? [ "NATIVE" ] # "NATIVE" resolves into x86 or aarch64 depending on stdenv
 , extraPatches ? [ ]
 , extraNativeBuildInputs ? [ ]
 , extraBuildInputs ? [ ]
@@ -39,6 +38,7 @@
   )
 )]
 , extraPostInstall ? ""
+, hardeningDisable ? [ ]
 , requiredSystemFeatures ? [ ]
 , extraLicenses ? [ ]
 , isBroken ? false
@@ -53,7 +53,7 @@ let
   llvmTargetsToBuild' = [ "AMDGPU" ] ++ builtins.map inferNativeTarget llvmTargetsToBuild;
 in stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-llvm-${targetName}";
-  version = "5.4.4";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -70,7 +70,7 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-BDvC6QFDFtahA9hmJDLiM6K4mrO3j9E9rEXm7KulcuA=";
+    hash = "sha256-oJIXALwxo130jl8b6yCFw+a2kMBlny5/0ubiqF6MOWY=";
   };
 
   nativeBuildInputs = [
@@ -108,22 +108,20 @@ in stdenv.mkDerivation (finalAttrs: {
     "-DLLVM_ENABLE_PROJECTS=${lib.concatStringsSep ";" targetProjects}"
   ] ++ lib.optionals ((finalAttrs.passthru.isLLVM || targetDir == "runtimes") && targetRuntimes != [ ]) [
     "-DLLVM_ENABLE_RUNTIMES=${lib.concatStringsSep ";" targetRuntimes}"
-  ] ++ lib.optionals (finalAttrs.passthru.isLLVM || finalAttrs.passthru.isClang) [
-    "-DLLVM_ENABLE_RTTI=ON"
-    "-DLLVM_ENABLE_EH=ON"
+  ] ++ lib.optionals finalAttrs.passthru.isLLVM [
+    "-DLLVM_INSTALL_UTILS=ON"
+    "-DLLVM_INSTALL_GTEST=ON"
   ] ++ lib.optionals (buildDocs || buildMan) [
     "-DLLVM_INCLUDE_DOCS=ON"
     "-DLLVM_BUILD_DOCS=ON"
     # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core
     "-DLLVM_ENABLE_SPHINX=ON"
-    "-DLLVM_ENABLE_OCAMLDOC=OFF"
     "-DSPHINX_OUTPUT_HTML=ON"
     "-DSPHINX_OUTPUT_MAN=ON"
     "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
   ] ++ lib.optionals buildTests [
     "-DLLVM_INCLUDE_TESTS=ON"
     "-DLLVM_BUILD_TESTS=ON"
-  ] ++ lib.optionals (buildTests && !finalAttrs.passthru.isLLVM) [
     "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped"
   ] ++ extraCMakeFlags;
 
@@ -141,10 +139,7 @@ in stdenv.mkDerivation (finalAttrs: {
   doCheck = buildTests;
   checkTarget = lib.concatStringsSep " " checkTargets;
 
-  postInstall = lib.optionalString finalAttrs.passthru.isLLVM ''
-    # `lit` expects these for some test suites
-    mv bin/{FileCheck,not,count,yaml2obj,obj2yaml} $out/bin
-  '' + lib.optionalString buildMan ''
+  postInstall = lib.optionalString buildMan ''
     mkdir -p $info
   '' + extraPostInstall;
 
@@ -159,7 +154,7 @@ in stdenv.mkDerivation (finalAttrs: {
     };
   };
 
-  inherit requiredSystemFeatures;
+  inherit hardeningDisable requiredSystemFeatures;
 
   meta = with lib; {
     description = "ROCm fork of the LLVM compiler infrastructure";
diff --git a/pkgs/development/rocm-modules/5/llvm/default.nix b/pkgs/development/rocm-modules/5/llvm/default.nix
new file mode 100644
index 0000000000000..9226fb87802c7
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, wrapBintoolsWith
+, overrideCC
+, rocm-device-libs
+, rocm-runtime
+, rocm-thunk
+, clr
+}:
+
+let
+  ## Stage 1 ##
+  # Projects
+  llvm = callPackage ./stage-1/llvm.nix { inherit rocmUpdateScript; };
+  clang-unwrapped = callPackage ./stage-1/clang-unwrapped.nix { inherit rocmUpdateScript llvm; };
+  lld = callPackage ./stage-1/lld.nix { inherit rocmUpdateScript llvm; };
+
+  # Runtimes
+  runtimes = callPackage ./stage-1/runtimes.nix { inherit rocmUpdateScript llvm; };
+
+  ## Stage 2 ##
+  # Helpers
+  bintools-unwrapped = callPackage ./stage-2/bintools-unwrapped.nix { inherit llvm lld; };
+  bintools = wrapBintoolsWith { bintools = bintools-unwrapped; };
+  rStdenv = callPackage ./stage-2/rstdenv.nix { inherit llvm clang-unwrapped lld runtimes bintools; };
+in rec {
+  inherit
+  llvm
+  clang-unwrapped
+  lld
+  bintools;
+
+  # Runtimes
+  libc = callPackage ./stage-2/libc.nix { inherit rocmUpdateScript; stdenv = rStdenv; };
+  libunwind = callPackage ./stage-2/libunwind.nix { inherit rocmUpdateScript; stdenv = rStdenv; };
+  libcxxabi = callPackage ./stage-2/libcxxabi.nix { inherit rocmUpdateScript; stdenv = rStdenv; };
+  libcxx = callPackage ./stage-2/libcxx.nix { inherit rocmUpdateScript; stdenv = rStdenv; };
+  compiler-rt = callPackage ./stage-2/compiler-rt.nix { inherit rocmUpdateScript llvm; stdenv = rStdenv; };
+
+  ## Stage 3 ##
+  # Helpers
+  clang = callPackage ./stage-3/clang.nix { inherit llvm lld clang-unwrapped bintools libc libunwind libcxxabi libcxx compiler-rt; };
+  rocmClangStdenv = overrideCC stdenv clang;
+
+  # Projects
+  clang-tools-extra = callPackage ./stage-3/clang-tools-extra.nix { inherit rocmUpdateScript llvm clang-unwrapped; stdenv = rocmClangStdenv; };
+  libclc = callPackage ./stage-3/libclc.nix { inherit rocmUpdateScript llvm clang; stdenv = rocmClangStdenv; };
+  lldb = callPackage ./stage-3/lldb.nix { inherit rocmUpdateScript clang; stdenv = rocmClangStdenv; };
+  mlir = callPackage ./stage-3/mlir.nix { inherit rocmUpdateScript clr; stdenv = rocmClangStdenv; };
+  polly = callPackage ./stage-3/polly.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; };
+  flang = callPackage ./stage-3/flang.nix { inherit rocmUpdateScript clang-unwrapped mlir; stdenv = rocmClangStdenv; };
+  openmp = callPackage ./stage-3/openmp.nix { inherit rocmUpdateScript llvm clang-unwrapped clang rocm-device-libs rocm-runtime rocm-thunk; stdenv = rocmClangStdenv; };
+
+  # Runtimes
+  pstl = callPackage ./stage-3/pstl.nix { inherit rocmUpdateScript; stdenv = rocmClangStdenv; };
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix
new file mode 100644
index 0000000000000..113313f4e0665
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-1/clang-unwrapped.nix
@@ -0,0 +1,46 @@
+{ callPackage
+, rocmUpdateScript
+, llvm
+}:
+
+callPackage ../base.nix rec {
+  inherit rocmUpdateScript;
+  targetName = "clang-unwrapped";
+  targetDir = "clang";
+  extraBuildInputs = [ llvm ];
+
+  extraCMakeFlags = [
+    "-DCLANG_INCLUDE_DOCS=ON"
+    "-DCLANG_INCLUDE_TESTS=ON"
+  ];
+
+  extraPostPatch = ''
+    # Looks like they forgot to add finding libedit to the standalone build
+    ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules
+
+    substituteInPlace CMakeLists.txt \
+      --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)"
+
+    # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'`
+    rm test/Analysis/scan-build/*.test
+    rm test/Analysis/scan-build/rebuild_index/rebuild_index.test
+
+    # `does not depend on a module exporting 'baz.h'`
+    rm test/Modules/header-attribs.cpp
+
+    # We do not have HIP or the ROCm stack available yet
+    rm test/Driver/hip-options.hip
+
+    # ???? `ld: cannot find crti.o: No such file or directory` linker issue?
+    rm test/Interpreter/dynamic-library.cpp
+
+    # `fatal error: 'stdio.h' file not found`
+    rm test/OpenMP/amdgcn_emit_llvm.c
+  '';
+
+  extraPostInstall = ''
+    mv bin/clang-tblgen $out/bin
+  '';
+
+  requiredSystemFeatures = [ "big-parallel" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix
new file mode 100644
index 0000000000000..a7b042eabfe65
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-1/lld.nix
@@ -0,0 +1,13 @@
+{ callPackage
+, rocmUpdateScript
+, llvm
+}:
+
+callPackage ../base.nix rec {
+  inherit rocmUpdateScript;
+  buildMan = false; # No man pages to build
+  targetName = "lld";
+  targetDir = targetName;
+  extraBuildInputs = [ llvm ];
+  checkTargets = [ "check-${targetName}" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix
new file mode 100644
index 0000000000000..51959ec8bc325
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-1/llvm.nix
@@ -0,0 +1,10 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix {
+  inherit rocmUpdateScript;
+  requiredSystemFeatures = [ "big-parallel" ];
+  isBroken = stdenv.isAarch64; # https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix b/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix
new file mode 100644
index 0000000000000..5f6f278ab10e4
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-1/runtimes.nix
@@ -0,0 +1,30 @@
+{ lib
+, callPackage
+, rocmUpdateScript
+, llvm
+}:
+
+callPackage ../base.nix rec {
+  inherit rocmUpdateScript;
+  buildDocs = false;
+  buildMan = false;
+  buildTests = false;
+  targetName = "runtimes";
+  targetDir = targetName;
+
+  targetRuntimes = [
+    "libunwind"
+    "libcxxabi"
+    "libcxx"
+    "compiler-rt"
+  ];
+
+  extraBuildInputs = [ llvm ];
+
+  extraCMakeFlags = [
+    "-DLIBCXX_INCLUDE_BENCHMARKS=OFF"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+  ];
+
+  extraLicenses = [ lib.licenses.mit ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/1000-libcxx-failing-tests.list b/pkgs/development/rocm-modules/5/llvm/stage-2/1000-libcxx-failing-tests.list
new file mode 100644
index 0000000000000..e005d6c928c26
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/1000-libcxx-failing-tests.list
@@ -0,0 +1,171 @@
+../libcxx/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
+../libcxx/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
+../libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
+../libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
+../libcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
+../libcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
+../libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+../libcxx/test/libcxx/localization/locales/locale/locale.types/locale.facet/no_allocation.pass.cpp
+../libcxx/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_underaligned_buffer.pass.cpp
+../libcxx/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp
+../libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
+../libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
+../libcxx/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
+../libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
+../libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
+../libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp
+../libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
+../libcxx/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp
+../libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/unord/unord.multiset/insert_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/containers/unord/unord.set/insert_and_emplace_allocator_requirements.pass.cpp
+../libcxx/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
+../libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
+../libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
+../libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/toctou.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
+../libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
+../libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
+../libcxx/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
+../libcxx/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
+../libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
+../libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp
+../libcxx/test/std/strings/basic.string/string.cons/substr_rvalue.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.assign/value.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.cons/default.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.cons/move.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
+../libcxx/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
+../libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
+../libcxx/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
+../libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
+../libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate_at_least.pass.cpp
+../libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
+../libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.global/null_memory_resource.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/without_buffer.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_deallocate.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_exception_safety.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_initial_buffer.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_from_zero_sized_buffer.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_overaligned_request.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_with_initial_size.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.ctor/ctor_does_not_allocate.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/equality.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_overaligned_request.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate_reuse_blocks.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/sync_allocate.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_overaligned_request.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate_reuse_blocks.pass.cpp
+../libcxx/test/std/utilities/utility/mem.res/mem.res.pool/mem.res.pool.mem/unsync_allocate.pass.cpp
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix
new file mode 100644
index 0000000000000..ef40dd4d38246
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/bintools-unwrapped.nix
@@ -0,0 +1,28 @@
+{ runCommand
+, llvm
+, lld
+}:
+
+runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } ''
+  mkdir -p $out/bin
+
+  for prog in ${lld}/bin/*; do
+    ln -s $prog $out/bin/$(basename $prog)
+  done
+
+  for prog in ${llvm}/bin/*; do
+    ln -sf $prog $out/bin/$(basename $prog)
+  done
+
+  ln -s ${llvm}/bin/llvm-ar $out/bin/ar
+  ln -s ${llvm}/bin/llvm-as $out/bin/as
+  ln -s ${llvm}/bin/llvm-dwp $out/bin/dwp
+  ln -s ${llvm}/bin/llvm-nm $out/bin/nm
+  ln -s ${llvm}/bin/llvm-objcopy $out/bin/objcopy
+  ln -s ${llvm}/bin/llvm-objdump $out/bin/objdump
+  ln -s ${llvm}/bin/llvm-ranlib $out/bin/ranlib
+  ln -s ${llvm}/bin/llvm-readelf $out/bin/readelf
+  ln -s ${llvm}/bin/llvm-size $out/bin/size
+  ln -s ${llvm}/bin/llvm-strip $out/bin/strip
+  ln -s ${lld}/bin/lld $out/bin/ld
+''
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix
new file mode 100644
index 0000000000000..3b8e41705e1a7
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/compiler-rt.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, callPackage
+, rocmUpdateScript
+, llvm
+, glibc
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildDocs = false; # No documentation to build
+  buildMan = false; # No man pages to build
+  targetName = "compiler-rt";
+  targetDir = "runtimes";
+
+  targetRuntimes = [
+    "libunwind"
+    "libcxxabi"
+    "libcxx"
+    targetName
+  ];
+
+  extraCMakeFlags = [
+    "-DCOMPILER_RT_INCLUDE_TESTS=ON"
+    "-DCOMPILER_RT_USE_LLVM_UNWINDER=ON"
+    "-DCOMPILER_RT_CXX_LIBRARY=libcxx"
+    "-DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF" # We can't run most of these
+
+    # Workaround having to build combined
+    "-DLIBUNWIND_INCLUDE_DOCS=OFF"
+    "-DLIBUNWIND_INCLUDE_TESTS=OFF"
+    "-DLIBUNWIND_USE_COMPILER_RT=ON"
+    "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
+    "-DLIBUNWIND_INSTALL_HEADERS=OFF"
+    "-DLIBCXXABI_INCLUDE_TESTS=OFF"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+    "-DLIBCXXABI_USE_COMPILER_RT=ON"
+    "-DLIBCXXABI_INSTALL_LIBRARY=OFF"
+    "-DLIBCXXABI_INSTALL_HEADERS=OFF"
+    "-DLIBCXX_INCLUDE_DOCS=OFF"
+    "-DLIBCXX_INCLUDE_TESTS=OFF"
+    "-DLIBCXX_USE_COMPILER_RT=ON"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_INSTALL_LIBRARY=OFF"
+    "-DLIBCXX_INSTALL_HEADERS=OFF"
+  ];
+
+  extraPostPatch = ''
+    # `No such file or directory: 'ldd'`
+    substituteInPlace ../compiler-rt/test/lit.common.cfg.py \
+      --replace "'ldd'," "'${glibc.bin}/bin/ldd',"
+
+    # We can run these
+    substituteInPlace ../compiler-rt/test/CMakeLists.txt \
+      --replace "endfunction()" "endfunction()''\nadd_subdirectory(builtins)''\nadd_subdirectory(shadowcallstack)"
+
+    # Could not launch llvm-config in /build/source/runtimes/build/bin
+    mkdir -p build/bin
+    ln -s ${llvm}/bin/llvm-config build/bin
+  '';
+
+  extraLicenses = [ lib.licenses.mit ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix
new file mode 100644
index 0000000000000..7e7cf9c2a6088
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libc.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildMan = false; # No man pages to build
+  targetName = "libc";
+  targetDir = "runtimes";
+  targetRuntimes = [ targetName ];
+
+  extraPostPatch = ''
+    # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:`
+    # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working...
+    substituteInPlace ../libc/test/src/math/log10_test.cpp \
+      --replace "i < N" "i < 0" \
+      --replace "test(mpfr::RoundingMode::Nearest);" "" \
+      --replace "test(mpfr::RoundingMode::Downward);" "" \
+      --replace "test(mpfr::RoundingMode::Upward);" "" \
+      --replace "test(mpfr::RoundingMode::TowardZero);" ""
+  '';
+
+  checkTargets = [ "check-${targetName}" ];
+  hardeningDisable = [ "fortify" ]; # Prevent `error: "Assumed value of MB_LEN_MAX wrong"`
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix
new file mode 100644
index 0000000000000..473227242765b
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxx.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildMan = false; # No man pages to build
+  targetName = "libcxx";
+  targetDir = "runtimes";
+
+  targetRuntimes = [
+    "libunwind"
+    "libcxxabi"
+    targetName
+  ];
+
+  extraCMakeFlags = [
+    "-DLIBCXX_INCLUDE_DOCS=ON"
+    "-DLIBCXX_INCLUDE_TESTS=ON"
+    "-DLIBCXX_USE_COMPILER_RT=ON"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+
+    # Workaround having to build combined
+    "-DLIBUNWIND_INCLUDE_DOCS=OFF"
+    "-DLIBUNWIND_INCLUDE_TESTS=OFF"
+    "-DLIBUNWIND_USE_COMPILER_RT=ON"
+    "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
+    "-DLIBUNWIND_INSTALL_HEADERS=OFF"
+    "-DLIBCXXABI_INCLUDE_TESTS=OFF"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+    "-DLIBCXXABI_USE_COMPILER_RT=ON"
+    "-DLIBCXXABI_INSTALL_LIBRARY=OFF"
+    "-DLIBCXXABI_INSTALL_HEADERS=OFF"
+  ];
+
+  # Most of these can't find `bash` or `mkdir`, might just be hard-coded paths, or PATH is altered
+  extraPostPatch = ''
+    chmod +w -R ../libcxx/test/{libcxx,std}
+    cat ${./1000-libcxx-failing-tests.list} | xargs -d \\n rm
+  '';
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix
new file mode 100644
index 0000000000000..e15ec777ff61a
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libcxxabi.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildDocs = false; # No documentation to build
+  buildMan = false; # No man pages to build
+  targetName = "libcxxabi";
+  targetDir = "runtimes";
+
+  targetRuntimes = [
+    "libunwind"
+    targetName
+    "libcxx"
+  ];
+
+  extraCMakeFlags = [
+    "-DLIBCXXABI_INCLUDE_TESTS=ON"
+    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
+    "-DLIBCXXABI_USE_COMPILER_RT=ON"
+
+    # Workaround having to build combined
+    "-DLIBUNWIND_INCLUDE_DOCS=OFF"
+    "-DLIBUNWIND_INCLUDE_TESTS=OFF"
+    "-DLIBUNWIND_USE_COMPILER_RT=ON"
+    "-DLIBUNWIND_INSTALL_LIBRARY=OFF"
+    "-DLIBUNWIND_INSTALL_HEADERS=OFF"
+    "-DLIBCXX_INCLUDE_DOCS=OFF"
+    "-DLIBCXX_INCLUDE_TESTS=OFF"
+    "-DLIBCXX_USE_COMPILER_RT=ON"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+    "-DLIBCXX_INSTALL_LIBRARY=OFF"
+    "-DLIBCXX_INSTALL_HEADERS=OFF"
+  ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix
new file mode 100644
index 0000000000000..3d599e0d4b325
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/libunwind.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildMan = false; # No man pages to build
+  targetName = "libunwind";
+  targetDir = "runtimes";
+  targetRuntimes = [ targetName ];
+
+  extraCMakeFlags = [
+    "-DLIBUNWIND_INCLUDE_DOCS=ON"
+    "-DLIBUNWIND_INCLUDE_TESTS=ON"
+    "-DLIBUNWIND_USE_COMPILER_RT=ON"
+  ];
+
+  extraPostPatch = ''
+    # `command had no output on stdout or stderr` (Says these unsupported tests)
+    chmod +w -R ../libunwind/test
+    rm ../libunwind/test/floatregister.pass.cpp
+    rm ../libunwind/test/unwind_leaffunction.pass.cpp
+    rm ../libunwind/test/libunwind_02.pass.cpp
+  '';
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix b/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix
new file mode 100644
index 0000000000000..45d369a6541c3
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-2/rstdenv.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, overrideCC
+, wrapCCWith
+, llvm
+, clang-unwrapped
+, lld
+, runtimes
+, bintools
+}:
+
+overrideCC stdenv (wrapCCWith rec {
+  inherit bintools;
+  libcxx = runtimes;
+  cc = clang-unwrapped;
+
+  extraPackages = [
+    llvm
+    lld
+  ];
+
+  nixSupport.cc-cflags = [
+    "-resource-dir=$out/resource-root"
+    "-fuse-ld=lld"
+    "-rtlib=compiler-rt"
+    "-unwindlib=libunwind"
+    "-Wno-unused-command-line-argument"
+  ];
+
+  extraBuildCommands = ''
+    clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
+    mkdir -p $out/resource-root
+    ln -s ${cc}/lib/clang/$clang_version/include $out/resource-root
+    ln -s ${runtimes}/lib $out/resource-root
+  '';
+})
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/0000-mlir-fix-debugtranslation.patch b/pkgs/development/rocm-modules/5/llvm/stage-3/0000-mlir-fix-debugtranslation.patch
new file mode 100644
index 0000000000000..f4221a088136f
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/0000-mlir-fix-debugtranslation.patch
@@ -0,0 +1,36 @@
+From f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74 Mon Sep 17 00:00:00 2001
+From: Scott Linder <Scott.Linder@amd.com>
+Date: Mon, 11 Sep 2023 18:37:37 +0000
+Subject: [PATCH] [HeterogeneousDWARF] Update MLIR DI Metadata handling
+
+Pass a default DW_MSPACE_LLVM_none to satisfy new API
+
+Change-Id: I50df461f00b5510a715f55f61107122318102d22
+---
+ lib/Target/LLVMIR/DebugTranslation.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Target/LLVMIR/DebugTranslation.cpp b/lib/Target/LLVMIR/DebugTranslation.cpp
+index 2053f5bcef06aa6..635ee5d7e5fefdc 100644
+--- a/lib/Target/LLVMIR/DebugTranslation.cpp
++++ b/lib/Target/LLVMIR/DebugTranslation.cpp
+@@ -148,7 +148,8 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) {
+       /*File=*/nullptr, /*Line=*/0,
+       /*Scope=*/nullptr, translate(attr.getBaseType()), attr.getSizeInBits(),
+       attr.getAlignInBits(), attr.getOffsetInBits(),
+-      /*DWARFAddressSpace=*/std::nullopt, /*Flags=*/llvm::DINode::FlagZero);
++      /*DWARFAddressSpace=*/std::nullopt, llvm::dwarf::DW_MSPACE_LLVM_none,
++      /*Flags=*/llvm::DINode::FlagZero);
+ }
+ 
+ llvm::DIFile *DebugTranslation::translateImpl(DIFileAttr attr) {
+@@ -185,7 +186,8 @@ DebugTranslation::translateImpl(DILocalVariableAttr attr) {
+       llvmCtx, translate(attr.getScope()), getMDStringOrNull(attr.getName()),
+       translate(attr.getFile()), attr.getLine(), translate(attr.getType()),
+       attr.getArg(),
+-      /*Flags=*/llvm::DINode::FlagZero, attr.getAlignInBits(),
++      /*Flags=*/llvm::DINode::FlagZero, llvm::dwarf::DW_MSPACE_LLVM_none,
++      attr.getAlignInBits(),
+       /*Annotations=*/nullptr);
+ }
+ 
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/1000-openmp-failing-tests.list b/pkgs/development/rocm-modules/5/llvm/stage-3/1000-openmp-failing-tests.list
new file mode 100644
index 0000000000000..e53b21b3c5358
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/1000-openmp-failing-tests.list
@@ -0,0 +1,122 @@
+runtime/test/tasking/hidden_helper_task/gtid.cpp
+runtime/test/ompt/parallel/parallel_if0.c
+runtime/test/ompt/parallel/serialized.c
+runtime/test/ompt/teams/parallel_team.c
+runtime/test/ompt/teams/serial_teams.c
+runtime/test/ompt/teams/serialized.c
+runtime/test/ompt/teams/team.c
+libomptarget/test/api/assert.c
+libomptarget/test/api/omp_device_managed_memory.c
+libomptarget/test/api/omp_device_memory.c
+libomptarget/test/api/omp_get_device_num.c
+libomptarget/test/api/omp_host_pinned_memory.c
+libomptarget/test/api/omp_host_pinned_memory_alloc.c
+libomptarget/test/api/omp_target_memcpy_async1.c
+libomptarget/test/api/omp_target_memcpy_async2.c
+libomptarget/test/api/omp_target_memcpy_rect_async1.c
+libomptarget/test/api/omp_target_memcpy_rect_async2.c
+libomptarget/test/mapping/array_section_implicit_capture.c
+libomptarget/test/mapping/data_absent_at_exit.c
+libomptarget/test/mapping/data_member_ref.cpp
+libomptarget/test/mapping/declare_mapper_api.cpp
+libomptarget/test/mapping/declare_mapper_target.cpp
+libomptarget/test/mapping/declare_mapper_target_data.cpp
+libomptarget/test/mapping/declare_mapper_target_data_enter_exit.cpp
+libomptarget/test/mapping/firstprivate_aligned.cpp
+libomptarget/test/mapping/has_device_addr.cpp
+libomptarget/test/mapping/implicit_device_ptr.c
+libomptarget/test/mapping/is_device_ptr.cpp
+libomptarget/test/mapping/lambda_mapping.cpp
+libomptarget/test/mapping/low_alignment.c
+libomptarget/test/mapping/map_back_race.cpp
+libomptarget/test/mapping/power_of_two_alignment.c
+libomptarget/test/mapping/pr38704.c
+libomptarget/test/mapping/prelock.cpp
+libomptarget/test/mapping/present/target_data_at_exit.c
+libomptarget/test/mapping/private_mapping.c
+libomptarget/test/mapping/ptr_and_obj_motion.c
+libomptarget/test/mapping/reduction_implicit_map.cpp
+libomptarget/test/mapping/target_derefence_array_pointrs.cpp
+libomptarget/test/mapping/target_map_for_member_data.cpp
+libomptarget/test/mapping/target_update_array_extension.c
+libomptarget/test/mapping/target_use_device_addr.c
+libomptarget/test/offloading/atomic-compare-signedness.c
+libomptarget/test/offloading/bug47654.cpp
+libomptarget/test/offloading/bug49021.cpp
+libomptarget/test/offloading/bug49779.cpp
+libomptarget/test/offloading/bug50022.cpp
+libomptarget/test/offloading/bug51781.c
+libomptarget/test/offloading/bug51982.c
+libomptarget/test/offloading/bug53727.cpp
+libomptarget/test/offloading/complex_reduction.cpp
+libomptarget/test/offloading/cuda_no_devices.c
+libomptarget/test/offloading/d2d_memcpy.c
+libomptarget/test/offloading/dynamic_module.c
+libomptarget/test/offloading/dynamic_module_load.c
+libomptarget/test/offloading/global_constructor.cpp
+libomptarget/test/offloading/lone_target_exit_data.c
+libomptarget/test/offloading/memory_manager.cpp
+libomptarget/test/offloading/parallel_offloading_map.cpp
+libomptarget/test/offloading/static_linking.c
+libomptarget/test/offloading/std_complex_arithmetic.cpp
+libomptarget/test/offloading/target-teams-atomic.c
+libomptarget/test/offloading/target_constexpr_mapping.cpp
+libomptarget/test/offloading/target_critical_region.cpp
+libomptarget/test/offloading/target_depend_nowait.cpp
+libomptarget/test/offloading/target_nowait_target.cpp
+libomptarget/test/offloading/taskloop_offload_nowait.cpp
+libomptarget/test/offloading/test_libc.cpp
+libomptarget/test/ompt/veccopy.c
+libomptarget/test/ompt/veccopy_disallow_both.c
+libomptarget/test/ompt/veccopy_emi.c
+libomptarget/test/ompt/veccopy_emi_map.c
+libomptarget/test/ompt/veccopy_map.c
+libomptarget/test/ompt/veccopy_no_device_init.c
+libomptarget/test/ompt/veccopy_wrong_return.c
+libomptarget/test/api/is_initial_device.c
+libomptarget/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
+libomptarget/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
+libomptarget/test/mapping/declare_mapper_nested_default_mappers_var.cpp
+libomptarget/test/mapping/target_pointers_members_map.cpp
+libomptarget/test/api/omp_dynamic_shared_memory_mixed.c
+libomptarget/test/api/omp_env_vars.c
+libomptarget/test/api/omp_get_mapped_ptr.c
+libomptarget/test/api/omp_get_num_devices.c
+libomptarget/test/api/omp_get_num_devices_with_empty_target.c
+libomptarget/test/mapping/alloc_fail.c
+libomptarget/test/mapping/array_section_use_device_ptr.c
+libomptarget/test/mapping/declare_mapper_nested_default_mappers.cpp
+libomptarget/test/mapping/declare_mapper_nested_mappers.cpp
+libomptarget/test/mapping/declare_mapper_target_update.cpp
+libomptarget/test/mapping/delete_inf_refcount.c
+libomptarget/test/mapping/lambda_by_value.cpp
+libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
+libomptarget/test/mapping/ompx_hold/struct.c
+libomptarget/test/mapping/ompx_hold/target-data.c
+libomptarget/test/mapping/ompx_hold/target.c
+libomptarget/test/mapping/present/target.c
+libomptarget/test/mapping/present/target_array_extension.c
+libomptarget/test/mapping/present/target_data.c
+libomptarget/test/mapping/present/target_data_array_extension.c
+libomptarget/test/mapping/present/target_enter_data.c
+libomptarget/test/mapping/present/target_exit_data_delete.c
+libomptarget/test/mapping/present/target_exit_data_release.c
+libomptarget/test/mapping/present/target_update.c
+libomptarget/test/mapping/present/target_update_array_extension.c
+libomptarget/test/mapping/present/zero_length_array_section.c
+libomptarget/test/mapping/present/zero_length_array_section_exit.c
+libomptarget/test/mapping/target_data_array_extension_at_exit.c
+libomptarget/test/mapping/target_has_device_addr.c
+libomptarget/test/mapping/target_implicit_partial_map.c
+libomptarget/test/mapping/target_wrong_use_device_addr.c
+libomptarget/test/offloading/host_as_target.c
+libomptarget/test/offloading/info.c
+libomptarget/test/offloading/offloading_success.c
+libomptarget/test/offloading/offloading_success.cpp
+libomptarget/test/offloading/wtime.c
+libomptarget/test/unified_shared_memory/api.c
+libomptarget/test/unified_shared_memory/associate_ptr.c
+libomptarget/test/unified_shared_memory/close_enter_exit.c
+libomptarget/test/unified_shared_memory/close_manual.c
+libomptarget/test/unified_shared_memory/close_member.c
+libomptarget/test/unified_shared_memory/close_modifier.c
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/1001-mlir-failing-tests.list b/pkgs/development/rocm-modules/5/llvm/stage-3/1001-mlir-failing-tests.list
new file mode 100644
index 0000000000000..0b3d2d22592da
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/1001-mlir-failing-tests.list
@@ -0,0 +1,11 @@
+./test/Target/LLVMIR/openmp-llvm.mlir
+./test/mlir-spirv-cpu-runner/double.mlir
+./test/mlir-spirv-cpu-runner/simple_add.mlir
+./test/mlir-vulkan-runner/addf.mlir
+./test/mlir-vulkan-runner/addi.mlir
+./test/mlir-vulkan-runner/addi8.mlir
+./test/mlir-vulkan-runner/mulf.mlir
+./test/mlir-vulkan-runner/smul_extended.mlir
+./test/mlir-vulkan-runner/subf.mlir
+./test/mlir-vulkan-runner/time.mlir
+./test/mlir-vulkan-runner/umul_extended.mlir
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix
new file mode 100644
index 0000000000000..d18673ecb3db4
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/clang-tools-extra.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, llvm
+, clang-unwrapped
+, gtest
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildTests = false; # `invalid operands to binary expression ('std::basic_stringstream<char>' and 'const llvm::StringRef')`
+  targetName = "clang-tools-extra";
+
+  targetProjects = [
+    "clang"
+    "clang-tools-extra"
+  ];
+
+  extraBuildInputs = [ gtest ];
+
+  extraCMakeFlags = [
+    "-DLLVM_INCLUDE_DOCS=OFF"
+    "-DLLVM_INCLUDE_TESTS=OFF"
+    "-DCLANG_INCLUDE_DOCS=OFF"
+    "-DCLANG_INCLUDE_TESTS=ON"
+    "-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON"
+  ];
+
+  extraPostInstall = ''
+    # Remove LLVM and Clang
+    for path in `find ${llvm} ${clang-unwrapped}`; do
+      if [ $path != ${llvm} ] && [ $path != ${clang-unwrapped} ]; then
+        rm -f $out''${path#${llvm}} $out''${path#${clang-unwrapped}} || true
+      fi
+    done
+
+    # Cleanup empty directories
+    find $out -type d -empty -delete
+  '';
+
+  requiredSystemFeatures = [ "big-parallel" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix
new file mode 100644
index 0000000000000..91f34265f85fa
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/clang.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, wrapCCWith
+, llvm
+, lld
+, clang-unwrapped
+, bintools
+, libc
+, libunwind
+, libcxxabi
+, libcxx
+, compiler-rt
+}:
+
+wrapCCWith rec {
+  inherit libcxx bintools;
+
+  # We do this to avoid HIP pathing problems, and mimic a monolithic install
+  cc = stdenv.mkDerivation (finalAttrs: {
+    inherit (clang-unwrapped) version;
+    pname = "rocm-llvm-clang";
+    dontUnpack = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      clang_version=`${clang-unwrapped}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
+      mkdir -p $out/{bin,include/c++/v1,lib/{cmake,clang/$clang_version/{include,lib}},libexec,share}
+
+      for path in ${llvm} ${clang-unwrapped} ${lld} ${libc} ${libunwind} ${libcxxabi} ${libcxx} ${compiler-rt}; do
+        cp -as $path/* $out
+        chmod +w $out/{*,include/c++/v1,lib/{clang/$clang_version/include,cmake}}
+        rm -f $out/lib/libc++.so
+      done
+
+      ln -s $out/lib/* $out/lib/clang/$clang_version/lib
+      ln -sf $out/include/* $out/lib/clang/$clang_version/include
+
+      runHook postInstall
+    '';
+
+    passthru.isClang = true;
+  });
+
+  extraPackages = [
+    llvm
+    lld
+    libc
+    libunwind
+    libcxxabi
+    compiler-rt
+  ];
+
+  nixSupport.cc-cflags = [
+    "-resource-dir=$out/resource-root"
+    "-fuse-ld=lld"
+    "-rtlib=compiler-rt"
+    "-unwindlib=libunwind"
+    "-Wno-unused-command-line-argument"
+  ];
+
+  extraBuildCommands = ''
+    clang_version=`${cc}/bin/clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
+    mkdir -p $out/resource-root
+    ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root
+
+    # Not sure why, but hardening seems to make things break
+    echo "" > $out/nix-support/add-hardening.sh
+
+    # GPU compilation uses builtin `lld`
+    substituteInPlace $out/bin/{clang,clang++} \
+      --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;"
+  '';
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix
new file mode 100644
index 0000000000000..421663dcb1b76
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/flang.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, clang-unwrapped
+, mlir
+, graphviz
+, python3Packages
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  targetName = "flang";
+  targetDir = targetName;
+
+  extraNativeBuildInputs = [
+    graphviz
+    python3Packages.sphinx-markdown-tables
+  ];
+
+  extraBuildInputs = [ mlir ];
+
+  extraCMakeFlags = [
+    "-DCLANG_DIR=${clang-unwrapped}/lib/cmake/clang"
+    "-DMLIR_TABLEGEN_EXE=${mlir}/bin/mlir-tblgen"
+    "-DCLANG_TABLEGEN_EXE=${clang-unwrapped}/bin/clang-tblgen"
+    "-DFLANG_INCLUDE_TESTS=OFF" # `The dependency target "Bye" of target ...`
+  ];
+
+  # `flang/lib/Semantics/check-omp-structure.cpp:1905:1: error: no member named 'v' in 'Fortran::parser::OmpClause::OmpxDynCgroupMem'`
+  isBroken = true;
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix
new file mode 100644
index 0000000000000..1fd72ee67188f
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/libclc.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, llvm
+, clang
+, spirv-llvm-translator
+}:
+
+let
+  spirv = (spirv-llvm-translator.override { inherit llvm; });
+in callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildDocs = false; # No documentation to build
+  buildMan = false; # No man pages to build
+  targetName = "libclc";
+  targetDir = targetName;
+  extraBuildInputs = [ spirv ];
+
+  # `spirv-mesa3d` isn't compiling with LLVM 15.0.0, it does with LLVM 14.0.0
+  # Try removing the `spirv-mesa3d` and `clspv` patches next update
+  # `clspv` tests fail, unresolved calls
+  extraPostPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \
+        "find_program( LLVM_CLANG clang PATHS \"${clang}/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}/bin\" NO_DEFAULT_PATH )" \
+      --replace "  spirv-mesa3d-" "" \
+      --replace "  spirv64-mesa3d-" "" \
+      --replace "NOT \''${t} MATCHES" \
+        "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES"
+  '';
+
+  checkTargets = [ ];
+  isBroken = true; # ROCm 5.7.0 doesn't have IR/AttributeMask.h yet...?
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix
new file mode 100644
index 0000000000000..9b7d25e06d9d6
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/lldb.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, clang
+, xz
+, swig
+, lua5_3
+, graphviz
+, gtest
+, python3Packages
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildTests = false; # FIXME: Bad pathing for clang executable in tests, using relative path most likely
+  targetName = "lldb";
+  targetDir = targetName;
+  extraNativeBuildInputs = [ python3Packages.sphinx-automodapi ];
+
+  extraBuildInputs = [
+    xz
+    swig
+    lua5_3
+    graphviz
+    gtest
+  ];
+
+  extraCMakeFlags = [
+    "-DLLDB_EXTERNAL_CLANG_RESOURCE_DIR=${clang}/resource-root/lib/clang/$clang_version"
+    "-DLLDB_INCLUDE_TESTS=ON"
+    "-DLLDB_INCLUDE_UNITTESTS=ON"
+  ];
+
+  extraPostPatch = ''
+    export clang_version=`clang -v 2>&1 | grep "clang version " | grep -E -o "[0-9.-]+"`
+  '';
+
+  checkTargets = [ "check-${targetName}" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix
new file mode 100644
index 0000000000000..1b0bc29ea62b8
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/mlir.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+, clr
+, vulkan-headers
+, vulkan-loader
+, glslang
+, shaderc
+, lit
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildDocs = false; # No decent way to hack this to work
+  buildMan = false; # No man pages to build
+  targetName = "mlir";
+  targetDir = targetName;
+
+  # Fix `DebugTranslation.cpp:139:10: error: no matching function for call to 'get'`
+  # We patch at a different source root, so we modify the patch and include it locally
+  # https://github.com/RadeonOpenCompute/llvm-project/commit/f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74.patch
+  extraPatches = [ ./0000-mlir-fix-debugtranslation.patch ];
+  extraNativeBuildInputs = [ clr ];
+
+  extraBuildInputs = [
+    vulkan-headers
+    vulkan-loader
+    glslang
+    shaderc
+  ];
+
+  extraCMakeFlags = [
+    "-DMLIR_INCLUDE_DOCS=ON"
+    "-DMLIR_INCLUDE_TESTS=ON"
+    "-DMLIR_ENABLE_ROCM_RUNNER=ON"
+    "-DMLIR_ENABLE_SPIRV_CPU_RUNNER=ON"
+    "-DMLIR_ENABLE_VULKAN_RUNNER=ON"
+    "-DROCM_TEST_CHIPSET=gfx000" # CPU runner
+  ];
+
+  extraPostPatch = ''
+    # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists`
+    substituteInPlace CMakeLists.txt \
+      --replace "EXISTS \''${UNITTEST_DIR}/googletest/include/gtest/gtest.h" "FALSE"
+
+    # Mainly `No such file or directory`
+    cat ${./1001-mlir-failing-tests.list} | xargs -d \\n rm
+  '';
+
+  extraPostInstall = ''
+    mkdir -p $out/bin
+    mv bin/mlir-tblgen $out/bin
+  '';
+
+  checkTargets = [ "check-${targetName}" ];
+  requiredSystemFeatures = [ "big-parallel" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix
new file mode 100644
index 0000000000000..5fd7b6fd9aa3d
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/openmp.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, callPackage
+, rocmUpdateScript
+, llvm
+, clang
+, clang-unwrapped
+, rocm-device-libs
+, rocm-runtime
+, rocm-thunk
+, perl
+, elfutils
+, libdrm
+, numactl
+, lit
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  targetName = "openmp";
+  targetDir = targetName;
+  extraNativeBuildInputs = [ perl ];
+
+  extraBuildInputs = [
+    rocm-device-libs
+    rocm-runtime
+    rocm-thunk
+    elfutils
+    libdrm
+    numactl
+  ];
+
+  extraCMakeFlags = [
+    "-DCMAKE_MODULE_PATH=/build/source/llvm/cmake/modules" # For docs
+    "-DCLANG_TOOL=${clang}/bin/clang"
+    "-DCLANG_OFFLOAD_BUNDLER_TOOL=${clang-unwrapped}/bin/clang-offload-bundler"
+    "-DPACKAGER_TOOL=${clang-unwrapped}/bin/clang-offload-packager"
+    "-DOPENMP_LLVM_TOOLS_DIR=${llvm}/bin"
+    "-DOPENMP_LLVM_LIT_EXECUTABLE=${lit}/bin/.lit-wrapped"
+    "-DDEVICELIBS_ROOT=${rocm-device-libs.src}"
+  ];
+
+  extraPostPatch = ''
+    # We can't build this target at the moment
+    substituteInPlace libomptarget/DeviceRTL/CMakeLists.txt \
+      --replace "gfx1010" ""
+
+    # No idea what's going on here...
+    cat ${./1000-openmp-failing-tests.list} | xargs -d \\n rm
+  '';
+
+  checkTargets = [ "check-${targetName}" ];
+  extraLicenses = [ lib.licenses.mit ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix
new file mode 100644
index 0000000000000..e001f33dfd433
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/polly.nix
@@ -0,0 +1,18 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  targetName = "polly";
+  targetDir = targetName;
+
+  extraPostPatch = ''
+    # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists`
+    substituteInPlace CMakeLists.txt \
+      --replace "NOT TARGET gtest" "FALSE"
+  '';
+
+  checkTargets = [ "check-${targetName}" ];
+}
diff --git a/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix b/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix
new file mode 100644
index 0000000000000..dc7d7cd6ccbfa
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/llvm/stage-3/pstl.nix
@@ -0,0 +1,15 @@
+{ stdenv
+, callPackage
+, rocmUpdateScript
+}:
+
+callPackage ../base.nix rec {
+  inherit stdenv rocmUpdateScript;
+  buildDocs = false; # No documentation to build
+  buildMan = false; # No man pages to build
+  buildTests = false; # Too many errors
+  targetName = "pstl";
+  targetDir = "runtimes";
+  targetRuntimes = [ targetName ];
+  checkTargets = [ "check-${targetName}" ];
+}
diff --git a/pkgs/development/libraries/migraphx/default.nix b/pkgs/development/rocm-modules/5/migraphx/default.nix
index 3b32b86f41aff..5842cd1695d56 100644
--- a/pkgs/development/libraries/migraphx/default.nix
+++ b/pkgs/development/rocm-modules/5/migraphx/default.nix
@@ -5,11 +5,12 @@
 , pkg-config
 , cmake
 , rocm-cmake
-, hip
+, clr
 , clang-tools-extra
 , openmp
 , rocblas
 , rocmlir
+, composable_kernel
 , miopengemm
 , miopen
 , protobuf
@@ -19,6 +20,8 @@
 , sqlite
 , oneDNN_2
 , blaze
+, cppcheck
+, rocm-device-libs
 , texlive
 , doxygen
 , sphinx
@@ -46,7 +49,7 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "migraphx";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -60,14 +63,14 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "AMDMIGraphX";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-UDhm+j9qs4Rk81C1PE4kkacytfY2StYbfsCOtFL+p6s=";
+    hash = "sha256-7yL7Zn5I8GUPIAgB7tVLZI7OEHLv0E4FcLVx9xMfsNY=";
   };
 
   nativeBuildInputs = [
     pkg-config
     cmake
     rocm-cmake
-    hip
+    clr
     clang-tools-extra
     python3Packages.python
   ] ++ lib.optionals buildDocs [
@@ -84,6 +87,7 @@ in stdenv.mkDerivation (finalAttrs: {
     openmp
     rocblas
     rocmlir
+    composable_kernel
     miopengemm
     miopen
     protobuf
@@ -93,18 +97,16 @@ in stdenv.mkDerivation (finalAttrs: {
     sqlite
     oneDNN_2
     blaze
+    cppcheck
     python3Packages.pybind11
     python3Packages.onnx
   ];
 
   cmakeFlags = [
-    "-DCMAKE_POLICY_DEFAULT_CMP0079=NEW"
-    # "-DCMAKE_C_COMPILER=hipcc"
-    # "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DMIGRAPHX_ENABLE_GPU=OFF" # GPU compilation is broken, don't know why
+    "-DMIGRAPHX_ENABLE_GPU=ON"
     "-DMIGRAPHX_ENABLE_CPU=ON"
     "-DMIGRAPHX_ENABLE_FPGA=ON"
-    "-DMIGRAPHX_ENABLE_MLIR=ON"
+    "-DMIGRAPHX_ENABLE_MLIR=OFF" # LLVM or rocMLIR mismatch?
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
@@ -113,10 +115,20 @@ in stdenv.mkDerivation (finalAttrs: {
   ];
 
   postPatch = ''
+    # We need to not use hipcc and define the CXXFLAGS manually due to `undefined hidden symbol: tensorflow:: ...`
+    export CXXFLAGS+="--rocm-path=${clr} --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode"
     patchShebangs tools
 
+    # `error: '__clang_hip_runtime_wrapper.h' file not found [clang-diagnostic-error]`
+    substituteInPlace CMakeLists.txt \
+      --replace "set(MIGRAPHX_TIDY_ERRORS ALL)" ""
+
+    # JIT library was removed from composable_kernel...
+    # https://github.com/ROCmSoftwarePlatform/composable_kernel/issues/782
     substituteInPlace src/targets/gpu/CMakeLists.txt \
-      --replace "CMAKE_CXX_COMPILER MATCHES \".*clang\\\+\\\+\$\"" "TRUE"
+      --replace " COMPONENTS jit_library" "" \
+      --replace " composable_kernel::jit_library" "" \
+      --replace "if(WIN32)" "if(TRUE)"
   '' + lib.optionalString (!buildDocs) ''
     substituteInPlace CMakeLists.txt \
       --replace "add_subdirectory(doc)" ""
@@ -155,6 +167,6 @@ in stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/rocm-modules/5/miopen/default.nix b/pkgs/development/rocm-modules/5/miopen/default.nix
new file mode 100644
index 0000000000000..d22518aa51c6f
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/miopen/default.nix
@@ -0,0 +1,240 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, rocmUpdateScript
+, runCommand
+, pkg-config
+, cmake
+, rocm-cmake
+, rocblas
+, rocmlir
+, clr
+, clang-tools-extra
+, clang-ocl
+, miopengemm
+, composable_kernel
+, frugally-deep
+, rocm-docs-core
+, half
+, boost
+, sqlite
+, bzip2
+, lbzip2
+, nlohmann_json
+, texlive
+, doxygen
+, sphinx
+, zlib
+, gtest
+, rocm-comgr
+, python3Packages
+, buildDocs ? false # Needs internet because of rocm-docs-core
+, buildTests ? false
+, useOpenCL ? false
+}:
+
+let
+  version = "5.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ROCmSoftwarePlatform";
+    repo = "MIOpen";
+    rev = "rocm-${version}";
+    hash = "sha256-xcKmFI8HcRA9bbh6EQGElKykIQ3RJX/q5f4IxXvM1Is=";
+    fetchLFS = true;
+    leaveDotGit = true;
+
+    # If you're reading this, it's gonna take a bit of time.
+    # fetchSubModules doesn't work with postFetch???
+    # fetchLFS isn't actually fetching the LFS files...
+    postFetch = ''
+      export HOME=$(mktemp -d)
+      cd $out
+
+      # We need more history to fetch LFS files
+      git remote add origin $url
+      git fetch origin
+      git clean -fdx
+      git checkout rocm-${version}
+
+      # We need to do this manually since using leaveDotGit and fetchSubmodules errors
+      git submodule update --init
+
+      # Fetch the LFS files
+      git lfs install
+      git lfs fetch --all
+      git lfs checkout
+
+      # Remove the defunct .git folder
+      rm -rf .git
+    '';
+  };
+
+  latex = lib.optionalAttrs buildDocs texlive.combine {
+    inherit (texlive) scheme-small
+    latexmk
+    tex-gyre
+    fncychap
+    wrapfig
+    capt-of
+    framed
+    needspace
+    tabulary
+    varwidth
+    titlesec;
+  };
+
+  gfx900 = runCommand "miopen-gfx900.kdb" { preferLocalBuild = true; } ''
+    ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx900.kdb.bz2 > $out
+  '';
+
+  gfx906 = runCommand "miopen-gfx906.kdb" { preferLocalBuild = true; } ''
+    ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx906.kdb.bz2 > $out
+  '';
+
+  gfx908 = runCommand "miopen-gfx908.kdb" { preferLocalBuild = true; } ''
+    ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx908.kdb.bz2 > $out
+  '';
+
+  gfx90a = runCommand "miopen-gfx90a.kdb" { preferLocalBuild = true; } ''
+    ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx90a.kdb.bz2 > $out
+  '';
+
+  gfx1030 = runCommand "miopen-gfx1030.kdb" { preferLocalBuild = true; } ''
+    ${lbzip2}/bin/lbzip2 -ckd ${src}/src/kernels/gfx1030.kdb.bz2 > $out
+  '';
+in stdenv.mkDerivation (finalAttrs: {
+  inherit version src;
+  pname = "miopen";
+
+  # Find zstd and add to target. Mainly for torch.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/ROCmSoftwarePlatform/MIOpen/commit/e608b4325646afeabb5e52846997b926d2019d19.patch";
+      hash = "sha256-oxa3qlIC2bzbwGxrQOZXoY/S7CpLsMrnWRB7Og0tk0M=";
+    })
+    (fetchpatch {
+      url = "https://github.com/ROCmSoftwarePlatform/MIOpen/commit/3413d2daaeb44b7d6eadcc03033a5954a118491e.patch";
+      hash = "sha256-ST4snUcTmmSI1Ogx815KEX9GdMnmubsavDzXCGJkiKs=";
+    })
+  ];
+
+  outputs = [
+    "out"
+  ] ++ lib.optionals buildDocs [
+    "doc"
+  ] ++ lib.optionals buildTests [
+    "test"
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    rocm-cmake
+    clr
+    clang-tools-extra
+  ];
+
+  buildInputs = [
+    rocblas
+    rocmlir
+    clang-ocl
+    miopengemm
+    composable_kernel
+    half
+    boost
+    sqlite
+    bzip2
+    nlohmann_json
+    frugally-deep
+  ] ++ lib.optionals buildDocs [
+    latex
+    doxygen
+    sphinx
+    rocm-docs-core
+    python3Packages.sphinx-rtd-theme
+    python3Packages.breathe
+    python3Packages.myst-parser
+  ] ++ lib.optionals buildTests [
+    zlib
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_CXX_FLAGS=-Wno-#warnings" # <half> -> <half/half.hpp>
+    "-DMIOPEN_USE_MIOPENGEMM=ON"
+    "-DUNZIPPER=${bzip2}/bin/bunzip2"
+    # Manually define CMAKE_INSTALL_<DIR>
+    # See: https://github.com/NixOS/nixpkgs/pull/197838
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (!useOpenCL) [
+    "-DCMAKE_C_COMPILER=hipcc"
+    "-DCMAKE_CXX_COMPILER=hipcc"
+    "-DMIOPEN_BACKEND=HIP"
+  ] ++ lib.optionals useOpenCL [
+    "-DMIOPEN_BACKEND=OpenCL"
+  ] ++ lib.optionals buildTests [
+    "-DBUILD_TESTS=ON"
+    "-DMIOPEN_TEST_ALL=ON"
+  ];
+
+  postPatch = ''
+    patchShebangs test src/composable_kernel fin utils install_deps.cmake
+
+    substituteInPlace CMakeLists.txt \
+      --replace "unpack_db(\"\''${CMAKE_SOURCE_DIR}/src/kernels/\''${FILE_NAME}.kdb.bz2\")" "" \
+      --replace "MIOPEN_HIP_COMPILER MATCHES \".*clang\\\\+\\\\+$\"" "true" \
+      --replace "set(MIOPEN_TIDY_ERRORS ALL)" "" # error: missing required key 'key'
+
+    substituteInPlace test/gtest/CMakeLists.txt \
+      --replace "include(googletest)" ""
+
+    ln -sf ${gfx900} src/kernels/gfx900.kdb
+    ln -sf ${gfx906} src/kernels/gfx906.kdb
+    ln -sf ${gfx908} src/kernels/gfx908.kdb
+    ln -sf ${gfx90a} src/kernels/gfx90a.kdb
+    ln -sf ${gfx1030} src/kernels/gfx1030.kdb
+  '';
+
+  # Unfortunately, it seems like we have to call make on these manually
+  postBuild = lib.optionalString buildDocs ''
+    python -m sphinx -T -E -b html -d _build/doctrees -D language=en ../docs _build/html
+  '' + lib.optionalString buildTests ''
+    make -j$NIX_BUILD_CORES check
+  '';
+
+  postInstall = ''
+    rm $out/bin/install_precompiled_kernels.sh
+    ln -sf ${gfx900} $out/share/miopen/db/gfx900.kdb
+    ln -sf ${gfx906} $out/share/miopen/db/gfx906.kdb
+    ln -sf ${gfx908} $out/share/miopen/db/gfx908.kdb
+    ln -sf ${gfx90a} $out/share/miopen/db/gfx90a.kdb
+    ln -sf ${gfx1030} $out/share/miopen/db/gfx1030.kdb
+  '' + lib.optionalString buildDocs ''
+    mv ../doc/html $out/share/doc/miopen-${if useOpenCL then "opencl" else "hip"}
+  '' + lib.optionalString buildTests ''
+    mkdir -p $test/bin
+    mv bin/test_* $test/bin
+    patchelf --set-rpath $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++
+      [ clr rocm-comgr ])} $test/bin/*
+  '';
+
+  requiredSystemFeatures = [ "big-parallel" ];
+
+  passthru.updateScript = rocmUpdateScript {
+    name = finalAttrs.pname;
+    owner = finalAttrs.src.owner;
+    repo = finalAttrs.src.repo;
+  };
+
+  meta = with lib; {
+    description = "Machine intelligence library for ROCm";
+    homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen";
+    license = with licenses; [ mit ];
+    maintainers = teams.rocm.members;
+    platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+  };
+})
diff --git a/pkgs/development/libraries/miopengemm/default.nix b/pkgs/development/rocm-modules/5/miopengemm/default.nix
index f288cfda54563..bda94cee61b3d 100644
--- a/pkgs/development/libraries/miopengemm/default.nix
+++ b/pkgs/development/rocm-modules/5/miopengemm/default.nix
@@ -4,7 +4,8 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, rocm-opencl-runtime
+, clr
+, clblast
 , texlive
 , doxygen
 , sphinx
@@ -31,7 +32,7 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "miopengemm";
-  version = "5.4.3";
+  version = "5.5.0";
 
   outputs = [
     "out"
@@ -53,11 +54,10 @@ in stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     cmake
     rocm-cmake
+    clr
   ];
 
-  buildInputs = [
-    rocm-opencl-runtime
-  ] ++ lib.optionals buildDocs [
+  buildInputs = lib.optionals buildDocs [
     latex
     doxygen
     sphinx
@@ -65,6 +65,9 @@ in stdenv.mkDerivation (finalAttrs: {
     python3Packages.breathe
   ] ++ lib.optionals buildTests [
     openblas
+  ] ++ lib.optionals buildBenchmarks [
+    clblast
+    python3Packages.openai-triton
   ];
 
   cmakeFlags = [
@@ -77,10 +80,8 @@ in stdenv.mkDerivation (finalAttrs: {
     "-DOPENBLAS=ON"
   ] ++ lib.optionals buildBenchmarks [
     "-DAPI_BENCH_MIOGEMM=ON"
-    # Needs https://github.com/CNugteren/CLBlast
-    # "-DAPI_BENCH_CLBLAST=ON"
-    # Needs https://github.com/openai/triton
-    # "-DAPI_BENCH_ISAAC=ON"
+    "-DAPI_BENCH_CLBLAST=ON"
+    "-DAPI_BENCH_ISAAC=ON"
   ];
 
   # Unfortunately, it seems like we have to call make on these manually
@@ -118,6 +119,8 @@ in stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+    # They are not making tags or releases, this may break other derivations in the future
+    # Use version major instead of minor, 6.0 will HOPEFULLY have a release or tag
+    broken = versions.major finalAttrs.version != versions.major stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/rccl/default.nix b/pkgs/development/rocm-modules/5/rccl/default.nix
index b3aaaff82f080..d4045252bae42 100644
--- a/pkgs/development/libraries/rccl/default.nix
+++ b/pkgs/development/rocm-modules/5/rccl/default.nix
@@ -5,15 +5,18 @@
 , cmake
 , rocm-cmake
 , rocm-smi
-, hip
+, clr
+, perl
+, hipify
 , gtest
 , chrpath
 , buildTests ? false
+, gpuTargets ? [ ]
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rccl";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -25,13 +28,15 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rccl";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-hQTzaiPMo5FAVScmxV0iNhy80uJ1xvx/kzlbfwROOs4=";
+    hash = "sha256-Abrwmsjnkx9JVTrARP/BM965g+R10lY+XPwthy/SG0k=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
+    perl
+    hipify
   ];
 
   buildInputs = [
@@ -42,22 +47,25 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DCMAKE_C_COMPILER=hipcc"
     "-DCMAKE_CXX_COMPILER=hipcc"
+    "-DBUILD_BFD=OFF" # Can't get it to detect bfd.h
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_TESTS=ON"
   ];
 
-  # Replace the manually set parallel jobs to NIX_BUILD_CORES
   postPatch = ''
+    patchShebangs src tools
+
+    # Really strange behavior, `#!/usr/bin/env perl` should work...
     substituteInPlace CMakeLists.txt \
-      --replace "8 P" "$NIX_BUILD_CORES P" \
-      --replace "8)" "$NIX_BUILD_CORES)"
+      --replace "\''$ \''${hipify-perl_executable}" "${perl}/bin/perl ${hipify}/bin/hipify-perl"
   '';
 
   postInstall = lib.optionalString buildTests ''
@@ -78,6 +86,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ bsd2 bsd3 ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/tools/misc/rdc/default.nix b/pkgs/development/rocm-modules/5/rdc/default.nix
index 906f35b47c52d..134b946c5f7ad 100644
--- a/pkgs/development/tools/misc/rdc/default.nix
+++ b/pkgs/development/rocm-modules/5/rdc/default.nix
@@ -41,7 +41,7 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "rdc";
-  version = "5.4.2";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -55,7 +55,7 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "RadeonOpenCompute";
     repo = "rdc";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-dYacqkRp+zVejo/4dME1K6EN8t/1EBtIynEQ+AQ4JZo=";
+    hash = "sha256-xZD/WI/LfNtKK9j6ZjuU0OTTFZz3G4atyD5mVcSsQ8A=";
   };
 
   nativeBuildInputs = [
@@ -120,6 +120,7 @@ in stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor rocm-smi.version;
+    # broken = versions.minor finalAttrs.version != versions.minor rocm-smi.version;
+    broken = true; # Too many errors, unsure how to fix
   };
 })
diff --git a/pkgs/development/libraries/rocalution/default.nix b/pkgs/development/rocm-modules/5/rocalution/default.nix
index 2796215d0311e..80fd655557dfd 100644
--- a/pkgs/development/libraries/rocalution/default.nix
+++ b/pkgs/development/rocm-modules/5/rocalution/default.nix
@@ -8,7 +8,7 @@
 , rocsparse
 , rocprim
 , rocrand
-, hip
+, clr
 , git
 , openmp
 , openmpi
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocalution";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -37,13 +37,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocALUTION";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-jovhodhNa7tr1bSqpZCKI/9xF7Ie96JB+giqAEfis2k=";
+    hash = "sha256-+UGpFuZsC4+kmo8LWZWC2YoFJSdTukjN47e1YqW5Zu4=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     git
   ];
 
@@ -60,8 +60,8 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DROCM_PATH=${hip}"
-    "-DHIP_ROOT_DIR=${hip}"
+    "-DROCM_PATH=${clr}"
+    "-DHIP_ROOT_DIR=${clr}"
     "-DSUPPORT_HIP=ON"
     "-DSUPPORT_OMP=ON"
     "-DSUPPORT_MPI=ON"
@@ -92,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
     rm $sample/bin/rocalution-bench || true
 
     patchelf --set-rpath \
-      $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ hip ])} \
+      $out/lib:${lib.makeLibraryPath (finalAttrs.buildInputs ++ [ clr ])} \
       $sample/bin/*
   '' + lib.optionalString (buildTests || buildBenchmarks) ''
     rmdir $out/bin
@@ -110,6 +110,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/rocm-modules/5/rocblas/default.nix b/pkgs/development/rocm-modules/5/rocblas/default.nix
new file mode 100644
index 0000000000000..76dc38850d57f
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/rocblas/default.nix
@@ -0,0 +1,200 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rocmUpdateScript
+, runCommand
+, cmake
+, rocm-cmake
+, clr
+, python3
+, tensile
+, msgpack
+, libxml2
+, gtest
+, gfortran
+, openmp
+, amd-blis
+, python3Packages
+, buildTensile ? true
+, buildTests ? false
+, buildBenchmarks ? false
+, tensileLogic ? "asm_full"
+, tensileCOVersion ? "default"
+, tensileSepArch ? true
+, tensileLazyLib ? true
+, tensileLibFormat ? "msgpack"
+, gpuTargets ? [ "all" ]
+}:
+let
+  rocblas = stdenv.mkDerivation (finalAttrs: {
+    pname = "rocblas";
+    version = "5.7.0";
+
+    outputs = [
+      "out"
+    ] ++ lib.optionals buildTests [
+      "test"
+    ] ++ lib.optionals buildBenchmarks [
+      "benchmark"
+    ];
+
+    src = fetchFromGitHub {
+      owner = "ROCmSoftwarePlatform";
+      repo = "rocBLAS";
+      rev = "rocm-${finalAttrs.version}";
+      hash = "sha256-3wKnwvAra8u9xqlC05wUD+gSoBILTVJFU2cIV6xv3Lk=";
+    };
+
+    nativeBuildInputs = [
+      cmake
+      rocm-cmake
+      clr
+    ];
+
+    buildInputs = [
+      python3
+    ] ++ lib.optionals buildTensile [
+      msgpack
+      libxml2
+      python3Packages.msgpack
+      python3Packages.joblib
+    ] ++ lib.optionals buildTests [
+      gtest
+    ] ++ lib.optionals (buildTests || buildBenchmarks) [
+      gfortran
+      openmp
+      amd-blis
+    ] ++ lib.optionals (buildTensile || buildTests || buildBenchmarks) [
+      python3Packages.pyyaml
+    ];
+
+    cmakeFlags = [
+      "-DCMAKE_C_COMPILER=hipcc"
+      "-DCMAKE_CXX_COMPILER=hipcc"
+      "-Dpython=python3"
+      "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
+      "-DBUILD_WITH_TENSILE=${if buildTensile then "ON" else "OFF"}"
+      # Manually define CMAKE_INSTALL_<DIR>
+      # See: https://github.com/NixOS/nixpkgs/pull/197838
+      "-DCMAKE_INSTALL_BINDIR=bin"
+      "-DCMAKE_INSTALL_LIBDIR=lib"
+      "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    ] ++ lib.optionals buildTensile [
+      "-DVIRTUALENV_HOME_DIR=/build/source/tensile"
+      "-DTensile_TEST_LOCAL_PATH=/build/source/tensile"
+      "-DTensile_ROOT=/build/source/tensile/lib/python${python3.pythonVersion}/site-packages/Tensile"
+      "-DTensile_LOGIC=${tensileLogic}"
+      "-DTensile_CODE_OBJECT_VERSION=${tensileCOVersion}"
+      "-DTensile_SEPARATE_ARCHITECTURES=${if tensileSepArch then "ON" else "OFF"}"
+      "-DTensile_LAZY_LIBRARY_LOADING=${if tensileLazyLib then "ON" else "OFF"}"
+      "-DTensile_LIBRARY_FORMAT=${tensileLibFormat}"
+    ] ++ lib.optionals buildTests [
+      "-DBUILD_CLIENTS_TESTS=ON"
+    ] ++ lib.optionals buildBenchmarks [
+      "-DBUILD_CLIENTS_BENCHMARKS=ON"
+    ] ++ lib.optionals (buildTests || buildBenchmarks) [
+      "-DCMAKE_CXX_FLAGS=-I${amd-blis}/include/blis"
+    ];
+
+    # Tensile REALLY wants to write to the nix directory if we include it normally
+    postPatch = lib.optionalString buildTensile ''
+      cp -a ${tensile} tensile
+      chmod +w -R tensile
+
+      # Rewrap Tensile
+      substituteInPlace tensile/bin/{.t*,.T*,*} \
+        --replace "${tensile}" "/build/source/tensile"
+
+      substituteInPlace CMakeLists.txt \
+        --replace "include(virtualenv)" "" \
+        --replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" ""
+    '';
+
+    postInstall = lib.optionalString buildTests ''
+      mkdir -p $test/bin
+      cp -a $out/bin/* $test/bin
+      rm $test/bin/*-bench || true
+    '' + lib.optionalString buildBenchmarks ''
+      mkdir -p $benchmark/bin
+      cp -a $out/bin/* $benchmark/bin
+      rm $benchmark/bin/*-test || true
+    '' + lib.optionalString (buildTests || buildBenchmarks ) ''
+      rm -rf $out/bin
+    '';
+
+    passthru.updateScript = rocmUpdateScript {
+      name = finalAttrs.pname;
+      owner = finalAttrs.src.owner;
+      repo = finalAttrs.src.repo;
+    };
+
+    requiredSystemFeatures = [ "big-parallel" ];
+
+    meta = with lib; {
+      description = "BLAS implementation for ROCm platform";
+      homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS";
+      license = with licenses; [ mit ];
+      maintainers = teams.rocm.members;
+      platforms = platforms.linux;
+      broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+    };
+  });
+
+  gfx80 = runCommand "rocblas-gfx80" { preferLocalBuild = true; } ''
+    mkdir -p $out/lib/rocblas/library
+    cp -a ${rocblas}/lib/rocblas/library/*gfx80* $out/lib/rocblas/library
+  '';
+
+  gfx90 = runCommand "rocblas-gfx90" { preferLocalBuild = true; } ''
+    mkdir -p $out/lib/rocblas/library
+    cp -a ${rocblas}/lib/rocblas/library/*gfx90* $out/lib/rocblas/library
+  '';
+
+  gfx94 = runCommand "rocblas-gfx94" { preferLocalBuild = true; } ''
+    mkdir -p $out/lib/rocblas/library
+    cp -a ${rocblas}/lib/rocblas/library/*gfx94* $out/lib/rocblas/library
+  '';
+
+  gfx10 = runCommand "rocblas-gfx10" { preferLocalBuild = true; } ''
+    mkdir -p $out/lib/rocblas/library
+    cp -a ${rocblas}/lib/rocblas/library/*gfx10* $out/lib/rocblas/library
+  '';
+
+  gfx11 = runCommand "rocblas-gfx11" { preferLocalBuild = true; } ''
+    mkdir -p $out/lib/rocblas/library
+    cp -a ${rocblas}/lib/rocblas/library/*gfx11* $out/lib/rocblas/library
+  '';
+in stdenv.mkDerivation (finalAttrs: {
+  inherit (rocblas) pname version src passthru meta;
+
+  outputs = [
+    "out"
+  ] ++ lib.optionals buildTests [
+    "test"
+  ] ++ lib.optionals buildBenchmarks [
+    "benchmark"
+  ];
+
+  dontUnpack = true;
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -a --no-preserve=mode ${rocblas}/* $out
+    ln -sf ${gfx80}/lib/rocblas/library/* $out/lib/rocblas/library
+    ln -sf ${gfx90}/lib/rocblas/library/* $out/lib/rocblas/library
+    ln -sf ${gfx94}/lib/rocblas/library/* $out/lib/rocblas/library
+    ln -sf ${gfx10}/lib/rocblas/library/* $out/lib/rocblas/library
+    ln -sf ${gfx11}/lib/rocblas/library/* $out/lib/rocblas/library
+  '' + lib.optionalString buildTests ''
+    cp -a ${rocblas.test} $test
+  '' + lib.optionalString buildBenchmarks ''
+    cp -a ${rocblas.benchmark} $benchmark
+  '' + ''
+    runHook postInstall
+  '';
+})
diff --git a/pkgs/development/libraries/rocdbgapi/default.nix b/pkgs/development/rocm-modules/5/rocdbgapi/default.nix
index dfeb9249914cc..41c1178f1089f 100644
--- a/pkgs/development/libraries/rocdbgapi/default.nix
+++ b/pkgs/development/rocm-modules/5/rocdbgapi/default.nix
@@ -7,6 +7,7 @@
 , git
 , rocm-comgr
 , rocm-runtime
+, hwdata
 , texlive
 , doxygen
 , graphviz
@@ -37,7 +38,7 @@ let
   };
 in stdenv.mkDerivation (finalAttrs: {
   pname = "rocdbgapi";
-  version = "5.4.2";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -49,7 +50,7 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "ROCm-Developer-Tools";
     repo = "ROCdbgapi";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-KoFa6JzoEPT5/ns9X/hMfu8bOh29HD9n2qGJ3gzhiBA=";
+    hash = "sha256-qMXvgcS61lgcylz62ErYq8fhpYIR31skQEeKUryuP1w=";
   };
 
   nativeBuildInputs = [
@@ -65,6 +66,16 @@ in stdenv.mkDerivation (finalAttrs: {
   buildInputs = [
     rocm-comgr
     rocm-runtime
+    hwdata
+  ];
+
+  cmakeFlags = [
+    "-DPCI_IDS_PATH=${hwdata}/share/hwdata"
+    # Manually define CMAKE_INSTALL_<DIR>
+    # See: https://github.com/NixOS/nixpkgs/pull/197838
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
   ];
 
   # Unfortunately, it seems like we have to call make on this manually
diff --git a/pkgs/development/libraries/rocfft/default.nix b/pkgs/development/rocm-modules/5/rocfft/default.nix
index d1136d4be8e6c..ac50318622ceb 100644
--- a/pkgs/development/libraries/rocfft/default.nix
+++ b/pkgs/development/rocm-modules/5/rocfft/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , rocmUpdateScript
 , cmake
-, hip
+, clr
 , python3
 , rocm-cmake
 , sqlite
@@ -14,118 +14,42 @@
 , gtest
 , openmp
 , rocrand
-# NOTE: Update the default GPU targets on every update
-, gpuTargets ? [
-  "gfx803"
-  "gfx900"
-  "gfx906"
-  "gfx908"
-  "gfx90a"
-  "gfx1030"
-  "gfx1100"
-  "gfx1102"
-]
+, gpuTargets ? [ ]
 }:
 
-let
-  # To avoid output limit exceeded errors in hydra, we build kernel
-  # device libs and the kernel RTC cache database in separate derivations
-  kernelDeviceLibs = map
-    (target:
-      (rocfft.overrideAttrs (prevAttrs: {
-        pname = "rocfft-device-${target}";
-
-        patches = prevAttrs.patches ++ [
-          # Add back install rule for device library
-          # This workaround is needed because rocm_install_targets
-          # doesn't support an EXCLUDE_FROM_ALL option
-          ./device-install.patch
-        ];
-
-        buildFlags = [ "rocfft-device-${target}" ];
-
-        installPhase = ''
-          runHook preInstall
-          cmake --install . --component device
-          runHook postInstall
-        '';
-
-        requiredSystemFeatures = [ "big-parallel" ];
-      })).override {
-        gpuTargets = [ target ];
-      }
-    )
-    gpuTargets;
-
-  # TODO: Figure out how to also split this by GPU target
-  #
-  # It'll be bit more complicated than what we're doing for the kernel
-  # device libs, because the kernel cache needs to be compiled into
-  # one sqlite database (whereas the device libs can be linked into
-  # rocfft as separate libraries for each GPU target).
-  #
-  # It's not clear why this needs to even be a db in the first place.
-  # It would simplify things A LOT if we could just store these
-  # pre-compiled kernels as files (but that'd need a lot of patching).
-  kernelRtcCache = rocfft.overrideAttrs (_: {
-    pname = "rocfft-kernel-cache";
-
-    buildFlags = [ "rocfft_kernel_cache_target" ];
-
-    installPhase = ''
-      runHook preInstall
-      cmake --install . --component kernel_cache
-      runHook postInstall
-    '';
-
-    requiredSystemFeatures = [ "big-parallel" ];
-  });
-in
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocfft";
-  version = "5.4.3";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCmSoftwarePlatform";
     repo = "rocFFT";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-FsefE0B2hF5ZcHDB6TscwFeZ1NKFkWX7VDpEvvbDbOk=";
+    hash = "sha256-GZSi03geTT+NUztBWhGYyghLqJGsFjUQzVAKQ7d03uA=";
   };
 
-  patches = [
-    # Exclude kernel compilation & installation from "all" target,
-    # and split device libraries by GPU target
-    ./split-kernel-compilation.patch
-  ];
-
   nativeBuildInputs = [
     cmake
-    hip
+    clr
     python3
     rocm-cmake
   ];
 
-  buildInputs = [
-    sqlite
-  ] ++ lib.optionals (finalAttrs.pname == "rocfft") kernelDeviceLibs;
+  buildInputs = [ sqlite ];
 
   cmakeFlags = [
     "-DCMAKE_C_COMPILER=hipcc"
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DUSE_HIP_CLANG=ON"
     "-DSQLITE_USE_SYSTEM_PACKAGE=ON"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
     "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ];
 
-  postInstall = lib.optionalString (finalAttrs.pname == "rocfft") ''
-    ln -s ${kernelRtcCache}/lib/rocfft_kernel_cache.db "$out/lib"
-  '';
-
   passthru = {
     test = stdenv.mkDerivation {
       pname = "${finalAttrs.pname}-test";
@@ -135,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
 
       nativeBuildInputs = [
         cmake
-        hip
+        clr
         rocm-cmake
       ];
 
@@ -168,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
 
       nativeBuildInputs = [
         cmake
-        hip
+        clr
         rocm-cmake
       ];
 
@@ -201,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
 
       nativeBuildInputs = [
         cmake
-        hip
+        clr
         rocm-cmake
       ];
 
@@ -232,12 +156,14 @@ stdenv.mkDerivation (finalAttrs: {
     };
   };
 
+  requiredSystemFeatures = [ "big-parallel" ];
+
   meta = with lib; {
     description = "FFT implementation for ROCm";
     homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ kira-bruneau ] ++ teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/tools/misc/rocgdb/default.nix b/pkgs/development/rocm-modules/5/rocgdb/default.nix
index 8775ca6d2d685..a2f4435ee7bcf 100644
--- a/pkgs/development/tools/misc/rocgdb/default.nix
+++ b/pkgs/development/rocm-modules/5/rocgdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocgdb";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "ROCgdb";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-DORPvfon32+rIk+YcO9LlUefNvvC7trmiTswg9MMuIs=";
+    hash = "sha256-TlT7vvTrVd7P6ilVnWIG5VIrjTleFgDezK/mudBV+xE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/pkgs/development/rocm-modules/5/rocm-cmake/default.nix
index 206038c0b6e6e..04ae947d3a4a8 100644
--- a/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-cmake/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-cmake";
-  version = "5.4.4";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm-cmake";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-JarQqiiZ36WV1d6vyQD546GN1EtoKLcdvcZsG3QWD2Y=";
+    hash = "sha256-aVjzuJ4BiSfwOdjufFc5CznfnL8di5h992zl+pzD0DU=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,6 +22,8 @@ stdenv.mkDerivation (finalAttrs: {
     name = finalAttrs.pname;
     owner = finalAttrs.src.owner;
     repo = finalAttrs.src.repo;
+    page = "releases?per_page=2";
+    filter = ".[1].tag_name | split(\"-\") | .[1]";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/rocm-comgr/default.nix b/pkgs/development/rocm-modules/5/rocm-comgr/default.nix
index 6dc7b87934f1f..c3c4c5fab3cdf 100644
--- a/pkgs/development/libraries/rocm-comgr/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-comgr/default.nix
@@ -15,16 +15,15 @@ let
     else throw "Unsupported ROCm LLVM platform";
 in stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-comgr";
-  version = "5.4.4";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-CompilerSupport";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-qLsrBTeSop7lIQv8gZDwgpvGZJOAq90zsvMi1QpfbAs=";
+    hash = "sha256-QB3G0V92UTW67hD6+zSuExN1+eMT820iYSlMyZeWSFw=";
   };
 
-  patches = [ ./cmake.patch ];
   sourceRoot = "${finalAttrs.src.name}/lib/comgr";
 
   nativeBuildInputs = [
diff --git a/pkgs/development/rocm-modules/5/rocm-core/default.nix b/pkgs/development/rocm-modules/5/rocm-core/default.nix
new file mode 100644
index 0000000000000..aae431be8e620
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/rocm-core/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rocmUpdateScript
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "rocm-core";
+  version = "5.7.0";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "rocm-core";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-jFAHLqf/AR27Nbuq8aypWiKqApNcTgG5LWESVjVCKIg=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  cmakeFlags = [ "-DROCM_VERSION=${finalAttrs.version}" ];
+
+  passthru.updateScript = rocmUpdateScript {
+    name = finalAttrs.pname;
+    owner = finalAttrs.src.owner;
+    repo = finalAttrs.src.repo;
+  };
+
+  meta = with lib; {
+    description = "Utility for getting the ROCm release version";
+    homepage = "https://github.com/RadeonOpenCompute/rocm-core";
+    license = with licenses; [ mit ];
+    maintainers = teams.rocm.members;
+    platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
+  };
+})
diff --git a/pkgs/development/libraries/rocm-device-libs/cmake.patch b/pkgs/development/rocm-modules/5/rocm-device-libs/cmake.patch
index 500ff37a99052..500ff37a99052 100644
--- a/pkgs/development/libraries/rocm-device-libs/cmake.patch
+++ b/pkgs/development/rocm-modules/5/rocm-device-libs/cmake.patch
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix
index 92e84fe141959..594e210312843 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-device-libs/default.nix
@@ -14,13 +14,13 @@ let
     else throw "Unsupported ROCm LLVM platform";
 in stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-device-libs";
-  version = "5.4.4";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-Device-Libs";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-8gxvgy2GlROxM5qKtZVu5Lxa1FmTIVlBTpfp8rxhNhk=";
+    hash = "sha256-f6/LAhJ2mBDO1/JloHvl7MJyDo3WutbXd4IDknA9nzM=";
   };
 
   patches = [ ./cmake.patch ];
diff --git a/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix b/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix
new file mode 100644
index 0000000000000..65d21daa5b503
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/rocm-docs-core/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, gitUpdater
+, buildPythonPackage
+, setuptools
+, beautifulsoup4
+, gitpython
+, pydata-sphinx-theme
+, pygithub
+, sphinx
+, breathe
+, myst-parser
+, sphinx-book-theme
+, sphinx-copybutton
+, sphinx-design
+, sphinx-external-toc
+, sphinx-notfound-page
+, pyyaml
+, fastjsonschema
+}:
+
+buildPythonPackage rec {
+  pname = "rocm-docs-core";
+  version = "0.25.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "RadeonOpenCompute";
+    repo = "rocm-docs-core";
+    rev = "v${version}";
+    hash = "sha256-kOsoIK0vaPT60hGr960s5vc0eloSr5CECtd8Dy24YuM=";
+  };
+
+  buildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    gitpython
+    pydata-sphinx-theme
+    pygithub
+    sphinx
+    breathe
+    myst-parser
+    sphinx-book-theme
+    sphinx-copybutton
+    sphinx-design
+    sphinx-external-toc
+    sphinx-notfound-page
+    pyyaml
+    fastjsonschema
+  ];
+
+  pythonImportsCheck = [ "rocm_docs" ];
+
+  passthru.updateScript = gitUpdater { rev-prefix = "v"; };
+
+  meta = with lib; {
+    description = "ROCm Documentation Python package for ReadTheDocs build standardization";
+    homepage = "https://github.com/RadeonOpenCompute/rocm-docs-core";
+    license = with licenses; [ mit cc-by-40 ];
+    maintainers = teams.rocm.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/rocm-modules/5/rocm-runtime/default.nix
index d10f7811ccbb1..fd9182c8254de 100644
--- a/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-runtime/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-runtime";
-  version = "5.4.3";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-JkTXTQmdESHSFbA6HZdMK3pYEApz9aoAlMzdXayzdyY=";
+    hash = "sha256-D7Ahan5cxDhqPtV5iDDNys0A4FlxQ9oVRa2EeMoY5Qk=";
   };
 
   sourceRoot = "${finalAttrs.src.name}/src";
@@ -50,8 +50,10 @@ stdenv.mkDerivation (finalAttrs: {
       --replace 'hsa/include/hsa' 'include/hsa'
 
     # We compile clang before rocm-device-libs, so patch it in afterwards
+    # Replace object version: https://github.com/RadeonOpenCompute/ROCR-Runtime/issues/166 (TODO: Remove on LLVM update?)
     substituteInPlace image/blit_src/CMakeLists.txt \
-      --replace '-cl-denorms-are-zero' '-cl-denorms-are-zero --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode'
+      --replace '-cl-denorms-are-zero' '-cl-denorms-are-zero --rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode' \
+      --replace '-mcode-object-version=4' '-mcode-object-version=5'
   '';
 
   fixupPhase = ''
diff --git a/pkgs/tools/system/rocm-smi/cmake.patch b/pkgs/development/rocm-modules/5/rocm-smi/cmake.patch
index 2634ea46a1f82..2634ea46a1f82 100644
--- a/pkgs/tools/system/rocm-smi/cmake.patch
+++ b/pkgs/development/rocm-modules/5/rocm-smi/cmake.patch
diff --git a/pkgs/tools/system/rocm-smi/default.nix b/pkgs/development/rocm-modules/5/rocm-smi/default.nix
index 7e3f1fb29cc0c..2e1692539e23c 100644
--- a/pkgs/tools/system/rocm-smi/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-smi/default.nix
@@ -8,25 +8,33 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-smi";
-  version = "5.4.4";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm_smi_lib";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-nkidiDNNU6MGhne9EbYClkODJZw/zZu3LWzlniJKyJE=";
+    hash = "sha256-swCRO4PBMBJ6fO2bLq/xxFZIYw2IgiFB490wsU8Wm2o=";
   };
 
-  postPatch = ''
-    sed '1i#include <cstring>' -i src/rocm_smi{,_gpu_metrics}.cc # since gcc12 probably
-  '';
+  patches = [ ./cmake.patch ];
 
-  nativeBuildInputs = [ cmake wrapPython ];
+  nativeBuildInputs = [
+    cmake
+    wrapPython
+  ];
 
-  patches = [ ./cmake.patch ];
+  cmakeFlags = [
+    # Manually define CMAKE_INSTALL_<DIR>
+    # See: https://github.com/NixOS/nixpkgs/pull/197838
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ];
 
   postInstall = ''
     wrapPythonProgramsIn $out
+    mv $out/libexec/rocm_smi/.rsmiBindings.py-wrapped $out/libexec/rocm_smi/rsmiBindings.py
   '';
 
   passthru.updateScript = rocmUpdateScript {
diff --git a/pkgs/development/libraries/rocm-thunk/default.nix b/pkgs/development/rocm-modules/5/rocm-thunk/default.nix
index 86f0044799c04..73368dbb0e7f1 100644
--- a/pkgs/development/libraries/rocm-thunk/default.nix
+++ b/pkgs/development/rocm-modules/5/rocm-thunk/default.nix
@@ -4,35 +4,29 @@
 , rocmUpdateScript
 , pkg-config
 , cmake
-, rocm-cmake
 , libdrm
 , numactl
-, valgrind
-, gcc
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocm-thunk";
-  version = "5.4.4";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCT-Thunk-Interface";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-EU5toaKzVeZpdm/YhaQ0bXq0eoYwYQ5qGLUJzxgZVjE=";
+    hash = "sha256-jAMBks2/JaXiA45B3qvLHY8fPeFcr1GHT5Jieuduqhw=";
   };
 
   nativeBuildInputs = [
     pkg-config
     cmake
-    rocm-cmake
   ];
 
   buildInputs = [
     libdrm
     numactl
-    valgrind
-    gcc.cc.libgcc or null # TODO: unhack this?
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/tools/rocminfo/default.nix b/pkgs/development/rocm-modules/5/rocminfo/default.nix
index 61488b806e881..c9ff79e380ffa 100644
--- a/pkgs/development/tools/rocminfo/default.nix
+++ b/pkgs/development/rocm-modules/5/rocminfo/default.nix
@@ -18,14 +18,14 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "5.4.4";
+  version = "5.7.0";
   pname = "rocminfo";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocminfo";
     rev = "rocm-${finalAttrs.version}";
-    sha256 = "sha256-4wZTm5AZgG8xEd6uYqxWq4bWZgcSYZ2WYA1z4RAPF8U=";
+    sha256 = "sha256-UzOo2qDT/uM+vdGdBM4pV5e143mfa+/6sZLBExOO26g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/rocmlir/default.nix b/pkgs/development/rocm-modules/5/rocmlir/default.nix
index b8dee13854363..9b24112dce8af 100644
--- a/pkgs/development/libraries/rocmlir/default.nix
+++ b/pkgs/development/rocm-modules/5/rocmlir/default.nix
@@ -3,29 +3,36 @@
 , fetchFromGitHub
 , rocmUpdateScript
 , cmake
+, rocm-cmake
 , ninja
-, hip
-, rocminfo
+, clr
 , git
 , libxml2
 , libedit
+, zstd
 , zlib
 , ncurses
-, python3
+, python3Packages
 , buildRockCompiler ? false
+, buildTests ? false # `argument of type 'NoneType' is not iterable`
 }:
 
 # Theoretically, we could have our MLIR have an output
 # with the source and built objects so that we can just
 # use it as the external LLVM repo for this
 let
+  suffix =
+    if buildRockCompiler
+    then "-rock"
+    else "";
+
   llvmNativeTarget =
     if stdenv.isx86_64 then "X86"
     else if stdenv.isAarch64 then "AArch64"
     else throw "Unsupported ROCm LLVM platform";
 in stdenv.mkDerivation (finalAttrs: {
-  pname = "rocmlir";
-  version = "5.4.1";
+  pname = "rocmlir${suffix}";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -37,49 +44,66 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocMLIR";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-MokE7Ej8mLHTQeLYvKr7PPlsNG6ul91fqfXDlGu5JpI=";
+    hash = "sha256-vPi4UVljohVAfnwDVQqeOVaJPa6v8aV5uBOtqLddTtc=";
   };
 
   nativeBuildInputs = [
     cmake
+    rocm-cmake
     ninja
-  ] ++ lib.optionals (!buildRockCompiler) [
-    hip
+    clr
+    python3Packages.python
+    python3Packages.tomli
   ];
 
   buildInputs = [
     git
     libxml2
     libedit
-    python3
   ];
 
   propagatedBuildInputs = [
+    zstd
     zlib
     ncurses
   ];
 
   cmakeFlags = [
     "-DLLVM_TARGETS_TO_BUILD=AMDGPU;${llvmNativeTarget}"
+    "-DLLVM_ENABLE_ZSTD=ON"
     "-DLLVM_ENABLE_ZLIB=ON"
     "-DLLVM_ENABLE_TERMINFO=ON"
+    "-DROCM_PATH=${clr}"
+    # Manually define CMAKE_INSTALL_<DIR>
+    # See: https://github.com/NixOS/nixpkgs/pull/197838
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
   ] ++ lib.optionals buildRockCompiler [
     "-DBUILD_FAT_LIBROCKCOMPILER=ON"
   ] ++ lib.optionals (!buildRockCompiler) [
-    "-DROCM_PATH=${rocminfo}"
     "-DROCM_TEST_CHIPSET=gfx000"
   ];
 
+  postPatch = ''
+    patchShebangs mlir
+
+    substituteInPlace mlir/utils/performance/common/CMakeLists.txt \
+      --replace "/opt/rocm" "${clr}"
+  '';
+
   dontBuild = true;
   doCheck = true;
 
   # Certain libs aren't being generated, try enabling tests next update
   checkTarget = if buildRockCompiler
                 then "librockCompiler"
-                else "check-mlir-miopen-build-only";
+                else if buildTests
+                then "check-rocmlir"
+                else "check-rocmlir-build-only";
 
   postInstall = let
-    libPath = lib.makeLibraryPath [ zlib ncurses hip stdenv.cc.cc ];
+    libPath = lib.makeLibraryPath [ zstd zlib ncurses clr stdenv.cc.cc ];
   in lib.optionals (!buildRockCompiler) ''
     mkdir -p $external/lib
     cp -a external/llvm-project/llvm/lib/{*.a*,*.so*} $external/lib
diff --git a/pkgs/development/libraries/rocprim/default.nix b/pkgs/development/rocm-modules/5/rocprim/default.nix
index 9b6ed7edc476a..1dd2555c6915a 100644
--- a/pkgs/development/libraries/rocprim/default.nix
+++ b/pkgs/development/rocm-modules/5/rocprim/default.nix
@@ -4,16 +4,17 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , gtest
 , gbenchmark
 , buildTests ? false
 , buildBenchmarks ? false
+, gpuTargets ? [ ]
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocprim";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -27,13 +28,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocPRIM";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-Sqr3lbDMK1Gwucqmr/CHoxw/L6bGj3wlXoHzKTnTqoc=";
+    hash = "sha256-+ukFWsWv3RhS+Z6tmR4TRT8QTYEDuAEk12F9Gv1eXGU=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
   ];
 
   buildInputs = lib.optionals buildTests [
@@ -49,6 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_TEST=ON"
   ] ++ lib.optionals buildBenchmarks [
@@ -58,6 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
   postInstall = lib.optionalString buildTests ''
     mkdir -p $test/bin
     mv $out/bin/test_* $test/bin
+    mv $out/bin/rocprim $test/bin
   '' + lib.optionalString buildBenchmarks ''
     mkdir -p $benchmark/bin
     mv $out/bin/benchmark_* $benchmark/bin
@@ -77,6 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/rocm-modules/5/rocprofiler/default.nix b/pkgs/development/rocm-modules/5/rocprofiler/default.nix
new file mode 100644
index 0000000000000..ec24a3f41e59b
--- /dev/null
+++ b/pkgs/development/rocm-modules/5/rocprofiler/default.nix
@@ -0,0 +1,108 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rocmUpdateScript
+, cmake
+, clang
+, clr
+, rocm-thunk
+, roctracer
+, rocm-smi
+, hsa-amd-aqlprofile-bin
+, numactl
+, libpciaccess
+, libxml2
+, elfutils
+, mpi
+, gtest
+, python3Packages
+, gpuTargets ? [
+  "gfx900"
+  "gfx906"
+  "gfx908"
+  "gfx90a"
+  "gfx940"
+  "gfx941"
+  "gfx942"
+  "gfx1030"
+  "gfx1100"
+  "gfx1101"
+  "gfx1102"
+]
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "rocprofiler";
+  version = "5.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ROCm-Developer-Tools";
+    repo = "rocprofiler";
+    rev = "rocm-${finalAttrs.version}";
+    hash = "sha256-ue/2uiLbhOv/5XY4cIJuZ8DUMRhniYgxolq9xMwO1FY=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    clang
+    clr
+    python3Packages.lxml
+    python3Packages.cppheaderparser
+    python3Packages.pyyaml
+    python3Packages.barectf
+  ];
+
+  buildInputs = [
+    rocm-thunk
+    rocm-smi
+    hsa-amd-aqlprofile-bin
+    numactl
+    libpciaccess
+    libxml2
+    elfutils
+    mpi
+    gtest
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip"
+    "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext"
+    "-DHIP_ROOT_DIR=${clr}"
+    "-DGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
+    # Manually define CMAKE_INSTALL_<DIR>
+    # See: https://github.com/NixOS/nixpkgs/pull/197838
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ];
+
+  postPatch = ''
+    patchShebangs .
+
+    # Cannot find ROCm device library, pointless
+    substituteInPlace CMakeLists.txt \
+      --replace "add_subdirectory(tests-v2)" "" \
+      --replace "add_subdirectory(samples)" ""
+  '';
+
+  postBuild = ''
+    # HSACO aren't being built for some reason
+    substituteInPlace test/cmake_install.cmake \
+      --replace "file(INSTALL DESTINATION \"\''${CMAKE_INSTALL_PREFIX}/share/rocprofiler/tests-v1\" TYPE FILE FILES \"" "message(\""
+  '';
+
+  passthru.updateScript = rocmUpdateScript {
+    name = finalAttrs.pname;
+    owner = finalAttrs.src.owner;
+    repo = finalAttrs.src.repo;
+  };
+
+  meta = with lib; {
+    description = "Profiling with perf-counters and derived metrics";
+    homepage = "https://github.com/ROCm-Developer-Tools/rocprofiler";
+    license = with licenses; [ mit ]; # mitx11
+    maintainers = teams.rocm.members;
+    platforms = platforms.linux;
+    broken = versions.minor finalAttrs.version != versions.minor clr.version;
+  };
+})
diff --git a/pkgs/development/libraries/rocr-debug-agent/default.nix b/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix
index 4361ffec3454a..dfc8580b3e140 100644
--- a/pkgs/development/libraries/rocr-debug-agent/default.nix
+++ b/pkgs/development/rocm-modules/5/rocr-debug-agent/default.nix
@@ -3,40 +3,38 @@
 , fetchFromGitHub
 , rocmUpdateScript
 , cmake
-, hip
+, clr
 , git
 , rocdbgapi
-, rocm-runtime
 , elfutils
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocr-debug-agent";
-  version = "5.4.2";
+  version = "5.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "rocr_debug_agent";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-5l6svWSWCxVoyr1zJabxbt5rXQMtdZtHrf9gS2PcRKc=";
+    hash = "sha256-AUDbNrFtUQ5Hm+uv5KMovh7P9wXQKLyRNx9gEQFnv6Y=";
   };
 
   nativeBuildInputs = [
     cmake
-    hip
+    clr
     git
   ];
 
   buildInputs = [
     rocdbgapi
-    rocm-runtime
     elfutils
   ];
 
   cmakeFlags = [
-    "-DCMAKE_MODULE_PATH=${hip}/lib/cmake/hip"
-    "-DHIP_ROOT_DIR=${hip}"
-    "-DHIP_PATH=${hip}"
+    "-DCMAKE_MODULE_PATH=${clr}/lib/cmake/hip"
+    "-DHIP_ROOT_DIR=${clr}"
+    "-DHIP_PATH=${clr}"
   ];
 
   # Weird install target
@@ -56,6 +54,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ ncsa ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/rocrand/default.nix b/pkgs/development/rocm-modules/5/rocrand/default.nix
index 5128e17376c39..954a299e317e8 100644
--- a/pkgs/development/libraries/rocrand/default.nix
+++ b/pkgs/development/rocm-modules/5/rocrand/default.nix
@@ -4,16 +4,17 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, clr
 , gtest
 , gbenchmark
 , buildTests ? false
 , buildBenchmarks ? false
+, gpuTargets ? [ ]
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocrand";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -27,14 +28,14 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocRAND";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-xK1JRTW+7odlXRQV9WC6ZfXqRKow/TQ9grHCigw+/us=";
+    hash = "sha256-cFH38fLD8tk6V9JERcqHokuwKemdDgHCZ75bZNEqmdY=";
     fetchSubmodules = true; # For inline hipRAND
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
   ];
 
   buildInputs = lib.optionals buildTests [
@@ -46,12 +47,14 @@ stdenv.mkDerivation (finalAttrs: {
   cmakeFlags = [
     "-DCMAKE_C_COMPILER=hipcc"
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DHIP_ROOT_DIR=${hip}"
+    "-DHIP_ROOT_DIR=${clr}"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_TEST=ON"
   ] ++ lib.optionals buildBenchmarks [
@@ -80,6 +83,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/rocsolver/default.nix b/pkgs/development/rocm-modules/5/rocsolver/default.nix
index 632e93fa6c0df..48bf0950351cc 100644
--- a/pkgs/development/libraries/rocsolver/default.nix
+++ b/pkgs/development/rocm-modules/5/rocsolver/default.nix
@@ -5,7 +5,8 @@
 , cmake
 , rocm-cmake
 , rocblas
-, hip
+, rocsparse
+, clr
 , fmt
 , gtest
 , gfortran
@@ -17,7 +18,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocsolver";
-  version = "5.4.4";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -31,19 +32,20 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocSOLVER";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-UHUcA9CVPuYFpE2DTvRrRMMj51yNPo5wMTKnByL2RTg=";
+    hash = "sha256-qxmjm4tgpCnfJ2SqUXndk6y0MsPJUKHvjv/3Uc0smr4=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
   ] ++ lib.optionals (buildTests || buildBenchmarks) [
     gfortran
   ];
 
   buildInputs = [
     rocblas
+    rocsparse
     fmt
   ] ++ lib.optionals buildTests [
     gtest
@@ -53,6 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_CXX_COMPILER=hipcc"
+    "-DCMAKE_CXX_FLAGS=-Wno-switch" # Way too many warnings
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
@@ -90,6 +93,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ bsd2 ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/rocsparse/default.nix b/pkgs/development/rocm-modules/5/rocsparse/default.nix
index d821ee6938808..945e03c0bc8bb 100644
--- a/pkgs/development/libraries/rocsparse/default.nix
+++ b/pkgs/development/rocm-modules/5/rocsparse/default.nix
@@ -6,7 +6,7 @@
 , cmake
 , rocm-cmake
 , rocprim
-, hip
+, clr
 , gfortran
 , git
 , gtest
@@ -14,11 +14,12 @@
 , python3Packages
 , buildTests ? false
 , buildBenchmarks ? false # Seems to depend on tests
+, gpuTargets ? [ ]
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocsparse";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -32,13 +33,13 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocSPARSE";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-jzHD55c4rlPab5IAj2UzHTJI9MKhTfevsLthSZKOEzQ=";
+    hash = "sha256-30q9bqgZJUaNrkMXTAG+Z34yjsQ5DpJP+WBcCiEmF58=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
     gfortran
   ];
 
@@ -59,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: {
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals (buildTests || buildBenchmarks) [
     "-DBUILD_CLIENTS_TESTS=ON"
     "-DCMAKE_MATRICES_DIR=/build/source/matrices"
@@ -141,6 +144,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/rocsparse/deps.nix b/pkgs/development/rocm-modules/5/rocsparse/deps.nix
index cef880ab3232d..cef880ab3232d 100644
--- a/pkgs/development/libraries/rocsparse/deps.nix
+++ b/pkgs/development/rocm-modules/5/rocsparse/deps.nix
diff --git a/pkgs/development/libraries/rocthrust/default.nix b/pkgs/development/rocm-modules/5/rocthrust/default.nix
index 45099cb9f4c18..b80b161f5799c 100644
--- a/pkgs/development/libraries/rocthrust/default.nix
+++ b/pkgs/development/rocm-modules/5/rocthrust/default.nix
@@ -5,15 +5,16 @@
 , cmake
 , rocm-cmake
 , rocprim
-, hip
+, clr
 , gtest
 , buildTests ? false
 , buildBenchmarks ? false
+, gpuTargets ? [ ]
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rocthrust";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -27,14 +28,14 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocThrust";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-JT2PX53N39H+EaThPHo2ol+BUjDQniSQlKMLiYD8NoM=";
+    hash = "sha256-i0XCtJth8caVQT5oUgsxWXNzcePa02Gb7AQsthYTOv8=";
   };
 
   nativeBuildInputs = [
     cmake
     rocm-cmake
     rocprim
-    hip
+    clr
   ];
 
   buildInputs = lib.optionals buildTests [
@@ -43,12 +44,14 @@ stdenv.mkDerivation (finalAttrs: {
 
   cmakeFlags = [
     "-DCMAKE_CXX_COMPILER=hipcc"
-    "-DHIP_ROOT_DIR=${hip}"
+    "-DHIP_ROOT_DIR=${clr}"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+  ] ++ lib.optionals (gpuTargets != [ ]) [
+    "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}"
   ] ++ lib.optionals buildTests [
     "-DBUILD_TEST=ON"
   ] ++ lib.optionals buildBenchmarks [
@@ -79,6 +82,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ asl20 ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/roctracer/default.nix b/pkgs/development/rocm-modules/5/roctracer/default.nix
index a81f7dc189614..92e557426b10c 100644
--- a/pkgs/development/libraries/roctracer/default.nix
+++ b/pkgs/development/rocm-modules/5/roctracer/default.nix
@@ -4,7 +4,7 @@
 , rocmUpdateScript
 , cmake
 , clang
-, hip
+, clr
 , rocm-device-libs
 , rocprofiler
 , libxml2
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "roctracer";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
@@ -33,20 +33,19 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "ROCm-Developer-Tools";
     repo = "roctracer";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-5vYUNczylB2ehlvhq1u/H8KUXt8ku2E+jawKrKsU7LY=";
+    hash = "sha256-P6QYyAjMRwFFWKF8AhbrYGe+mYVJXdbBW1or6vcobYU=";
   };
 
   nativeBuildInputs = [
     cmake
     clang
-    hip
+    clr
   ] ++ lib.optionals buildDocs [
     doxygen
     graphviz
   ];
 
   buildInputs = [
-    rocm-device-libs
     rocprofiler
     libxml2
     python3Packages.python
@@ -54,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   cmakeFlags = [
-    "-DCMAKE_MODULE_PATH=${hip}/hip/cmake"
+    "-DCMAKE_MODULE_PATH=${clr}/hip/cmake"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
@@ -85,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
     find $out/test -executable -type f -exec mv {} $test/bin \;
     rm $test/bin/{*.sh,*.py}
     patchelf --set-rpath $out/lib:${lib.makeLibraryPath (
-      finalAttrs.buildInputs ++ [ hip gcc-unwrapped.lib rocm-runtime ])} $test/bin/*
+      finalAttrs.buildInputs ++ [ clr gcc-unwrapped.lib rocm-runtime ])} $test/bin/*
     rm -rf $out/test
   '';
 
@@ -101,6 +100,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ]; # mitx11
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor clr.version;
   };
 })
diff --git a/pkgs/development/libraries/rocwmma/0000-dont-fetch-googletest.patch b/pkgs/development/rocm-modules/5/rocwmma/0000-dont-fetch-googletest.patch
index cee6036797580..fa47a3c42249b 100644
--- a/pkgs/development/libraries/rocwmma/0000-dont-fetch-googletest.patch
+++ b/pkgs/development/rocm-modules/5/rocwmma/0000-dont-fetch-googletest.patch
@@ -1,8 +1,8 @@
 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index e1160bb..2a5462e 100644
+index 0d00883..86ce282 100644
 --- a/test/CMakeLists.txt
 +++ b/test/CMakeLists.txt
-@@ -30,26 +30,6 @@ cmake_dependent_option( ROCWMMA_BUILD_VALIDATION_TESTS "Build validation tests"
+@@ -30,30 +30,6 @@ cmake_dependent_option( ROCWMMA_BUILD_VALIDATION_TESTS "Build validation tests"
  cmake_dependent_option( ROCWMMA_BUILD_BENCHMARK_TESTS "Build benchmarking tests" OFF "ROCWMMA_BUILD_TESTS" OFF )
  cmake_dependent_option( ROCWMMA_BUILD_EXTENDED_TESTS "Build extended test parameter coverage" OFF "ROCWMMA_BUILD_TESTS" OFF )
  
@@ -12,20 +12,24 @@ index e1160bb..2a5462e 100644
 -FetchContent_Declare(
 -  googletest
 -  GIT_REPOSITORY https://github.com/google/googletest.git
--  GIT_TAG 609281088cfefc76f9d0ce82e1ff6c30cc3591e5
+-  GIT_TAG release-1.12.1
 -)
 -FetchContent_GetProperties(googletest)
 -if(NOT googletest_POPULATED)
+-
 -  # Fetch the content using default details
 -  FetchContent_Populate(googletest)
 -  # Save the shared libs setting, then force to static libs
 -  set(BUILD_SHARED_LIBS_OLD ${BUILD_SHARED_LIBS})
 -  set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build SHARED libraries" FORCE)
+-  
 -  # Add gtest targets as static libs
 -  add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR})
+-  
 -  # Restore shared libs setting
 -  set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_OLD} CACHE INTERNAL "Build SHARED libraries" FORCE)
 -endif()
- 
+-
  set(ROCWMMA_TEST_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
  set(ROCWMMA_COMMON_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/hip_device.cpp
+                                 ${CMAKE_CURRENT_SOURCE_DIR}/rocwmma_gtest_main.cpp)
diff --git a/pkgs/development/libraries/rocwmma/default.nix b/pkgs/development/rocm-modules/5/rocwmma/default.nix
index 08667b6d3c929..71d0e3fbe793a 100644
--- a/pkgs/development/libraries/rocwmma/default.nix
+++ b/pkgs/development/rocm-modules/5/rocwmma/default.nix
@@ -4,44 +4,24 @@
 , rocmUpdateScript
 , cmake
 , rocm-cmake
-, hip
+, rocm-smi
+, clr
 , openmp
 , gtest
 , rocblas
-, texlive
-, doxygen
-, sphinx
-, python3Packages
-, buildDocs ? true
-, buildTests ? false
+, buildTests ? false # Will likely fail building because wavefront shifts are not supported for certain archs
 , buildExtendedTests ? false
 , buildBenchmarks ? false
 , buildSamples ? false
 , gpuTargets ? [ ] # gpuTargets = [ "gfx908:xnack-" "gfx90a:xnack-" "gfx90a:xnack+" ... ]
 }:
 
-let
-  latex = lib.optionalAttrs buildDocs texlive.combine {
-    inherit (texlive) scheme-small
-    latexmk
-    tex-gyre
-    fncychap
-    wrapfig
-    capt-of
-    framed
-    needspace
-    tabulary
-    varwidth
-    titlesec;
-  };
-in stdenv.mkDerivation (finalAttrs: {
+stdenv.mkDerivation (finalAttrs: {
   pname = "rocwmma";
-  version = "5.4.3";
+  version = "5.7.0";
 
   outputs = [
     "out"
-  ] ++ lib.optionals buildDocs [
-    "doc"
   ] ++ lib.optionals (buildTests || buildBenchmarks) [
     "test"
   ] ++ lib.optionals buildBenchmarks [
@@ -54,7 +34,7 @@ in stdenv.mkDerivation (finalAttrs: {
     owner = "ROCmSoftwarePlatform";
     repo = "rocWMMA";
     rev = "rocm-${finalAttrs.version}";
-    hash = "sha256-HUJPb6IahBgl/v+W4kXludBTNAjRm8k6v0jxKAX+qZM=";
+    hash = "sha256-/EuBBSjhlMwJfsqYvRb9oCNC0hNkEa1JH1KUDLMSs08=";
   };
 
   patches = lib.optionals (buildTests || buildBenchmarks) [
@@ -64,28 +44,21 @@ in stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     cmake
     rocm-cmake
-    hip
+    clr
   ];
 
   buildInputs = [
     openmp
   ] ++ lib.optionals (buildTests || buildBenchmarks) [
+    rocm-smi
     gtest
     rocblas
-  ] ++ lib.optionals buildDocs [
-    latex
-    doxygen
-    sphinx
-    python3Packages.sphinx-rtd-theme
-    python3Packages.breathe
   ];
 
   cmakeFlags = [
     "-DCMAKE_CXX_COMPILER=hipcc"
     "-DROCWMMA_BUILD_TESTS=${if buildTests || buildBenchmarks then "ON" else "OFF"}"
-    "-DROCWMMA_BUILD_VALIDATION_TESTS=ON"
     "-DROCWMMA_BUILD_SAMPLES=${if buildSamples then "ON" else "OFF"}"
-    "-DROCWMMA_VALIDATE_WITH_ROCBLAS=ON"
     # Manually define CMAKE_INSTALL_<DIR>
     # See: https://github.com/NixOS/nixpkgs/pull/197838
     "-DCMAKE_INSTALL_BINDIR=bin"
@@ -100,21 +73,7 @@ in stdenv.mkDerivation (finalAttrs: {
     "-DROCWMMA_BENCHMARK_WITH_ROCBLAS=ON"
   ];
 
-  postPatch = lib.optionalString buildDocs ''
-    patchShebangs docs/*.sh
-  '';
-
-  # Unfortunately, it seems like we have to call make on this manually
-  # -DROCWMMA_BUILD_DOCS=ON is invalid, despite being on the README
-  postBuild = lib.optionalString buildDocs ''
-    export HOME=$(mktemp -d)
-    ../docs/run_doc.sh
-  '';
-
-  postInstall = lib.optionalString buildDocs ''
-    mv ../docs/source/_build/html $out/share/doc/rocwmma
-    mv ../docs/source/_build/latex/rocWMMA.pdf $out/share/doc/rocwmma
-  '' + lib.optionalString (buildTests || buildBenchmarks) ''
+  postInstall = lib.optionalString (buildTests || buildBenchmarks) ''
     mkdir -p $test/bin
     mv $out/bin/{*_test,*-validate} $test/bin
   '' + lib.optionalString buildBenchmarks ''
@@ -141,6 +100,6 @@ in stdenv.mkDerivation (finalAttrs: {
     license = with licenses; [ mit ];
     maintainers = teams.rocm.members;
     platforms = platforms.linux;
-    broken = versions.minor finalAttrs.version != versions.minor hip.version;
+    broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version;
   };
 })
diff --git a/pkgs/development/libraries/tensile/default.nix b/pkgs/development/rocm-modules/5/tensile/default.nix
index c6117167855f1..86dbaa95e192e 100644
--- a/pkgs/development/libraries/tensile/default.nix
+++ b/pkgs/development/rocm-modules/5/tensile/default.nix
@@ -3,28 +3,51 @@
 , fetchFromGitHub
 , rocmUpdateScript
 , buildPythonPackage
+, pytestCheckHook
+, setuptools
 , pyyaml
 , msgpack
 , pandas
+, joblib
+, filelock
+, rocminfo
 }:
 
 buildPythonPackage rec {
   pname = "tensile";
-  version = "5.4.2";
+  version = "5.7.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "ROCmSoftwarePlatform";
     repo = "Tensile";
     rev = "rocm-${version}";
-    hash = "sha256-W6yr6mptfsiJSSzPCImgqI1EmsUv+l99SjqkoZsOjag=";
+    hash = "sha256-CyPGiM/53duJc/oNtOsl6JSsl9uOOYm5R7O6YXaVOm4=";
   };
 
-  buildInputs = [
+  buildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
     pyyaml
     msgpack
     pandas
+    joblib
+  ];
+
+  doCheck = false; # Too many errors, not sure how to set this up properly
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    filelock
+    rocminfo
   ];
 
+  preCheck = ''
+    export ROCM_PATH=${rocminfo}
+  '';
+
+  pythonImportsCheck = [ "Tensile" ];
+
   passthru.updateScript = rocmUpdateScript {
     name = pname;
     owner = src.owner;
diff --git a/pkgs/development/rocm-modules/update-script/default.nix b/pkgs/development/rocm-modules/5/update.nix
index 6188587de31ab..1cc7e354d2409 100644
--- a/pkgs/development/rocm-modules/update-script/default.nix
+++ b/pkgs/development/rocm-modules/5/update.nix
@@ -12,7 +12,7 @@
 let
   pname =
     if lib.hasPrefix "rocm-llvm-" name
-    then "llvmPackages_rocm.${lib.removePrefix "rocm-llvm-" name}"
+    then "llvm.${lib.removePrefix "rocm-llvm-" name}"
     else name;
 
   updateScript = writeScript "update.sh" ''
@@ -27,6 +27,6 @@ let
       version="''${version}.0"
     fi
 
-    update-source-version ${pname} "$version" --ignore-same-hash
+    update-source-version rocmPackages_5.${pname} "$version" --ignore-same-hash
   '';
 in [ updateScript ]
diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix
index cc70b4c4f5e6e..30b8a11a420d0 100644
--- a/pkgs/development/tools/allure/default.nix
+++ b/pkgs/development/tools/allure/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "allure";
-  version = "2.24.0";
+  version = "2.24.1";
 in
 stdenv.mkDerivation rec {
   inherit pname version;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/allure-framework/allure2/releases/download/${version}/allure-${version}.tgz";
-    sha256 = "sha256-rLVvLqLC2hSxXWDxrw/PFq4o9DeDGU9aBxZuRHkxWfo=";
+    sha256 = "sha256-pUNHE1bJclo8fsHBj6FUHqp6SZtC+RCrmICgn9/PL9c=";
   };
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index dad7c397c5b19..6d77425814636 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -1,12 +1,12 @@
-{ lib, appimageTools, fetchurl }:
+{ lib, appimageTools, makeWrapper, fetchurl }:
 
 let
   pname = "altair";
-  version = "5.2.2";
+  version = "5.2.5";
 
   src = fetchurl {
     url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
-    sha256 = "sha256-O6jWKRsYr1YDwcgwbzBFL8BqrwS1+C2ikEnvxya+S1Q=";
+    sha256 = "sha256-KpAfPZqDfbf3LLBhTZ/rFftGf42onJnFMvnO2jzxqmo=";
   };
 
   appimageContents = appimageTools.extract { inherit pname version src; };
@@ -17,6 +17,10 @@ appimageTools.wrapType2 {
   extraInstallCommands = ''
     mv $out/bin/${pname}-${version} $out/bin/${pname}
 
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram $out/bin/${pname} \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
       --replace 'Exec=AppRun' 'Exec=${pname}'
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index cb91c8c3058e8..86970b6b221f7 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -22,14 +22,14 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.4.59";
+  version = "2.5.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-/Qqh0f40JxHjIbt7rm4ZY7dTXGVMHrzkgNSjPJq8SLo=";
+    hash = "sha256-X+JEhoFKT+nxgxABojC8jZiGp8bubJWi0qWNfU9kwDc=";
   };
 
   patches = [
@@ -65,7 +65,6 @@ buildPythonApplication rec {
     colorama
     configargparse
     cyclonedx-python-lib
-    deep_merge
     docker
     dockerfile-parse
     dpath
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index f8bc11d63a6ac..d6c6740e2a26c 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenvNoCC, fetchurl, makeBinaryWrapper, jre }:
 
 stdenvNoCC.mkDerivation rec {
-  version = "10.12.3";
+  version = "10.12.4";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-drJO3sZlh2G9f80cvPD41YjhHZt74lmV9bSIhUDrTKo=";
+    sha256 = "sha256-ecWTB/4Lc7zgkQI6nN5VvKfRizeMEdyGUyL0fxiAHhk=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index c0d4749fe5260..1a01d162406cb 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.14.5";
+  version = "2.14.6";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-axB3BmHmyBDHxBeiwxUpSnhXpdZHfvYQkae7oW1OSzg=";
+    hash = "sha256-MmVH5rB6yg5w8RsrRkiV7bfCxHgp0jw27IOmUS3fcHA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 47b28f3b019cd..b647eb851e120 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.217.2";
+  version = "0.218.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-0Zu4uPxNDUUeyOLrjdQaCdiRbngtCtHx1qIqtLBmCdA=";
+    sha256 = "sha256-QmC1K2msiIN7bBwlrsQ8in3YGUoVqf2w21HbiLULWhM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix
index 69f25e8f317f4..6caa4d908c7a0 100644
--- a/pkgs/development/tools/api-linter/default.nix
+++ b/pkgs/development/tools/api-linter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.57.1";
+  version = "1.58.1";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-wDHn+1JYP7u96NZNryuneMeojcTd0JXKCikuCFBLcZI=";
+    hash = "sha256-4k8Ms+ANROe9wBo5XLckyRZbTVegf3p5ab7HCdTwS+A=";
   };
 
-  vendorHash = "sha256-qoUDBBoiddAGAIQa6Q87ne2+Cass8rA2rUpxH3QB9nM=";
+  vendorHash = "sha256-DYGBrzbslrtoUWaUag7tiEpi5Tn4ZbyX62NrQpK1ySA=";
 
   subPackages = [ "cmd/api-linter" ];
 
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-w"
   ];
 
-  # reference: https://github.com/googleapis/api-linter/blob/v1.57.1/.github/workflows/release.yaml#L76
+  # reference: https://github.com/googleapis/api-linter/blob/v1.58.1/.github/workflows/release.yaml#L76
   preBuild = ''
     cat > cmd/api-linter/version.go <<EOF
     package main
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 99ee4d101b294..01ec94b850a71 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation rec {
   pname = "apktool";
-  version = "2.8.1";
+  version = "2.9.0";
 
   src = fetchurl {
     urls = [
       "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar"
       "https://github.com/iBotPeaches/Apktool/releases/download/v${version}/apktool_${version}.jar"
     ];
-    hash = "sha256-e0qOFwPiKNIG2ylkS3EUFofYoRG1WwObCLAt+kQ6sPk=";
+    hash = "sha256-5ez3WSl7hFvmSjpRRczDctuQWxWoAaIuocke4DxMemU=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/azure-static-sites-client/versions.json b/pkgs/development/tools/azure-static-sites-client/versions.json
index 854cbd8a92c69..12bba7d28033a 100644
--- a/pkgs/development/tools/azure-static-sites-client/versions.json
+++ b/pkgs/development/tools/azure-static-sites-client/versions.json
@@ -1,39 +1,39 @@
 [
   {
     "version": "latest",
-    "buildId": "1.0.024471",
-    "publishDate": "2023-09-13T13:29:09.6126059Z",
+    "buildId": "1.0.024671",
+    "publishDate": "2023-10-04T00:20:16.1747762Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024471/linux/StaticSitesClient",
-        "sha": "5f96bf5b6d192703f340c76cd664eb12a1f5752ecf7783428bf0b16d6d6f4c84"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/linux/StaticSitesClient",
+        "sha": "82b8181bb5ea47e1d449c1c56e622bd350513dd97f27ac4abd25bd139fde92e2"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024471/windows/StaticSitesClient.exe",
-        "sha": "b2f76fd169ca61e82576e88797c5414d5ee308bc368baa60ad2ac731bb157af9"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/windows/StaticSitesClient.exe",
+        "sha": "a7660746d9dbed8814259547da7f96122d01ae90de6f8aa5ccf7b07b58f59f19"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024471/macOS/StaticSitesClient",
-        "sha": "3fab8406268e51c3c1060b6c0fcc13a6cfa4d1335624c871719430b50d3fe2aa"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024671/macOS/StaticSitesClient",
+        "sha": "7584bea04c7d9e685216d4248063226d5a230cc955e560885a48737d1abd385e"
       }
     }
   },
   {
     "version": "stable",
-    "buildId": "1.0.023911",
-    "publishDate": "2023-07-19T16:29:13.2087179Z",
+    "buildId": "1.0.024611",
+    "publishDate": "2023-09-27T15:56:00.9865712Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.023911/linux/StaticSitesClient",
-        "sha": "b3073cc39bc362b3838512b3b5f3b3af3a6b1c6f768c323592cd88dc5527046f"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024611/linux/StaticSitesClient",
+        "sha": "73354b661a8644d78a3024ef1da856468e0704ab861b5a174ec82303bf389771"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.023911/windows/StaticSitesClient.exe",
-        "sha": "5f9548aa7f0060f9fce6abdaddea23d5e970e76ce54f1213df6a133764e56337"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024611/windows/StaticSitesClient.exe",
+        "sha": "a34fa2e4e37739bf2b38c60c7d7978570e4f624b6feb38cea1d1310f1ab77bed"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.023911/macOS/StaticSitesClient",
-        "sha": "515b60de77132cacc5ef355cc654eaf2a2c3c1ab1ec1d071f6b8ed3062d8ea4e"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.024611/macOS/StaticSitesClient",
+        "sha": "9600ded6fa5208cbb943f0aba4d2ca25f03baeca46f1363cbfc465b10e3bbb90"
       }
     }
   },
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index c0545a7d25e11..5a1a1508b42e7 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.26.1";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-e00o3G66GCJyA3flqRa+J1yQVBVusBrEOJrL9viKtlM=";
+    hash = "sha256-QBU04/w7Z8yaTzDqhiVcxC8xEuDpDJs7rNRpOtwodGg=";
   };
 
-  vendorHash = "sha256-7RVYD0r3nqb0yLmKu9zzpQNiVDVBJGG1BiVb6J+VR9k=";
+  vendorHash = "sha256-4JSmn/TUojZjCQMZCgJic0y84VMP26J7uBybB5/BCoE=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index 97b967d4a2b3d..b6bce326a37d4 100644
--- a/pkgs/development/tools/build-managers/corrosion/default.nix
+++ b/pkgs/development/tools/build-managers/corrosion/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "corrosion";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "corrosion-rs";
     repo = "corrosion";
     rev = "v${version}";
-    hash = "sha256-Bvx4Jvd/l1EHB3eoBEizuT4Lou4Ev+CPA7D7iWIe+No=";
+    hash = "sha256-4psd9dHqYDqexUYkib057YUEwSQssBz6HF5vv2NV2Fo=";
   };
 
   cargoRoot = "generator";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     inherit src;
     sourceRoot = "${src.name}/${cargoRoot}";
     name = "${pname}-${version}";
-    hash = "sha256-0n45edWVSaYQS+S0H4p55d+ZgD6liHn6iBd3qCtjAh8=";
+    hash = "sha256-dpLENGY6PFV7WheVcEjuWPLLCMy+voSSCMOs9P9Jjpw=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index b0b5e10729bf2..9da89e890ce09 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -128,16 +128,16 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_8 = gen {
-    version = "8.3";
-    nativeVersion = "0.22-milestone-24";
-    sha256 = "09cjyss4bcnig1wzhxpwyn4kznkawzaha7fy0jg5nqzw2ysma62r";
+    version = "8.4";
+    nativeVersion = "0.22-milestone-25";
+    sha256 = "1bkjxw7i0lm17pdyyvka4xpl6z0cdj0izagphync6839i2pg66iy";
     defaultJava = jdk17;
   };
 
   gradle_7 = gen {
-    version = "7.6.2";
-    nativeVersion = "0.22-milestone-24";
-    sha256 = "1b7riri2ysr1bvfskmmb8phfx8c2b719kqhf189fvrszw63na6x0";
+    version = "7.6.3";
+    nativeVersion = "0.22-milestone-25";
+    sha256 = "1b6gk0yiyvf86vigd05mz7ryqs8yrpswk9bmpwrnqcp45r3jw33l";
     defaultJava = jdk17;
   };
 
diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix
index d1c0b303edccd..e2477e8d31044 100644
--- a/pkgs/development/tools/build-managers/mill/default.nix
+++ b/pkgs/development/tools/build-managers/mill/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mill";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchurl {
     url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly";
-    hash = "sha256-4X+ufTHECOmM797SN0VFAE8b9mnHkdOqSJ8h29PujLU=";
+    hash = "sha256-sCJMCy4TLRQV3zI28Aydv5a8OV8OHOjLbwhfyIlxOeY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index 181bd708a6250..1514b29f3ab53 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.13.4";
+  version = "1.14.3";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-K7uCgdTg/RTd3X8ve7xTsxDn3H9p6WS93ijCRnJPsJs=";
+    hash = "sha256-DP54+0pTKdimaivKVr2ABWSRMPgeoXkT7HHzKwBkXu0=";
   };
 
-  cargoHash = "sha256-JPbqBifhLx+FK2J9+pZysuFIiumBma3YVW/Y8KdNq+M=";
+  cargoHash = "sha256-6mE/CrX3u10DFh3UrOOtkubo0oAs/+F4gAiSDbZmVjU=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 9defb319111c3..5e30c977c41e7 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.104.0";
+  version = "0.105.1";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3X/VZirKSYD+y//e8Ft8f0D27vJWekdyUTmVvOgc5bQ=";
+    sha256 = "sha256-F0T/4KUz0iU/THE8iRSdKe0Wo3HWQMYOd5vmbO61SzA=";
   };
 
-  vendorHash = "sha256-0otC2+f0PMBZ+0Xiyq4kBd2YCJjAvDhThB3W9gIjHOY=";
+  vendorHash = "sha256-+cxh3/TQqm6n7hUYhW2B3pdfdtzRuepZmLNSGVPA3H0=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/hci/default.nix b/pkgs/development/tools/continuous-integration/hci/default.nix
index 5060d0aeda019..1acafb10eabc5 100644
--- a/pkgs/development/tools/continuous-integration/hci/default.nix
+++ b/pkgs/development/tools/continuous-integration/hci/default.nix
@@ -1,9 +1,25 @@
-{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv }:
+{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv, emptyDirectory }:
 let
-  inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables;
+  inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables appendConfigureFlags;
   inherit (lib) makeBinPath;
   bundledBins = lib.optional stdenv.isLinux runc;
 
+  overrides = old: {
+    hercules-ci-agent =
+      overrideCabal
+        (o: {
+          isLibrary = true;
+          isExecutable = false;
+          postInstall = ""; # ignore completions
+          enableSharedExecutables = false;
+          buildTarget = "lib:hercules-ci-agent hercules-ci-agent-unit-tests";
+          configureFlags = o.configureFlags or [ ] ++ [
+            "--bindir=${emptyDirectory}/hercules-ci-built-without-binaries/no-bin"
+          ];
+        })
+        old.hercules-ci-agent;
+  };
+
   pkg =
     # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
     overrideCabal
@@ -15,7 +31,7 @@ let
           makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
         '';
       })
-      (addBuildTools [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-cli));
+      (addBuildTools [ makeWrapper ] (justStaticExecutables (haskellPackages.hercules-ci-cli.override overrides)));
 in pkg // {
     meta = pkg.meta // {
       position = toString ./default.nix + ":1";
diff --git a/pkgs/development/tools/darklua/default.nix b/pkgs/development/tools/darklua/default.nix
index 18fbafe3b5559..d10ef137a378f 100644
--- a/pkgs/development/tools/darklua/default.nix
+++ b/pkgs/development/tools/darklua/default.nix
@@ -1,20 +1,27 @@
 { lib
+, stdenv
+, darwin
 , rustPlatform
 , fetchFromGitHub
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "darklua";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "seaofvoices";
     repo = "darklua";
     rev = "v${version}";
-    hash = "sha256-lZKf+05+qpQe21tMclYYUB9QBI6lC0vhNtsM4O3Jde4=";
+    hash = "sha256-OgQOsc6upMJveUUJSGqvopsyoKs7ALd6pVYxCi5fmS8=";
   };
 
-  cargoHash = "sha256-NnMjvi1H3VQGtklzXKPnZX1dOq3kCSiW8MnSvymtZ68=";
+  cargoHash = "sha256-qq42K4cPrWu/92P4dpegZ/0Wv2ndCb5d5+DgEKzdhbw=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
 
   # error: linker `aarch64-linux-gnu-gcc` not found
   postPatch = ''
diff --git a/pkgs/development/tools/database/sqlc/default.nix b/pkgs/development/tools/database/sqlc/default.nix
index b602704c928e4..69fe4ee889c88 100644
--- a/pkgs/development/tools/database/sqlc/default.nix
+++ b/pkgs/development/tools/database/sqlc/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 let
-  version = "1.21.0";
+  version = "1.22.0";
 in
 buildGoModule {
   pname = "sqlc";
@@ -11,11 +11,11 @@ buildGoModule {
     owner = "sqlc-dev";
     repo = "sqlc";
     rev = "v${version}";
-    hash = "sha256-BJKqVSyMjTedMuao8Bz92+B64B/x3M3MXKbSF+d0kDE=";
+    hash = "sha256-aSu+d3ti/PpR5oQwciq1Cz+vxDPunGsVaUg/o/rfmsY=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-AnPC0x5V8ce9KH0B4Ujz2MrTIJA+P/BZG+fsRJ3LM78=";
+  vendorHash = "sha256-sjGswoIUM+UL6qJORdB3UmPh7T6JmTBI5kksgGcRtY0=";
 
   subPackages = [ "cmd/sqlc" ];
 
diff --git a/pkgs/development/tools/database/sqlcmd/default.nix b/pkgs/development/tools/database/sqlcmd/default.nix
index 3ad3ef0656f43..e36f0760ec187 100644
--- a/pkgs/development/tools/database/sqlcmd/default.nix
+++ b/pkgs/development/tools/database/sqlcmd/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "sqlcmd";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     repo = "go-sqlcmd";
     owner = "microsoft";
     rev = "v${version}";
-    sha256 = "sha256-omclEa/URexzzpn5jRw2ivBPxmx6kw+WBIOk4XZASkU=";
+    sha256 = "sha256-SSt3QOc8eKpcCHxfOuY+eAkH/xiFBUp2bJ9QXP9pq9M=";
   };
 
-  vendorHash = "sha256-mqyKH6xLfTqKVStEZYqau19U9y/NlqoD0XLeoWHScgM=";
+  vendorHash = "sha256-ODIDlP0w3t1t7H5jevXkKmFpWVSJFUwmT66LOS+ySI4=";
   proxyVendor = true;
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index 61b4f4beb4b42..92fda5e25d3ae 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.40.2";
+  version = "0.41.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-kkGBSyLirHlJOzNh8GtY6k8kxpgouqHRQQEM/eDU7TA=";
+    sha256 = "sha256-qPyHDQ6KcXwiWlys86L3cnLIxigEkXWD/IkB2+WtOcY=";
   };
 
-  cargoHash = "sha256-jImnU9ksYYmQOoaLBH+lMdoAsgo9ZFlu0tng61wrXXw=";
+  cargoHash = "sha256-DauLzn+QkqTCPubrtasAZmD3DrIXkHk7zd8g589TCCk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/electron/binary/default.nix b/pkgs/development/tools/electron/binary/default.nix
index 94c7b2750a902..493cce35963cf 100644
--- a/pkgs/development/tools/electron/binary/default.nix
+++ b/pkgs/development/tools/electron/binary/default.nix
@@ -122,13 +122,13 @@ rec {
     headers = "03mb1v5xzn2lp317r0mik9dx2nnxc7m26imygk13dgmafydd6aah";
   };
 
-  electron_22-bin = mkElectron "22.3.25" {
-    armv7l-linux = "d90184e22f9d57fa4f207d5e5006bbfb6df1b9e10760333c3f72353ffa5ef3d1";
-    aarch64-linux = "08c4e127d06d73ad91fa308c811ace9d4f8607fe15ba0b2694261d32a2127a8c";
-    x86_64-linux = "f1d0f66b13d5b7b9e3f7d9b22891bf0b5b6f87e45c46054cd3fa74636c19e921";
-    x86_64-darwin = "945839af7ad0656d6c3462f6b47d871ce3d3860c112b2f574f62624b5b67ca8a";
-    aarch64-darwin = "3b0d7cb9ca7dda2b178af0084814f82c331df6abac63f19c3c6d72759db1e826";
-    headers = "0dbwdfrrd3r2kkfq000gwx5q0w01ndgpglkjw7i2q8b3pr5b2n62";
+  electron_22-bin = mkElectron "22.3.26" {
+    armv7l-linux = "265ce4e53f92b1e23c3b6c3e5aa67bba556a6e42f87159aabd65d898b75037dd";
+    aarch64-linux = "9d085db80629418f1eb7ab214b746b6ce29bf578ac49642991a3b37fe46b3ae6";
+    x86_64-linux = "22e15f9bc467f6b67a2ecdb443b23a33e3b599d918e8933b5a6c652c1b73d324";
+    x86_64-darwin = "964ae05bcc8f4c81fbc86d6e2f1e0cd65fe1b1e47a715aba7a883ff6f6d02577";
+    aarch64-darwin = "2dd42d9b2ed6cd9649ef9fb9aadda04fbbb01de3a6ea6ac053d95aaaa80ed16e";
+    headers = "0nqz6g68m16155dmaydbca2z05pgs4qnkd8djba9zpqh7priv24n";
   };
 
   electron_23-bin = mkElectron "23.3.13" {
@@ -140,30 +140,30 @@ rec {
     headers = "04k25z0d6xs2ar5mbbnr0phcs97kvxg28df3njhaniws6wf6qcmg";
   };
 
-  electron_24-bin = mkElectron "24.8.5" {
-    armv7l-linux = "12063cec367c7ec5b018eb308aaf34cfc73997f325cd37d19703caba842520e2";
-    aarch64-linux = "a36978af2296a9594035a8dd59c1f7199c68f3f530013a919fc10baec7471668";
-    x86_64-linux = "bdb2ecc81462018a69f105eb0d121deff48b54831af31b7da664fc193969f352";
-    x86_64-darwin = "5eb6f9f9f1860bb76267c85b0bc12cc0bd6158b3cc88a2b484e4896e80f6f693";
-    aarch64-darwin = "49f8a31e3863496d009740ecb4ce95c08870874c284de7a13e8d12c6056c1c48";
-    headers = "11909wjni9wvlinvp0d7gypmv4sqg7xv0bn5x2x8h4sfgqydzwr6";
+  electron_24-bin = mkElectron "24.8.6" {
+    armv7l-linux = "8f46901667a904a62df7043991f20dc1c2a00370a42159976855458562cda8fc";
+    aarch64-linux = "599e78a3a8127828ea3fa444927e7e51035dba9811ce0d81d59ad9b0bd02b4f6";
+    x86_64-linux = "61e87bbd361da101c6a8363cc9c1f8b8b51db61b076cf495d3f4424303265a96";
+    x86_64-darwin = "067ce05d628b44e1393369c506268915081ac9d96c0973d367262c71dcd91078";
+    aarch64-darwin = "d9093e6928b2247336b3f0811e4f66c4ae50a719ec9399c393ac9556c8e56cee";
+    headers = "009p1ffh2cyn98fcmprrjzq79jysp7h565v4f54wvjxjsq2nkr97";
   };
 
-  electron_25-bin = mkElectron "25.8.4" {
-    armv7l-linux = "6301e6fde3e7c8149a5eca84c3817ba9ad3ffcb72e79318a355f025d7d3f8408";
-    aarch64-linux = "fbb6e06417b1741b94d59a6de5dcf3262bfb3fc98cffbcad475296c42d1cbe94";
-    x86_64-linux = "0cbbcaf90f3dc79dedec97d073ffe954530316523479c31b11781a141f8a87f6";
-    x86_64-darwin = "d4015cd251e58ef074d1f7f3e99bfbbe4cd6b690981f376fc642b2de955e8750";
-    aarch64-darwin = "5d83e2094a26bfe22e4c80e660ab088ec94ae3cc2d518c6efcac338f48cc0266";
-    headers = "10nbnjkmry1dn103jpc3p3jijq8l6zh3cm6k5fqk94nrbmjjdah9";
+  electron_25-bin = mkElectron "25.9.0" {
+    armv7l-linux = "dab54628685fc08f9a060de6bb5c9a7910eb2f6d0118ceb257447ace42378b36";
+    aarch64-linux = "7f80fe6016aca69ded956cdd5b64f35a34c1a92a6c16d945465ba00708a4556c";
+    x86_64-linux = "c762b14eb72749b9b400f3b7fff565b6722e0974c1cfb4b6d71b9df9fa364d07";
+    x86_64-darwin = "9b676a67c6ae62b2b8972281934405861539e0c0f1dd5bf892e013d325927746";
+    aarch64-darwin = "098d3673fbca3421021477f0639cb40a54856b35b8af4fa979d0defa1ba75801";
+    headers = "0wcqz4vgkyz1zcd0ybx1ywzv9kz96hdxwk9an98v87nb1gfhk05c";
   };
 
-  electron_26-bin = mkElectron "26.2.4" {
-    armv7l-linux = "300e1a3e84d81277f9ab7f5060b980b2b1387979d6f07ea9d78bce5139430420";
-    aarch64-linux = "a401d68820d1c87006b683d98cfb691ffac1218c815757a3c5a0a4c2f3f08888";
-    x86_64-linux = "d2226ee3fb8bcd17abfe9747ba6c8d6ae2719a6256896d4861e3cb670ec2beeb";
-    x86_64-darwin = "a1e33c66a13913306e80812a9051ce7e5632d7cc13ff76910cc8daa791580589";
-    aarch64-darwin = "dda224e19ff2d2c99624e1da7d20fa24b92a34b49fac8dcef15542e183bc89c6";
-    headers = "0019pwm7n8vwhdflh1yy0lrgfgg92p9l40iw4xxnhm6ppic1f5kk";
+  electron_26-bin = mkElectron "26.3.0" {
+    armv7l-linux = "c444d805381a8125eb16f24369bbc370751c1f6bfaa0d4613a7a94ad797f5059";
+    aarch64-linux = "740b779bf3a2032fedb6c1902e537f61e88c5e245a4e8815ec8cf471ff38aceb";
+    x86_64-linux = "38e2a68361566faa2e7f2a4639cfedee3a5889d5f64018b2ad055c8f40516312";
+    x86_64-darwin = "ea9434ad717f12771f8c508b664ed8d18179b397910ce81f4b6e21efce90b754";
+    aarch64-darwin = "97cb2d00d06f331b4c028fa96373abdd7b5a71c2aa31b56cdf67d391f889f384";
+    headers = "00r11n0i0j7brkjbb8b0b4df6kgkwdplic4l50y9l4a7sbg6i43m";
   };
 }
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index 021f0ee2427df..a0801c3d9fa04 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -3,10 +3,10 @@
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-oLzqasdnnsAizie6fl56bWs1m+IzWn5/7mGimUVYrQU=",
+                "hash": "sha256-tQzmHL107F2jO6oDhkSDSOM+q91wxfYvrM9dw7jNlRE=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v27.0.0-beta.8"
+                "rev": "v27.0.0-beta.9"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
@@ -873,7 +873,7 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "27.0.0-beta.8",
+        "version": "27.0.0-beta.9",
         "modules": "118",
         "chrome": "118.0.5993.18",
         "node": "18.17.1",
@@ -895,16 +895,16 @@
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-i3S0sIbt8wLRXDo4R3M3epsVD7VUsYWqzdNeG/gRzXE=",
+                "hash": "sha256-deYr/VWVnnkLmotT5aqMomz7GzJlhKdkuxZhzj8guT0=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v26.2.4"
+                "rev": "v26.3.0"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-iIul2qfkAEx0JYYhjxTEIVGxSAlIeNJ3pFGfJqx0jMw=",
+                "hash": "sha256-yctASyLtsBAxK7S34wVJB64QKnQkV3jGXshKWVpMjVo=",
                 "url": "https://chromium.googlesource.com/chromium/src.git",
-                "rev": "116.0.5845.190",
+                "rev": "116.0.5845.228",
                 "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; "
             },
             "src/third_party/clang-format/script": {
@@ -1377,9 +1377,9 @@
             },
             "src/third_party/libvpx/source/libvpx": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-nBNbZSpuoOTNgddVhw9twbxtLTgjDypY5AtxQlzf1HE=",
+                "hash": "sha256-9zyYyamGsDO+a6ggdlxJ78xIGmaNyD7NcmQVIZW9oLA=",
                 "url": "https://chromium.googlesource.com/webm/libvpx.git",
-                "rev": "2245df50a6d360d33fccd51479c48f2210ed607a"
+                "rev": "278d0acd32c3fd544e6f99cbfd714df3430a6442"
             },
             "src/third_party/libwebm/source": {
                 "fetcher": "fetchFromGitiles",
@@ -1641,9 +1641,9 @@
             },
             "src/third_party/webrtc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-1A5kogfs9QnEtfTbLuhDJZ30UyspHAZ4a5ULDIf021U=",
+                "hash": "sha256-MoEeE9iXW4bbwhugT40njlxPWO04LomykQk/hZb6TwQ=",
                 "url": "https://webrtc.googlesource.com/src.git",
-                "rev": "44bc8e96ed88005fec89a1cc479e291fea30d1b3"
+                "rev": "402f60c2eabefbc7a120ec01659690c7fdf89769"
             },
             "src/third_party/wuffs/src": {
                 "fetcher": "fetchFromGitiles",
@@ -1677,9 +1677,9 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ZiUQKEuFP8RUJS/gIMiOsJOf+/mKvHbpdDe1l2NWCxM=",
+                "hash": "sha256-FniqsFWFZUclDsA+cOvX+FFxsnVd8lfMVCfrjiOn9fQ=",
                 "url": "https://chromium.googlesource.com/v8/v8.git",
-                "rev": "65d8fbecd82df64fe857a112d75ee7628a3d559c"
+                "rev": "47bf74e7ed48d3a0d6ea92f46c32be46ebed08fe"
             },
             "src/third_party/nan": {
                 "fetcher": "fetchFromGitHub",
@@ -1717,12 +1717,12 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "26.2.4",
+        "version": "26.3.0",
         "modules": "116",
-        "chrome": "116.0.5845.190",
+        "chrome": "116.0.5845.228",
         "node": "18.16.1",
         "chromium": {
-            "version": "116.0.5845.190",
+            "version": "116.0.5845.228",
             "deps": {
                 "gn": {
                     "version": "2023-06-09",
@@ -1739,10 +1739,10 @@
         "deps": {
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-EILoAkFGLQVEbjO+pumbdI5wLkL5jdKdBS24MGwDV78=",
+                "hash": "sha256-OVPwnoHyiHcxwixTWu0W2sxkJNRtB7uiXqdEzbzi+Fc=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v25.8.4"
+                "rev": "v25.9.0"
             },
             "src": {
                 "fetcher": "fetchFromGitiles",
@@ -2537,7 +2537,7 @@
                 "rev": "78d3966b3c331292ea29ec38661b25df0a245948"
             }
         },
-        "version": "25.8.4",
+        "version": "25.9.0",
         "modules": "116",
         "chrome": "114.0.5735.289",
         "node": "18.15.0",
diff --git a/pkgs/development/tools/electron/wrapper.nix b/pkgs/development/tools/electron/wrapper.nix
index 38c2f3fc90661..5ecb0387b6a88 100644
--- a/pkgs/development/tools/electron/wrapper.nix
+++ b/pkgs/development/tools/electron/wrapper.nix
@@ -2,6 +2,10 @@
 , electron-unwrapped
 , wrapGAppsHook
 , makeWrapper
+, gsettings-desktop-schemas
+, glib
+, gtk3
+, gtk4
 }:
 
 stdenv.mkDerivation {
@@ -9,9 +13,14 @@ stdenv.mkDerivation {
   inherit (electron-unwrapped) version;
 
   nativeBuildInputs = [ wrapGAppsHook makeWrapper ];
+  buildInputs = [
+    # needed for GSETTINGS_SCHEMAS_PATH
+    gsettings-desktop-schemas glib gtk3 gtk4
+  ];
   dontWrapGApps = true;
 
   buildCommand = ''
+    gappsWrapperArgsHook
     mkdir -p $out/bin
     makeWrapper "${electron-unwrapped}/libexec/electron/electron" "$out/bin/electron" \
       "''${gappsWrapperArgs[@]}" \
diff --git a/pkgs/development/tools/eltclsh/default.nix b/pkgs/development/tools/eltclsh/default.nix
index c0c8adc047c74..8b6b7678ecbea 100644
--- a/pkgs/development/tools/eltclsh/default.nix
+++ b/pkgs/development/tools/eltclsh/default.nix
@@ -11,12 +11,12 @@
 
 tcl.mkTclDerivation rec {
   pname = "eltclsh";
-  version = "1.18";
+  version = "1.19";
 
   src = fetchgit {
     url = "https://git.openrobots.org/robots/eltclsh.git";
     rev = "eltclsh-${version}";
-    hash = "sha256-C996BJxEoCSpA0x/nSnz4nnmleTIWyzm0imZp/K+Q/o=";
+    hash = "sha256-YcJRaNct/cLNsjWk+NLzGiDYOG0jNgKudBczKckQU14=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/espup/default.nix b/pkgs/development/tools/espup/default.nix
index fdc21ffe63ec4..927f002e547a2 100644
--- a/pkgs/development/tools/espup/default.nix
+++ b/pkgs/development/tools/espup/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "espup";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "esp-rs";
     repo = "espup";
     rev = "v${version}";
-    hash = "sha256-Eb0Q+Ju5nTXL0XvNhAo4Mc+ZP/vOfld313H9/oI3I2U=";
+    hash = "sha256-2LSlnGte65eemlDw67mPhmf+RuLwnbavNyMYMLgrx/E=";
   };
 
-  cargoHash = "sha256-ZKku6ElEtYXxwqeWTDKcCuZ4Wgqonc0B9nMyNd0VcdU=";
+  cargoHash = "sha256-4Gm8nQIsZzaPYtqf7eAyX0iX0rUFBnEiavJR1qcc8/g=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index 2dfd3f5de4ea1..09069eb883f7c 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoModule rec {
   pname = "faas-cli";
-  version = "0.16.14";
+  version = "0.16.16";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "sha256-6zMmm1I2lYt/+9OcesW54Pw0V5bdRYQK5eSYAtZ7Xmo=";
+    sha256 = "sha256-QYwUXZdix5GeOYF3F9XR4lIE9cKZGGgEOtROzirLw3o=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/fq/default.nix b/pkgs/development/tools/fq/default.nix
index fb838dfb4304a..fa609ce6c93bf 100644
--- a/pkgs/development/tools/fq/default.nix
+++ b/pkgs/development/tools/fq/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "fq";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "fq";
     rev = "v${version}";
-    hash = "sha256-lXU2BX0197aqdXAApDM7Gp24XAsTfpv0NrrWUguVVx0=";
+    hash = "sha256-7q08fQUFy4qX3VqUHuvOZuVQdFeoeo5+7HUQ4WWMWYw=";
   };
 
-  vendorHash = "sha256-sswb9K4y+G+C4esFM9/OVG/VGl34Fx3ma6/zI6V1DWU=";
+  vendorHash = "sha256-7TGdbGVx7YTuYBmHYK0dqccxSTkLzUlBk21EREv9XBA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix
index edc2d6e2c3ad5..4ce0ab171898d 100644
--- a/pkgs/development/tools/frugal/default.nix
+++ b/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.17.0";
+  version = "3.17.2";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r7/ZcqabSmpvhr3JKgCXaSD5378q2JOEmZyOfeLN3Nw=";
+    sha256 = "sha256-7+8wjWxePU3OrIf9SLYzu6jAaaeB3MUzZ/H6tdFn3ts=";
   };
 
   subPackages = [ "." ];
 
-  vendorHash = "sha256-2+7GQ54AHEF8ukvn/xUAD1eGESo8jO6TlRFPwlEvZ6A=";
+  vendorHash = "sha256-vES8WGaurEW5X9PX+ILN4XUGoSEtayq7UAes+1URKzg=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/pkgs/development/tools/fsautocomplete/default.nix b/pkgs/development/tools/fsautocomplete/default.nix
index 8b5d147791966..caba7da6411c3 100644
--- a/pkgs/development/tools/fsautocomplete/default.nix
+++ b/pkgs/development/tools/fsautocomplete/default.nix
@@ -5,13 +5,13 @@ let
 in
 buildDotnetModule rec {
   pname = "fsautocomplete";
-  version = "0.64.0";
+  version = "0.64.1";
 
   src = fetchFromGitHub {
     owner = "fsharp";
     repo = "FsAutoComplete";
     rev = "v${version}";
-    sha256 = "sha256-C01CsGHRy0/FFEofEN8xLM/QgnMI8aq2tr4qkEbxlsQ=";
+    sha256 = "sha256-/1XJ09NKOlTjBLe3PvAceIIhk1AiSXenBOFjERKDZko=";
   };
 
   nugetDeps = ./deps.nix;
diff --git a/pkgs/development/tools/gci/default.nix b/pkgs/development/tools/gci/default.nix
index d89f648ac9410..b4b226a57cc39 100644
--- a/pkgs/development/tools/gci/default.nix
+++ b/pkgs/development/tools/gci/default.nix
@@ -5,16 +5,16 @@
 }:
 buildGoModule rec {
   pname = "gci";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "daixiang0";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qNkSAbVhX4P+DqCtxXSnxYjZwq/nMYsDpEif+q1oTIA=";
+    sha256 = "sha256-1JYmnMXm2ywGZAVhcfzvF1I1h0pBvijbeVmqKzgiz8U=";
   };
 
-  vendorHash = "sha256-g7htGfU6C2rzfu8hAn6SGr0ZRwB8ZzSf9CgHYmdupE8=";
+  vendorHash = "sha256-bPRcOvwbWEpcJUlIqQNeoYME4ky0YE5LlyWhSTWCIHQ=";
 
   meta = with lib; {
     description = "Controls golang package import order and makes it always deterministic";
diff --git a/pkgs/development/tools/gi-crystal/default.nix b/pkgs/development/tools/gi-crystal/default.nix
index 441bbaba15585..b5d66566a6fff 100644
--- a/pkgs/development/tools/gi-crystal/default.nix
+++ b/pkgs/development/tools/gi-crystal/default.nix
@@ -5,13 +5,13 @@
 }:
 crystal.buildCrystalPackage rec {
   pname = "gi-crystal";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "hugopl";
     repo = "gi-crystal";
     rev = "v${version}";
-    hash = "sha256-9px6JRdVzsUoU5wlO+blH1OBGKskozF3WvqLV/EYiiA=";
+    hash = "sha256-SwBzGAgs0cBbBYXtaJSDWjORE+vrvI5aKG9kaC9VA4o=";
   };
 
   # Make sure gi-crystal picks up the name of the so or dylib and not the leading nix store path
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index de44dfa246dbd..daf27a1d2af4a 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.12.1";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-2nPTCd5kV6qxv4fkneu6A4gzFsRQSJiDfzh08ona0r8=";
+    sha256 = "sha256-N+O8qjSOBv7UVcFZ4BOUFoj+qfN0d2rBHO7d8FBtayY=";
   };
   vendorHash = "sha256-wUpWvq6iiS9HkCi4ztXLNs1nCgAomyUo8YaFcElnfeI=";
 
diff --git a/pkgs/development/tools/glamoroustoolkit/default.nix b/pkgs/development/tools/glamoroustoolkit/default.nix
index 52e29b6102a3c..74659dcf50a7b 100644
--- a/pkgs/development/tools/glamoroustoolkit/default.nix
+++ b/pkgs/development/tools/glamoroustoolkit/default.nix
@@ -21,12 +21,12 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "glamoroustoolkit";
-  version = "0.8.1";
+  version = "1.0.1";
 
   src = fetchzip {
     url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip";
     stripRoot = false;
-    hash = "sha256-g33Lsa0aX1NvmtSlVVVrnjOvR0FhXasxZd5Sul6adfs=";
+    hash = "sha256-v63sV0HNHSU9H5rhtJcwZCuIXEGe1+BDyxV0/EqBk2E=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/tools/go-bindata/default.nix b/pkgs/development/tools/go-bindata/default.nix
index e08cab6a0f95d..5d3e5d714f255 100644
--- a/pkgs/development/tools/go-bindata/default.nix
+++ b/pkgs/development/tools/go-bindata/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
     homepage = "https://github.com/kevinburke/go-bindata";
     changelog = "https://github.com/kevinburke/go-bindata/blob/v${version}/CHANGELOG.md";
     description = "A small utility which generates Go code from any file, useful for embedding binary data in a Go program";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     license = licenses.cc0;
   };
 }
diff --git a/pkgs/development/tools/go-mockery/default.nix b/pkgs/development/tools/go-mockery/default.nix
index a0cfddc7bab07..36379a520899c 100644
--- a/pkgs/development/tools/go-mockery/default.nix
+++ b/pkgs/development/tools/go-mockery/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-mockery";
-  version = "2.34.1";
+  version = "2.35.2";
 
   src = fetchFromGitHub {
     owner = "vektra";
     repo = "mockery";
     rev = "v${version}";
-    sha256 = "sha256-c1imyCv/eqyTEHz6H18McKY+59swG84PcLG6HI1uQmE=";
+    sha256 = "sha256-MsaAITGFDnAylxMU+PGbSl+H/W/Y7pghBbfQyqp31AM=";
   };
 
   preCheck = ''
@@ -24,7 +24,7 @@ buildGoModule rec {
   CGO_ENABLED = false;
 
   proxyVendor = true;
-  vendorHash = "sha256-c8HsrcS3x16x3x/VQjQ2XWxfMVYHJ6pbQWztqFj0ju4=";
+  vendorHash = "sha256-HxxtKtjc1EuONG4bYTZc9i40X6Q75bQzV1Wi6Qb/Id0=";
 
   passthru.tests = {
     generateMock = runCommand "${pname}-test" {
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index 0f0266d18ceee..f03d51273454a 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.29.1";
+  version = "3.31.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RzXJCYiIxbSgXuUinS5ixKCobZtMx5MM/ilzSPzTdsI=";
+    hash = "sha256-KkswkTgdhDzPLfbAdyhbo9IyYqxG5se0pt9QVTNZclM=";
   };
 
-  vendorHash = "sha256-+8nLU2mg7fiWSRu0w9ZMd5KvyFyYbNO1tyJpZASdc2c=";
+  vendorHash = "sha256-ha2vJDh1rduoFU4a1Ta1cNWegAGt2VCq8N1emUYUZ64=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index 09e6a648fb4ff..0ecb6a98cf07c 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "goa";
-  version = "3.13.0";
+  version = "3.13.2";
 
   src = fetchFromGitHub {
     owner = "goadesign";
     repo = "goa";
     rev = "v${version}";
-    sha256 = "sha256-iGp3Nkew1Xrvq9Hvhu645e4oguZaHxCXi+mJkdS1mp8=";
+    sha256 = "sha256-TGTFfwkRvrE2sbqPqx1YKR2w9vZ5veYEV+8CRZPWT5Y=";
   };
-  vendorHash = "sha256-QtMBJk0T8+ExX5S/DvltHQfxET5bo563pJoalBx4SAs=";
+  vendorHash = "sha256-Twoafjo1ZBzrXZFPZn5uz+khZ3nNTbMVaqxdNIRXRQ4=";
 
   subPackages = [ "cmd/goa" ];
 
diff --git a/pkgs/development/tools/goimports-reviser/default.nix b/pkgs/development/tools/goimports-reviser/default.nix
index 9f87aa67020e3..09bd1541775de 100644
--- a/pkgs/development/tools/goimports-reviser/default.nix
+++ b/pkgs/development/tools/goimports-reviser/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "goimports-reviser";
-  version = "3.4.1";
+  version = "3.4.5";
 
   src = fetchFromGitHub {
     owner = "incu6us";
     repo = "goimports-reviser";
     rev = "v${version}";
-    hash = "sha256-aQVjnJ//fV3i6blGKb05C2Sw1Bum9b4/o00q6krFtVI=";
+    hash = "sha256-VsG3Y7V59tTh1XS45s3NKGwMxS/y6KbIxWbRK6bHdaw=";
   };
-  vendorHash = "sha256-lyV4HlpzzxYC6OZPGVdNVL2mvTFE9yHO37zZdB/ePBg=";
+  vendorHash = "sha256-aYhUsO3Z0uue66XB+/oSVYLG9QGyVcFeZ0ngzhpBZxo=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/development/tools/google-java-format/default.nix b/pkgs/development/tools/google-java-format/default.nix
index 285d181fe0957..f61a318890f60 100644
--- a/pkgs/development/tools/google-java-format/default.nix
+++ b/pkgs/development/tools/google-java-format/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "google-java-format";
-  version = "1.17.0";
+  version = "1.18.1";
 
   src = fetchurl {
     url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar";
-    sha256 = "sha256-MwaLu9zhCZmC7BFx9eICiY6zXykZz0hhQeQ5/G46QgM=";
+    sha256 = "sha256-vtO61DP330J3AGSPJLeY2zwzjW3LLMXAi8VCtVYQ+RA=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/hclfmt/default.nix b/pkgs/development/tools/hclfmt/default.nix
index c5737a0996095..368a1a6e5c5a8 100644
--- a/pkgs/development/tools/hclfmt/default.nix
+++ b/pkgs/development/tools/hclfmt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hclfmt";
-  version = "2.18.0";
+  version = "2.18.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "hcl";
     rev = "v${version}";
-    hash = "sha256-X2XHsw30rWRUJCNRGc+UKqmZGtl3dx3TLFtjtr63uVM=";
+    hash = "sha256-31Xqgzd208ypK8u1JV5Rh5cCqGr1MJkLP490nIeovsE=";
   };
 
   vendorHash = "sha256-DA1IKaC+YSBzCfEMqHsHfwu1o5qvYFaFgDoGG0RZnoo=";
diff --git a/pkgs/development/tools/initool/default.nix b/pkgs/development/tools/initool/default.nix
index ca6c88254e074..d13158feb55fe 100644
--- a/pkgs/development/tools/initool/default.nix
+++ b/pkgs/development/tools/initool/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "initool";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "dbohdan";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-LV8Rv+7oUJ/4BX412WD1+Cs7N86OiXutN2ViAmo5jlE=";
+    hash = "sha256-99dkog0fr+IrMyrEBDf21tSGGREgAoHcU2+MJdGIvCM=";
   };
 
   nativeBuildInputs = [ mlton ];
diff --git a/pkgs/development/tools/jaq/default.nix b/pkgs/development/tools/jaq/default.nix
index b176869aa0848..6ab2cb3210ec1 100644
--- a/pkgs/development/tools/jaq/default.nix
+++ b/pkgs/development/tools/jaq/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jaq";
-  version = "0.10.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "01mf02";
     repo = "jaq";
     rev = "v${version}";
-    hash = "sha256-P1NWkqRotL8h87iqxdVJhGVy9dw47fXeL10db1xsk00=";
+    hash = "sha256-Snn34Jl6GXtGUwOXBwo0icmuNfesLHUwA7sIvdv0xlY=";
   };
 
-  cargoHash = "sha256-ZsY3PwbjNILYR+dYSp1RVqw0QV9PVB5bPSX1RdVUZUg=";
+  cargoHash = "sha256-sL884chxQntagj5/h4yWLtDS8T7hbRFjHIqNbbzcsmI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 6ea8e876a33ea..04b74bc525706 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.6";
+  version = "2.1.7";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "sha256-RqQEeYMYpBlqla+VmrxOUNyrlIGVL4YjZadg2Gq+f8k=";
+    sha256 = "sha256-k9DnbLfpCQimRueHquDSuBDhn/w8ZyUKZzZ5o35YCNA=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index db0e405454729..c492fe96bcf93 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.110.1";
+  version = "0.111.0";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-49Qwn41xQ0fbS/61S/Z9NLkmjyHxYa7ns3E7ziHcsxM=";
+    sha256 = "sha256-kMknqwK0K0b7Wk18Wx0C4qHI6ZjzQtb73u2UL7CiPyY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index 6f00c9d93269a..525c16a9efcc4 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.46.0";
+  version = "0.47.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4ucnq/FTvdDpzf1RWRY+U5A+BCaaQWMTEaZtmU0JD90=";
+    hash = "sha256-90r6dyesYfa/eC/joUDPDfGU8r8qbPzzhwf0EwnGee0=";
   };
 
   subPackages = [ "./" ];
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
index a4917cbe2266c..db16378087643 100644
--- a/pkgs/development/tools/kdash/default.nix
+++ b/pkgs/development/tools/kdash/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kdash";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "kdash-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1vBa6BAn9+T1C3ZxseMvLQHIlU0WUYShUQE3YKleoc4=";
+    sha256 = "sha256-gjGBhfdTFkFxxdovG9svIZr13JBNBGYPt9TLs3oJXP8=";
   };
 
   nativeBuildInputs = [ perl python3 pkg-config ];
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl xorg.xcbutil ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
-  cargoHash = "sha256-dtuUkS5Je8u4DcjNgQFVVX+ACP0RBLXUYNB+EwKajzo=";
+  cargoHash = "sha256-Nt1Nc8V+R7KLxiB/l5QAh2qv7cIdwtytVpACxO2aPHg=";
 
   meta = with lib; {
     description = "A simple and fast dashboard for Kubernetes";
diff --git a/pkgs/development/tools/kdoctor/default.nix b/pkgs/development/tools/kdoctor/default.nix
new file mode 100644
index 0000000000000..9ef755afbcaff
--- /dev/null
+++ b/pkgs/development/tools/kdoctor/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kdoctor";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/Kotlin/${finalAttrs.pname}/releases/download/v${finalAttrs.version}/kdoctor_${finalAttrs.version}+92.zip";
+    hash = "sha256-rGK5U1JeXID9OcT8uzO3oO6f9MZgrW69LUHbEtj0SSQ=";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  unpackPhase = ''
+    runHook preUnpack
+    unzip $src -x META-INF/*
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 kdoctor -t $out/bin/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Environment analysis tool for Kotlin Multiplatform Mobile";
+    longDescription = ''
+      KDoctor is a command-line tool that helps to set up the environment for
+      Kotlin Multiplatform Mobile app development.
+    '';
+    homepage = "https://github.com/Kotlin/kdoctor";
+    license = licenses.asl20;
+    mainProgram = "kdoctor";
+    maintainers = with maintainers; [ sironheart ];
+    platforms = platforms.darwin;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/development/tools/language-servers/helm-ls/default.nix b/pkgs/development/tools/language-servers/helm-ls/default.nix
index a1b58f686a50e..a138526a4cfeb 100644
--- a/pkgs/development/tools/language-servers/helm-ls/default.nix
+++ b/pkgs/development/tools/language-servers/helm-ls/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "helm-ls";
-  version = "0.0.5";
+  version = "0.0.6";
 
   src = fetchFromGitHub {
     owner = "mrjosh";
     repo = "helm-ls";
     rev = "v${version}";
-    hash = "sha256-GRnE9GC9pIcOfcVtlqx/yCkQz9rmxpkAfRGa6GZBzJE=";
+    hash = "sha256-dNF0Q/jat2YE/3ZEKqJVX+4+iizJIV25U9U3e+2bfUM=";
   };
 
   vendorHash = "sha256-wMYrgAgAEgwfjMLP81H0cKWm/kh63ppDkSiymfsaj7U=";
diff --git a/pkgs/development/tools/language-servers/pylyzer/default.nix b/pkgs/development/tools/language-servers/pylyzer/default.nix
index db4f582488b74..c2ba3b7974dc8 100644
--- a/pkgs/development/tools/language-servers/pylyzer/default.nix
+++ b/pkgs/development/tools/language-servers/pylyzer/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pylyzer";
-  version = "0.0.47";
+  version = "0.0.48";
 
   src = fetchFromGitHub {
     owner = "mtshiba";
     repo = "pylyzer";
     rev = "v${version}";
-    hash = "sha256-edLzBQvyanF7ozkDH+aqUF8j8r2cNKBKxLvEyPoCRIc=";
+    hash = "sha256-NQvMOBjRIf7sQBff2iZe8MbnZiZZN0DTE+HBvxsvKpM=";
   };
 
-  cargoHash = "sha256-moTOErMKe7+3lAAOfz3F3cGzYB+xXqtNLPO3134JFl0=";
+  cargoHash = "sha256-eDa3UKPgATJQLIkHpG/G50V20TW/5vwjRTfshHb3zTQ=";
 
   nativeBuildInputs = [
     git
diff --git a/pkgs/development/tools/language-servers/ruff-lsp/default.nix b/pkgs/development/tools/language-servers/ruff-lsp/default.nix
index 0676305659d33..3740472e2c700 100644
--- a/pkgs/development/tools/language-servers/ruff-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/ruff-lsp/default.nix
@@ -3,12 +3,12 @@
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , ruff
 , pygls
 , lsprotocol
 , hatchling
 , typing-extensions
+, packaging
 , pytestCheckHook
 , python-lsp-jsonrpc
 , pytest-asyncio
@@ -37,6 +37,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    packaging
     pygls
     lsprotocol
     typing-extensions
diff --git a/pkgs/development/tools/memray/default.nix b/pkgs/development/tools/memray/default.nix
index 438383ef86339..1a7fb2a91dcc0 100644
--- a/pkgs/development/tools/memray/default.nix
+++ b/pkgs/development/tools/memray/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "memray";
-  version = "1.9.1";
+  version = "1.10.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bloomberg";
     repo = pname;
-    rev = "refs/tags/v${version}";
+    rev = "refs/tags/${version}";
     hash = "sha256-DaJ1Hhg7q4ckA5feUx0twOsmy28v5aBBCTUAkn43xAo=";
   };
 
@@ -66,6 +66,6 @@ python3.pkgs.buildPythonApplication rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
-    changelog = "https://github.com/bloomberg/memray/releases/tag/v${version}";
+    changelog = "https://github.com/bloomberg/memray/releases/tag/${version}";
   };
 }
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index b3574aab33443..85cc7fbc83356 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "blackfire";
-  version = "2.21.0";
+  version = "2.22.0";
 
   src = passthru.sources.${stdenv.hostPlatform.system} or (throw "Unsupported platform for blackfire: ${stdenv.hostPlatform.system}");
 
@@ -57,23 +57,23 @@ stdenv.mkDerivation rec {
     sources = {
       "x86_64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
-        sha256 = "k2KLrU/Oz3FjBS3ZRKiSDNBweauZSg02yY5Y286JIds=";
+        sha256 = "HvNf6yB6+ljTVJXV3l5Jr1/HTR8tmofgJ4fDPbM2k3M=";
       };
       "i686-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
-        sha256 = "IECKTvbDIA5yANm9n2Y9WxZorDqURac+iSCmBQ8ECHk=";
+        sha256 = "LvEUPcArVJV1sFFgvflzCQPyhl/q7cXqdwdvN9AsBho=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
-        sha256 = "7tdXb1sPYncbbKsbSASlZsgzbcOB9EWI+XZ0JV05PUc=";
+        sha256 = "48Twr/zkJVS3uSiAX0/FL7EDtbE9ZHKoQ+otzRo1w9A=";
       };
       "aarch64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
-        sha256 = "Ke55JS9kYkCX69hxOvnNR6FsMEufgvNf1dOaHnzlcp0=";
+        sha256 = "k8YnRzSc6RuwBcJcRpjwZevCh2Tc9/j7BetivrMc1mM=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
-        sha256 = "GAbN0GoWiw1AAwfo1BfFK0boo+QywfY0VC4SlSjADKo=";
+        sha256 = "PTSggxBfWtIXj8DX2bLmKXlFXWBE7q8FfYww4SCvWh0=";
       };
     };
 
diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix
index cbe223513272e..31e7134e7e87d 100644
--- a/pkgs/development/tools/misc/chruby/default.nix
+++ b/pkgs/development/tools/misc/chruby/default.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
     description = "Changes the current Ruby";
     homepage = "https://github.com/postmodern/chruby";
     license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     mainProgram = "chruby-exec";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 4aa21d29761ed..5fb7386b08d48 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.28995";
+  version = "0.1.29041";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+Gyv3GO6nOueswPAriUm7QkQgEkYEilnBT7hqmiqDW8=";
+    sha256 = "sha256-MEprN5I9ZWz4xTVdl4qZQHfbLbp4Khh63m37ZBq8pgA=";
   };
 
-  vendorHash = "sha256-OWdJ7nFR5hrKQf2H763ezjXkEh0PvtBcjjeSNvH+ca4=";
+  vendorHash = "sha256-EcQ5/zp041P4qi8nenrWuVItV3mFI3EHHRhKm/tqpfA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/misc/fsatrace/default.nix b/pkgs/development/tools/misc/fsatrace/default.nix
index 4d3661b6c201c..408a88687e647 100644
--- a/pkgs/development/tools/misc/fsatrace/default.nix
+++ b/pkgs/development/tools/misc/fsatrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fsatrace";
-  version = "0.0.1-324";
+  version = "0.0.5";
 
   src = fetchFromGitHub {
     owner = "jacereda";
     repo = "fsatrace";
-    rev = "41fbba17da580f81ababb32ec7e6e5fd49f11473";
-    sha256 = "1ihm2v723idd6m0kc1z9v73hmfvh2v0vjs8wvx5w54jaxh3lmj1y";
+    rev = "5af79511828ca6cea4e5dd9f28e1676fb0b705e9";
+    "hash" = "sha256-pn07qlrRaM153znEviziuKWrkX9cLsNFCujovmE4UUA=";
   };
 
   installDir = "libexec/${pname}-${version}";
diff --git a/pkgs/development/tools/misc/fzf-make/default.nix b/pkgs/development/tools/misc/fzf-make/default.nix
index fdd13e3a2190b..0ea3e9505e6ab 100644
--- a/pkgs/development/tools/misc/fzf-make/default.nix
+++ b/pkgs/development/tools/misc/fzf-make/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fzf-make";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "kyu08";
     repo = "fzf-make";
     rev = "v${version}";
-    hash = "sha256-QxEYa8+sY7fQVvoXkUJOJkbumus2tYM6T1GmkJRnUHY=";
+    hash = "sha256-VDPkucvp12pdnJkUxSTfU73X9CMvP/UU1ypBnN0Jp80=";
   };
 
-  cargoHash = "sha256-EpFSZlzzoZ+Wzsvj5pSk5UhesbftcTFn6t1ZUOHdZsk=";
+  cargoHash = "sha256-mLbGV0hj571SiM1ZPiHnADYYICgP8ZfgnMTjo2npIgk=";
 
   nativeBuildInputs = [
     makeBinaryWrapper
diff --git a/pkgs/development/tools/misc/mdl/Gemfile.lock b/pkgs/development/tools/misc/mdl/Gemfile.lock
index 40fb2f51a60d4..0e01c85002b43 100644
--- a/pkgs/development/tools/misc/mdl/Gemfile.lock
+++ b/pkgs/development/tools/misc/mdl/Gemfile.lock
@@ -8,7 +8,7 @@ GEM
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    mdl (0.12.0)
+    mdl (0.13.0)
       kramdown (~> 2.3)
       kramdown-parser-gfm (~> 1.1)
       mixlib-cli (~> 2.1, >= 2.1.1)
diff --git a/pkgs/development/tools/misc/mdl/default.nix b/pkgs/development/tools/misc/mdl/default.nix
index ada686f2498a3..e7f280cf4cf50 100644
--- a/pkgs/development/tools/misc/mdl/default.nix
+++ b/pkgs/development/tools/misc/mdl/default.nix
@@ -11,7 +11,7 @@ bundlerApp {
     description = "A tool to check markdown files and flag style issues";
     homepage = "https://github.com/markdownlint/markdownlint";
     license = licenses.mit;
-    maintainers = with maintainers; [ gerschtli manveru nicknovitski ];
+    maintainers = with maintainers; [ gerschtli manveru nicknovitski totoroot ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/mdl/gemset.nix b/pkgs/development/tools/misc/mdl/gemset.nix
index 1fd09e878088f..7c9f7b003789d 100644
--- a/pkgs/development/tools/misc/mdl/gemset.nix
+++ b/pkgs/development/tools/misc/mdl/gemset.nix
@@ -48,10 +48,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gk42gayn8d2084ak6wvdwch00wb0acvncglfdhi5n0ap93q6wb6";
+      sha256 = "1a463jx8v4a3lgmmfalq73c337d66hc21q4vnfar1qf4lhk5wyi0";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.13.0";
   };
   mixlib-cli = {
     groups = ["default"];
diff --git a/pkgs/development/tools/misc/orogene/default.nix b/pkgs/development/tools/misc/orogene/default.nix
index 2433507f3f5fa..6d52dcaff6bbb 100644
--- a/pkgs/development/tools/misc/orogene/default.nix
+++ b/pkgs/development/tools/misc/orogene/default.nix
@@ -9,17 +9,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "orogene";
-  version = "0.3.33";
+  version = "0.3.34";
 
   src = fetchFromGitHub {
     owner = "orogene";
     repo = "orogene";
     rev = "v${version}";
-    hash = "sha256-HG+/m/ZomlGu/ATHqZjhjo/pjncVBZLOP6UlcCOyLKc=";
+    hash = "sha256-GMWrlvZZ2xlcvcRG3u8jS8KiewHpyX0brNe4pmCpHbM=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-iygP+x1uEHUpUGaxQjt50sFd5ZWpFxOqPvnkGqIvh6A=";
+  cargoHash = "sha256-I9uh8jV1hH5R/UHM3mz2/ZA7QY4O9gW5qXlVSfao0ZM=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/misc/pest-ide-tools/default.nix b/pkgs/development/tools/misc/pest-ide-tools/default.nix
index 3f8f8b26167a5..3398810dace44 100644
--- a/pkgs/development/tools/misc/pest-ide-tools/default.nix
+++ b/pkgs/development/tools/misc/pest-ide-tools/default.nix
@@ -8,14 +8,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pest-ide-tools";
-  version = "0.3.3";
-  cargoSha256 = "sha256-TXsRGkhswxxLCPOk1qMTvDjs4de1sClRJMr/0o6u4Pg=";
+  version = "0.3.6";
+  cargoSha256 = "sha256-uFcEE5Hlb0fhOH0birqeH+hOuAyZVjQOYFhoMdR8czM=";
 
   src = fetchFromGitHub {
     owner = "pest-parser";
     repo = "pest-ide-tools";
     rev = "v${version}";
-    sha256 = "sha256-XAdQQFU8ZF0zarqCB6WlhpZVNqNyX6e4np4Wjalhobo=";
+    sha256 = "sha256-SymtMdj7QVOEiSeTjmVidejFeGK8swnM6nfT7u18URs=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
diff --git a/pkgs/development/tools/misc/phpunit/composer.lock b/pkgs/development/tools/misc/phpunit/composer.lock
new file mode 100644
index 0000000000000..3ae3a0fc52cf9
--- /dev/null
+++ b/pkgs/development/tools/misc/phpunit/composer.lock
@@ -0,0 +1,1542 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "11284f406a2af1b4b94558b5910ea51c",
+    "packages": [
+        {
+            "name": "myclabs/deep-copy",
+            "version": "1.11.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/myclabs/DeepCopy.git",
+                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.1 || ^8.0"
+            },
+            "conflict": {
+                "doctrine/collections": "<1.6.8",
+                "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+            },
+            "require-dev": {
+                "doctrine/collections": "^1.6.8",
+                "doctrine/common": "^2.13.3 || ^3.2.2",
+                "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/DeepCopy/deep_copy.php"
+                ],
+                "psr-4": {
+                    "DeepCopy\\": "src/DeepCopy/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Create deep copies (clones) of your objects",
+            "keywords": [
+                "clone",
+                "copy",
+                "duplicate",
+                "object",
+                "object graph"
+            ],
+            "support": {
+                "issues": "https://github.com/myclabs/DeepCopy/issues",
+                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+            },
+            "funding": [
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2023-03-08T13:26:56+00:00"
+        },
+        {
+            "name": "nikic/php-parser",
+            "version": "v4.17.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/nikic/PHP-Parser.git",
+                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+                "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+                "shasum": ""
+            },
+            "require": {
+                "ext-tokenizer": "*",
+                "php": ">=7.0"
+            },
+            "require-dev": {
+                "ircmaxell/php-yacc": "^0.0.7",
+                "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+            },
+            "bin": [
+                "bin/php-parse"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "4.9-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "PhpParser\\": "lib/PhpParser"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Nikita Popov"
+                }
+            ],
+            "description": "A PHP parser written in PHP",
+            "keywords": [
+                "parser",
+                "php"
+            ],
+            "support": {
+                "issues": "https://github.com/nikic/PHP-Parser/issues",
+                "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+            },
+            "time": "2023-08-13T19:53:39+00:00"
+        },
+        {
+            "name": "phar-io/manifest",
+            "version": "2.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phar-io/manifest.git",
+                "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+                "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-phar": "*",
+                "ext-xmlwriter": "*",
+                "phar-io/version": "^3.0.1",
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Heuer",
+                    "email": "sebastian@phpeople.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+            "support": {
+                "issues": "https://github.com/phar-io/manifest/issues",
+                "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+            },
+            "time": "2021-07-20T11:28:43+00:00"
+        },
+        {
+            "name": "phar-io/version",
+            "version": "3.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/phar-io/version.git",
+                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+                "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Heuer",
+                    "email": "sebastian@phpeople.de",
+                    "role": "Developer"
+                },
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "Library for handling version information and constraints",
+            "support": {
+                "issues": "https://github.com/phar-io/version/issues",
+                "source": "https://github.com/phar-io/version/tree/3.2.1"
+            },
+            "time": "2022-02-21T01:04:05+00:00"
+        },
+        {
+            "name": "phpunit/php-code-coverage",
+            "version": "10.1.7",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+                "reference": "355324ca4980b8916c18b9db29f3ef484078f26e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/355324ca4980b8916c18b9db29f3ef484078f26e",
+                "reference": "355324ca4980b8916c18b9db29f3ef484078f26e",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-libxml": "*",
+                "ext-xmlwriter": "*",
+                "nikic/php-parser": "^4.15",
+                "php": ">=8.1",
+                "phpunit/php-file-iterator": "^4.0",
+                "phpunit/php-text-template": "^3.0",
+                "sebastian/code-unit-reverse-lookup": "^3.0",
+                "sebastian/complexity": "^3.0",
+                "sebastian/environment": "^6.0",
+                "sebastian/lines-of-code": "^2.0",
+                "sebastian/version": "^4.0",
+                "theseer/tokenizer": "^1.2.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.1"
+            },
+            "suggest": {
+                "ext-pcov": "PHP extension that provides line coverage",
+                "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "10.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+            "keywords": [
+                "coverage",
+                "testing",
+                "xunit"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+                "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+                "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.7"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-10-04T15:34:17+00:00"
+        },
+        {
+            "name": "phpunit/php-file-iterator",
+            "version": "4.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
+                "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+            "keywords": [
+                "filesystem",
+                "iterator"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+                "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+                "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-08-31T06:24:48+00:00"
+        },
+        {
+            "name": "phpunit/php-invoker",
+            "version": "4.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-invoker.git",
+                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+                "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "ext-pcntl": "*",
+                "phpunit/phpunit": "^10.0"
+            },
+            "suggest": {
+                "ext-pcntl": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Invoke callables with a timeout",
+            "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+            "keywords": [
+                "process"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+                "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:56:09+00:00"
+        },
+        {
+            "name": "phpunit/php-text-template",
+            "version": "3.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-text-template.git",
+                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+                "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Simple template engine.",
+            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+            "keywords": [
+                "template"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+                "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+                "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-08-31T14:07:24+00:00"
+        },
+        {
+            "name": "phpunit/php-timer",
+            "version": "6.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/php-timer.git",
+                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+                "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "6.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Utility class for timing",
+            "homepage": "https://github.com/sebastianbergmann/php-timer/",
+            "keywords": [
+                "timer"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+                "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:57:52+00:00"
+        },
+        {
+            "name": "sebastian/cli-parser",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/cli-parser.git",
+                "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
+                "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for parsing CLI options",
+            "homepage": "https://github.com/sebastianbergmann/cli-parser",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+                "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:58:15+00:00"
+        },
+        {
+            "name": "sebastian/code-unit",
+            "version": "2.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/code-unit.git",
+                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
+                "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Collection of value objects that represent the PHP code units",
+            "homepage": "https://github.com/sebastianbergmann/code-unit",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+                "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:58:43+00:00"
+        },
+        {
+            "name": "sebastian/code-unit-reverse-lookup",
+            "version": "3.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+                "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Looks up which function or method a line of code belongs to",
+            "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+                "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T06:59:15+00:00"
+        },
+        {
+            "name": "sebastian/comparator",
+            "version": "5.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/comparator.git",
+                "reference": "2db5010a484d53ebf536087a70b4a5423c102372"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372",
+                "reference": "2db5010a484d53ebf536087a70b4a5423c102372",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-mbstring": "*",
+                "php": ">=8.1",
+                "sebastian/diff": "^5.0",
+                "sebastian/exporter": "^5.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@2bepublished.at"
+                }
+            ],
+            "description": "Provides the functionality to compare PHP values for equality",
+            "homepage": "https://github.com/sebastianbergmann/comparator",
+            "keywords": [
+                "comparator",
+                "compare",
+                "equality"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/comparator/issues",
+                "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+                "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-08-14T13:18:12+00:00"
+        },
+        {
+            "name": "sebastian/complexity",
+            "version": "3.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/complexity.git",
+                "reference": "68cfb347a44871f01e33ab0ef8215966432f6957"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957",
+                "reference": "68cfb347a44871f01e33ab0ef8215966432f6957",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^4.10",
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for calculating the complexity of PHP code units",
+            "homepage": "https://github.com/sebastianbergmann/complexity",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/complexity/issues",
+                "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+                "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-09-28T11:50:59+00:00"
+        },
+        {
+            "name": "sebastian/diff",
+            "version": "5.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/diff.git",
+                "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+                "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0",
+                "symfony/process": "^4.2 || ^5"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Kore Nordmann",
+                    "email": "mail@kore-nordmann.de"
+                }
+            ],
+            "description": "Diff implementation",
+            "homepage": "https://github.com/sebastianbergmann/diff",
+            "keywords": [
+                "diff",
+                "udiff",
+                "unidiff",
+                "unified diff"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/diff/issues",
+                "security": "https://github.com/sebastianbergmann/diff/security/policy",
+                "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-05-01T07:48:21+00:00"
+        },
+        {
+            "name": "sebastian/environment",
+            "version": "6.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/environment.git",
+                "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
+                "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "suggest": {
+                "ext-posix": "*"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "6.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Provides functionality to handle HHVM/PHP environments",
+            "homepage": "https://github.com/sebastianbergmann/environment",
+            "keywords": [
+                "Xdebug",
+                "environment",
+                "hhvm"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/environment/issues",
+                "security": "https://github.com/sebastianbergmann/environment/security/policy",
+                "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-04-11T05:39:26+00:00"
+        },
+        {
+            "name": "sebastian/exporter",
+            "version": "5.1.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/exporter.git",
+                "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc",
+                "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc",
+                "shasum": ""
+            },
+            "require": {
+                "ext-mbstring": "*",
+                "php": ">=8.1",
+                "sebastian/recursion-context": "^5.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "5.1-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Volker Dusch",
+                    "email": "github@wallbash.com"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                },
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@gmail.com"
+                }
+            ],
+            "description": "Provides the functionality to export PHP variables for visualization",
+            "homepage": "https://www.github.com/sebastianbergmann/exporter",
+            "keywords": [
+                "export",
+                "exporter"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/exporter/issues",
+                "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+                "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-09-24T13:22:09+00:00"
+        },
+        {
+            "name": "sebastian/global-state",
+            "version": "6.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/global-state.git",
+                "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4",
+                "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "sebastian/object-reflector": "^3.0",
+                "sebastian/recursion-context": "^5.0"
+            },
+            "require-dev": {
+                "ext-dom": "*",
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "6.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Snapshotting of global state",
+            "homepage": "http://www.github.com/sebastianbergmann/global-state",
+            "keywords": [
+                "global state"
+            ],
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/global-state/issues",
+                "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+                "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-07-19T07:19:23+00:00"
+        },
+        {
+            "name": "sebastian/lines-of-code",
+            "version": "2.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+                "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d",
+                "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d",
+                "shasum": ""
+            },
+            "require": {
+                "nikic/php-parser": "^4.10",
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library for counting the lines of code in PHP source code",
+            "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+                "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+                "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-08-31T09:25:50+00:00"
+        },
+        {
+            "name": "sebastian/object-enumerator",
+            "version": "5.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
+                "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1",
+                "sebastian/object-reflector": "^3.0",
+                "sebastian/recursion-context": "^5.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+            "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+                "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T07:08:32+00:00"
+        },
+        {
+            "name": "sebastian/object-reflector",
+            "version": "3.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/object-reflector.git",
+                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
+                "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "3.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                }
+            ],
+            "description": "Allows reflection of object attributes, including inherited and non-public ones",
+            "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+                "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T07:06:18+00:00"
+        },
+        {
+            "name": "sebastian/recursion-context",
+            "version": "5.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/recursion-context.git",
+                "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
+                "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "5.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de"
+                },
+                {
+                    "name": "Jeff Welch",
+                    "email": "whatthejeff@gmail.com"
+                },
+                {
+                    "name": "Adam Harvey",
+                    "email": "aharvey@php.net"
+                }
+            ],
+            "description": "Provides functionality to recursively process PHP variables",
+            "homepage": "https://github.com/sebastianbergmann/recursion-context",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+                "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T07:05:40+00:00"
+        },
+        {
+            "name": "sebastian/type",
+            "version": "4.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/type.git",
+                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
+                "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^10.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Collection of value objects that represent the types of the PHP type system",
+            "homepage": "https://github.com/sebastianbergmann/type",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/type/issues",
+                "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-03T07:10:45+00:00"
+        },
+        {
+            "name": "sebastian/version",
+            "version": "4.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/sebastianbergmann/version.git",
+                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+                "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=8.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "4.0-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Sebastian Bergmann",
+                    "email": "sebastian@phpunit.de",
+                    "role": "lead"
+                }
+            ],
+            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+            "homepage": "https://github.com/sebastianbergmann/version",
+            "support": {
+                "issues": "https://github.com/sebastianbergmann/version/issues",
+                "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/sebastianbergmann",
+                    "type": "github"
+                }
+            ],
+            "time": "2023-02-07T11:34:05+00:00"
+        },
+        {
+            "name": "theseer/tokenizer",
+            "version": "1.2.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/theseer/tokenizer.git",
+                "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+                "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-tokenizer": "*",
+                "ext-xmlwriter": "*",
+                "php": "^7.2 || ^8.0"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Arne Blankerts",
+                    "email": "arne@blankerts.de",
+                    "role": "Developer"
+                }
+            ],
+            "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+            "support": {
+                "issues": "https://github.com/theseer/tokenizer/issues",
+                "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/theseer",
+                    "type": "github"
+                }
+            ],
+            "time": "2021-07-28T10:34:58+00:00"
+        }
+    ],
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": [],
+    "prefer-stable": true,
+    "prefer-lowest": false,
+    "platform": {
+        "php": ">=8.1",
+        "ext-dom": "*",
+        "ext-json": "*",
+        "ext-libxml": "*",
+        "ext-mbstring": "*",
+        "ext-xml": "*",
+        "ext-xmlwriter": "*"
+    },
+    "platform-dev": [],
+    "platform-overrides": {
+        "php": "8.1.0"
+    },
+    "plugin-api-version": "2.6.0"
+}
diff --git a/pkgs/development/tools/misc/phpunit/default.nix b/pkgs/development/tools/misc/phpunit/default.nix
index 02dac231c7282..90feb8628e08c 100644
--- a/pkgs/development/tools/misc/phpunit/default.nix
+++ b/pkgs/development/tools/misc/phpunit/default.nix
@@ -1,36 +1,26 @@
-{ stdenv, fetchurl, makeWrapper, lib, php }:
+{ lib, fetchFromGitHub, php }:
 
-let
+php.buildComposerProject (finalAttrs: {
   pname = "phpunit";
-  version = "10.3.3";
-in
-stdenv.mkDerivation {
-  inherit pname version;
+  version = "10.4.1";
 
-  src = fetchurl {
-    url = "https://phar.phpunit.de/phpunit-${version}.phar";
-    hash = "sha256-fhgsP/sA2nQXBQ34V2/Zvc+SPiDYWfkEXKKHoD+Heak=";
+  src = fetchFromGitHub {
+    owner = "sebastianbergmann";
+    repo = "phpunit";
+    rev = finalAttrs.version;
+    hash = "sha256-AKUMCa8QuXqE0HrMaxR8SvhdoYjL/CmaTzf5UhszPPw=";
   };
 
-  dontUnpack = true;
+  # TODO: Open a PR against https://github.com/sebastianbergmann/phpunit
+  # Missing `composer.lock` from the repository.
+  composerLock = ./composer.lock;
+  vendorHash = "sha256-xFXf9Nc6OxvZJ4Bt9zFhhdsJY4VwnztfCE4j5tOqQKQ=";
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    install -D $src $out/libexec/phpunit/phpunit.phar
-    makeWrapper ${php}/bin/php $out/bin/phpunit \
-      --add-flags "$out/libexec/phpunit/phpunit.phar"
-    runHook postInstall
-  '';
-
-  meta = with lib; {
+  meta = {
+    changelog = "https://github.com/sebastianbergmann/phpunit/blob/${finalAttrs.version}/ChangeLog-${lib.versions.majorMinor finalAttrs.version}.md";
     description = "PHP Unit Testing framework";
-    license = licenses.bsd3;
     homepage = "https://phpunit.de";
-    changelog = "https://github.com/sebastianbergmann/phpunit/blob/${version}/ChangeLog-${lib.versions.majorMinor version}.md";
-    maintainers = with maintainers; [ onny ] ++ teams.php.members;
-    platforms = platforms.all;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.onny ] ++ lib.teams.php.members;
   };
-}
+})
diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix
index b883dab6cc143..5da91bccc1205 100644
--- a/pkgs/development/tools/misc/pkg-config/default.nix
+++ b/pkgs/development/tools/misc/pkg-config/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     homepage = "http://pkg-config.freedesktop.org/wiki/";
     platforms = platforms.all;
     license = licenses.gpl2Plus;
+    mainProgram = "pkg-config";
   };
 }
diff --git a/pkgs/development/tools/misc/pkgconf/default.nix b/pkgs/development/tools/misc/pkgconf/default.nix
index d5afea351ffe9..68f8f525823a9 100644
--- a/pkgs/development/tools/misc/pkgconf/default.nix
+++ b/pkgs/development/tools/misc/pkgconf/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pkgconf";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchurl {
     url = "https://distfiles.dereferenced.org/pkgconf/pkgconf-${finalAttrs.version}.tar.xz";
-    hash = "sha256-6lol748lHrU3fsDiHHX7YYlEM8+9vwslWboz5MJmRAE=";
+    hash = "sha256-yr3zxHRSmFT3zM6Fc8WsaK00p+YhA3U1y8OYH2sjg2w=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "doc" ];
diff --git a/pkgs/development/tools/misc/regex-cli/default.nix b/pkgs/development/tools/misc/regex-cli/default.nix
index e6bac18d98cb6..5a1c7d7314be5 100644
--- a/pkgs/development/tools/misc/regex-cli/default.nix
+++ b/pkgs/development/tools/misc/regex-cli/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "regex-cli";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-4l12Eaab1G3SP3Srxt3UR9MCRlLm0KDPx/Z2rQpSQR0=";
+    hash = "sha256-i+3HluKbR+5e2Nd0E0Xy+mwsC9x3+21rFdCNmII8HsM=";
   };
 
-  cargoHash = "sha256-fAIYWzfzq/VuBc684SG7p365uudX9M/TtVdMahyrmdk=";
+  cargoHash = "sha256-u6Gaeo9XDcyxZwBt67IF1X7rr4vR9jIrzr8keHGU88w=";
 
   meta = with lib; {
     description = "A command line tool for debugging, ad hoc benchmarking and generating regular expressions";
diff --git a/pkgs/development/tools/misc/rsonpath/default.nix b/pkgs/development/tools/misc/rsonpath/default.nix
index 30f04fe959873..fc9b48793faf4 100644
--- a/pkgs/development/tools/misc/rsonpath/default.nix
+++ b/pkgs/development/tools/misc/rsonpath/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rsonpath";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "v0ldek";
     repo = "rsonpath";
     rev = "v${version}";
-    hash = "sha256-3/xhYfo23aps3UjjUEcuLYg8JALfIpbCf6LO0F2IS20=";
+    hash = "sha256-gAoxWdczeaN4VqeQY0qJeLK8aABGhuwXf41QFKUxAG0=";
   };
 
-  cargoHash = "sha256-2HVPqSkQU90ZAFG0tPbysCVIkd433fpTtTO1y4+ZUTU=";
+  cargoHash = "sha256-UXPVqc4RNIFKx0f/BPCfkJxilioXbRZSAgqQv1MzK7k=";
 
   cargoBuildFlags = [ "-p=rsonpath" ];
   cargoTestFlags = cargoBuildFlags;
diff --git a/pkgs/development/tools/misc/runme/default.nix b/pkgs/development/tools/misc/runme/default.nix
index 00d3c115c3e2f..b11573355aeff 100644
--- a/pkgs/development/tools/misc/runme/default.nix
+++ b/pkgs/development/tools/misc/runme/default.nix
@@ -11,16 +11,16 @@
 
 buildGo121Module rec {
   pname = "runme";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "stateful";
     repo = "runme";
     rev = "v${version}";
-    hash = "sha256-cy4IUsCMh0sFpHLFce3DW4KAMYT2/BtvKBHKPpkCggQ=";
+    hash = "sha256-gYaC1ROvW4wFrOKt1Wjl/ExhWX0ZQXHW6n6N70tXa+E=";
   };
 
-  vendorHash = "sha256-vfLLL/sV8Jg/QE4oT45XLXAwvlLep3ehtPwXbpwo5PQ=";
+  vendorHash = "sha256-/eofPpXmfpc7Vjz97hjKXH/Fl/EAk0zrnI279iit7MI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 258e1e3304b62..9640981526e4b 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
     maintainers = with maintainers; [ globin ma27 qyliss ];
+    mainProgram = "strace";
   };
 }
diff --git a/pkgs/development/tools/misc/terraform-ls/default.nix b/pkgs/development/tools/misc/terraform-ls/default.nix
index 22f30c28770bd..1d165172015e3 100644
--- a/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.31.5";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vpPvmWcmA0m2D1M67pcpJwT7oRM1IL56e7LgWWl+YFE=";
+    hash = "sha256-8ffrS5iWFP35KAI80bsvpibuTLAa6vykeocyTm09cGM=";
   };
 
-  vendorHash = "sha256-jrpgMweoA/ZzSDdjc/ZvZcYArg8f6XPZCbznz6yGPfI=";
+  vendorHash = "sha256-umDiI84xGmJc0tl7X/6g0dLJzdudOR48wpr67ZEKz0s=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index e09ecac29b3a8..f281a70f8029d 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -91,7 +91,7 @@ stdenv.mkDerivation {
     description = "A code-completion and comprehension server";
     homepage = "https://github.com/ycm-core/ycmd";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rasendubi cstrahan lnl7 siriobalmelli ];
+    maintainers = with maintainers; [ rasendubi lnl7 siriobalmelli ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 1420280cb5596..3ad7c284716d1 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "18.7.0";
+  version = "18.10.3";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-dnaKcyDy4TdlTPl0hCUCshW6aFMLUUFwVskv1jiO0fk=";
+    hash = "sha256-gNSG4jGGkvLyitqO4o44tv/nRGzOcX5haLUFdj/PqBM=";
   };
 
-  vendorHash = "sha256-GHOWcZqZmjL+EptcuCwbj0WSWKmhbsxpZFvHhlmsbxU=";
+  vendorHash = "sha256-ia5uglahH4btHYqeG3yyStOoM1ALxm/lQ+pyc0oxIwE=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index efaa5dbc056ea..724ea73e6b14c 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.20.0";
+  version = "2.21.0";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-AeZ/pp7zWi8liDu247WXetXK/CurV0GUZ/isVdDF3yQ=";
+    hash = "sha256-4arcK/g9j/lv1HWP7rvhAXJpYRMKgmSbGPZjy2UkhyE=";
   };
 
   vendorHash = "sha256-u1oMX2ZplmDGx7ePfA5vKHUuDmWYVCJrYh2HQ23dTfU=";
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
index 54dc859d0b612..0980a7edf27f5 100644
--- a/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -11,13 +11,13 @@ let
 in
 let finalPackage = buildDotnetModule rec {
   pname = "omnisharp-roslyn";
-  version = "1.39.8";
+  version = "1.39.10";
 
   src = fetchFromGitHub {
     owner = "OmniSharp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-QjkZg3BsI8oDeEe455GqBpM/3H3b89bRBKDjQIc8cO4=";
+    hash = "sha256-3RjRFc+keNLazUS5nLG1ZE7SfVCWoQDti2CCnnSPPQ0=";
   };
 
   projectFile = "src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj";
diff --git a/pkgs/development/tools/omnisharp-roslyn/deps.nix b/pkgs/development/tools/omnisharp-roslyn/deps.nix
index 296cf51c46163..9f7768b7cbf51 100644
--- a/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -11,7 +11,6 @@
   (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.2.1.6856"; sha256 = "19z68rgzl93lh1h8anbgzw119mhvcgr9nh5q2nxk6qihl2mx97ba"; })
   (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "3.1.0"; sha256 = "075n1mfsxwz514r94l8i3ax0wp43c3xb4f9w25a96h6xxnj0k2hd"; })
   (fetchNuGet { pname = "MediatR"; version = "8.1.0"; sha256 = "0cqx7yfh998xhsfk5pr6229lcjcs1jxxyqz7dwskc9jddl6a2akp"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "7.0.0"; sha256 = "1waiggh3g1cclc81gmjrqbh128kwfjky3z79ma4bd2ms9pa3gvfm"; })
   (fetchNuGet { pname = "Microsoft.Build"; version = "17.3.2"; sha256 = "17g4ka0c28l9v3pmf3i7cvic137h7zg6xqc78qf5j5hj7qbcps5g"; })
@@ -21,17 +20,18 @@
   (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.3.2"; sha256 = "0r82hrjjqpxjp3l7ncy8jdj30p7y0p1hhr1dbfrj5l3i0zxrrcj4"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.4"; sha256 = "0wd6v57p53ahz5z9zg4iyzmy3src7rlsncyqpcag02jjj1yx6g58"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.AnalyzerUtilities"; version = "3.3.0"; sha256 = "0b2xy6m3l1y6j2xc97cg5llia169jv4nszrrrqclh505gpw6qccz"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.7.0-2.23274.2"; sha256 = "1kz32i1vckqhzzbn90n69xn03qkd5xzk2396sr6njfh58i8wbcpd"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.7.0-2.23274.2/microsoft.codeanalysis.common.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.7.0-2.23274.2"; sha256 = "0v4fs2w9hqil2lmxzy01wishipa48ji0z374dpnslq3pc6vgxbi6"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.7.0-2.23274.2/microsoft.codeanalysis.csharp.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Features"; version = "4.7.0-2.23274.2"; sha256 = "0486v30wkx83n34mqcsiqc4sq1p2kb1lq1nfmz6w3220q82bkw9j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.7.0-2.23274.2/microsoft.codeanalysis.csharp.features.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "4.7.0-2.23274.2"; sha256 = "13prbp1bp01harck2c21hfx8mi1xgw140wl09f95qg10s8knbhy2"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.7.0-2.23274.2/microsoft.codeanalysis.csharp.scripting.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.7.0-2.23274.2"; sha256 = "0yp0jqp7c0pyawbgn38r7vjx3nhnp83bhca6javwkbwdi1mik0gj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.7.0-2.23274.2/microsoft.codeanalysis.csharp.workspaces.4.7.0-2.23274.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.9.0-1.23504.3"; sha256 = "06m8z376zr5xipmd1q06sjv6i32rdb9ikacl44ai23i71np2xsxj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.9.0-1.23504.3/microsoft.codeanalysis.common.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.9.0-1.23504.3"; sha256 = "1ynssksn4h9s4asr3y68qvs6651lrjd39c3ikswhcns8z2mqdidd"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.9.0-1.23504.3/microsoft.codeanalysis.csharp.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Features"; version = "4.9.0-1.23504.3"; sha256 = "069j0x2cjmwr5lphfnv4lj48sib7avp3pdqkimd2z0cfrvbybzcg"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.9.0-1.23504.3/microsoft.codeanalysis.csharp.features.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "4.9.0-1.23504.3"; sha256 = "00qlccgjvirrq1kx12cr895waj5s0bnws548rrhm13vshpm7diwd"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.9.0-1.23504.3/microsoft.codeanalysis.csharp.scripting.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.9.0-1.23504.3"; sha256 = "1zdkgfqhq4hiq8kcylg19r6pcpic3kjhcx80arcvw0nd7x9k8g7a"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.9.0-1.23504.3/microsoft.codeanalysis.csharp.workspaces.4.9.0-1.23504.3.nupkg"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Elfie"; version = "1.0.0"; sha256 = "1y5r6pm9rp70xyiaj357l3gdl4i4r8xxvqllgdyrwn9gx2aqzzqk"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; version = "4.7.0-2.23274.2"; sha256 = "0lv0zqvmx9kagmbfnz9y3s3ynkbr9w9rkwyfpb7ymnqxlmq49pwj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.7.0-2.23274.2/microsoft.codeanalysis.externalaccess.omnisharp.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; version = "4.7.0-2.23274.2"; sha256 = "0q53caa6nw8s2j9lk1hk05v8lw5qbhb0rwr3yn162jj3p0qc332k"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.7.0-2.23274.2/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Features"; version = "4.7.0-2.23274.2"; sha256 = "18vqq2ldnr74q6rhxbik285lck5kz3s247sp210fnh420hg2j449"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.7.0-2.23274.2/microsoft.codeanalysis.features.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "4.7.0-2.23274.2"; sha256 = "140yd40kcrp1igl3bpzibzyrvdnsgf7mrdv8wmkn7sh1d26rxwkv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.7.0-2.23274.2/microsoft.codeanalysis.scripting.common.4.7.0-2.23274.2.nupkg"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.7.0-2.23274.2"; sha256 = "1wb9wzlfnzwi6yv21xvajvgk8nmm794vq2jv6qzpbp53yfbj3255"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.7.0-2.23274.2/microsoft.codeanalysis.workspaces.common.4.7.0-2.23274.2.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp"; version = "4.9.0-1.23504.3"; sha256 = "16pjc2cdd2bcmh308rxnlmzx9f81swlbdhildmcpysac39qy3p9j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.9.0-1.23504.3/microsoft.codeanalysis.externalaccess.omnisharp.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.CSharp"; version = "4.9.0-1.23504.3"; sha256 = "033pbj95r7pvc5bywkwarrxwm1xgq5prbkyq32abbzbpsc09izr2"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.9.0-1.23504.3/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.ExternalAccess.RazorCompiler"; version = "4.9.0-1.23504.3"; sha256 = "0wwlw8fg10ijg8ynnhi1dm9gpjfgm46r325diq7b65im9bsasy1w"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.razorcompiler/4.9.0-1.23504.3/microsoft.codeanalysis.externalaccess.razorcompiler.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Features"; version = "4.9.0-1.23504.3"; sha256 = "0n34d7697n7w8pjp5zmrh66i2ddjj1yad9mz1wvq4zf7i0br2lv9"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.9.0-1.23504.3/microsoft.codeanalysis.features.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "4.9.0-1.23504.3"; sha256 = "057g9g7lqc9pm87ymlw963kzy3kprasai1qqf5ydrp0a3xfm8s1j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.9.0-1.23504.3/microsoft.codeanalysis.scripting.common.4.9.0-1.23504.3.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.9.0-1.23504.3"; sha256 = "170408wy4kwskl345lgzxgakiavs09wz7insp3phh0aicmc6s80i"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.9.0-1.23504.3/microsoft.codeanalysis.workspaces.common.4.9.0-1.23504.3.nupkg"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
   (fetchNuGet { pname = "Microsoft.DiaSymReader"; version = "2.0.0"; sha256 = "0g4fqxqy68bgsqzxdpz8n1sw0az1zgk33zc0xa8bwibwd1k2s6pj"; })
   (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5"; })
@@ -69,31 +69,31 @@
   (fetchNuGet { pname = "Microsoft.TestPlatform.TranslationLayer"; version = "17.6.0"; sha256 = "0dz65afvab3bmffwj50gdy4jqi0xrn93yn7f476kz3c7ll6v5ck1"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.SDK.EmbedInteropTypes"; version = "15.0.12"; sha256 = "083pva0a0xxvqqrjv75if25wr3rq034wgjhbax74zhzdb665nzsw"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Setup.Configuration.Interop"; version = "1.14.114"; sha256 = "062mqkmjf4k6zm3wi9ih0lzypfsnv82lgh88r35fj66akihn86gv"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.5.22"; sha256 = "05fijdlzfxx2jb1lfgjx7m63yzwxi8x3a96bh4wayrjvhbp6vxqa"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.5.22"; sha256 = "1y6xg2249cdmcbvn1abhigv6fjbkghdajfs2mb2s9kw29sp5898l"; })
-  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.0.65"; sha256 = "0ghkgws849x88pk7da3y9nwi8k2l9cr4sp68d08wpx1w68fw0liq"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "17.6.40"; sha256 = "1iv67ndrvls7qa3wrh7mnswqbhx8ggr0w1hi7md1grfm4f0nqyz4"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Threading.Analyzers"; version = "17.6.40"; sha256 = "0ba9r9y3jsx3s3j190mv4gg47ibyl44s58whwvas9c64hhs4n22s"; })
+  (fetchNuGet { pname = "Microsoft.VisualStudio.Validation"; version = "17.6.11"; sha256 = "0qx4nzsx28galgzzjkgf541254d433dgxcaf7y2y1qyyxgsfjj1f"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
   (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
   (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; })
-  (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.8.57"; sha256 = "05p1vqs09xj6pa3nv08xymzz8sg5sg59598bn1rmfmbpqp3glvax"; })
+  (fetchNuGet { pname = "Nerdbank.Streams"; version = "2.10.69"; sha256 = "1klsyly7k1xhbhrpq2s2iwdlmw3xyvh51rcakfazwxkv2hm5fj3b"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
-  (fetchNuGet { pname = "NuGet.Common"; version = "6.7.0-preview.1.20"; sha256 = "117ndnifk093l0lhgfvg0ix8ypvc742fa07scif21mkw49lpsq5w"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.7.0-preview.1.20/nuget.common.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.7.0-preview.1.20"; sha256 = "0qzkars3p6agyhpc4yj51m9byql1mdqgnbjydffwvk9i17dzz0vc"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.7.0-preview.1.20/nuget.configuration.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.7.0-preview.1.20"; sha256 = "17bnr9axdxg1i7md3s5pv55p0jq6gyi7bv5fy2bm1dyxhb84ffws"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.7.0-preview.1.20/nuget.dependencyresolver.core.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.7.0-preview.1.20"; sha256 = "0lqvqx1lbl783r535i71zdzxq5xfl5mrdij4xg02qmh42ya6zn0w"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.7.0-preview.1.20/nuget.frameworks.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.7.0-preview.1.20"; sha256 = "1ba2q5ib72lsd4qx9vm5x90xd0mdaaaqn8rks05pnfv8j600vy7s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.7.0-preview.1.20/nuget.librarymodel.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.7.0-preview.1.20"; sha256 = "13a4llnaz8j19gjlm9mn1p2lshi1w20rgdyjmzailf0yph2sl841"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.7.0-preview.1.20/nuget.packaging.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Packaging.Core"; version = "6.7.0-preview.1.20"; sha256 = "08n6dyb28p6hi0nk84nby905fgfzc8wpffpv9x5dcmn632zfpbj4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/6.7.0-preview.1.20/nuget.packaging.core.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.7.0-preview.1.20"; sha256 = "10gj24nkjc0flylr4mz8zmcyn5m97m0l8d2fcagv82zbk7p3khrq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.7.0-preview.1.20/nuget.projectmodel.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.7.0-preview.1.20"; sha256 = "1rs88r7gg9wx4fcl41dnjs04ffjaij5sh17mzfr7kw541w9nqhaj"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.7.0-preview.1.20/nuget.protocol.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.7.0-preview.1.20"; sha256 = "1kcaii7vxaxlqw9vfddxlq22lvc6adhgqhjhbbbksncmsai6w5ib"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.7.0-preview.1.20/nuget.versioning.6.7.0-preview.1.20.nupkg"; })
-  (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc"; version = "0.19.7"; sha256 = "02fsw54jmh037a5q518nrsd9657kdy111m31q13ll759a601bai7"; })
-  (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Generators"; version = "0.19.7"; sha256 = "15wy1ql68bdbz507488ivdlc4wsd3f73cbwqwc8yci1mwpfcwryd"; })
-  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageProtocol"; version = "0.19.7"; sha256 = "0c2mh69cx4lzf0s146i9ci43inb9mns4rcy08qdzki56irb0y3yh"; })
-  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer"; version = "0.19.7"; sha256 = "004jacz3w9rqvccfa1f88vzkz68agx786bncg43bc6mzg8j7mcvr"; })
-  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer.Shared"; version = "0.19.7"; sha256 = "05a5vh32vq6jipzvwwjzjf40l2ar2qxp6v9sxpfjnxdvm1bxyxmf"; })
+  (fetchNuGet { pname = "NuGet.Common"; version = "6.8.0-preview.1.69"; sha256 = "02h0g9021lqvfw1kix7pq7m4f2jpkkg15fk9cccd3px7rc7ap8y4"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.common/6.8.0-preview.1.69/nuget.common.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Configuration"; version = "6.8.0-preview.1.69"; sha256 = "0y5sm3wab9c57n1h036ldnn2hx35xsxdy8y90j2jvq38hr65bzzp"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.configuration/6.8.0-preview.1.69/nuget.configuration.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "6.8.0-preview.1.69"; sha256 = "0bsk5ic664y5n4gagkj8lj3ap24w61203zh437vzvzmmwm9y3knk"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.dependencyresolver.core/6.8.0-preview.1.69/nuget.dependencyresolver.core.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.8.0-preview.1.69"; sha256 = "1rynwrxljwnsdlrb7w15jp7my54jnin3wb61nnz1chs26b0p3w3c"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.frameworks/6.8.0-preview.1.69/nuget.frameworks.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.LibraryModel"; version = "6.8.0-preview.1.69"; sha256 = "1j8chy4yb9zxm4shpk565sy9c22y2rjh4h3mqf7jr4aqrw5vj82s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.librarymodel/6.8.0-preview.1.69/nuget.librarymodel.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Packaging"; version = "6.8.0-preview.1.69"; sha256 = "12i6l6pczmqnsr0xdqzcxrw1w4lyfx6nhrvfsvw0k29qw2i70hk7"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging/6.8.0-preview.1.69/nuget.packaging.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Packaging.Core"; version = "6.8.0-preview.1.69"; sha256 = "14i3d12wh61g0n3j7j1xk6qhlh1mxfhk4hzl9nm5103bn5f43i53"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.packaging.core/6.8.0-preview.1.69/nuget.packaging.core.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.ProjectModel"; version = "6.8.0-preview.1.69"; sha256 = "0k8mlp14g3wnx10sirlf99dlyxd1z19x8fvhd1nmhn3mymkvjpiv"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.projectmodel/6.8.0-preview.1.69/nuget.projectmodel.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Protocol"; version = "6.8.0-preview.1.69"; sha256 = "0qlk3vg068xm9d8fzllrnzkznmba3g2z47cqdb4f4nxw5hzva9f8"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.protocol/6.8.0-preview.1.69/nuget.protocol.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "NuGet.Versioning"; version = "6.8.0-preview.1.69"; sha256 = "1k2n72fvcixbc4svj6p52gi4yrqsw8ysrsr3b0l3s4rbfslv3h3k"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.versioning/6.8.0-preview.1.69/nuget.versioning.6.8.0-preview.1.69.nupkg"; })
+  (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc"; version = "0.19.9"; sha256 = "0r8m36qqddzmnv4wdpxs7qa17f4kbb9r2zwn7n41amy3lp5f7w4z"; })
+  (fetchNuGet { pname = "OmniSharp.Extensions.JsonRpc.Generators"; version = "0.19.9"; sha256 = "0g7v185mraq7bvihavagdl46rmfrkv1vr6cyb9jf1agi5i7abkyz"; })
+  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageProtocol"; version = "0.19.9"; sha256 = "0352bg0g4818y3nbxq8jmmdw60dgyxw4pjpr181sdyi73vmbnlrg"; })
+  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer"; version = "0.19.9"; sha256 = "0vb5kmf4hnrbssgj3nwsjdns0671k1llyplagm57m5wliaw12qkh"; })
+  (fetchNuGet { pname = "OmniSharp.Extensions.LanguageServer.Shared"; version = "0.19.9"; sha256 = "124af8b6ixra1xm168nz5wfn674xfk0zhpj9dmfaasfi33sdwvjb"; })
   (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
   (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
   (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
@@ -128,17 +128,15 @@
   (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "7.0.0"; sha256 = "1jxhvsh5mzdf0sgb4dfmbys1b12ylyr5pcfyj1map354fiq3qsgm"; })
   (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
   (fetchNuGet { pname = "System.Drawing.Common"; version = "7.0.0"; sha256 = "0jwyv5zjxzr4bm4vhmz394gsxqa02q6pxdqd2hwy1f116f0l30dp"; })
-  (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; })
   (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
   (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
-  (fetchNuGet { pname = "System.IO.Pipelines"; version = "5.0.1"; sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v"; })
   (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
   (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
   (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
   (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
-  (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; })
+  (fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; sha256 = "1mkvx1fwychpczksy6svfmniqhbm3xqblxqik6178l12xgq7aw45"; })
   (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
   (fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.5.1"; sha256 = "0cdnl4i9mfk7kx2ylglayqwqw7kl5k1xr8siaxch45hfyc2cpds8"; })
   (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
@@ -149,19 +147,16 @@
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
   (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
   (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
-  (fetchNuGet { pname = "System.Runtime.InteropServices.WindowsRuntime"; version = "4.3.0"; sha256 = "0bpsy91yqm2ryp5y9li8p6yh4yrxcvg9zvm569ifw25rpy67bgp9"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.1"; sha256 = "1m2wnzg3m3c0s11jg4lshcl2a47d78zri8khc21yrz34jjkbyls2"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.1"; sha256 = "0wswhbvm3gh06azg9k1zfvmhicpzlh7v71qzd4x5zwizq4khv7iq"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; sha256 = "0hh5h38pnxmlrnvs72f2hzzpz4b2caiiv6xf8y7fzdg84r3imvfr"; })
   (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
   (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "7.0.0"; sha256 = "15s9s6hsj9bz0nzw41mxbqdjgjd71w2djqbv0aj413gfi9amybk9"; })
@@ -176,6 +171,7 @@
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; })
   (fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; sha256 = "0zjrnc9lshagm6kdb9bdh45dmlnkpwcpyssa896sda93ngbmj8k9"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
   (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; })
   (fetchNuGet { pname = "System.Threading.Channels"; version = "7.0.0"; sha256 = "1qrmqa6hpzswlmyp3yqsbnmia9i5iz1y208xpqc1y88b1f6j1v8a"; })
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 18dd6370bc78d..5d948190ee19e 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -31,7 +31,7 @@ buildGoModule rec {
     description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
     homepage    = "https://www.packer.io";
     license     = licenses.mpl20;
-    maintainers = with maintainers; [ cstrahan zimbatm ma27 techknowlogick qjoly ];
+    maintainers = with maintainers; [ zimbatm ma27 techknowlogick qjoly ];
     changelog   = "https://github.com/hashicorp/packer/blob/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index 804f771cdca3f..f5c20e128ddbc 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -64,6 +64,7 @@ let
         { tree-sitter-org-nvim = grammars'.tree-sitter-org-nvim // { language = "org"; }; } //
         { tree-sitter-typescript = grammars'.tree-sitter-typescript // { location = "typescript"; }; } //
         { tree-sitter-tsx = grammars'.tree-sitter-typescript // { location = "tsx"; }; } //
+        { tree-sitter-typst = grammars'.tree-sitter-typst // { generate = true; }; } //
         { tree-sitter-markdown = grammars'.tree-sitter-markdown // { location = "tree-sitter-markdown"; }; } //
         { tree-sitter-markdown-inline = grammars'.tree-sitter-markdown // { language = "markdown_inline"; location = "tree-sitter-markdown-inline"; }; } //
         { tree-sitter-wing = grammars'.tree-sitter-wing // { location = "libs/tree-sitter-wing"; generate = true; }; };
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
index 68574a248b778..0140f12364398 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -93,6 +93,7 @@
   tree-sitter-tsq = lib.importJSON ./tree-sitter-tsq.json;
   tree-sitter-turtle = lib.importJSON ./tree-sitter-turtle.json;
   tree-sitter-typescript = lib.importJSON ./tree-sitter-typescript.json;
+  tree-sitter-typst = lib.importJSON ./tree-sitter-typst.json;
   tree-sitter-verilog = lib.importJSON ./tree-sitter-verilog.json;
   tree-sitter-vim = lib.importJSON ./tree-sitter-vim.json;
   tree-sitter-vue = lib.importJSON ./tree-sitter-vue.json;
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typst.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typst.json
new file mode 100644
index 0000000000000..0f35892e4d8ed
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typst.json
@@ -0,0 +1,12 @@
+{
+  "url": "https://github.com/uben0/tree-sitter-typst",
+  "rev": "791cac478226e3e78809b67ff856010bde709594",
+  "date": "2023-10-01T17:18:34+02:00",
+  "path": "/nix/store/fsdpsqf4g0maba3lqnq7237hvp443wn0-tree-sitter-typst-791cac4",
+  "sha256": "1mwj2qf1k1pfd892lkpw6jsd014209aiz6kdsyh5mhxgnb4893v0",
+  "hash": "sha256-YI+EyLKvw1qg122aH1UCggTQtDT8TioSau6GGRwWktc=",
+  "fetchLFS": false,
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
index 39b064cf4b39e..b2267f33c7bf1 100644
--- a/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -143,6 +143,10 @@ let
       repo = "tree-sitter-sql";
       branch = "gh-pages";
     };
+    "tree-sitter-typst" = {
+      orga = "uben0";
+      repo = "tree-sitter-typst";
+    };
     "tree-sitter-vim" = {
       orga = "vigoux";
       repo = "tree-sitter-viml";
diff --git a/pkgs/development/tools/renderdoc/default.nix b/pkgs/development/tools/renderdoc/default.nix
index 6fed8e0389bc9..8a79722a98946 100644
--- a/pkgs/development/tools/renderdoc/default.nix
+++ b/pkgs/development/tools/renderdoc/default.nix
@@ -32,13 +32,13 @@ let
 in
 mkDerivation rec {
   pname = "renderdoc";
-  version = "1.28";
+  version = "1.29";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "sha256-a8f/lbNcsWdYAmhNnTelyYX5J/XhINHRfguRFXQa3uY=";
+    sha256 = "sha256-ViZMAuqbXN7upyVLc4arQy2EASHeoYViMGpCwZPEWuo=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
index 177029648f128..ea860cc0896b3 100644
--- a/pkgs/development/tools/rust/cargo-binstall/default.nix
+++ b/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-binstall";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-x+fjngKdSS3ujWs2FbdcRSLi99wEuhi3f7uf7wEAvY8=";
+    hash = "sha256-z69uGnXyzV4spa3pNMwZrqOX1i0RYCgo8dwfZ86MBlA=";
   };
 
-  cargoHash = "sha256-p/O8v08GjccJGMTvSdAFgOZAMG9jjXmvlJykzyne84w=";
+  cargoHash = "sha256-/eXdbHDVzM4hHRfP/gw+IXZVDuZcergGyotnvQEKEiw=";
 
   nativeBuildInputs = [
     pkg-config
@@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
     xz
     zstd
   ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   buildNoDefaultFeatures = true;
diff --git a/pkgs/development/tools/rust/cargo-espflash/default.nix b/pkgs/development/tools/rust/cargo-espflash/default.nix
index f0774b2fd033c..b8c6243e97bdd 100644
--- a/pkgs/development/tools/rust/cargo-espflash/default.nix
+++ b/pkgs/development/tools/rust/cargo-espflash/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-espflash";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "esp-rs";
     repo = "espflash";
     rev = "v${version}";
-    hash = "sha256-PYW5OM3pbmROeGkbGiLhnVGrYq6xn3B1Z4sbIjtAPlk=";
+    hash = "sha256-Nv2/33VYpCkPYyUhlVDYJR1BkbtEvEPtmgyZXfVn1ug=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     SystemConfiguration
   ];
 
-  cargoHash = "sha256-gTehRP9Ct150n3Kdz+NudJcKGeOCT059McrXURhy2iQ=";
+  cargoHash = "sha256-FpBc92a2JQHRLe5S6yh3l0FpRI8LpkGGEma/4v5X4xs=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/development/tools/rust/cargo-guppy/default.nix b/pkgs/development/tools/rust/cargo-guppy/default.nix
index 4596b93b32a1f..e62a0a9925fd4 100644
--- a/pkgs/development/tools/rust/cargo-guppy/default.nix
+++ b/pkgs/development/tools/rust/cargo-guppy/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-guppy";
-  version = "unstable-2023-07-29";
+  version = "unstable-2023-10-04";
 
   src = fetchFromGitHub {
     owner = "guppy-rs";
     repo = "guppy";
-    rev = "7c7f352d9d2dea1007b4475d4a76f86f061b6ba9";
-    sha256 = "sha256-H2vU7qax0P8Ulh1/DHnlmGRqSqzLuRy9TZOvikSLONw=";
+    rev = "837d0ae762b9ae79cc8ca5d629842e5ca34293b4";
+    sha256 = "sha256-LWU1yAD/f9w5m522vcKP9D2JusGkwzvfGSGstvFGUpk=";
   };
 
-  cargoSha256 = "sha256-lr7N/qqB1AwhNA+mbEAJFSp/rDxGp3qIGSKP9B3JAls=";
+  cargoSha256 = "sha256-IyU5fJSFzef8P5v8ILufGcTP3+5Gm0PH4Cox2G5saHw=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-hakari/default.nix b/pkgs/development/tools/rust/cargo-hakari/default.nix
index 842ea1a1915d7..e58bf32863a8d 100644
--- a/pkgs/development/tools/rust/cargo-hakari/default.nix
+++ b/pkgs/development/tools/rust/cargo-hakari/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-hakari";
-  version = "0.9.27";
+  version = "0.9.28";
 
   src = fetchFromGitHub {
     owner = "guppy-rs";
     repo = "guppy";
     rev = "cargo-hakari-${version}";
-    sha256 = "sha256-H2vU7qax0P8Ulh1/DHnlmGRqSqzLuRy9TZOvikSLONw=";
+    sha256 = "sha256-mTemccM/C9M2kso9PNpd0UGEZJd/tBd1PjCpbDFFtNo=";
   };
 
-  cargoHash = "sha256-fRaGtQc9CA5A6fQ1yj5zsg1Qv42yIi8ZlIcp4o5cNBU=";
+  cargoHash = "sha256-UaSW9PZMUhqjvRM0/URHaOfofG5Ap3bvKgAHa+H+MFw=";
 
   cargoBuildFlags = [ "-p" "cargo-hakari" ];
   cargoTestFlags = [ "-p" "cargo-hakari" ];
diff --git a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
index d5a55c6d1624e..6f570e9b38207 100644
--- a/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-leptos/Cargo.lock
@@ -3,12 +3,27 @@
 version = 3
 
 [[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
 name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
+name = "adler32"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+[[package]]
 name = "ahash"
 version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -34,14 +49,29 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
+
+[[package]]
 name = "android-tzdata"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -67,30 +97,29 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.3.2"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
- "is-terminal",
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle"
-version = "1.0.0"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.0"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
 dependencies = [
  "utf8parse",
 ]
@@ -106,9 +135,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle-wincon"
-version = "1.0.1"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
 dependencies = [
  "anstyle",
  "windows-sys 0.48.0",
@@ -116,19 +145,19 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "async-trait"
-version = "0.1.68"
+version = "0.1.73"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -139,13 +168,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "axum"
-version = "0.6.18"
+version = "0.6.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39"
+checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
 dependencies = [
  "async-trait",
  "axum-core",
- "base64 0.21.2",
+ "base64 0.21.4",
  "bitflags 1.3.2",
  "bytes",
  "futures-util",
@@ -190,6 +219,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
 name = "base64"
 version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -201,15 +245,9 @@ dependencies = [
 
 [[package]]
 name = "base64"
-version = "0.13.1"
+version = "0.21.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "base64"
-version = "0.21.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
 
 [[package]]
 name = "base64-simd"
@@ -228,9 +266,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.2"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
 
 [[package]]
 name = "bitvec"
@@ -254,6 +292,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "brotli"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da74e2b81409b1b743f8f0c62cc6254afefb8b8e50bbfe3735550f7aeefa3448"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
 name = "browserslist-rs"
 version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -264,7 +323,7 @@ dependencies = [
  "chrono",
  "either",
  "getrandom",
- "itertools",
+ "itertools 0.10.5",
  "js-sys",
  "nom",
  "once_cell",
@@ -280,9 +339,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytecheck"
@@ -314,26 +373,28 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "camino"
-version = "1.1.4"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "cargo-leptos"
-version = "0.1.11"
+version = "0.2.0"
 dependencies = [
  "ansi_term",
  "anyhow",
+ "async-trait",
  "axum",
+ "brotli",
  "bytes",
  "camino",
  "cargo_metadata",
@@ -342,26 +403,25 @@ dependencies = [
  "dirs",
  "dotenvy",
  "dunce",
- "envy",
  "flate2",
  "flexi_logger",
  "insta",
- "itertools",
+ "itertools 0.11.0",
  "lazy_static",
  "leptos_hot_reload",
+ "libflate",
  "lightningcss",
  "log",
  "notify",
- "once_cell",
- "regex",
+ "pathdiff",
  "reqwest",
  "seahash",
+ "semver",
  "serde",
  "serde_json",
  "tar",
  "temp-dir",
  "tokio",
- "toml",
  "wasm-bindgen-cli-support",
  "which",
  "zip",
@@ -369,18 +429,18 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "cargo_metadata"
-version = "0.15.4"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+checksum = "fb9ac64500cc83ce4b9f8dafa78186aa008c8dea77a09b94cd307fd0cd5022a8"
 dependencies = [
  "camino",
  "cargo-platform",
@@ -393,9 +453,12 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "cfg-if"
@@ -411,60 +474,57 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
- "time",
  "wasm-bindgen",
- "winapi 0.3.9",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "clap"
-version = "4.3.4"
+version = "4.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80672091db20273a15cf9fdd4e47ed43b5091ec9841bf4c6145c9dfbbcae09ed"
+checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
 dependencies = [
  "clap_builder",
  "clap_derive",
- "once_cell",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.3.4"
+version = "4.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1458a1df40e1e2afebb7ab60ce55c1fa8f431146205aa5f4887e0b111c27636"
+checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
 dependencies = [
  "anstream",
  "anstyle",
- "bitflags 1.3.2",
  "clap_lex",
  "strsim",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.3.2"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
 dependencies = [
  "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
 
 [[package]]
 name = "colorchoice"
@@ -527,31 +587,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
-name = "cpufeatures"
-version = "0.2.7"
+name = "core2"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
 dependencies = [
- "libc",
+ "memchr",
 ]
 
 [[package]]
-name = "crc32fast"
-version = "1.3.2"
+name = "cpufeatures"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
 dependencies = [
- "cfg-if 1.0.0",
+ "libc",
 ]
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
+name = "crc32fast"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
  "cfg-if 1.0.0",
- "crossbeam-utils",
 ]
 
 [[package]]
@@ -599,19 +658,24 @@ dependencies = [
 
 [[package]]
 name = "cssparser"
-version = "0.29.6"
+version = "0.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa"
+checksum = "9be934d936a0fbed5bcdc01042b770de1398bf79d0e192f49fa7faea0e99281e"
 dependencies = [
  "cssparser-macros",
  "dtoa-short",
  "itoa",
- "matches",
- "phf",
- "proc-macro2",
- "quote",
+ "phf 0.11.2",
  "smallvec",
- "syn 1.0.109",
+]
+
+[[package]]
+name = "cssparser-color"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "556c099a61d85989d7af52b692e35a8d68a57e7df8c6d07563dc0778b3960c9f"
+dependencies = [
+ "cssparser",
 ]
 
 [[package]]
@@ -621,7 +685,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
 dependencies = [
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -660,13 +724,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "dary_heap"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca"
+
+[[package]]
 name = "dashmap"
-version = "5.4.0"
+version = "5.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
+checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
 dependencies = [
  "cfg-if 1.0.0",
- "hashbrown",
+ "hashbrown 0.14.1",
  "lock_api",
  "once_cell",
  "parking_lot_core",
@@ -689,18 +759,18 @@ dependencies = [
 
 [[package]]
 name = "derive_builder"
-version = "0.11.2"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3"
+checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8"
 dependencies = [
  "derive_builder_macro",
 ]
 
 [[package]]
 name = "derive_builder_core"
-version = "0.11.2"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4"
+checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f"
 dependencies = [
  "darling",
  "proc-macro2",
@@ -710,9 +780,9 @@ dependencies = [
 
 [[package]]
 name = "derive_builder_macro"
-version = "0.11.2"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68"
+checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e"
 dependencies = [
  "derive_builder_core",
  "syn 1.0.109",
@@ -743,22 +813,23 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "4.0.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 dependencies = [
  "dirs-sys",
 ]
 
 [[package]]
 name = "dirs-sys"
-version = "0.3.7"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
 dependencies = [
  "libc",
+ "option-ext",
  "redox_users",
- "winapi 0.3.9",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -769,9 +840,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
 
 [[package]]
 name = "dtoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
 
 [[package]]
 name = "dtoa-short"
@@ -790,9 +861,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "encode_unicode"
@@ -802,27 +873,24 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.32"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if 1.0.0",
 ]
 
 [[package]]
-name = "envy"
-version = "0.4.2"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965"
-dependencies = [
- "serde",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480"
 dependencies = [
  "errno-dragonfly",
  "libc",
@@ -841,30 +909,27 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "filetime"
-version = "0.2.21"
+version = "0.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.3.5",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
 dependencies = [
  "crc32fast",
  "miniz_oxide",
@@ -872,9 +937,9 @@ dependencies = [
 
 [[package]]
 name = "flexi_logger"
-version = "0.25.5"
+version = "0.27.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e7b68b1f7ce9c62856598e99cd6742b9cedb6186b47aa989a82640f20bfa9b"
+checksum = "64d1984eeb4ccb9a6f3fa5f2a1850d34afed6fd4ffcd1513b691eef9dda0f057"
 dependencies = [
  "chrono",
  "glob",
@@ -1034,11 +1099,17 @@ dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "wasm-bindgen",
 ]
 
 [[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
 name = "glob"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1046,9 +1117,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "h2"
-version = "0.3.19"
+version = "0.3.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
 dependencies = [
  "bytes",
  "fnv",
@@ -1056,7 +1127,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap",
+ "indexmap 1.9.3",
  "slab",
  "tokio",
  "tokio-util",
@@ -1073,6 +1144,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash 0.8.3",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12"
+
+[[package]]
 name = "heck"
 version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1089,18 +1175,18 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
-name = "hermit-abi"
-version = "0.3.1"
+name = "home"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys 0.48.0",
+]
 
 [[package]]
 name = "http"
@@ -1132,15 +1218,15 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "hyper"
-version = "0.14.26"
+version = "0.14.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -1153,7 +1239,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
  "tokio",
  "tower-service",
  "tracing",
@@ -1225,7 +1311,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
- "hashbrown",
+ "hashbrown 0.12.3",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.1",
 ]
 
 [[package]]
@@ -1250,9 +1346,9 @@ dependencies = [
 
 [[package]]
 name = "insta"
-version = "1.29.0"
+version = "1.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a28d25139df397cbca21408bb742cf6837e04cdbebf1b07b760caf971d6a972"
+checksum = "1aa511b2e298cd49b1856746f6bb73e17036bcd66b25f5e92cdcdbec9bd75686"
 dependencies = [
  "console",
  "lazy_static",
@@ -1263,26 +1359,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "iovec"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1293,18 +1369,17 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.7.2"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
+ "hermit-abi",
  "rustix",
  "windows-sys 0.48.0",
 ]
@@ -1319,10 +1394,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
@@ -1363,41 +1447,66 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
 
 [[package]]
 name = "leptos_hot_reload"
-version = "0.3.0"
-source = "git+https://github.com/leptos-rs/leptos#55bb63edea430e6c4756c9d9cd73d9ecfd50e1c7"
+version = "0.5.0"
+source = "git+https://github.com/leptos-rs/leptos#e0d15c1a094f193a85cd9304bf86edabbf46a902"
 dependencies = [
  "anyhow",
  "camino",
- "indexmap",
+ "indexmap 2.0.2",
  "parking_lot",
  "proc-macro2",
  "quote",
  "rstml",
  "serde",
- "syn 2.0.18",
+ "syn 2.0.37",
  "walkdir",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.146"
+version = "0.2.148"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+
+[[package]]
+name = "libflate"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf"
+dependencies = [
+ "adler32",
+ "core2",
+ "crc32fast",
+ "dary_heap",
+ "libflate_lz77",
+]
+
+[[package]]
+name = "libflate_lz77"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
+checksum = "be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524"
+dependencies = [
+ "core2",
+ "hashbrown 0.13.2",
+ "rle-decode-fast",
+]
 
 [[package]]
 name = "lightningcss"
-version = "1.0.0-alpha.42"
+version = "1.0.0-alpha.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a00aabc173bdf67a26da17777a5584ae344238b043626b5eb1c6b137af9c9edb"
+checksum = "6b9e0bcd2b6bb94c671476ae1d4cba1d5da256394ae18e3f656d2d339d577b5a"
 dependencies = [
  "ahash 0.7.6",
- "bitflags 2.3.2",
+ "bitflags 2.4.0",
  "browserslist-rs",
  "const-str",
  "cssparser",
+ "cssparser-color",
  "dashmap",
  "data-encoding",
- "itertools",
+ "itertools 0.10.5",
  "lazy_static",
  "parcel_selectors",
  "parcel_sourcemap",
@@ -1416,9 +1525,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db"
 
 [[package]]
 name = "lock_api"
@@ -1432,9 +1541,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "matches"
@@ -1444,15 +1553,15 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 
 [[package]]
 name = "matchit"
-version = "0.7.0"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
+checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memoffset"
@@ -1510,7 +1619,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "windows-sys 0.48.0",
 ]
 
@@ -1558,9 +1667,9 @@ dependencies = [
 
 [[package]]
 name = "net2"
-version = "0.2.38"
+version = "0.2.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac"
 dependencies = [
  "cfg-if 0.1.10",
  "libc",
@@ -1603,33 +1712,42 @@ dependencies = [
 
 [[package]]
 name = "nu-ansi-term"
-version = "0.47.0"
+version = "0.49.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df031e117bca634c262e9bd3173776844b6c17a90b3741c9163663b4385af76"
+checksum = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
 dependencies = [
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "once_cell"
 version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1637,11 +1755,11 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "openssl"
-version = "0.10.54"
+version = "0.10.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019"
+checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "cfg-if 1.0.0",
  "foreign-types",
  "libc",
@@ -1658,7 +1776,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -1669,9 +1787,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.88"
+version = "0.9.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617"
+checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
 dependencies = [
  "cc",
  "libc",
@@ -1680,6 +1798,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
 name = "outref"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1687,15 +1811,15 @@ checksum = "7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4"
 
 [[package]]
 name = "parcel_selectors"
-version = "0.26.0"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3e808c7a75aedcc522bd24187de6903adab3265d690a61f8b8181edaa988377"
+checksum = "5f0fbe4365a6ec3fda13f9551aa5ea9f1e1ee8da513953b153de29ac00cf684a"
 dependencies = [
- "bitflags 2.3.2",
+ "bitflags 2.4.0",
  "cssparser",
  "fxhash",
  "log",
- "phf",
+ "phf 0.10.1",
  "phf_codegen",
  "precomputed-hash",
  "smallvec",
@@ -1735,20 +1859,23 @@ dependencies = [
  "libc",
  "redox_syscall 0.3.5",
  "smallvec",
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "paste"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pathdiff"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+dependencies = [
+ "camino",
+]
 
 [[package]]
 name = "percent-encoding"
@@ -1762,9 +1889,17 @@ version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
 dependencies = [
+ "phf_shared 0.10.0",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+dependencies = [
  "phf_macros",
- "phf_shared",
- "proc-macro-hack",
+ "phf_shared 0.11.2",
 ]
 
 [[package]]
@@ -1773,8 +1908,8 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
 dependencies = [
- "phf_generator",
- "phf_shared",
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
 ]
 
 [[package]]
@@ -1783,22 +1918,31 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
 dependencies = [
- "phf_shared",
+ "phf_shared 0.10.0",
+ "rand",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
+dependencies = [
+ "phf_shared 0.11.2",
  "rand",
 ]
 
 [[package]]
 name = "phf_macros"
-version = "0.10.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
- "phf_generator",
- "phf_shared",
- "proc-macro-hack",
+ "phf_generator 0.11.2",
+ "phf_shared 0.11.2",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -1811,30 +1955,39 @@ dependencies = [
 ]
 
 [[package]]
+name = "phf_shared"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
 name = "pin-project"
-version = "1.1.0"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.0"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -1869,7 +2022,6 @@ dependencies = [
  "proc-macro-error-attr",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
  "version_check",
 ]
 
@@ -1885,29 +2037,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.60"
+version = "1.0.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "proc-macro2-diagnostics"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "606c4ba35817e2922a308af55ad51bab3645b59eae5c570d4a6cf07e36bd493b"
+checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
  "version_check",
  "yansi",
 ]
@@ -1934,9 +2080,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.28"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -1979,9 +2125,9 @@ dependencies = [
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
 dependencies = [
  "either",
  "rayon-core",
@@ -1989,14 +2135,12 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
@@ -2030,9 +2174,21 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.8.4"
+version = "1.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2041,26 +2197,26 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "rend"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab"
+checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd"
 dependencies = [
  "bytecheck",
 ]
 
 [[package]]
 name = "reqwest"
-version = "0.11.18"
+version = "0.11.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
+checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
 dependencies = [
- "base64 0.21.2",
+ "base64 0.21.4",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -2081,6 +2237,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "system-configuration",
  "tokio",
  "tokio-native-tls",
  "tower-service",
@@ -2099,7 +2256,7 @@ checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58"
 dependencies = [
  "bitvec",
  "bytecheck",
- "hashbrown",
+ "hashbrown 0.12.3",
  "ptr_meta",
  "rend",
  "rkyv_derive",
@@ -2120,15 +2277,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "rle-decode-fast"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
+
+[[package]]
 name = "rstml"
-version = "0.10.6"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7afcc74cab5d3118523b1f75900e1fcbeae7cac6c6cb800430621bf58add0bd"
+checksum = "fe542870b8f59dd45ad11d382e5339c9a1047cde059be136a7016095bbdefa77"
 dependencies = [
  "proc-macro2",
  "proc-macro2-diagnostics",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
  "syn_derive",
  "thiserror",
 ]
@@ -2150,13 +2313,12 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.20"
+version = "0.38.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
+checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.0",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
  "windows-sys 0.48.0",
@@ -2164,15 +2326,15 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "safemem"
@@ -2191,18 +2353,18 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.21"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
 dependencies = [
- "windows-sys 0.42.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "seahash"
@@ -2212,9 +2374,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
 
 [[package]]
 name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -2225,9 +2387,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2235,18 +2397,18 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.164"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
@@ -2264,20 +2426,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.164"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
 dependencies = [
  "itoa",
  "ryu",
@@ -2286,19 +2448,11 @@ dependencies = [
 
 [[package]]
 name = "serde_path_to_error"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "serde_spanned"
-version = "0.6.2"
+version = "0.1.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335"
 dependencies = [
+ "itoa",
  "serde",
 ]
 
@@ -2316,9 +2470,9 @@ dependencies = [
 
 [[package]]
 name = "sha1"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
@@ -2357,24 +2511,24 @@ checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
 
 [[package]]
 name = "socket2"
@@ -2387,6 +2541,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "socket2"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "string_cache"
 version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2395,7 +2559,7 @@ dependencies = [
  "new_debug_unreachable",
  "once_cell",
  "parking_lot",
- "phf_shared",
+ "phf_shared 0.10.0",
  "precomputed-hash",
  "serde",
 ]
@@ -2406,8 +2570,8 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
 dependencies = [
- "phf_generator",
- "phf_shared",
+ "phf_generator 0.10.0",
+ "phf_shared 0.10.0",
  "proc-macro2",
  "quote",
 ]
@@ -2431,9 +2595,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.18"
+version = "2.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2442,14 +2606,14 @@ dependencies = [
 
 [[package]]
 name = "syn_derive"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8128874d02f9a114ade6d9ad252078cb32d3cb240e26477ac73d7e9c495c605e"
+checksum = "ae6eef0000c4a12ecdfd7873ea84a8b5aab5e44db72e38e07b028a25386f29a5"
 dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -2459,6 +2623,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
 
 [[package]]
+name = "system-configuration"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+dependencies = [
+ "bitflags 1.3.2",
+ "core-foundation",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
 name = "tap"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2466,9 +2651,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -2483,11 +2668,10 @@ checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
- "autocfg",
  "cfg-if 1.0.0",
  "fastrand",
  "redox_syscall 0.3.5",
@@ -2497,33 +2681,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
-]
-
-[[package]]
-name = "time"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
-dependencies = [
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -2543,11 +2716,11 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.28.2"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
- "autocfg",
+ "backtrace",
  "bytes",
  "libc",
  "mio 0.8.8",
@@ -2555,7 +2728,7 @@ dependencies = [
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2",
+ "socket2 0.5.4",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -2568,7 +2741,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -2583,9 +2756,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-tungstenite"
-version = "0.18.0"
+version = "0.20.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
+checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c"
 dependencies = [
  "futures-util",
  "log",
@@ -2595,9 +2768,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
 dependencies = [
  "bytes",
  "futures-core",
@@ -2608,40 +2781,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "toml"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.19.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
-dependencies = [
- "indexmap",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
 name = "tower"
 version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2698,13 +2837,13 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "tungstenite"
-version = "0.18.0"
+version = "0.20.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788"
+checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
 dependencies = [
- "base64 0.13.1",
  "byteorder",
  "bytes",
+ "data-encoding",
  "http",
  "httparse",
  "log",
@@ -2717,9 +2856,9 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "unicode-bidi"
@@ -2729,9 +2868,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -2750,9 +2889,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2773,9 +2912,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.3.4"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 
 [[package]]
 name = "vcpkg"
@@ -2797,9 +2936,9 @@ checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -2833,22 +2972,15 @@ dependencies = [
 
 [[package]]
 name = "want"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
 dependencies = [
- "log",
  "try-lock",
 ]
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-
-[[package]]
-name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -2874,7 +3006,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
  "wasm-bindgen-shared",
 ]
 
@@ -2940,7 +3072,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.18",
+ "syn 2.0.37",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -3012,13 +3144,14 @@ dependencies = [
 
 [[package]]
 name = "which"
-version = "4.4.0"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
 dependencies = [
  "either",
- "libc",
+ "home",
  "once_cell",
+ "rustix",
 ]
 
 [[package]]
@@ -3051,9 +3184,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi 0.3.9",
 ]
@@ -3070,22 +3203,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -3103,7 +3221,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -3123,17 +3241,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
@@ -3144,9 +3262,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -3156,9 +3274,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -3168,9 +3286,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -3180,9 +3298,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -3192,9 +3310,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -3204,9 +3322,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -3216,26 +3334,18 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "winnow"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
-dependencies = [
- "memchr",
-]
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "winreg"
-version = "0.10.1"
+version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
 dependencies = [
- "winapi 0.3.9",
+ "cfg-if 1.0.0",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
@@ -3259,9 +3369,9 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "0.2.3"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
 dependencies = [
  "libc",
 ]
@@ -3277,9 +3387,9 @@ dependencies = [
 
 [[package]]
 name = "yansi"
-version = "0.5.1"
+version = "1.0.0-rc.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377"
 
 [[package]]
 name = "zip"
diff --git a/pkgs/development/tools/rust/cargo-leptos/default.nix b/pkgs/development/tools/rust/cargo-leptos/default.nix
index de51bbf7a6001..fe39ff79501a7 100644
--- a/pkgs/development/tools/rust/cargo-leptos/default.nix
+++ b/pkgs/development/tools/rust/cargo-leptos/default.nix
@@ -15,19 +15,19 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "cargo-leptos";
-  version = "0.1.11";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "leptos-rs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hZevu2lwyYFenABu1uV7/mZc7SXfLzR6Pdmc3zHJ2vw=";
+    hash = "sha256-+qAXBLV+Jn1qWG7TThn4twUBvN7lO4MX2SSo/gdjgFY=";
   };
 
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "leptos_hot_reload-0.3.0" = "sha256-Pl3nZaz5r5ZFagytLMczIyXEWQ6AFLb3+TrI/6Sevig=";
+      "leptos_hot_reload-0.5.0" = "sha256-huOwadWMYPGGWmZHxztFPPzs4UhIPEmq9rKOB6WPCTE=";
     };
   };
 
diff --git a/pkgs/development/tools/rust/cargo-modules/default.nix b/pkgs/development/tools/rust/cargo-modules/default.nix
index cbab6f02fce63..8b902499bf737 100644
--- a/pkgs/development/tools/rust/cargo-modules/default.nix
+++ b/pkgs/development/tools/rust/cargo-modules/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-modules";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "regexident";
     repo = pname;
     rev = version;
-    hash = "sha256-GbBPIJh2TnIpzpuSLZlrxEVN5hWFakeERKNeTcYbjSY=";
+    hash = "sha256-BFASEf9WUVJHsakujjeBBxfxPYlsuzonqFuDLXmLgwc=";
   };
 
-  cargoHash = "sha256-g8Edt2rmOSfoJ3UsZIUyTOIxXgf6iQD+TueK89d18CQ=";
+  cargoHash = "sha256-FojpC4RMrW0hZ0jvXxznxR6rKDDxrNMPoLoHEscOPEo=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/pkgs/development/tools/rust/cargo-mutants/default.nix b/pkgs/development/tools/rust/cargo-mutants/default.nix
index c56ac2dcbe15f..fefa6bb21fba8 100644
--- a/pkgs/development/tools/rust/cargo-mutants/default.nix
+++ b/pkgs/development/tools/rust/cargo-mutants/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-mutants";
-  version = "23.9.1";
+  version = "23.10.0";
 
   src = fetchFromGitHub {
     owner = "sourcefrog";
     repo = "cargo-mutants";
-    rev = "cargo-mutants-${version}";
-    hash = "sha256-VFlnCzaWy8IDuCkr1aHKhJThS3Sde9I2mRj8hKKdXOk=";
+    rev = "v${version}";
+    hash = "sha256-AJcteYaEm1pJ2tn1mydZAhrhqoMtEVJUrfGY/Vt71Ks=";
   };
 
-  cargoHash = "sha256-C7ikZZrTw+KjY+kjgEZGZ7lC8irLw+uXl+T+6Grq7UY=";
+  cargoHash = "sha256-0NLP8KtzeX3jjWjSXBKku4c1LzKmoJce1RPUB+aO804=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.SystemConfiguration
diff --git a/pkgs/development/tools/rust/cargo-run-bin/default.nix b/pkgs/development/tools/rust/cargo-run-bin/default.nix
index ac611a60e448a..aa710f493cd9c 100644
--- a/pkgs/development/tools/rust/cargo-run-bin/default.nix
+++ b/pkgs/development/tools/rust/cargo-run-bin/default.nix
@@ -5,14 +5,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-run-bin";
-  version = "1.3.2";
+  version = "1.4.1";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-NWXyy2VgVjEftD2Zl6TbpJnXVTi4UUNSomHCv9Gnkrk=";
+    hash = "sha256-imp7TzSVWo6l23tQu2oMMdVj/3sT9mU+lIBc0cVwO+s=";
   };
 
-  cargoHash = "sha256-eiRKWV+xMyyv61FIBJWt0B12e6mn+G1kW0LpyCMuWWc=";
+  cargoHash = "sha256-TQOFXFdfD4iVy4K9IjcX0L7zLeNw9RAHb2WE5rERP/0=";
 
   # multiple impurities in tests
   doCheck = false;
diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index 5f7d213dc90d3..3bf3add13e165 100644
--- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -1,8 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
-, pkg-config
-, libgit2_1_6
+, cmake
 , zlib
 , stdenv
 , darwin
@@ -11,24 +10,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/yMZ7ZmvCPFkrnuobbNGmgGNw16J8yT0DEUza7PD/Ow=";
+    hash = "sha256-K6csc/jJ0iDegK9ZSOy1aNb0GSxSXHMSOVUtFEYUBhc=";
   };
 
-  cargoHash = "sha256-u8hja6+T3NwcNub181TfuhI9+QFuIrgqIBlb1lm8+yk=";
+  cargoHash = "sha256-9tWzJ64UlMHQ61SRbEXACNDA+4hTPjQTBzSjEO+0rik=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    cmake
+  ];
 
   buildInputs = [
-    libgit2_1_6
     zlib
   ] ++ lib.optionals stdenv.isDarwin [
-    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
index 69c75963f3a1b..18b83f210a966 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-shuttle/Cargo.lock
@@ -33,7 +33,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
 dependencies = [
  "cfg-if 1.0.0",
- "getrandom",
+ "getrandom 0.2.10",
  "once_cell",
  "version_check",
 ]
@@ -91,9 +91,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
+checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
 
 [[package]]
 name = "anstyle-parse"
@@ -208,6 +208,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "async-channel"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
+dependencies = [
+ "concurrent-queue",
+ "event-listener",
+ "futures-core",
+]
+
+[[package]]
 name = "async-lock"
 version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -231,7 +242,7 @@ dependencies = [
  "chrono",
  "hmac 0.11.0",
  "log",
- "rand",
+ "rand 0.8.5",
  "serde",
  "serde_json",
  "sha2 0.9.9",
@@ -256,7 +267,27 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
+]
+
+[[package]]
+name = "async-stripe"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87dd8d77f5bfefa28601194c7233e7c3dc6a9833dae6c990804a2d90a95d6354"
+dependencies = [
+ "futures-util",
+ "http-types",
+ "hyper",
+ "hyper-rustls 0.24.1",
+ "serde",
+ "serde_json",
+ "serde_path_to_error",
+ "serde_qs 0.10.1",
+ "smart-default",
+ "smol_str",
+ "thiserror",
+ "tokio",
 ]
 
 [[package]]
@@ -267,7 +298,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -929,7 +960,7 @@ dependencies = [
  "indexmap 1.9.3",
  "js-sys",
  "once_cell",
- "rand",
+ "rand 0.8.5",
  "serde",
  "serde_bytes",
  "serde_json",
@@ -959,9 +990,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "byteorder"
@@ -1036,7 +1067,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4d25555efacb0b5244cf1d35833d55d21abc916fff0eaad254b8e2453ea9b8ab"
 dependencies = [
  "ambient-authority",
- "rand",
+ "rand 0.8.5",
 ]
 
 [[package]]
@@ -1086,7 +1117,7 @@ dependencies = [
 
 [[package]]
 name = "cargo-shuttle"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -1111,6 +1142,7 @@ dependencies = [
  "ignore",
  "indicatif",
  "indoc",
+ "percent-encoding",
  "portpicker",
  "regex",
  "reqwest",
@@ -1196,9 +1228,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.30"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1248,7 +1280,7 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -1309,6 +1341,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "55b672471b4e9f9e95499ea597ff64941a309b2cdbffcc46f2cc5e2d971fd335"
 
 [[package]]
+name = "concurrent-queue"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
 name = "console"
 version = "0.15.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1348,7 +1389,7 @@ dependencies = [
  "base64 0.20.0",
  "hmac 0.12.1",
  "percent-encoding",
- "rand",
+ "rand 0.8.5",
  "sha2 0.10.7",
  "subtle",
  "time",
@@ -1885,7 +1926,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -2217,6 +2258,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
 
 [[package]]
+name = "futures-lite"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+dependencies = [
+ "fastrand 1.9.0",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
+]
+
+[[package]]
 name = "futures-macro"
 version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2224,7 +2280,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -2287,6 +2343,17 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
@@ -2294,7 +2361,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
  "libc",
- "wasi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
  "wasm-bindgen",
 ]
 
@@ -2678,7 +2745,7 @@ checksum = "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -3275,6 +3342,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "http-types"
+version = "2.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad"
+dependencies = [
+ "anyhow",
+ "async-channel",
+ "base64 0.13.1",
+ "futures-lite",
+ "http",
+ "infer",
+ "pin-project-lite",
+ "rand 0.7.3",
+ "serde",
+ "serde_json",
+ "serde_qs 0.8.5",
+ "serde_urlencoded",
+ "url",
+]
+
+[[package]]
 name = "httparse"
 version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3351,6 +3439,7 @@ dependencies = [
  "futures-util",
  "http",
  "hyper",
+ "log",
  "rustls 0.21.7",
  "rustls-native-certs",
  "tokio",
@@ -3497,6 +3586,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4"
 
 [[package]]
+name = "infer"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
+
+[[package]]
 name = "instant"
 version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3566,7 +3661,7 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.3",
+ "socket2 0.5.4",
  "widestring",
  "windows-sys 0.48.0",
  "winreg",
@@ -3704,9 +3799,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.148"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
 
 [[package]]
 name = "libgit2-sys"
@@ -3959,7 +4054,7 @@ checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
  "libc",
  "log",
- "wasi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
  "windows-sys 0.48.0",
 ]
 
@@ -3986,7 +4081,7 @@ dependencies = [
  "md-5",
  "pbkdf2",
  "percent-encoding",
- "rand",
+ "rand 0.8.5",
  "rustc_version_runtime",
  "rustls 0.20.9",
  "rustls-pemfile",
@@ -4092,7 +4187,7 @@ dependencies = [
  "num-integer",
  "num-iter",
  "num-traits",
- "rand",
+ "rand 0.8.5",
  "smallvec",
  "zeroize",
 ]
@@ -4295,7 +4390,7 @@ dependencies = [
  "once_cell",
  "opentelemetry_api",
  "percent-encoding",
- "rand",
+ "rand 0.8.5",
  "thiserror",
  "tokio",
  "tokio-stream",
@@ -4330,6 +4425,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
+name = "parking"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
+
+[[package]]
 name = "parking_lot"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4443,7 +4544,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -4506,7 +4607,7 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be97d76faf1bfab666e1375477b23fde79eccf0276e9b63b92a39d676a889ba9"
 dependencies = [
- "rand",
+ "rand 0.8.5",
 ]
 
 [[package]]
@@ -4589,9 +4690,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
 dependencies = [
  "unicode-ident",
 ]
@@ -4613,8 +4714,8 @@ dependencies = [
  "byteorder",
  "lazy_static",
  "num-traits",
- "rand",
- "rand_chacha",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
  "rand_xorshift",
  "regex-syntax 0.6.29",
  "rusty-fork",
@@ -4725,13 +4826,36 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
 
 [[package]]
 name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand"
 version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha",
- "rand_core",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
 ]
 
 [[package]]
@@ -4741,7 +4865,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
 ]
 
 [[package]]
@@ -4750,7 +4883,16 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom",
+ "getrandom 0.2.10",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
 ]
 
 [[package]]
@@ -4759,7 +4901,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
 dependencies = [
- "rand_core",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -4826,7 +4968,7 @@ version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom",
+ "getrandom 0.2.10",
  "redox_syscall 0.2.16",
  "thiserror",
 ]
@@ -4953,7 +5095,7 @@ dependencies = [
  "async-trait",
  "chrono",
  "futures",
- "getrandom",
+ "getrandom 0.2.10",
  "http",
  "hyper",
  "parking_lot 0.11.2",
@@ -4984,7 +5126,7 @@ checksum = "a715dc4d0e8aea3085a9a94d76e79c79c7df7c9f6be609da841a6d2489ca3687"
 dependencies = [
  "anyhow",
  "chrono",
- "rand",
+ "rand 0.8.5",
 ]
 
 [[package]]
@@ -5052,7 +5194,7 @@ dependencies = [
  "num-traits",
  "pkcs1",
  "pkcs8",
- "rand_core",
+ "rand_core 0.6.4",
  "signature",
  "spki",
  "subtle",
@@ -5080,7 +5222,7 @@ dependencies = [
  "quote",
  "rust-embed-utils",
  "shellexpand",
- "syn 2.0.32",
+ "syn 2.0.33",
  "walkdir",
 ]
 
@@ -5206,7 +5348,7 @@ checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
 dependencies = [
  "log",
  "ring",
- "rustls-webpki 0.101.4",
+ "rustls-webpki 0.101.5",
  "sct",
 ]
 
@@ -5233,9 +5375,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-webpki"
-version = "0.100.2"
+version = "0.100.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab"
+checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3"
 dependencies = [
  "ring",
  "untrusted",
@@ -5243,9 +5385,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-webpki"
-version = "0.101.4"
+version = "0.101.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d"
+checksum = "45a27e3b59326c16e23d30aeb7a36a24cc0d29e71d68ff611cdfb4a01d013bed"
 dependencies = [
  "ring",
  "untrusted",
@@ -5253,9 +5395,9 @@ dependencies = [
 
 [[package]]
 name = "rustrict"
-version = "0.7.8"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a6b50905364a8bafca05898f2816b2f75e00d4aaf4c0c33a17fc898b9bc7153"
+checksum = "368755f1833925b12b50b2d5ca0b10571e84397a1ef180dc5b3d870741fd4dd6"
 dependencies = [
  "arrayvec 0.7.4",
  "bitflags 1.3.2",
@@ -5399,14 +5541,14 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.106"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
 dependencies = [
  "indexmap 2.0.0",
  "itoa",
@@ -5425,6 +5567,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_qs"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6"
+dependencies = [
+ "percent-encoding",
+ "serde",
+ "thiserror",
+]
+
+[[package]]
+name = "serde_qs"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cac3f1e2ca2fe333923a1ae72caca910b98ed0630bb35ef6f8c8517d6e81afa"
+dependencies = [
+ "percent-encoding",
+ "serde",
+ "thiserror",
+]
+
+[[package]]
 name = "serde_repr"
 version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5432,7 +5596,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -5571,7 +5735,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-admin"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "clap",
@@ -5588,9 +5752,10 @@ dependencies = [
 
 [[package]]
 name = "shuttle-auth"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
+ "async-stripe",
  "async-trait",
  "axum",
  "axum-extra 0.7.7",
@@ -5600,7 +5765,8 @@ dependencies = [
  "hyper",
  "jsonwebtoken",
  "opentelemetry",
- "rand",
+ "portpicker",
+ "rand 0.8.5",
  "ring",
  "serde",
  "serde_json",
@@ -5617,7 +5783,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-builder"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "async-trait",
  "clap",
@@ -5643,7 +5809,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-codegen"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "pretty_assertions",
  "proc-macro-error",
@@ -5653,14 +5819,14 @@ dependencies = [
  "serde",
  "serde_json",
  "shuttle-common-tests",
- "syn 2.0.32",
+ "syn 2.0.33",
  "tokio",
  "trybuild",
 ]
 
 [[package]]
 name = "shuttle-common"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5683,7 +5849,7 @@ dependencies = [
  "opentelemetry-otlp",
  "pin-project",
  "proptest",
- "rand",
+ "rand 0.8.5",
  "reqwest",
  "ring",
  "rmp-serde",
@@ -5709,7 +5875,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-common-tests"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "cargo-shuttle",
  "hyper",
@@ -5725,7 +5891,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-deployer"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5749,7 +5915,7 @@ dependencies = [
  "pipe",
  "portpicker",
  "prost-types",
- "rand",
+ "rand 0.8.5",
  "rmp-serde",
  "serde",
  "serde_json",
@@ -5779,7 +5945,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-gateway"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5804,7 +5970,7 @@ dependencies = [
  "pem",
  "pin-project",
  "portpicker",
- "rand",
+ "rand 0.8.5",
  "rcgen",
  "reqwest",
  "ring",
@@ -5837,7 +6003,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-logger"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "async-trait",
  "chrono",
@@ -5863,11 +6029,11 @@ dependencies = [
 
 [[package]]
 name = "shuttle-orchestrator"
-version = "0.28.0"
+version = "0.29.0"
 
 [[package]]
 name = "shuttle-proto"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "chrono",
@@ -5886,7 +6052,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-provisioner"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "aws-config",
  "aws-sdk-rds",
@@ -5897,7 +6063,7 @@ dependencies = [
  "once_cell",
  "portpicker",
  "prost",
- "rand",
+ "rand 0.8.5",
  "serde_json",
  "shuttle-common",
  "shuttle-proto",
@@ -5912,7 +6078,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-resource-recorder"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "async-trait",
  "chrono",
@@ -5936,7 +6102,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-runtime"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -5970,7 +6136,7 @@ dependencies = [
 
 [[package]]
 name = "shuttle-service"
-version = "0.28.0"
+version = "0.29.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -6023,7 +6189,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
 dependencies = [
  "digest 0.10.7",
- "rand_core",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -6060,6 +6226,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
+name = "smart-default"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "smol_str"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "snailquote"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6081,9 +6267,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
 dependencies = [
  "libc",
  "windows-sys 0.48.0",
@@ -6252,7 +6438,7 @@ dependencies = [
  "memchr",
  "once_cell",
  "percent-encoding",
- "rand",
+ "rand 0.8.5",
  "rsa",
  "serde",
  "sha1",
@@ -6293,7 +6479,7 @@ dependencies = [
  "md-5",
  "memchr",
  "once_cell",
- "rand",
+ "rand 0.8.5",
  "serde",
  "serde_json",
  "sha1",
@@ -6401,9 +6587,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.32"
+version = "2.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+checksum = "9caece70c63bfba29ec2fed841a09851b14a235c60010fa4de58089b6c025668"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -6559,7 +6745,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -6631,7 +6817,7 @@ dependencies = [
  "parking_lot 0.12.1",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.3",
+ "socket2 0.5.4",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -6654,7 +6840,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -6848,7 +7034,7 @@ dependencies = [
  "indexmap 1.9.3",
  "pin-project",
  "pin-project-lite",
- "rand",
+ "rand 0.8.5",
  "slab",
  "tokio",
  "tokio-util",
@@ -6959,7 +7145,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
 ]
 
 [[package]]
@@ -7053,7 +7239,7 @@ dependencies = [
  "ipnet",
  "lazy_static",
  "log",
- "rand",
+ "rand 0.8.5",
  "smallvec",
  "thiserror",
  "tinyvec",
@@ -7077,7 +7263,7 @@ dependencies = [
  "idna 0.2.3",
  "ipnet",
  "lazy_static",
- "rand",
+ "rand 0.8.5",
  "smallvec",
  "thiserror",
  "tinyvec",
@@ -7168,7 +7354,7 @@ dependencies = [
  "http",
  "httparse",
  "log",
- "rand",
+ "rand 0.8.5",
  "rustls 0.21.7",
  "sha1",
  "thiserror",
@@ -7189,17 +7375,17 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ulid"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f9d3475df4ff8a8f7804c0fc3394b44fdcfc4fb635717bf05fbb7c41c83a376"
+checksum = "7e37c4b6cbcc59a8dcd09a6429fbc7890286bcbb79215cea7b38a3c4c0921d93"
 dependencies = [
- "rand",
+ "rand 0.8.5",
  "serde",
 ]
 
@@ -7232,9 +7418,9 @@ checksum = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
@@ -7284,6 +7470,7 @@ dependencies = [
  "form_urlencoded",
  "idna 0.4.0",
  "percent-encoding",
+ "serde",
 ]
 
 [[package]]
@@ -7334,7 +7521,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
  "uuid",
 ]
 
@@ -7360,7 +7547,7 @@ version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
 dependencies = [
- "getrandom",
+ "getrandom 0.2.10",
  "serde",
 ]
 
@@ -7398,6 +7585,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "waker-fn"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
+
+[[package]]
 name = "walkdir"
 version = "2.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -7418,6 +7611,12 @@ dependencies = [
 
 [[package]]
 name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
@@ -7487,7 +7686,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
  "wasm-bindgen-shared",
 ]
 
@@ -7521,7 +7720,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.32",
+ "syn 2.0.33",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -7764,7 +7963,7 @@ dependencies = [
  "memfd",
  "memoffset 0.8.0",
  "paste",
- "rand",
+ "rand 0.8.5",
  "rustix 0.36.15",
  "wasmtime-asm-macros",
  "wasmtime-environ",
@@ -7892,7 +8091,7 @@ version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
 dependencies = [
- "rustls-webpki 0.100.2",
+ "rustls-webpki 0.100.3",
 ]
 
 [[package]]
@@ -7901,7 +8100,7 @@ version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888"
 dependencies = [
- "rustls-webpki 0.101.4",
+ "rustls-webpki 0.101.5",
 ]
 
 [[package]]
diff --git a/pkgs/development/tools/rust/cargo-shuttle/default.nix b/pkgs/development/tools/rust/cargo-shuttle/default.nix
index b8d5cf5270466..814e96c2aa1fe 100644
--- a/pkgs/development/tools/rust/cargo-shuttle/default.nix
+++ b/pkgs/development/tools/rust/cargo-shuttle/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-shuttle";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "shuttle-hq";
     repo = "shuttle";
     rev = "v${version}";
-    hash = "sha256-iBUd42MEfDFMhHXBrgrJaihUeYTRpVt4jFQaKCKhNlc=";
+    hash = "sha256-BanM3ChZqP1qE6D1EWEdhyKlhGCKVRRKTcyzjvyhriw=";
   };
 
   cargoLock = {
diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
index 679dfc54e80f5..d608f6775b1ae 100644
--- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix
+++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-spellcheck";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "drahnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XqT2l839fRDNj6zJB0vlVMmoRB2Lz61cN297PNIvFX8=";
+    hash = "sha256-pJsRY9fDHDQTd0J/gbSzl/JM3kzm8v+w13JRbTYnMFM=";
   };
 
-  cargoSha256 = "sha256-PzPQnexT1oeZ0FkTLyZiQJlMx+WDoSHD+J1JzoME6sA=";
+  cargoHash = "sha256-XDGOhPO09d5nq355LiDBKc5v8dx8RuzGKC2fnFF/M+E=";
 
   nativeBuildInputs = [ rustPlatform.bindgenHook ];
 
diff --git a/pkgs/development/tools/rust/cargo-update/default.nix b/pkgs/development/tools/rust/cargo-update/default.nix
index f9ec56b49d90f..2660bc5d2352c 100644
--- a/pkgs/development/tools/rust/cargo-update/default.nix
+++ b/pkgs/development/tools/rust/cargo-update/default.nix
@@ -16,14 +16,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-update";
-  version = "13.0.4";
+  version = "13.1.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-LIOJaJKjl9GrGazIYeJWKuAQTxD6OlVO86qWhKnolQE=";
+    sha256 = "sha256-2j35R7QTn7Z3yqzOU+VWAoZfYodecDt45Plx/D7+GyU=";
   };
 
-  cargoHash = "sha256-fx+LWNnzCVUz2owETXUgqjT+AUtda4RZnVXUabPX8q4=";
+  cargoHash = "sha256-OEv9LOep4YNWY7oixY5zD9QgxqSYTrcf5oSXpxvnKIs=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/tools/rust/leptosfmt/default.nix b/pkgs/development/tools/rust/leptosfmt/default.nix
index 315b90dddd7b8..2aaf978d58cb1 100644
--- a/pkgs/development/tools/rust/leptosfmt/default.nix
+++ b/pkgs/development/tools/rust/leptosfmt/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "leptosfmt";
-  version = "0.1.14";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner = "bram209";
     repo = "leptosfmt";
     rev = version;
-    hash = "sha256-Dj58p//g6sCpZMmTbROrGxs8fiQm4y1WSYqNjQ5K3Oo=";
+    hash = "sha256-VzKwBqVoGa3bF6NK7mGOBEzUk9H+ZVQ/NdE/hhCEhUg=";
   };
 
-  cargoHash = "sha256-epCLbr9Z3o/G0rEiYri0CswZYzjOZkb4UVIO4/vD6ko=";
+  cargoHash = "sha256-OHAK1UX2mSBASUHT4qhGmWUdCrvP18RmXMCSnGSUBAA=";
 
   meta = with lib; {
     description = "A formatter for the leptos view! macro";
diff --git a/pkgs/development/tools/rust/probe-rs/default.nix b/pkgs/development/tools/rust/probe-rs/default.nix
index ef9588a12ae5d..ae30c18bd83d5 100644
--- a/pkgs/development/tools/rust/probe-rs/default.nix
+++ b/pkgs/development/tools/rust/probe-rs/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "probe-rs";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-IjeQPsHDHmKmS0UeivgmM8dQyhwak1PBIBw31KlVu64=";
+    hash = "sha256-3L4dvEIPxbNYh+Z5G1iccqLLYi13RTRaFnOD4U/zNtE=";
   };
 
-  cargoHash = "sha256-BkYidZzqiI7EIgEuYbeGC7qeVvhC1GARFC4EZpDdBmg=";
+  cargoHash = "sha256-peCXG9TrsnBqQOy+pgRNGstn0bwKNCdWQ3Jn5r0fcOI=";
 
   cargoBuildFlags = [ "--features=cli" ];
 
diff --git a/pkgs/development/tools/rust/rtthost/default.nix b/pkgs/development/tools/rust/rtthost/default.nix
new file mode 100644
index 0000000000000..3389ff7d76c55
--- /dev/null
+++ b/pkgs/development/tools/rust/rtthost/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+, pkg-config
+, libusb1
+, DarwinTools
+, AppKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rtthost";
+  version = "0.21.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-Vp2TXKDr6Mu4CD6RlHjTL04FIShzKXwNZmu0PIqx1FY=";
+  };
+
+  cargoHash = "sha256-XRxijak3kBMYCx9u39OWvqz3tjnKipjcV3DPEUBYrvQ=";
+
+  nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
+
+  buildInputs = [ libusb1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
+
+  meta = with lib; {
+    description = "RTT (Real-Time Transfer) client";
+    homepage = "https://probe.rs/";
+    changelog = "https://github.com/probe-rs/probe-rs/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ samueltardieu ];
+  };
+}
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index e8a3993787ff6..eb3b2a71028c2 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2023-09-25";
-  cargoSha256 = "sha256-XasY8wXX/OfShbOo8SmwBZAAAYSp8s9ICBuG8ExDAF0=";
+  version = "2023-10-02";
+  cargoSha256 = "sha256-KCjdsvHWVr3vsyv+KhxwXTI3WJbAggb9HLyN/1ioek8=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-QQnECNVhYrkG5hHaMh9m0r719CQIfEVFnYNix701DUQ=";
+    sha256 = "sha256-2K3Aq4gjPZBDnkAMJaMA4ElE+BNbmrqtSBWtt9kPGaM=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/development/tools/rust/rust-script/default.nix b/pkgs/development/tools/rust/rust-script/default.nix
index 6551c838e3d8f..417b173935f50 100644
--- a/pkgs/development/tools/rust/rust-script/default.nix
+++ b/pkgs/development/tools/rust/rust-script/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-script";
-  version = "0.32.0";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "fornwall";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VyiVa1aeJslH1Vkg0TvON7VDiJVMIIbrlmx2FRDz75o=";
+    sha256 = "sha256-a9VWPN/mTz159xKgN2RNflrcuutWXVdEFzbTIZJKgdY=";
   };
 
-  cargoSha256 = "sha256-K7wT5Og1nx+UcsehLbpUx0NlvoaicMDd02SkUoAncwI=";
+  cargoHash = "sha256-dawNgQtF9zVhlwIZzP+c5fHzcLJbCLOZx3kgIRAktTk=";
 
   # tests require network access
   doCheck = false;
diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix
index fb5cc68d9e70a..409d7d1723cad 100644
--- a/pkgs/development/tools/rye/default.nix
+++ b/pkgs/development/tools/rye/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, installShellFiles
 , pkg-config
 , openssl
 , stdenv
@@ -31,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     OPENSSL_NO_VENDOR = 1;
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ installShellFiles pkg-config ];
 
   buildInputs = [
     openssl
@@ -41,6 +42,13 @@ rustPlatform.buildRustPackage rec {
     SystemConfiguration
   ];
 
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd rye \
+      --bash <($out/bin/rye self completion -s bash) \
+      --fish <($out/bin/rye self completion -s fish) \
+      --zsh <($out/bin/rye self completion -s zsh)
+  '';
+
   checkFlags = [
     "--skip=utils::test_is_inside_git_work_tree"
   ];
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 5f7fa29befabc..c84ceff3e613a 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -9,13 +9,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "2.20.7";
+  version = "2.21.1";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-H1WRjNMYcWqc9Y8H7agzA7uMhvlA4DXpJOUpbUG+xxU=";
+    sha256 = "sha256-GMK3fAmYYxwwlXXbCluDFu8YWId77F4mrdxXIIO+jc8=";
   };
   doCheck = false;
 
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoHash = "sha256-WLnvyQQ51dIsD5g3FjHJhA+EqB1UEHghwxI/TVYwNdo=";
+  cargoHash = "sha256-wUQ9HbBNNB66394RPHaoGJkFrL28xW5CIXDzGnMIPKY=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix
index 20e2194fed92f..c7807fc9c6d05 100644
--- a/pkgs/development/tools/supabase-cli/default.nix
+++ b/pkgs/development/tools/supabase-cli/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "supabase-cli";
-  version = "1.97.1";
+  version = "1.102.2";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-k1/6QAxQ3h5xG+2VBc/PillddYhrvsQrtJK5tXrb0sQ=";
+    hash = "sha256-EhGGqBJdAnlccUFDUqzbujaVnQ8VggjY6vlGjI80TN8=";
   };
 
-  vendorHash = "sha256-oEIRmkOCHIvIQJX7GQVJD/aURoEJ7V/LJFEg+oltWEY=";
+  vendorHash = "sha256-AiYLSXDmTrswAd64PjF0OH0/z4blAP68HfWlwL48fww=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix
index 36376e7c8579e..0859e1a362c20 100644
--- a/pkgs/development/tools/turso-cli/default.nix
+++ b/pkgs/development/tools/turso-cli/default.nix
@@ -1,7 +1,9 @@
 {
   lib,
+  stdenv,
   buildGo121Module,
   fetchFromGitHub,
+  installShellFiles,
 }:
 buildGo121Module rec {
   pname = "turso-cli";
@@ -16,6 +18,8 @@ buildGo121Module rec {
 
   vendorHash = "sha256-Hv4CacBrRX2YT3AkbNzyWrA9Ex6YMDPrPvezukwMkTE=";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   # Build with production code
   tags = ["prod"];
   # Include version for `turso --version` reporting
@@ -23,14 +27,22 @@ buildGo121Module rec {
     echo "v${version}" > internal/cmd/version.txt
   '';
 
-  # Test_setDatabasesCache fails due to /homeless-shelter: read-only file system error.
-  doCheck = false;
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    installShellCompletion --cmd turso \
+      --bash <($out/bin/turso completion bash) \
+      --fish <($out/bin/turso completion fish) \
+      --zsh <($out/bin/turso completion zsh)
+  '';
 
   meta = with lib; {
     description = "This is the command line interface (CLI) to Turso.";
     homepage = "https://turso.tech";
     mainProgram = "turso";
     license = licenses.mit;
-    maintainers = with maintainers; [ zestsystem kashw2 ];
+    maintainers = with maintainers; [ zestsystem kashw2 fryuni ];
   };
 }
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 7d7eae9452eb7..1c33397a5e5f3 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.16.17";
+  version = "1.16.18";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-T7JekWWSGetaREhbYeh5LygXWaI5vwSSmMIFvzBtB3k=";
+    hash = "sha256-TUaEA8LE0cmOdt+jvpWzPbgBMACRR2wvZrLITpsQjuw=";
   };
 
-  cargoHash = "sha256-aYhdTNtvKfvgmt9Y1YTNEKYQy3m5bH9tsUbbL87crqw=";
+  cargoHash = "sha256-02ZtqGt3dDIcJGLYvoUVgGyaDNIuyeviHI29AZDl6Pc=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 6bd12510c13da..973a48a84bc85 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Watches files and takes action when they change";
     homepage = "https://facebook.github.io/watchman";
-    maintainers = with maintainers; [ cstrahan kylesferrazza ];
+    maintainers = with maintainers; [ kylesferrazza ];
     platforms = platforms.unix;
     license = licenses.mit;
   };
diff --git a/pkgs/development/tools/zprint/default.nix b/pkgs/development/tools/zprint/default.nix
index 82997d70333a0..e5d12c00367ac 100644
--- a/pkgs/development/tools/zprint/default.nix
+++ b/pkgs/development/tools/zprint/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "zprint";
-  version = "1.2.7";
+  version = "1.2.8";
 
   src = fetchurl {
     url = "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}";
-    sha256 = "sha256-C2WEzF7Xl37/LDlk6f77/WcWNadE0zAfzxEw+RTRGto=";
+    sha256 = "sha256-o0yoW45a5r+sTGvjEqr5VZgQKm72qsPH/kbLTbMTgEM=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/web/boa/default.nix b/pkgs/development/web/boa/default.nix
index dffc94934868b..003e982902985 100644
--- a/pkgs/development/web/boa/default.nix
+++ b/pkgs/development/web/boa/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "boa";
-  version = "0.17";
+  version = "0.17.3";
 
   src = fetchFromGitHub {
     owner = "boa-dev";
     repo = "boa";
     rev = "v${version}";
-    hash = "sha256-3Iv7Ko6ukbmec4yDKayxW0T6+3ZNbUT4wWwEarBy4Zs=";
+    hash = "sha256-ROzdOanfHNPwHXA0SzU2fpuBonbDbgDqH+ZgOjwK/tg=";
     fetchSubmodules = true;
   };
 
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
     })
   ];
 
-  cargoHash = "sha256-2ZzTvVoA4oxy26rL0tvdvXm2oVWpHP+gooyjB4vIP3M=";
+  cargoHash = "sha256-UIUXayJwTrWbLm1UKnIXy1Df8a7ZoBzdNm/uZ1+H+SQ=";
 
   cargoBuildFlags = [ "--package" "boa_cli" ];
 
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 1fb8dc031e130..249be524add55 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.1.102";
+  version = "0.1.104";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-OIqAX/Cgh+jpHbjIg7wApTlKGChYx82oq8oUGguDsrE=";
+    hash = "sha256-iTizgA3MtcG6YN7aHaZF4UXT6jBKodsMxXG61UgDNaQ=";
   };
 
-  vendorHash = "sha256-XECl5evFO9ml28sILdWS2sQfNDf8ixsvQhiTShOcKKQ=";
+  vendorHash = "sha256-5Nu9XpYjlZHGazWTK7LmfnEGgewKa017PLHtV9HycD0=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index e058c057618d2..3559db1ec6ffc 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -16,11 +16,11 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "2023.5.7";
+  version = "2023.5.8";
 
   src = fetchurl {
     url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb";
-    sha256 = "sha256-XB8ktjF6VWj57whbXC0iwH3WpuMkGnRZCCdx86Mj2ZI=";
+    sha256 = "sha256-x5DYS3DteYtq1EQuJ3EFV/d/YThPgnhhIj+GpEJsFDY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/atlauncher/default.nix b/pkgs/games/atlauncher/default.nix
index 5e94a821c02d0..d6e3dc05a802a 100644
--- a/pkgs/games/atlauncher/default.nix
+++ b/pkgs/games/atlauncher/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "atlauncher";
-  version = "3.4.34.0";
+  version = "3.4.34.2";
 
   src = fetchurl {
     url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar";
-    hash = "sha256-gHUYZaxADchikoCmAfqFjVbMYhhiwg2BZKctmww1Mlw=";
+    hash = "sha256-l9OoHunK0xfY6xbNpjs9lfsVd3USM1GHgutTMMVq8S8=";
   };
 
   env.ICON = fetchurl {
diff --git a/pkgs/games/doom-ports/doomretro/default.nix b/pkgs/games/doom-ports/doomretro/default.nix
index e5deb16f1e36a..f01a788b8f8dc 100644
--- a/pkgs/games/doom-ports/doomretro/default.nix
+++ b/pkgs/games/doom-ports/doomretro/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "doomretro";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchFromGitHub {
     owner = "bradharding";
     repo = "doomretro";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-jZBgPXg9vQ8HxO/D0GzEiI/78OEW6LgxVIqxdqw63Ko=";
+    hash = "sha256-O8FuLFziwVNk2dcj52Xq/FG2vtei06iL8BG2jVugcxs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/doom-ports/gzdoom/default.nix b/pkgs/games/doom-ports/gzdoom/default.nix
index aaa800269a75e..cd8d5d933d5a0 100644
--- a/pkgs/games/doom-ports/gzdoom/default.nix
+++ b/pkgs/games/doom-ports/gzdoom/default.nix
@@ -14,6 +14,7 @@
 , libjpeg
 , libsndfile
 , libvpx
+, libwebp
 , mpg123
 , ninja
 , openal
@@ -25,14 +26,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.10.0";
+  version = "4.11.0";
 
   src = fetchFromGitHub {
     owner = "ZDoom";
     repo = "gzdoom";
     rev = "g${version}";
     fetchSubmodules = true;
-    hash = "sha256-F3p2X/hjPV9fuaA7T2bQTP6SlKcfc8GniJgv8BcopGw=";
+    hash = "sha256-F3FXV76jpwkOE6QoNi1+TjLOt9x7q3pcZq3hQmRfL5E=";
   };
 
   outputs = [ "out" "doc" ];
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libsndfile
     libvpx
+    libwebp
     mpg123
     openal
     vulkan-loader
diff --git a/pkgs/games/fallout-ce/build.nix b/pkgs/games/fallout-ce/build.nix
new file mode 100644
index 0000000000000..c220895db08ce
--- /dev/null
+++ b/pkgs/games/fallout-ce/build.nix
@@ -0,0 +1,77 @@
+{ cmake
+, fpattern
+, lib
+, SDL2
+, stdenv
+, writeShellScript
+
+, extraBuildInputs ? [ ]
+, extraMeta
+, pname
+, version
+, src
+}:
+
+let
+  launcher = writeShellScript "${pname}" ''
+    set -eu
+    assetDir="''${XDG_DATA_HOME:-$HOME/.local/share}/${pname}"
+    [ -d "$assetDir" ] || mkdir -p "$assetDir"
+    cd "$assetDir"
+
+    notice=0 fault=0
+    requiredFiles=(master.dat critter.dat)
+    for f in "''${requiredFiles[@]}"; do
+      if [ ! -f "$f" ]; then
+        echo "Required file $f not found in $PWD, note the files are case-sensitive"
+        notice=1 fault=1
+      fi
+    done
+
+    if [ ! -d "data/sound/music" ]; then
+      echo "data/sound/music directory not found in $PWD. This may prevent in-game music from functioning."
+      notice=1
+    fi
+
+    if [ $notice -ne 0 ]; then
+      echo "Please reference the installation instructions at https://github.com/alexbatalov/fallout2-ce"
+    fi
+
+    if [ $fault -ne 0 ]; then
+      exit $fault;
+    fi
+
+    exec @out@/libexec/${pname} "$@"
+  '';
+in
+stdenv.mkDerivation {
+  inherit pname version src;
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ SDL2 ] ++ extraBuildInputs;
+  hardeningDisable = [ "format" ];
+  cmakeBuildType = "RelWithDebInfo";
+
+  postPatch = ''
+    substituteInPlace third_party/fpattern/CMakeLists.txt \
+      --replace "FetchContent_Populate" "#FetchContent_Populate" \
+      --replace "{fpattern_SOURCE_DIR}" "${fpattern}/include" \
+      --replace "$/nix/" "/nix/"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D ${pname} $out/libexec/${pname}
+    install -D ${launcher} $out/bin/${pname}
+    substituteInPlace $out/bin/${pname} --subst-var out
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    license = licenses.sustainableUse;
+    maintainers = with maintainers; [ hughobrien TheBrainScrambler ];
+    platforms = platforms.linux;
+  } // extraMeta;
+}
diff --git a/pkgs/games/fallout-ce/fallout-ce.nix b/pkgs/games/fallout-ce/fallout-ce.nix
new file mode 100644
index 0000000000000..5f55743a674b7
--- /dev/null
+++ b/pkgs/games/fallout-ce/fallout-ce.nix
@@ -0,0 +1,20 @@
+{ callPackage
+, fetchFromGitHub
+}:
+
+callPackage ./build.nix rec {
+  pname = "fallout-ce";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "alexbatalov";
+    repo = "fallout1-ce";
+    rev = "v${version}";
+    hash = "sha256-EvRkOlvtiVao63S0WRKKuHlhfkdTgc0m6GTyv4EfJFU=";
+  };
+
+  extraMeta = {
+    description = "A fully working re-implementation of Fallout, with the same original gameplay, engine bugfixes, and some quality of life improvements";
+    homepage = "https://github.com/alexbatalov/fallout1-ce";
+  };
+}
diff --git a/pkgs/games/fallout-ce/fallout2-ce.nix b/pkgs/games/fallout-ce/fallout2-ce.nix
new file mode 100644
index 0000000000000..b28a9701c2021
--- /dev/null
+++ b/pkgs/games/fallout-ce/fallout2-ce.nix
@@ -0,0 +1,23 @@
+{ callPackage
+, fetchFromGitHub
+, zlib
+}:
+
+callPackage ./build.nix rec {
+  pname = "fallout2-ce";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "alexbatalov";
+    repo = "fallout2-ce";
+    rev = "v${version}";
+    hash = "sha256-+N4jhmxBX6z48kaU0jm90OKhguHlggT3OF9uuyY0EV0=";
+  };
+
+  extraBuildInputs = [ zlib ];
+
+  extraMeta = {
+    description = "A fully working re-implementation of Fallout 2, with the same original gameplay, engine bugfixes, and some quality of life improvements";
+    homepage = "https://github.com/alexbatalov/fallout2-ce";
+  };
+}
diff --git a/pkgs/games/lgames/lbreakouthd/default.nix b/pkgs/games/lgames/lbreakouthd/default.nix
index 9510edd7932a5..d5f78facca2a9 100644
--- a/pkgs/games/lgames/lbreakouthd/default.nix
+++ b/pkgs/games/lgames/lbreakouthd/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lbreakouthd";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/lbreakouthd-${finalAttrs.version}.tar.gz";
-    hash = "sha256-BpF583f2if4FeJ2Fi/8GZYuh5T37GXdNq/Ww4LM65wY=";
+    hash = "sha256-fJGhGg6da/leHI52fDeVlRHOrrV0xedSEMHyC1PpNII=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/games/lgames/lpairs2/default.nix
index c8b044879466f..7993fd0657dac 100644
--- a/pkgs/games/lgames/lpairs2/default.nix
+++ b/pkgs/games/lgames/lpairs2/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lpairs2";
-  version = "2.2.1";
+  version = "2.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
-    hash = "sha256-n2/3QxsnRzVgzKzOUF6RLzpHJ2R8z67Mkjwdh2ghn28=";
+    hash = "sha256-gw1BNkcztyTuoXRdx5+TBZNJEJNrLCfEUCQ1JzROogA=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/lgames/ltris/default.nix b/pkgs/games/lgames/ltris/default.nix
index aaa4a7c34e94a..8cf581b376bf6 100644
--- a/pkgs/games/lgames/ltris/default.nix
+++ b/pkgs/games/lgames/ltris/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ltris";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
-    hash = "sha256-wjziFFTAOJxSl6fvLhTv6ATZQGJefusDhqKXgOwsRvY=";
+    hash = "sha256-EpHGpkLQa57hU6wKLnhVosmD6DnGGPGilN8E2ClSXLA=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/minesweep-rs/default.nix b/pkgs/games/minesweep-rs/default.nix
index 19fdae615ae99..2cc65cd2c6672 100644
--- a/pkgs/games/minesweep-rs/default.nix
+++ b/pkgs/games/minesweep-rs/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "minesweep-rs";
-  version = "6.0.34";
+  version = "6.0.35";
 
   src = fetchFromGitHub {
     owner = "cpcloud";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-qYt4LrSQYFr3C0Mkks5aBOYFp60Y3OjFamXxaD5h+mU=";
+    hash = "sha256-IxyryBWU4NULjcQtUXHel533JosAmp0d0w/+Ntl2aT0=";
   };
 
-  cargoHash = "sha256-s2WvRXxEm+/QceHpJA41ZRts6NCcG04kib3L78KwBPg=";
+  cargoHash = "sha256-BGjxZxT7iypvhusyx6K4yvK1S7j4WlvoSTkb79d/H1s=";
 
   meta = with lib; {
     description = "Sweep some mines for fun, and probably not for profit";
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 3f6ce29c3a333..99c58df372443 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,79 +1,69 @@
 { lib
 , stdenv
-, mkDerivation
-, fetchFromGitHub
+, fetchFromGitLab
 , fetchpatch
 , cmake
 , pkg-config
 , wrapQtAppsHook
-, openscenegraph
-, mygui
+, SDL2
+, CoreMedia
+, VideoToolbox
+, VideoDecodeAcceleration
+, boost
 , bullet
 , ffmpeg
-, boost
-, SDL2
-, unshield
-, openal
 , libXt
+, luajit
 , lz4
+, mygui
+, openal
+, openscenegraph
 , recastnavigation
-, VideoDecodeAcceleration
+, unshield
+, yaml-cpp
 }:
 
 let
-  openscenegraph_openmw = (openscenegraph.override { colladaSupport = true; })
-    .overrideDerivation (self: {
-      src = fetchFromGitHub {
-        owner = "OpenMW";
-        repo = "osg";
-        rev = "bbe61c3bc510a4f5bb4aea21cce506519c2d24e6";
-        sha256 = "sha256-t3smLqstp7wWfi9HXJoBCek+3acqt/ySBYF8RJOG6Mo=";
-      };
-      patches = [
-        (fetchpatch {
-          # For Darwin, OSG doesn't build some plugins as they're redundant with QuickTime.
-          # OpenMW doesn't like this, and expects them to be there. Apply their patch for it.
-          name = "darwin-osg-plugins-fix.patch";
-          url = "https://gitlab.com/OpenMW/openmw-dep/-/raw/0abe3c9c3858211028d881d7706813d606335f72/macos/osg.patch";
-          sha256 = "sha256-/CLRZofZHot8juH78VG1/qhTHPhy5DoPMN+oH8hC58U=";
-        })
-      ];
-    });
+  GL = "GLVND"; # or "LEGACY";
+
+  osg' = (openscenegraph.override { colladaSupport = true; }).overrideDerivation (old: {
+    patches = [
+      (fetchpatch {
+        # Darwin: Without this patch, OSG won't build osgdb_png.so, which is required by OpenMW.
+        name = "darwin-osg-plugins-fix.patch";
+        url = "https://gitlab.com/OpenMW/openmw-dep/-/raw/0abe3c9c3858211028d881d7706813d606335f72/macos/osg.patch";
+        sha256 = "sha256-/CLRZofZHot8juH78VG1/qhTHPhy5DoPMN+oH8hC58U=";
+      })
+    ];
+    cmakeFlags = (old.cmakeFlags or [ ]) ++ [
+      "-Wno-dev"
+      "-DOpenGL_GL_PREFERENCE=${GL}"
+      "-DBUILD_OSG_PLUGINS_BY_DEFAULT=0"
+      "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0"
+    ] ++ (map (e: "-DBUILD_OSG_PLUGIN_${e}=1") [ "BMP" "DAE" "DDS" "FREETYPE" "JPEG" "OSG" "PNG" "TGA" ]);
+  });
 
-  bullet_openmw = bullet.overrideDerivation (old: rec {
-    version = "3.17";
-    src = fetchFromGitHub {
-      owner = "bulletphysics";
-      repo = "bullet3";
-      rev = version;
-      sha256 = "sha256-uQ4X8F8nmagbcFh0KexrmnhHIXFSB3A1CCnjPVeHL3Q=";
-    };
-    patches = [];
-    cmakeFlags = (old.cmakeFlags or []) ++ [
+  bullet' = bullet.overrideDerivation (old: {
+    cmakeFlags = (old.cmakeFlags or [ ]) ++ [
+      "-Wno-dev"
+      "-DOpenGL_GL_PREFERENCE=${GL}"
       "-DUSE_DOUBLE_PRECISION=ON"
       "-DBULLET2_MULTITHREADING=ON"
     ];
   });
 
 in
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "openmw";
-  version = "0.47.0";
+  version = "0.48.0";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "OpenMW";
     repo = "openmw";
     rev = "${pname}-${version}";
-    sha256 = "sha256-Xq9hDUTCQr79Zzjk0CsiXclVTHK6nrSowukIQqVdrKY=";
+    hash = "sha256-zkjVt3GfQZsFXl2Ht3lCuQtDMYQWxhdFO4aGSb3rsyo=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://gitlab.com/OpenMW/openmw/-/merge_requests/1239.diff";
-      sha256 = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw=";
-    })
-  ];
-
   postPatch = ''
     sed '1i#include <memory>' -i components/myguiplatform/myguidatamanager.cpp # gcc12
   '' + lib.optionalString stdenv.isDarwin ''
@@ -84,27 +74,30 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
 
   # If not set, OSG plugin .so files become shell scripts on Darwin.
-  dontWrapQtApps = true;
+  dontWrapQtApps = stdenv.isDarwin;
 
   buildInputs = [
     SDL2
     boost
-    bullet_openmw
+    bullet'
     ffmpeg
     libXt
+    luajit
+    lz4
     mygui
     openal
-    openscenegraph_openmw
-    unshield
-    lz4
+    osg'
     recastnavigation
+    unshield
+    yaml-cpp
   ] ++ lib.optionals stdenv.isDarwin [
+    CoreMedia
     VideoDecodeAcceleration
+    VideoToolbox
   ];
 
   cmakeFlags = [
-    # as of 0.46, openmw is broken with GLVND
-    "-DOpenGL_GL_PREFERENCE=LEGACY"
+    "-DOpenGL_GL_PREFERENCE=${GL}"
     "-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=1"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DOPENMW_OSX_DEPLOYMENT=ON"
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix
index 8b6c96c5286f6..48454b42df299 100644
--- a/pkgs/games/openmw/tes3mp.nix
+++ b/pkgs/games/openmw/tes3mp.nix
@@ -3,6 +3,7 @@
 , cmake
 , openmw
 , fetchFromGitHub
+, fetchpatch
 , luajit
 , makeWrapper
 , symlinkJoin
@@ -85,8 +86,15 @@ let
         --replace "\"./\"" "\"$out/bin/\""
     '';
 
-    # https://github.com/TES3MP/openmw-tes3mp/issues/552
-    patches = oldAttrs.patches ++ [ ./tes3mp.patch ];
+    patches = [
+      (fetchpatch {
+        url = "https://gitlab.com/OpenMW/openmw/-/commit/98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch";
+        sha256 = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw=";
+      })
+
+      # https://github.com/TES3MP/openmw-tes3mp/issues/552
+      ./tes3mp.patch
+    ];
 
     env.NIX_CFLAGS_COMPILE = "-fpermissive";
 
diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix
index 7af729487a08f..e2a6e10d03357 100644
--- a/pkgs/games/osu-lazer/bin.nix
+++ b/pkgs/games/osu-lazer/bin.nix
@@ -7,21 +7,21 @@
 
 let
   pname = "osu-lazer-bin";
-  version = "2023.924.1";
+  version = "2023.1008.0";
   name = "${pname}-${version}";
 
   osu-lazer-bin-src = {
     aarch64-darwin = {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
-      sha256 = "sha256-ZCTKVad1XArHxTa9nZfrSf6xFd0TNwryw9v+Doehurg=";
+      sha256 = "sha256-gtXbccVrQ2edEcDR7wG2Upv4b4a64tvu+/fiKghMquM=";
     };
     x86_64-darwin = {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
-      sha256 = "sha256-tvEUePRmOOwWugvZ32LOcptQCI/0LZv7uWG8mLjoy5c=";
+      sha256 = "sha256-qo4EovNt158XXfYOek4lmil2Qwv185fLjZIaBsXzw74=";
     };
     x86_64-linux = {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
-      sha256 = "sha256-oEfH6ctsiMrV6p8p7OdwNUBzGK7AERlmuAL1MXc0o4w=";
+      sha256 = "sha256-aZDRwZeCC4qBNktLeD7ezbp1Bydf6mP8crtpdayUiqI=";
     };
   }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
 
diff --git a/pkgs/games/r2modman/default.nix b/pkgs/games/r2modman/default.nix
index 4e5096eb96f82..e48ce9e49ffff 100644
--- a/pkgs/games/r2modman/default.nix
+++ b/pkgs/games/r2modman/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "r2modman";
-  version = "3.1.43";
+  version = "3.1.44";
 
   src = fetchFromGitHub {
     owner = "ebkr";
     repo = "r2modmanPlus";
     rev = "v${version}";
-    hash = "sha256-qZeBF58VB/wW0N2MZgZfiIJdDqHUdfruAoCuDEFeCPA=";
+    hash = "sha256-jiYrJtdM2LPwYDAgoGa0hGJcYNRiAKIuDuKZmSZ7OR4=";
   };
 
   offlineCache = fetchYarnDeps {
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index a161d8d68ef77..8173fb5fe1d2f 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -60,15 +60,15 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    tests.sgtpuzzles = nixosTests.sgtpuzzles;
-    updateScript = writeScript "update-sgtpuzzles" ''
+    tests.sgt-puzzles = nixosTests.sgt-puzzles;
+    updateScript = writeScript "update-sgt-puzzles" ''
       #!/usr/bin/env nix-shell
       #!nix-shell -i bash -p curl pcre common-updater-scripts
 
       set -eu -o pipefail
 
       version="$(curl -sI 'https://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles.tar.gz' | grep -Fi Location: | pcregrep -o1 'puzzles-([0-9a-f.]*).tar.gz')"
-      update-source-version sgtpuzzles "$version"
+      update-source-version sgt-puzzles "$version"
     '';
   };
 
diff --git a/pkgs/games/theforceengine/default.nix b/pkgs/games/theforceengine/default.nix
index 023acc0e06da5..788fdc30794f0 100644
--- a/pkgs/games/theforceengine/default.nix
+++ b/pkgs/games/theforceengine/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , SDL2
-, libdevil
+, SDL2_image
 , rtaudio
 , rtmidi
 , glew
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "theforceengine";
-  version = "1.09.300";
+  version = "1.09.540";
 
   src = fetchFromGitHub {
     owner = "luciusDXL";
     repo = "TheForceEngine";
     rev = "v${version}";
-    sha256 = "sha256-nf5fhP68AgBESiJleeZOLXkAajS+JmHUqyj4vAt2wl4=";
+    sha256 = "sha256-s54X6LZdk7daIlQPHyRBxc8MLS6bzkkypi4m1m+xK80=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     SDL2
-    libdevil
+    SDL2_image
     rtaudio
     rtmidi
     glew
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 458860b3a1bf4..f4b350ad38e75 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.8.0";
+  version = "4.8.9-patch2";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    hash = "sha256-Mq6c8APLOYYKTIuBdkbscK43BSY5sWWqWlaR4KiXpwo=";
+    hash = "sha256-ek2FDzo7EbgZGbQyZ6mBmVoPRKkJu0JFewbVvsGzZMA=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/games/xivlauncher/default.nix b/pkgs/games/xivlauncher/default.nix
index f98771ec0fbf5..b88c3ac9477fe 100644
--- a/pkgs/games/xivlauncher/default.nix
+++ b/pkgs/games/xivlauncher/default.nix
@@ -3,7 +3,7 @@
 , useSteamRun ? true }:
 
 let
-  rev = "1.0.4";
+  rev = "1.0.6";
 in
   buildDotnetModule rec {
     pname = "XIVLauncher";
@@ -13,7 +13,7 @@ in
       owner = "goatcorp";
       repo = "XIVLauncher.Core";
       inherit rev;
-      hash = "sha256-HbOo1aCBYnLXI2QZEBSRQNchHD2/fo50M2ZnIXkRn6Y=";
+      hash = "sha256-P1i12vw9KQOTL7QBxjKPSlda5rvoyl7DGmuuD5iVEQs=";
       fetchSubmodules = true;
     };
 
diff --git a/pkgs/games/xivlauncher/deps.nix b/pkgs/games/xivlauncher/deps.nix
index b92db7c2dec5d..10b646fc8c419 100644
--- a/pkgs/games/xivlauncher/deps.nix
+++ b/pkgs/games/xivlauncher/deps.nix
@@ -33,6 +33,8 @@
   (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
   (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
   (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { pname = "PInvoke.Kernel32"; version = "0.7.124"; sha256 = "0n1245s2p5735n8xgmahrx7g8mw32pxdn4rr9dydb9r6mvgm9bhk"; })
+  (fetchNuGet { pname = "PInvoke.Windows.Core"; version = "0.7.124"; sha256 = "16qkn91gh3aiab2330q5j1vlx2ni4m4kkz04dvsqlm8lr7ldizlz"; })
   (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
   (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
@@ -75,6 +77,7 @@
   (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
   (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
   (fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; })
+  (fetchNuGet { pname = "Serilog.Enrichers.Sensitive"; version = "1.7.2"; sha256 = "1f3r4jrfiz47vnvy7m0w6d8280nhhna67xwbagx1i557m9qvjssg"; })
   (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; })
   (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.5.0"; sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; })
   (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; })
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index 8390d5e0ba847..8520ba7aff2e3 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -145,6 +145,6 @@ stdenv.mkDerivation {
     homepage = "https://hk.canon/en/support/0101048401/1";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/misc/dxvk/dxvk.nix b/pkgs/misc/dxvk/dxvk.nix
deleted file mode 100644
index 129090faaf473..0000000000000
--- a/pkgs/misc/dxvk/dxvk.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, glslang
-, meson
-, ninja
-, windows
-, dxvkVersion ? "default"
-, spirv-headers
-, vulkan-headers
-, SDL2
-, glfw
-, pkgsBuildHost
-, gitUpdater
-, sdl2Support ? true
-, glfwSupport ? false
-, enableMoltenVKCompat ? false
-}:
-
-# SDL2 and GLFW support are mutually exclusive.
-assert !sdl2Support || !glfwSupport;
-
-let
-  # DXVK 2.0+ no longer vendors certain dependencies. This derivation also needs to build on Darwin,
-  # which does not currently support DXVK 2.0, so adapt conditionally for this situation.
-  isDxvk2 = lib.versionAtLeast (srcs.${dxvkVersion}.version) "2.0";
-
-  # DXVK has effectively the same build script regardless of platform.
-  srcs = {
-    "1.10" = rec {
-      version = "1.10.3";
-      src = fetchFromGitHub {
-        owner = "doitsujin";
-        repo = "dxvk";
-        rev = "v${version}";
-        hash = "sha256-T93ZylxzJGprrP+j6axZwl2d3hJowMCUOKNjIyNzkmE=";
-      };
-      # These patches are required when using DXVK with Wine on Darwin.
-      patches = lib.optionals enableMoltenVKCompat [
-        # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
-        # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
-        ./darwin-dxvk-compat.patch
-        # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
-        # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
-        ./darwin-thread-primitives.patch
-      ];
-    };
-    "default" = rec {
-      version = "2.3";
-      src = fetchFromGitHub {
-        owner = "doitsujin";
-        repo = "dxvk";
-        rev = "v${version}";
-        hash = "sha256-RU+B0XfphD5HHW/vSzqHLUaGS3E31d5sOLp3lMmrCB8=";
-        fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info
-      };
-      patches = [ ];
-    };
-  };
-
-  isWindows = stdenv.targetPlatform.uname.system == "Windows";
-  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
-in
-stdenv.mkDerivation (finalAttrs:  {
-  pname = "dxvk";
-  inherit (srcs.${dxvkVersion}) version src patches;
-
-  nativeBuildInputs = [ glslang meson ninja ];
-  buildInputs = lib.optionals isWindows [ windows.pthreads ]
-    ++ lib.optionals isDxvk2 (
-      [ spirv-headers vulkan-headers ]
-      ++ lib.optional (!isWindows && sdl2Support) SDL2
-      ++ lib.optional (!isWindows && glfwSupport) glfw
-    );
-
-  postPatch = lib.optionalString isDxvk2 ''
-    substituteInPlace "subprojects/libdisplay-info/tool/gen-search-table.py" \
-      --replace "/usr/bin/env python3" "${lib.getBin pkgsBuildHost.python3}/bin/python3"
-  '';
-
-  # Build with the Vulkan SDK in nixpkgs.
-  preConfigure = ''
-    rm -rf include/spirv/include include/vulkan/include
-    mkdir -p include/spirv/include include/vulkan/include
-  '';
-
-  mesonFlags =
-    let
-      arch = if stdenv.is32bit then "32" else "64";
-    in
-    [
-      "--buildtype" "release"
-      "--prefix" "${placeholder "out"}"
-    ]
-    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ]
-    ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
-
-  doCheck = isDxvk2 && !isCross;
-
-  passthru = lib.optionalAttrs (lib.versionAtLeast finalAttrs.version "2.0") {
-    updateScript = gitUpdater {
-      rev-prefix = "v";
-    };
-  };
-
-  meta = {
-    description = "A Vulkan-based translation layer for Direct3D 9/10/11";
-    homepage = "https://github.com/doitsujin/dxvk";
-    changelog = "https://github.com/doitsujin/dxvk/releases";
-    maintainers = [ lib.maintainers.reckenrode ];
-    license = lib.licenses.zlib;
-    platforms = lib.platforms.windows ++ lib.optionals isDxvk2 lib.platforms.linux;
-  };
-})
diff --git a/pkgs/misc/mnemonicode/default.nix b/pkgs/misc/mnemonicode/default.nix
index 352dd038fb5a4..4ecacaf418a1d 100644
--- a/pkgs/misc/mnemonicode/default.nix
+++ b/pkgs/misc/mnemonicode/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     '';
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 9602b6364974f..b43e6400c8dc0 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -72,6 +72,6 @@ stdenv.mkDerivation rec {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ deltaevo lukeadams msfjarvis ];
+    maintainers = with maintainers; [ deltaevo msfjarvis ];
   };
 }
diff --git a/pkgs/misc/vencord/default.nix b/pkgs/misc/vencord/default.nix
index 82225e1584bab..d26e13e95d7bb 100644
--- a/pkgs/misc/vencord/default.nix
+++ b/pkgs/misc/vencord/default.nix
@@ -6,8 +6,8 @@
 , buildWebExtension ? false
 }:
 let
-  version = "1.5.3";
-  gitHash = "6227777";
+  version = "1.5.6";
+  gitHash = "925d709";
 in
 buildNpmPackage rec {
   pname = "vencord";
@@ -17,7 +17,7 @@ buildNpmPackage rec {
     owner = "Vendicated";
     repo = "Vencord";
     rev = "v${version}";
-    sha256 = "sha256-yRbFXjPJq0Ui7JW6YhlfnDf+YWyO5qzJTntEyFLVcVY=";
+    hash = "sha256-0vYnhDy7J+JFg6uMtwK+uQsHtxoXi8QskIqyQm1HsqM=";
   };
 
   ESBUILD_BINARY_PATH = lib.getExe (esbuild.override {
@@ -37,7 +37,7 @@ buildNpmPackage rec {
   npmRebuildFlags = [ "|| true" ];
 
   makeCacheWritable = true;
-  npmDepsHash = "sha256-/aEyvEmVCqKKgRvqoz7CSz17HTAxPMBBL47JsE3RcI4=";
+  npmDepsHash = "sha256-/oMQHIigAY7Jdy6S1lRXjzOnxYrvpzbyvP4z+s+k9Lw=";
   npmFlags = [ "--legacy-peer-deps" ];
   npmBuildScript = if buildWebExtension then "buildWeb" else "build";
   npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];
@@ -61,6 +61,6 @@ buildNpmPackage rec {
     description = "Vencord web extension";
     homepage = "https://github.com/Vendicated/Vencord";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ FlafyDev NotAShelf Scrumplex ];
+    maintainers = with maintainers; [ FlafyDev fwam NotAShelf Scrumplex ];
   };
 }
diff --git a/pkgs/misc/vencord/package-lock.json b/pkgs/misc/vencord/package-lock.json
index dbcf04e1c1d32..26b54c655b081 100644
--- a/pkgs/misc/vencord/package-lock.json
+++ b/pkgs/misc/vencord/package-lock.json
@@ -1,12 +1,12 @@
 {
     "name": "vencord",
-    "version": "1.5.3",
+    "version": "1.5.6",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
             "name": "vencord",
-            "version": "1.5.3",
+            "version": "1.5.6",
             "license": "GPL-3.0-or-later",
             "dependencies": {
                 "@sapphi-red/web-noise-suppressor": "0.3.3",
@@ -241,9 +241,9 @@
             }
         },
         "node_modules/@csstools/css-parser-algorithms": {
-            "version": "2.3.1",
-            "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz",
-            "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==",
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz",
+            "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==",
             "dev": true,
             "funding": [
                 {
@@ -259,13 +259,13 @@
                 "node": "^14 || ^16 || >=18"
             },
             "peerDependencies": {
-                "@csstools/css-tokenizer": "^2.2.0"
+                "@csstools/css-tokenizer": "^2.2.1"
             }
         },
         "node_modules/@csstools/css-tokenizer": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz",
-            "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==",
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz",
+            "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==",
             "dev": true,
             "funding": [
                 {
@@ -282,9 +282,9 @@
             }
         },
         "node_modules/@csstools/media-query-list-parser": {
-            "version": "2.1.4",
-            "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.4.tgz",
-            "integrity": "sha512-V/OUXYX91tAC1CDsiY+HotIcJR+vPtzrX8pCplCpT++i8ThZZsq5F5dzZh/bDM3WUOjrvC1ljed1oSJxMfjqhw==",
+            "version": "2.1.5",
+            "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz",
+            "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==",
             "dev": true,
             "funding": [
                 {
@@ -300,8 +300,8 @@
                 "node": "^14 || ^16 || >=18"
             },
             "peerDependencies": {
-                "@csstools/css-parser-algorithms": "^2.3.1",
-                "@csstools/css-tokenizer": "^2.2.0"
+                "@csstools/css-parser-algorithms": "^2.3.2",
+                "@csstools/css-tokenizer": "^2.2.1"
             }
         },
         "node_modules/@csstools/selector-specificity": {
@@ -326,73 +326,6 @@
                 "postcss-selector-parser": "^6.0.13"
             }
         },
-        "node_modules/@esbuild-kit/cjs-loader": {
-            "version": "2.4.4",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.4.tgz",
-            "integrity": "sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==",
-            "dev": true,
-            "dependencies": {
-                "@esbuild-kit/core-utils": "^3.2.3",
-                "get-tsconfig": "^4.7.0"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils": {
-            "version": "3.3.2",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz",
-            "integrity": "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==",
-            "dev": true,
-            "dependencies": {
-                "esbuild": "~0.18.20",
-                "source-map-support": "^0.5.21"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": {
-            "version": "0.18.20",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
-            "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
-            "dev": true,
-            "hasInstallScript": true,
-            "bin": {
-                "esbuild": "bin/esbuild"
-            },
-            "engines": {
-                "node": ">=12"
-            },
-            "optionalDependencies": {
-                "@esbuild/android-arm": "0.18.20",
-                "@esbuild/android-arm64": "0.18.20",
-                "@esbuild/android-x64": "0.18.20",
-                "@esbuild/darwin-arm64": "0.18.20",
-                "@esbuild/darwin-x64": "0.18.20",
-                "@esbuild/freebsd-arm64": "0.18.20",
-                "@esbuild/freebsd-x64": "0.18.20",
-                "@esbuild/linux-arm": "0.18.20",
-                "@esbuild/linux-arm64": "0.18.20",
-                "@esbuild/linux-ia32": "0.18.20",
-                "@esbuild/linux-loong64": "0.18.20",
-                "@esbuild/linux-mips64el": "0.18.20",
-                "@esbuild/linux-ppc64": "0.18.20",
-                "@esbuild/linux-riscv64": "0.18.20",
-                "@esbuild/linux-s390x": "0.18.20",
-                "@esbuild/linux-x64": "0.18.20",
-                "@esbuild/netbsd-x64": "0.18.20",
-                "@esbuild/openbsd-x64": "0.18.20",
-                "@esbuild/sunos-x64": "0.18.20",
-                "@esbuild/win32-arm64": "0.18.20",
-                "@esbuild/win32-ia32": "0.18.20",
-                "@esbuild/win32-x64": "0.18.20"
-            }
-        },
-        "node_modules/@esbuild-kit/esm-loader": {
-            "version": "2.6.5",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz",
-            "integrity": "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==",
-            "dev": true,
-            "dependencies": {
-                "@esbuild-kit/core-utils": "^3.3.2",
-                "get-tsconfig": "^4.7.0"
-            }
-        },
         "node_modules/@esbuild/linux-x64": {
             "version": "0.18.20",
             "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
@@ -425,9 +358,9 @@
             }
         },
         "node_modules/@eslint-community/regexpp": {
-            "version": "4.8.1",
-            "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz",
-            "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==",
+            "version": "4.9.1",
+            "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz",
+            "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==",
             "dev": true,
             "engines": {
                 "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -457,9 +390,9 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "8.49.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz",
-            "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
+            "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -579,9 +512,9 @@
             }
         },
         "node_modules/@types/diff": {
-            "version": "5.0.4",
-            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.4.tgz",
-            "integrity": "sha512-d7489/WO4B65k0SIqxXtviR9+MrPDipWQF6w+5D7YPrqgu6Qb87JsTdWQaNZo7itcdbViQSev3Jaz7dtKO0+Dg==",
+            "version": "5.0.5",
+            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.5.tgz",
+            "integrity": "sha512-rt7WqM1bWwKJMRxlB5Rhke56UN21Bqwp1ILER31bafTivcapYdfhtPd5xRWfhf08yjPxoDcfjVkkECdRwFe7EA==",
             "dev": true
         },
         "node_modules/@types/filesystem": {
@@ -612,39 +545,39 @@
             "dev": true
         },
         "node_modules/@types/lodash": {
-            "version": "4.14.198",
-            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz",
-            "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==",
+            "version": "4.14.199",
+            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
+            "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
             "dev": true
         },
         "node_modules/@types/minimist": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
-            "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz",
+            "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==",
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "18.17.18",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.18.tgz",
-            "integrity": "sha512-/4QOuy3ZpV7Ya1GTRz5CYSz3DgkKpyUptXuQ5PPce7uuyJAOR7r9FhkmxJfvcNUXyklbC63a+YvB3jxy7s9ngw==",
+            "version": "18.18.3",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz",
+            "integrity": "sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA==",
             "dev": true
         },
         "node_modules/@types/normalize-package-data": {
-            "version": "2.4.1",
-            "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-            "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+            "version": "2.4.2",
+            "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz",
+            "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==",
             "dev": true
         },
         "node_modules/@types/prop-types": {
-            "version": "15.7.6",
-            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.6.tgz",
-            "integrity": "sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==",
+            "version": "15.7.8",
+            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz",
+            "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==",
             "dev": true
         },
         "node_modules/@types/react": {
-            "version": "18.2.22",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.22.tgz",
-            "integrity": "sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==",
+            "version": "18.2.24",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz",
+            "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==",
             "dev": true,
             "dependencies": {
                 "@types/prop-types": "*",
@@ -653,30 +586,30 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.7",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
-            "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
+            "version": "18.2.8",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz",
+            "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==",
             "dev": true,
             "dependencies": {
                 "@types/react": "*"
             }
         },
         "node_modules/@types/scheduler": {
-            "version": "0.16.3",
-            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
-            "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
+            "version": "0.16.4",
+            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz",
+            "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==",
             "dev": true
         },
         "node_modules/@types/semver": {
-            "version": "7.5.2",
-            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz",
-            "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==",
+            "version": "7.5.3",
+            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+            "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
             "dev": true
         },
         "node_modules/@types/yauzl": {
-            "version": "2.10.0",
-            "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-            "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+            "version": "2.10.1",
+            "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz",
+            "integrity": "sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==",
             "dev": true,
             "optional": true,
             "dependencies": {
@@ -684,9 +617,9 @@
             }
         },
         "node_modules/@types/yazl": {
-            "version": "2.4.2",
-            "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz",
-            "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==",
+            "version": "2.4.3",
+            "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.3.tgz",
+            "integrity": "sha512-pZtZPktPV+rN+6oje9Akz5kBwOhpjKlr7X74osNVtmYKcMdgoBtMFbNNPeS2+juE5aEVGZuIbHISqMCn2RupNw==",
             "dev": true,
             "dependencies": {
                 "@types/node": "*"
@@ -1799,15 +1732,15 @@
             }
         },
         "node_modules/eslint": {
-            "version": "8.49.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz",
-            "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
+            "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.6.1",
                 "@eslint/eslintrc": "^2.1.2",
-                "@eslint/js": "8.49.0",
+                "@eslint/js": "8.50.0",
                 "@humanwhocodes/config-array": "^0.11.11",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
@@ -2287,9 +2220,9 @@
             }
         },
         "node_modules/get-tsconfig": {
-            "version": "4.7.1",
-            "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.1.tgz",
-            "integrity": "sha512-sLtd6Bcwbi9IrAow/raCOTE9pmhvo5ksQo5v2lApUGJMzja64MUYhBp0G6X1S+f7IrBPn1HP+XkS2w2meoGcjg==",
+            "version": "4.7.2",
+            "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
+            "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
             "dev": true,
             "dependencies": {
                 "resolve-pkg-maps": "^1.0.0"
@@ -3541,9 +3474,9 @@
             }
         },
         "node_modules/postcss": {
-            "version": "8.4.30",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz",
-            "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==",
+            "version": "8.4.31",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+            "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
             "dev": true,
             "funding": [
                 {
@@ -4808,20 +4741,57 @@
             }
         },
         "node_modules/tsx": {
-            "version": "3.12.10",
-            "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.10.tgz",
-            "integrity": "sha512-2+46h4xvUt1aLDNvk5YBT8Uzw+b7BolGbn7iSMucYqCXZiDc+1IMghLVdw8kKjING32JFOeO+Am9posvjkeclA==",
+            "version": "3.13.0",
+            "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.13.0.tgz",
+            "integrity": "sha512-rjmRpTu3as/5fjNq/kOkOtihgLxuIz6pbKdj9xwP4J5jOLkBxw/rjN5ANw+KyrrOXV5uB7HC8+SrrSJxT65y+A==",
             "dev": true,
             "dependencies": {
-                "@esbuild-kit/cjs-loader": "^2.4.2",
-                "@esbuild-kit/core-utils": "^3.3.0",
-                "@esbuild-kit/esm-loader": "^2.6.3"
+                "esbuild": "~0.18.20",
+                "get-tsconfig": "^4.7.2",
+                "source-map-support": "^0.5.21"
             },
             "bin": {
-                "tsx": "dist/cli.js"
+                "tsx": "dist/cli.mjs"
+            },
+            "optionalDependencies": {
+                "fsevents": "~2.3.3"
+            }
+        },
+        "node_modules/tsx/node_modules/esbuild": {
+            "version": "0.18.20",
+            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+            "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+            "dev": true,
+            "hasInstallScript": true,
+            "bin": {
+                "esbuild": "bin/esbuild"
+            },
+            "engines": {
+                "node": ">=12"
             },
             "optionalDependencies": {
-                "fsevents": "~2.3.2"
+                "@esbuild/android-arm": "0.18.20",
+                "@esbuild/android-arm64": "0.18.20",
+                "@esbuild/android-x64": "0.18.20",
+                "@esbuild/darwin-arm64": "0.18.20",
+                "@esbuild/darwin-x64": "0.18.20",
+                "@esbuild/freebsd-arm64": "0.18.20",
+                "@esbuild/freebsd-x64": "0.18.20",
+                "@esbuild/linux-arm": "0.18.20",
+                "@esbuild/linux-arm64": "0.18.20",
+                "@esbuild/linux-ia32": "0.18.20",
+                "@esbuild/linux-loong64": "0.18.20",
+                "@esbuild/linux-mips64el": "0.18.20",
+                "@esbuild/linux-ppc64": "0.18.20",
+                "@esbuild/linux-riscv64": "0.18.20",
+                "@esbuild/linux-s390x": "0.18.20",
+                "@esbuild/linux-x64": "0.18.20",
+                "@esbuild/netbsd-x64": "0.18.20",
+                "@esbuild/openbsd-x64": "0.18.20",
+                "@esbuild/sunos-x64": "0.18.20",
+                "@esbuild/win32-arm64": "0.18.20",
+                "@esbuild/win32-ia32": "0.18.20",
+                "@esbuild/win32-x64": "0.18.20"
             }
         },
         "node_modules/type-check": {
diff --git a/pkgs/os-specific/darwin/ios-deploy/default.nix b/pkgs/os-specific/darwin/ios-deploy/default.nix
index 6567093700df9..c405ac8e1c8bb 100644
--- a/pkgs/os-specific/darwin/ios-deploy/default.nix
+++ b/pkgs/os-specific/darwin/ios-deploy/default.nix
@@ -1,35 +1,62 @@
-{ lib, stdenvNoCC, rsync, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, darwin
+, testers
+}:
 
-# Note this is impure, using system XCode to build ios-deploy. We
-# should have a special flag for users to enable this.
-
-let version = "1.11.0";
-in stdenvNoCC.mkDerivation {
+let
+  privateFrameworks = "/Library/Apple/System/Library/PrivateFrameworks";
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "ios-deploy";
-  inherit version;
+  version = "1.12.2";
+
   src = fetchFromGitHub {
     owner = "ios-control";
     repo = "ios-deploy";
-    rev = version;
-    sha256 = "0hqwikdrcnslx4kkw9b0n7n443gzn2gbrw15pp2fnkcw5s0698sc";
+    rev = finalAttrs.version;
+    hash = "sha256-TVGC+f+1ow3b93CK3PhIL70le5SZxxb2ug5OkIg8XCA=";
   };
-  nativeBuildInputs = [ rsync ];
+
+  buildInputs = [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
+
   buildPhase = ''
-    LD=$CC
-    tmp=$(mktemp -d)
-    ln -s /usr/bin/xcodebuild $tmp
-    export PATH="$PATH:$tmp"
-    xcodebuild -configuration Release SYMROOT=build OBJROOT=$tmp
-  '';
-  checkPhase = ''
-    xcodebuild test -scheme ios-deploy-tests -configuration Release SYMROOT=build
+    runHook preBuild
+
+    awk '{ print "\""$0"\\n\""}' src/scripts/lldb.py >> src/ios-deploy/lldb.py.h
+    clang src/ios-deploy/ios-deploy.m \
+      -framework Foundation \
+      -F${privateFrameworks} -framework MobileDevice \
+      -o ios-deploy
+
+    runHook postBuild
   '';
+
   installPhase = ''
-    install -D build/Release/ios-deploy $out/bin/ios-deploy
+    runHook preInstall
+
+    install -Dm755 ios-deploy $out/bin/ios-deploy
+
+    runHook postInstall
   '';
+
+  __impureHostDeps = [
+    privateFrameworks
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+  };
+
   meta = {
+    description = "Install and debug iPhone apps from the command line, without using Xcode";
+    homepage = "https://github.com/ios-control/ios-deploy";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "ios-deploy";
+    maintainers = with lib.maintainers; [ wegank ];
     platforms = lib.platforms.darwin;
-    description = "Install and debug iOS apps from the command line. Designed to work on un-jailbroken devices";
-    license = lib.licenses.gpl3;
   };
-}
+})
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
index 0e615c9e75390..da559b5fcc1c5 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-utils/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, alsa-lib, gettext, makeWrapper, ncurses, libsamplerate, pciutils, which, fftw}:
+{lib, stdenv, fetchurl, fetchpatch, alsa-lib, gettext, makeWrapper, ncurses, libsamplerate, pciutils, which, fftw}:
 
 stdenv.mkDerivation rec {
   pname = "alsa-utils";
@@ -8,6 +8,17 @@ stdenv.mkDerivation rec {
     url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
     sha256 = "sha256-EEti7H8Cp84WynefSBVhbfHMIZM1A3g6kQe1lE+DBjo=";
   };
+  patches = [
+    # Backport fixes for musl libc. Remove on next release
+    (fetchpatch {
+      url = "https://github.com/alsa-project/alsa-utils/commit/8c229270f6bae83b705a03714c46067a7aa57b02.patch";
+      hash = "sha256-sUaBHY8EHf4805nF6tyNV5jYXcJf3O+r04VXFu4dUCE=";
+    })
+    (fetchpatch {
+      url = "https://github.com/alsa-project/alsa-utils/commit/0925ad7f09b2dc77015784f9ac2f5e34dd0dd5c3.patch";
+      hash = "sha256-bgGU9On82AUbOjo+KN6WfuhqUAWM87OHnKN7plpG284=";
+    })
+  ];
 
   nativeBuildInputs = [ gettext makeWrapper ];
   buildInputs = [ alsa-lib ncurses libsamplerate fftw ];
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index e1fcf832f315e..ecb34c373b74b 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo  = "bpftrace";
     rev   = "v${version}";
-    hash  = "sha256-+aU27mxK4R0SHSsdGQzv02fK0L/m9uCIv7AkLyLSGQY=";
+    hash  = "sha256-JyMogqyntSm2IDXzsOIjcUkf2YwG2oXKpqPpdx/eMNI=";
   };
 
 
diff --git a/pkgs/os-specific/linux/device-tree/default.nix b/pkgs/os-specific/linux/device-tree/default.nix
index fb8e92f233063..1a50d799b4b12 100644
--- a/pkgs/os-specific/linux/device-tree/default.nix
+++ b/pkgs/os-specific/linux/device-tree/default.nix
@@ -1,6 +1,29 @@
-{ lib, stdenvNoCC, dtc }:
+{ lib, stdenv, stdenvNoCC, dtc }:
 
 with lib; {
+  # Compile single Device Tree overlay source
+  # file (.dts) into its compiled variant (.dtb)
+  compileDTS = ({
+    name,
+    dtsFile,
+    includePaths ? [],
+    extraPreprocessorFlags ? []
+  }: stdenv.mkDerivation {
+    inherit name;
+
+    nativeBuildInputs = [ dtc ];
+
+    buildCommand =
+      let
+        includeFlagsStr = lib.concatMapStringsSep " " (includePath: "-I${includePath}") includePaths;
+        extraPreprocessorFlagsStr = lib.concatStringsSep " " extraPreprocessorFlags;
+      in
+      ''
+        $CC -E -nostdinc ${includeFlagsStr} -undef -D__DTS__ -x assembler-with-cpp ${extraPreprocessorFlagsStr} ${dtsFile} | \
+        dtc -I dts -O dtb -@ -o $out
+      '';
+  });
+
   applyOverlays = (base: overlays': stdenvNoCC.mkDerivation {
     name = "device-tree-overlays";
     nativeBuildInputs = [ dtc ];
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 78acb45bb3c76..c3bd0c64a4ba6 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -68,7 +68,7 @@ in stdenv.mkDerivation rec {
   ]
   # kni kernel driver is currently not compatble with 5.11
   ++ lib.optional (mod && kernel.kernelOlder "5.11") "-Ddisable_drivers=kni"
-  ++ lib.optional (!shared) "-Ddefault_library=static"
+  ++ [(if shared then "-Ddefault_library=shared" else "-Ddefault_library=static")]
   ++ lib.optional (machine != null) "-Dmachine=${machine}"
   ++ lib.optional mod "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}";
diff --git a/pkgs/os-specific/linux/esdm/default.nix b/pkgs/os-specific/linux/esdm/default.nix
index 42e20981872f9..150e3b95b4f13 100644
--- a/pkgs/os-specific/linux/esdm/default.nix
+++ b/pkgs/os-specific/linux/esdm/default.nix
@@ -9,67 +9,109 @@
 , ninja
 , libselinux
 , jitterentropy
-  # A more detailed explaination of the following meson build options can be found
-  # in the source code of esdm.
-  # A brief explanation is given:
+, botan3
+, openssl
+, libkcapi
+
+# A more detailed explaination of the following meson build options can be found
+# in the source code of esdm.
+# A brief explanation is given.
+
+# general options
 , selinux ? false # enable selinux support
 , drngHashDrbg ? true  # set the default drng callback
 , drngChaCha20 ? false # set the default drng callback
 , ais2031 ? false # set the seeding strategy to be compliant with AIS 20/31
+, sp80090c ? false # set compliance with NIST SP800-90C
+, cryptoBackend ? "botan" # set backend for hash and drbg operations
 , linuxDevFiles ? true # enable linux /dev/random and /dev/urandom support
 , linuxGetRandom ? true # enable linux getrandom support
-, esJitterRng ? true # enable support for the entropy source: jitter rng
+, hashSha512 ? false # set the conditioning hash: SHA2-512
+, hashSha3_512 ? true # set the conditioning hash: SHA3-512
+, openSSLRandProvider ? true # build ESDM provider for OpenSSL 3.x
+, botanRng ? true # build ESDM class for Botan 3.x
+
+# client-related options (handle with care, consult source code and meson options)
+# leave as is if in doubt
+, connectTimeoutExponent ? 28 # (1 << EXPONENT nanoseconds)
+, rxTxTimeoutExponent ? 28 # (1 << EXPONENT nanoseconds)
+, reconnectAttempts ? 10 # how often to attempt unix socket connection before giving up
+
+# entropy sources
+, esJitterRng ? true # enable support for the entropy source: jitter rng (running in user space)
+, esJitterRngEntropyRate ? 256 # amount of entropy to account for jitter rng source
+, esJitterRngKernel ? true # enable support for the entropy source: jitter rng (running in kernel space)
+, esJitterRngKernelEntropyRate ? 256 # amount of entropy to account for kernel jitter rng source
 , esCPU ? true # enable support for the entropy source: cpu-based entropy
+, esCPUEntropyRate ? 8 # amount of entropy to account for cpu rng source
 , esKernel ? true # enable support for the entropy source: kernel-based entropy
+, esKernelEntropyRate ? 128 # amount of entropy to account for kernel-based source
 , esIRQ ? false # enable support for the entropy source: interrupt-based entropy
+, esIRQEntropyRate ? 256 # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0)
 , esSched ? false # enable support for the entropy source: scheduler-based entropy
+, esSchedEntropyRate ? 0 # amount of entropy to account for interrupt-based source (only set irq XOR sched != 0)
 , esHwrand ? true # enable support for the entropy source: /dev/hwrng
-, hashSha512 ? false # set the conditioning hash: SHA2-512
-, hashSha3_512 ? true # set the conditioning hash: SHA3-512
+, esHwrandEntropyRate ? 128 # amount of entropy to account for /dev/hwrng-based sources
 }:
 
 assert drngHashDrbg != drngChaCha20;
 assert hashSha512 != hashSha3_512;
+assert cryptoBackend == "openssl" || cryptoBackend == "botan" || cryptoBackend == "builtin" "Unsupported ESDM crypto backend";
 
 stdenv.mkDerivation rec {
   pname = "esdm";
-  version = "0.6.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "smuellerDD";
     repo = "esdm";
     rev = "v${version}";
-    sha256 = "sha256-swBKVb5gnND76w2ULT+5hR/jVOqxEe4TAB1gyaLKE9Q=";
+    sha256 = "sha256-q6TGL1agltV9CFfcA6hZszVwGIBBngs22ZqhQgc9FeM=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "arm64.patch";
-      url = "https://github.com/smuellerDD/esdm/commit/86b93a0ddf684448aba152c8f1b3baf40a6d41c0.patch";
-      sha256 = "sha256-gjp13AEsDNj23fcGanAAn2KCbYKA0cphhf4mCxek9Yg=";
-    })
-  ];
-
   nativeBuildInputs = [ meson pkg-config ninja ];
-  buildInputs = [ protobufc fuse3 jitterentropy ]
-    ++ lib.optional selinux libselinux;
+  buildInputs = [ protobufc ]
+    ++ lib.optional (cryptoBackend == "botan" || botanRng) botan3
+    ++ lib.optional (cryptoBackend == "openssl" || openSSLRandProvider) openssl
+    ++ lib.optional selinux libselinux
+    ++ lib.optional esJitterRng jitterentropy
+    ++ lib.optional linuxDevFiles fuse3
+    ++ lib.optional esJitterRngKernel libkcapi;
 
   mesonFlags = [
     (lib.mesonBool "b_lto" false)
+    (lib.mesonBool "fips140" false)
     (lib.mesonBool "ais2031" ais2031)
+    (lib.mesonBool "sp80090c" sp80090c)
+    (lib.mesonEnable "node" true) # multiple DRNGs
+    (lib.mesonOption "threading_max_threads" (toString 64))
+    (lib.mesonOption "crypto_backend" cryptoBackend)
     (lib.mesonEnable "linux-devfiles" linuxDevFiles)
     (lib.mesonEnable "linux-getrandom" linuxGetRandom)
+    (lib.mesonOption "client-connect-timeout-exponent" (toString connectTimeoutExponent))
+    (lib.mesonOption "client-rx-tx-timeout-exponent" (toString rxTxTimeoutExponent))
+    (lib.mesonOption "client-reconnect-attempts" (toString reconnectAttempts))
     (lib.mesonEnable "es_jent" esJitterRng)
+    (lib.mesonOption "es_jent_entropy_rate" (toString esJitterRngEntropyRate))
+    (lib.mesonEnable "es_jent_kernel" esJitterRngKernel)
+    (lib.mesonOption "es_jent_kernel_entropy_rate" (toString esJitterRngKernelEntropyRate))
     (lib.mesonEnable "es_cpu" esCPU)
+    (lib.mesonOption "es_cpu_entropy_rate" (toString esCPUEntropyRate))
     (lib.mesonEnable "es_kernel" esKernel)
+    (lib.mesonOption "es_kernel_entropy_rate" (toString esKernelEntropyRate))
     (lib.mesonEnable "es_irq" esIRQ)
+    (lib.mesonOption "es_irq_entropy_rate" (toString esIRQEntropyRate))
     (lib.mesonEnable "es_sched" esSched)
+    (lib.mesonOption "es_sched_entropy_rate" (toString esSchedEntropyRate))
     (lib.mesonEnable "es_hwrand" esHwrand)
+    (lib.mesonOption "es_hwrand_entropy_rate" (toString esHwrandEntropyRate))
     (lib.mesonEnable "hash_sha512" hashSha512)
     (lib.mesonEnable "hash_sha3_512" hashSha3_512)
     (lib.mesonEnable "selinux" selinux)
     (lib.mesonEnable "drng_hash_drbg" drngHashDrbg)
     (lib.mesonEnable "drng_chacha20" drngChaCha20)
+    (lib.mesonEnable "openssl-rand-provider" openSSLRandProvider)
+    (lib.mesonEnable "botan-rng" botanRng)
   ];
 
   doCheck = true;
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
deleted file mode 100644
index 4d3c9e7852297..0000000000000
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, autoreconfHook
-, gperf
-, kmod
-, pkg-config
-, util-linux
-}:
-
-stdenv.mkDerivation rec {
-  pname = "eudev";
-  version = "3.2.12";
-
-  src = fetchFromGitHub {
-    owner = "eudev-project";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-x9l+W8zuFYwG0m9JOIDbEf1x6yeBW36HnJws/buc7HI=";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-    gperf
-    pkg-config
-  ];
-
-  buildInputs = [
-    kmod
-    util-linux
-  ];
-
-  configureFlags = [
-    "--localstatedir=/var"
-    "--sysconfdir=/etc"
-  ];
-
-  makeFlags = [
-    "hwdb_bin=/var/lib/udev/hwdb.bin"
-    "udevrulesdir=/etc/udev/rules.d"
-    ];
-
-  preInstall = ''
-    # Disable install-exec-hook target,
-    # as it conflicts with our move-sbin setup-hook
-
-    sed -i 's;$(MAKE) $(AM_MAKEFLAGS) install-exec-hook;$(MAKE) $(AM_MAKEFLAGS);g' src/udev/Makefile
-  '';
-
-  installFlags = [
-    "localstatedir=$(TMPDIR)/var"
-    "sysconfdir=$(out)/etc"
-    "udevconfdir=$(out)/etc/udev"
-    "udevhwdbbin=$(out)/var/lib/udev/hwdb.bin"
-    "udevhwdbdir=$(out)/var/lib/udev/hwdb.d"
-    "udevrulesdir=$(out)/var/lib/udev/rules.d"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/eudev-project/eudev";
-    description = "A fork of udev with the aim of isolating it from init";
-    license = licenses.gpl2Plus ;
-    maintainers = with maintainers; [ raskin AndersonTorres ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/eventstat/default.nix b/pkgs/os-specific/linux/eventstat/default.nix
index 88ac5add34a74..2c139cd3c865c 100644
--- a/pkgs/os-specific/linux/eventstat/default.nix
+++ b/pkgs/os-specific/linux/eventstat/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ColinIanKing/eventstat";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index c5c0ebb00021e..4e95ccea8dc11 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,5 +1,5 @@
 diff --git a/data/bios-settings.d/meson.build b/data/bios-settings.d/meson.build
-index b0ff5b10..13ac380d 100644
+index b0ff5b106..13ac380d0 100644
 --- a/data/bios-settings.d/meson.build
 +++ b/data/bios-settings.d/meson.build
 @@ -1,5 +1,5 @@
@@ -10,7 +10,7 @@ index b0ff5b10..13ac380d 100644
  )
  endif
 diff --git a/data/meson.build b/data/meson.build
-index 8999ee57..b57174dc 100644
+index e13da4adf..6858c240f 100644
 --- a/data/meson.build
 +++ b/data/meson.build
 @@ -26,7 +26,7 @@ endif
@@ -23,7 +23,7 @@ index 8999ee57..b57174dc 100644
    )
    plugin_quirks += files([
 diff --git a/data/pki/meson.build b/data/pki/meson.build
-index 3649fece..c3462744 100644
+index 3649fecea..c3462744b 100644
 --- a/data/pki/meson.build
 +++ b/data/pki/meson.build
 @@ -12,13 +12,13 @@ install_data([
@@ -57,7 +57,7 @@ index 3649fece..c3462744 100644
  )
  endif
 diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
-index c20a1a05..5354bac7 100644
+index c20a1a05e..5354bac7f 100644
 --- a/data/remotes.d/meson.build
 +++ b/data/remotes.d/meson.build
 @@ -15,14 +15,14 @@ if build_standalone and get_option('lvfs') != 'false'
@@ -93,10 +93,10 @@ index c20a1a05..5354bac7 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index fa7a5599..5b53a407 100644
+index ca6ccdf92..0a3097d90 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -191,6 +191,12 @@ endif
+@@ -195,6 +195,12 @@ endif
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
 
@@ -107,32 +107,24 @@ index fa7a5599..5b53a407 100644
 +endif
 +
  diffcmd = find_program('diff')
- gio = dependency('gio-2.0', version: '>= 2.45.8')
- giounix = dependency('gio-unix-2.0', version: '>= 2.45.8', required: false)
+ gio = dependency('gio-2.0', version: '>= 2.68.0')
+ giounix = dependency('gio-unix-2.0', version: '>= 2.68.0', required: false)
 
 diff --git a/meson_options.txt b/meson_options.txt
-index 81d373f8..d214cf64 100644
+index 877891126..986d0ee31 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
- option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type')
- option('consolekit', type : 'feature', description : 'ConsoleKit support', deprecated: {'true': 'enabled', 'false': 'disabled'})
- option('static_analysis', type : 'boolean', value : false, description : 'enable GCC static analysis support')
-diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
-index 88c039f8..62a7691f 100644
---- a/plugins/dell-esrt/meson.build
-+++ b/plugins/dell-esrt/meson.build
-@@ -27,6 +27,6 @@ configure_file(
-   output: 'dell-esrt.conf',
-   configuration: con2,
-   install: true,
--  install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
-+  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
- )
- endif
+@@ -1,3 +1,8 @@
++option('sysconfdir_install',
++  type: 'string',
++  value: '',
++  description: 'sysconfdir to use during installation'
++)
+ option('build',
+   type: 'combo',
+   choices: [
 diff --git a/plugins/uefi-capsule/meson.build b/plugins/uefi-capsule/meson.build
-index f4657a6a..28ca0653 100644
+index eb196c21e..c9a29f680 100644
 --- a/plugins/uefi-capsule/meson.build
 +++ b/plugins/uefi-capsule/meson.build
 @@ -20,7 +20,7 @@ if host_machine.system() == 'linux'
@@ -144,5 +136,3 @@ index f4657a6a..28ca0653 100644
    )
  elif host_machine.system() == 'freebsd'
    backend_srcs += 'fu-uefi-backend-freebsd.c'
---
-2.40.1
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 5472cce056564..3def168d2fa9d 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -124,7 +124,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "fwupd";
-  version = "1.9.5";
+  version = "1.9.6";
 
   # libfwupd goes to lib
   # daemon, plug-ins and libfwupdplugin go to out
@@ -135,7 +135,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "fwupd";
     repo = "fwupd";
     rev = finalAttrs.version;
-    hash = "sha256-dqbFgVgG2RQM5ZHIEIIJOmrjtwlaRXEyY+2OdDs4PGo=";
+    hash = "sha256-9mA6gETnOmmkI+cdF0kP1moPV6DDvASq1JXarupM/tU=";
   };
 
   patches = [
@@ -213,6 +213,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-Dplugin_dummy=true"
     # We are building the official releases.
     "-Dsupported_build=enabled"
+    "-Dlaunchd=disabled"
     "-Dudevdir=lib/udev"
     "-Dsystemd_root_prefix=${placeholder "out"}"
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
@@ -226,7 +227,6 @@ stdenv.mkDerivation (finalAttrs: {
   ] ++ lib.optionals (!enablePassim) [
     "-Dpassim=disabled"
   ] ++ lib.optionals (!haveDell) [
-    "-Dplugin_dell=disabled"
     "-Dplugin_synaptics_mst=disabled"
   ] ++ lib.optionals (!haveRedfish) [
     "-Dplugin_redfish=disabled"
@@ -350,8 +350,6 @@ stdenv.mkDerivation (finalAttrs: {
       "pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service"
       "pki/fwupd-metadata/LVFS-CA.pem"
       "grub.d/35_fwupd"
-    ] ++ lib.optionals haveDell [
-      "fwupd/remotes.d/dell-esrt.conf"
     ];
 
     # DisabledPlugins key in fwupd/daemon.conf
diff --git a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
index a914f56c66db7..2954f89e14c38 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
@@ -1,8 +1,8 @@
 diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build
-index be3d5c6d9..14d45dcaf 100644
+index dfce86b1c..5e34c4fa6 100644
 --- a/data/installed-tests/meson.build
 +++ b/data/installed-tests/meson.build
-@@ -83,5 +83,5 @@ configure_file(
+@@ -86,5 +86,5 @@ configure_file(
    output: 'fwupd-tests.conf',
    configuration: con2,
    install: true,
@@ -10,10 +10,10 @@ index be3d5c6d9..14d45dcaf 100644
 +  install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index 30011f548..7ac8c937a 100644
+index ca6ccdf92..36b1b47b0 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -186,8 +186,8 @@ else
+@@ -188,8 +188,8 @@ else
    datadir = join_paths(prefix, get_option('datadir'))
    sysconfdir = join_paths(prefix, get_option('sysconfdir'))
    localstatedir = join_paths(prefix, get_option('localstatedir'))
@@ -24,7 +24,7 @@ index 30011f548..7ac8c937a 100644
    daemon_dir = join_paths(libexecdir, 'fwupd')
  endif
  mandir = join_paths(prefix, get_option('mandir'))
-@@ -498,6 +498,7 @@ gnome = import('gnome')
+@@ -497,6 +497,7 @@ gnome = import('gnome')
  i18n = import('i18n')
  
  conf.set_quoted('FWUPD_PREFIX', prefix)
@@ -33,14 +33,17 @@ index 30011f548..7ac8c937a 100644
  conf.set_quoted('FWUPD_LIBDIR', libdir)
  conf.set_quoted('FWUPD_LIBEXECDIR', libexecdir)
 diff --git a/meson_options.txt b/meson_options.txt
-index 6fc7e8437..29832fd08 100644
+index 877891126..bfc5d1afd 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -57,6 +57,7 @@ option('systemd', type : 'feature', description : 'systemd support', deprecated:
- option('systemd_unit_user', type : 'string', description : 'User account to use for fwupd-refresh.service (empty for DynamicUser)')
- option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemd’s installation directories on')
- option('elogind', type : 'feature', description : 'elogind support', deprecated: {'true': 'enabled', 'false': 'disabled'})
-+option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
- option('tests', type : 'boolean', value : true, description : 'enable tests')
- option('soup_session_compat', type : 'boolean', value : true, description : 'enable SoupSession runtime compatibility support')
- option('curl', type : 'feature', description : 'libcurl support', deprecated: {'true': 'enabled', 'false': 'disabled'})
+@@ -452,6 +452,10 @@ option('elogind',
+     'false': 'disabled',
+   },
+ )
++option('installed_test_prefix',
++  type: 'string',
++  description: 'Prefix for installed tests'
++)
+ option('tests',
+   type: 'boolean',
+   value: true,
diff --git a/pkgs/os-specific/linux/iomelt/default.nix b/pkgs/os-specific/linux/iomelt/default.nix
index 860a7b446328b..0084a397d075d 100644
--- a/pkgs/os-specific/linux/iomelt/default.nix
+++ b/pkgs/os-specific/linux/iomelt/default.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
   meta = with lib; {
     description = "A simple yet effective way to benchmark disk IO in Linux systems";
     homepage    = "http://www.iomelt.com";
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     license = licenses.artistic2;
     platforms   = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/iotop-c/default.nix b/pkgs/os-specific/linux/iotop-c/default.nix
index 2917ace349fb2..016651deb4927 100644
--- a/pkgs/os-specific/linux/iotop-c/default.nix
+++ b/pkgs/os-specific/linux/iotop-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iotop-c";
-  version = "1.23";
+  version = "1.24";
 
   src = fetchFromGitHub {
     owner = "Tomas-M";
     repo = "iotop";
     rev = "v${version}";
-    sha256 = "sha256-4DTYtUltmZ+nkm4ZLac+6JbBW3z+qby7sP33LwEXtcQ=";
+    sha256 = "sha256-oSKNP/WY0Ivhj5LgyeerzZbleMcUn8ho0aqsiunqvyU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 6aa369e4eb4a3..8326ef1c4614e 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipset";
-  version = "7.17";
+  version = "7.19";
 
   src = fetchurl {
     url = "https://ipset.netfilter.org/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-vknJ/0id1mEMrWVB50PDOE6slunyRwfaezkp2PKsZNg=";
+    sha256 = "sha256-m8H7pI1leG4+C2Pca2aahmgj13hAxpkMDGsjB47CxNY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index c7893abad2138..a02bc358213ae 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,81 +2,71 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.325-hardened1.patch",
-            "sha256": "1mc1pyjjksg2f4189wyas55ax8czzhai2i3jc6n7l9jmfwj7xr9q",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.325-hardened1/linux-hardened-4.14.325-hardened1.patch"
+            "name": "linux-hardened-4.14.326-hardened1.patch",
+            "sha256": "08jq0v7i5aghynscvhv3v3sgqbd2yyn6daqc9qg9cw02lxmvnjzz",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.326-hardened1/linux-hardened-4.14.326-hardened1.patch"
         },
-        "sha256": "117p1mdha57f6d3kdwac9jrbmib7g77q4xhir8ghl6fmrs1f2sav",
-        "version": "4.14.325"
+        "sha256": "0y0lvzidw775mgx211wnc1c6223iqv8amz5y9jkz9h7l3l7y8p2m",
+        "version": "4.14.326"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.294-hardened1.patch",
-            "sha256": "1s70vz8rai1z440rmwzipwpq7wa7p2bvri43zmkbisrfggm1lz2r",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.294-hardened1/linux-hardened-4.19.294-hardened1.patch"
+            "name": "linux-hardened-4.19.295-hardened1.patch",
+            "sha256": "0jfsbg8b3h1swb46p4lnsc0b5z8b5j9jjy2fi8fy0762v4g7ps7c",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.295-hardened1/linux-hardened-4.19.295-hardened1.patch"
         },
-        "sha256": "03x0xsb8a369zdr81hg6xdl5n5v48k6iwnhj6r29725777lvvbfc",
-        "version": "4.19.294"
+        "sha256": "1b1qslpk1kka7nxam48s22xsqd9qmp716hmibgfsjxl5y3jc4cmp",
+        "version": "4.19.295"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.195-hardened1.patch",
-            "sha256": "15liin3i9wh7hwr97pyc8rl79ri7frsprssl50si9z810zvc9chb",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.195-hardened1/linux-hardened-5.10.195-hardened1.patch"
+            "name": "linux-hardened-5.10.197-hardened1.patch",
+            "sha256": "0h0yarjpc2syg2rdp7ipz0cr466mgm85ii8y5g0dbj9wkflrl54g",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.197-hardened1/linux-hardened-5.10.197-hardened1.patch"
         },
-        "sha256": "0n4vg2i9sq89wnz85arlyvwysh9s83cgzs5bk2wh98bivi5fwfs1",
-        "version": "5.10.195"
+        "sha256": "1awkm7lln5gf6kld9z5h4mg39bd778jsdswwlwb7iv7bn03lafhq",
+        "version": "5.10.197"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.132-hardened1.patch",
-            "sha256": "06wkcbhkdm8vnk1cqwngy9gdknqm4pb4za9lbh2q5j1f2nkcn7pq",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.132-hardened1/linux-hardened-5.15.132-hardened1.patch"
+            "name": "linux-hardened-5.15.134-hardened1.patch",
+            "sha256": "1q8vfffiwp3zwrjh7r8q4yn9hybswfl41kz4s97jckf90x84xj8d",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.134-hardened1/linux-hardened-5.15.134-hardened1.patch"
         },
-        "sha256": "1b0qjsaqjw2rk86shmmrj2aasblkn27acjmc761vnjg7sv2baxs1",
-        "version": "5.15.132"
+        "sha256": "1lxra3h8pq41hdr1acazwcqk6r8alv9p840ys19nivaprfp84wgk",
+        "version": "5.15.134"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.256-hardened1.patch",
-            "sha256": "1rsp30g5xry5y95mz0i6walkcxj6abyrsaq3fwhz0ka6nq6g7w82",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.256-hardened1/linux-hardened-5.4.256-hardened1.patch"
+            "name": "linux-hardened-5.4.257-hardened1.patch",
+            "sha256": "0kf0s69yl9xwnmjk312gphj9fsz1jxcfivwhg10hdvw3cfhjq2dn",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.257-hardened1/linux-hardened-5.4.257-hardened1.patch"
         },
-        "sha256": "0fim5q9xakwnjfg48bpsic9r2r8dvrjlalqqkm9vh1rml9mhi967",
-        "version": "5.4.256"
+        "sha256": "1w1x91slzg9ggakqhyxnmvz77v2cwfk8bz0knrpgz9qya9q5jxrf",
+        "version": "5.4.257"
     },
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.54-hardened1.patch",
-            "sha256": "0c8dmgciwc02pzhnx2mj5xlhds7mmicm8r6668di2zfw772rjgr4",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.54-hardened1/linux-hardened-6.1.54-hardened1.patch"
+            "name": "linux-hardened-6.1.56-hardened1.patch",
+            "sha256": "01j6qi94wr8bm1vnyw8108as94xiwa92vhh860b4gk71msz7carg",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.56-hardened1/linux-hardened-6.1.56-hardened1.patch"
         },
-        "sha256": "09sfrq2l8f777mx2n9mhb6bgz1064bl04921byqnmk87si31w653",
-        "version": "6.1.54"
-    },
-    "6.4": {
-        "patch": {
-            "extra": "-hardened1",
-            "name": "linux-hardened-6.4.16-hardened1.patch",
-            "sha256": "10lydnnhhq9ynng1gfaqh1mncsb0dmr27zzcbygs1xigy2bl70n9",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.16-hardened1/linux-hardened-6.4.16-hardened1.patch"
-        },
-        "sha256": "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln",
-        "version": "6.4.16"
+        "sha256": "1327in80nl0ghbjignjsdw0w5crj4d06d5fivj4q6af26bggvply",
+        "version": "6.1.56"
     },
     "6.5": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.5.4-hardened1.patch",
-            "sha256": "0r411dgp17am2bnfpk8lbzmymp6w9d5raz7hni0mw0kpcq6z996n",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.4-hardened1/linux-hardened-6.5.4-hardened1.patch"
+            "name": "linux-hardened-6.5.6-hardened1.patch",
+            "sha256": "12xvphbs2i9a262117lfxs9gz0ckfspdv74y5jjkjbmw5gx26fgg",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.6-hardened1/linux-hardened-6.5.6-hardened1.patch"
         },
-        "sha256": "0s8nzd8yaq06bq8byk7aakbk95gh0rhlif26h1biw94v48anrxxx",
-        "version": "6.5.4"
+        "sha256": "1xnjjm50ks18ifrp36md2p2xca4lw160y57j9p152w2l2i16vqvq",
+        "version": "6.5.6"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py
index 5d6a2eba966ac..ce54c29807589 100755
--- a/pkgs/os-specific/linux/kernel/hardened/update.py
+++ b/pkgs/os-specific/linux/kernel/hardened/update.py
@@ -193,21 +193,14 @@ with open(HARDENED_PATCHES_PATH) as patches_file:
 
 # Get the set of currently packaged kernel versions.
 kernel_versions = {}
-for filename in os.listdir(NIXPKGS_KERNEL_PATH):
-    filename_match = re.fullmatch(r"linux-(\d+)\.(\d+)\.nix", filename)
-    if filename_match:
-        nix_version_expr = f"""
-            with import {NIXPKGS_PATH} {{}};
-            (callPackage {NIXPKGS_KERNEL_PATH / filename} {{}}).version
-        """
-        kernel_version_json = run(
-            "nix-instantiate", "--eval", "--system", "x86_64-linux", "--json", "--expr", nix_version_expr,
-        ).stdout
-        kernel_version = parse_version(json.loads(kernel_version_json))
-        if kernel_version < MIN_KERNEL_VERSION:
-            continue
-        kernel_key = major_kernel_version_key(kernel_version)
-        kernel_versions[kernel_key] = kernel_version
+with open(NIXPKGS_KERNEL_PATH / "kernels-org.json") as kernel_versions_json:
+    kernel_versions = json.load(kernel_versions_json)
+    for kernel_branch_str in kernel_versions:
+        if kernel_branch_str == "testing": continue
+        kernel_branch = [int(i) for i in kernel_branch_str.split(".")]
+        if kernel_branch < MIN_KERNEL_VERSION: continue
+        kernel_version = [int(i) for i in kernel_versions[kernel_branch_str]["version"].split(".")]
+        kernel_versions[kernel_branch_str] = kernel_version
 
 # Remove patches for unpackaged kernel versions.
 for kernel_key in sorted(patches.keys() - kernel_versions.keys()):
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index e491c7fd6a4eb..31f3908dab631 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,38 +1,38 @@
 {
     "testing": {
-        "version": "6.6-rc4",
-        "hash": "sha256:0r7cfigh7rcrnzpdi40s6jnzhjgiamb6prixl4n2x8489n6zxfr9"
+        "version": "6.6-rc5",
+        "hash": "sha256:19hnqly7ins0ycirjwrp3g0am43h2i62qfd1y81yhiy1dpyhbbc9"
     },
     "6.5": {
-        "version": "6.5.5",
-        "hash": "sha256:15gg8sb6cfgk1afwj7fl7mj4nkj14w43vzwvw0qsg3nzyxwh7wcc"
+        "version": "6.5.7",
+        "hash": "sha256:135v3y2vgc83dca4xi7q52wqi4dkfal74k1y73jwzj85h12fl28d"
     },
     "6.4": {
         "version": "6.4.16",
         "hash": "sha256:0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln"
     },
     "6.1": {
-        "version": "6.1.55",
-        "hash": "sha256:1h0mzx52q9pvdv7rhnvb8g68i7bnlc9rf8gy9qn4alsxq4g28zm8"
+        "version": "6.1.57",
+        "hash": "sha256:1ccidrxswblxw9yaa45y6ds16pc7647f6fz36xxxhljivhyzxszr"
     },
     "5.15": {
-        "version": "5.15.133",
-        "hash": "sha256:1paxzzcagc7s8i491zjny43rxhfamafyly438kj8hyw96iwmx17g"
+        "version": "5.15.135",
+        "hash": "sha256:0w3i8jvzqvfnlarcvg89k1144ln96fszv16lzrn16zr3kri5x0ql"
     },
     "5.10": {
-        "version": "5.10.197",
-        "hash": "sha256:1awkm7lln5gf6kld9z5h4mg39bd778jsdswwlwb7iv7bn03lafhq"
+        "version": "5.10.198",
+        "hash": "sha256:01gsw96anw44nh8ii3zipp6vh61m1n8yf0bv2fzznr23k771y51b"
     },
     "5.4": {
-        "version": "5.4.257",
-        "hash": "sha256:1w1x91slzg9ggakqhyxnmvz77v2cwfk8bz0knrpgz9qya9q5jxrf"
+        "version": "5.4.258",
+        "hash": "sha256:0gk2xav1ng565l1qsqlr8ja6m4j5g8rfj66vad1fmdd1lwaihw1r"
     },
     "4.19": {
-        "version": "4.19.295",
-        "hash": "sha256:1b1qslpk1kka7nxam48s22xsqd9qmp716hmibgfsjxl5y3jc4cmp"
+        "version": "4.19.296",
+        "hash": "sha256:1bk051canr4fb00j6x9ff2wam2f20whw4h4z767x2cn2kmv6cqb3"
     },
     "4.14": {
-        "version": "4.14.326",
-        "hash": "sha256:0y0lvzidw775mgx211wnc1c6223iqv8amz5y9jkz9h7l3l7y8p2m"
+        "version": "4.14.327",
+        "hash": "sha256:0nharfyxlr17yan86zrhlbq7idm0g3zvvvmy2zbw7m9dhgc8bw5z"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 7c3084d7ebdb5..d5b67b5efbe3c 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -117,7 +117,8 @@ let
           });
 
       postPatch = ''
-        sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
+        # Ensure that depmod gets resolved through PATH
+        sed -i Makefile -e 's|= /sbin/depmod|= depmod|'
 
         # fixup for pre-5.4 kernels using the $(cd $foo && /bin/pwd) pattern
         # FIXME: remove when no longer needed
@@ -332,9 +333,6 @@ let
 
         # Delete empty directories
         find -empty -type d -delete
-
-        # Remove reference to kmod
-        sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
       '';
 
       requiredSystemFeatures = [ "big-parallel" ];
@@ -370,13 +368,12 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat
   enableParallelBuilding = true;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr zstd python3Minimal ]
+  nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr zstd python3Minimal kmod ]
       ++ optional  (stdenv.hostPlatform.linux-kernel.target == "uImage") buildPackages.ubootTools
       ++ optional  (lib.versionOlder version "5.8") libelf
       ++ optionals (lib.versionAtLeast version "4.16") [ bison flex ]
       ++ optionals (lib.versionAtLeast version "5.2")  [ cpio pahole zlib ]
       ++ optional  (lib.versionAtLeast version "5.8")  elfutils
-      ++ optional  (lib.versionAtLeast version "6.6")  kmod
       ;
 
   hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" "pie" ];
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 2006b8f1e6d72..23b7e46010c32 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.5.5"; #zen
+    version = "6.5.7"; #zen
     suffix = "zen1"; #zen
-    sha256 = "069hxkww14dpz7k5hd93qnv6clc0dkpd3ncf1wzr5k84a0i9syj8"; #zen
+    sha256 = "1pg4r0k1xpc7x910rsammxsbly9pv52y54vj5rx2fljf8pnx20xy"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.5.5"; #lqx
-    suffix = "lqx2"; #lqx
-    sha256 = "18gji7l3mgm8z0vi99q5xzrmpmw7jm1sqm2mc6abs51bi5vwir09"; #lqx
+    version = "6.5.6"; #lqx
+    suffix = "lqx1"; #lqx
+    sha256 = "0c409zh6rlrf8c3lr1ci55h0k6lh6ncc4hfv6p50q321czpgfnc6"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
@@ -102,7 +102,7 @@ let
 
     extraMeta = {
       branch = lib.versions.majorMinor version + "/master";
-      maintainers = with lib.maintainers; [ thiagokokada ];
+      maintainers = with lib.maintainers; [ thiagokokada jerrysm64 ];
       description = "Built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads." +
         lib.optionalString isLqx " (Same as linux_zen, but less aggressive release schedule and additional extra config)";
       broken = stdenv.isAarch64;
diff --git a/pkgs/os-specific/linux/libpsm2/default.nix b/pkgs/os-specific/linux/libpsm2/default.nix
index 683448cbe41b6..0dab09de4c1ca 100644
--- a/pkgs/os-specific/linux/libpsm2/default.nix
+++ b/pkgs/os-specific/linux/libpsm2/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libpsm2";
-  version = "11.2.230";
+  version = "12.0.1";
 
   preConfigure= ''
     export UDEVDIR=$out/etc/udev
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "opa-psm2";
     rev = "PSM2_${version}";
-    sha256 = "sha256-dMfGq067TqstGAWNSZZaZCwvChTyPUsvaPVjFGGzp64=";
+    sha256 = "sha256-MzocxY+X2a5rJvTo+gFU0U10YzzazR1IxzgEporJyhI=";
   };
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix
index 9a56249de39af..50fc74d7fa0a0 100644
--- a/pkgs/os-specific/linux/mbpfan/default.nix
+++ b/pkgs/os-specific/linux/mbpfan/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dgraziotin/mbpfan";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix
index dea5ad9f017fe..35c4da7acf939 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/default.nix
@@ -4,15 +4,14 @@
 , fetchurl
 , bootBash
 , gnumake
+, gnupatch
 , gnused
 , gnugrep
 , gnutar
 , gawk
 , gzip
-, gcc
-, glibc
-, binutils
-, linux-headers
+, diffutils
+, tinycc
 , derivationWithMeta
 , bash
 , coreutils
@@ -25,19 +24,26 @@ let
     url = "mirror://gnu/bash/bash-${version}.tar.gz";
     sha256 = "132qng0jy600mv1fs95ylnlisx2wavkkgpb19c6kmz7lnmjhjwhk";
   };
+
+  patches = [
+    # flush output for generated code
+    ./mksignames-flush.patch
+  ];
 in
 bootBash.runCommand "${pname}-${version}" {
   inherit pname version;
 
   nativeBuildInputs = [
-    gcc
-    binutils
+    coreutils
+    tinycc.compiler
     gnumake
+    gnupatch
     gnused
     gnugrep
     gnutar
     gawk
     gzip
+    diffutils
   ];
 
   passthru.runCommand = name: env: buildCommand:
@@ -78,22 +84,23 @@ bootBash.runCommand "${pname}-${version}" {
   tar xzf ${src}
   cd bash-${version}
 
+  # Patch
+  ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
+
   # Configure
-  export CC="gcc -I${glibc}/include -I${linux-headers}/include"
-  export LIBRARY_PATH="${glibc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
-  export ac_cv_func_dlopen=no
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export AR="tcc -ar"
+  export LD=tcc
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config} \
-    --disable-nls \
-    --disable-net-redirections
+    --without-bash-malloc
 
   # Build
-  make SHELL=bash
+  make -j $NIX_BUILD_CORES SHELL=bash
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
   ln -s bash $out/bin/sh
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bash/mksignames-flush.patch b/pkgs/os-specific/linux/minimal-bootstrap/bash/mksignames-flush.patch
new file mode 100644
index 0000000000000..6e64dfa7fa3a7
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/bash/mksignames-flush.patch
@@ -0,0 +1,10 @@
+--- a/support/mksignames.c
++++ b/support/mksignames.c
+@@ -68,6 +68,7 @@ write_signames (stream)
+   fprintf (stream, "};\n\n");
+   fprintf (stream, "#define initialize_signames()\n\n");
+ #endif
++  fflush(stream);
+ }
+ 
+ int
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix
index f386ebbaf8e93..71e391efb5501 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/binutils/default.nix
@@ -3,35 +3,29 @@
 , hostPlatform
 , fetchurl
 , bash
+, coreutils
 , gnumake
 , gnupatch
+, gnused
 , gnugrep
-, gnutar
 , gawk
-, bzip2
-, sed
-, mesBootstrap ? false, tinycc ? null
-, gcc ? null, glibc ? null, binutils ? null, linux-headers
+, diffutils
+, gnutar
+, xz
+, tinycc
 }:
-assert mesBootstrap -> tinycc != null;
-assert !mesBootstrap -> gcc != null && glibc != null && binutils != null;
+
 let
-  pname = "binutils" + lib.optionalString mesBootstrap "-mes";
-  version = "2.20.1";
-  rev = "a";
+  # Based on https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a1-static-binutils.nix
+  pname = "binutils";
+  version = "2.41";
 
   src = fetchurl {
-    url = "mirror://gnu/binutils/binutils-${version}${rev}.tar.bz2";
-    sha256 = "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi";
+    url = "mirror://gnu/binutils/binutils-${version}.tar.xz";
+    hash = "sha256-rppXieI0WeWWBuZxRyPy0//DHAMXQZHvDQFb3wYAdFA=";
   };
 
   patches = [
-    # Enables building binutils using TCC and Mes C Library
-    (fetchurl {
-      url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/binutils-boot-2.20.1a.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
-      sha256 = "086sf6an2k56axvs4jlky5n3hs2l3rq8zq5d37h0b69cdyh7igpn";
-    })
-
     # Make binutils output deterministic by default.
     ./deterministic.patch
   ];
@@ -40,10 +34,10 @@ let
     "--prefix=${placeholder "out"}"
     "--build=${buildPlatform.config}"
     "--host=${hostPlatform.config}"
-    "--disable-nls"
-    "--disable-shared"
-    "--disable-werror"
     "--with-sysroot=/"
+    "--enable-deterministic-archives"
+    # depends on bison
+    "--disable-gprofng"
 
     # Turn on --enable-new-dtags by default to make the linker set
     # RUNPATH instead of RPATH on binaries.  This is important because
@@ -60,15 +54,16 @@ bash.runCommand "${pname}-${version}" {
   inherit pname version;
 
   nativeBuildInputs = [
-    (if mesBootstrap then tinycc.compiler else gcc)
+    tinycc.compiler
     gnumake
     gnupatch
+    gnused
     gnugrep
-    gnutar
     gawk
-    bzip2
-    sed
-  ] ++ lib.optional (!mesBootstrap) binutils;
+    diffutils
+    gnutar
+    xz
+  ];
 
   passthru.tests.get-version = result:
     bash.runCommand "${pname}-get-version-${version}" {} ''
@@ -85,32 +80,35 @@ bash.runCommand "${pname}-${version}" {
   };
 } ''
   # Unpack
-  cp ${src} binutils.tar.bz2
-  bunzip2 binutils.tar.bz2
+  cp ${src} binutils.tar.xz
+  unxz binutils.tar.xz
   tar xf binutils.tar
   rm binutils.tar
   cd binutils-${version}
 
   # Patch
   ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
+  sed -i 's|/bin/sh|${bash}/bin/bash|' \
+    missing install-sh mkinstalldirs
+  # see libtool's 74c8993c178a1386ea5e2363a01d919738402f30
+  sed -i 's/| \$NL2SP/| sort | $NL2SP/' ltmain.sh
+  # alias makeinfo to true
+  mkdir aliases
+  ln -s ${coreutils}/bin/true aliases/makeinfo
+  export PATH="$(pwd)/aliases/:$PATH"
 
   # Configure
-  ${if mesBootstrap then ''
-    export CC="tcc -B ${tinycc.libs}/lib -D __GLIBC_MINOR__=6 -D MES_BOOTSTRAP=1"
-    export AR="tcc -ar"
-  '' else ''
-    export CC="gcc -B ${glibc}/lib -I${glibc}/include -I${linux-headers}/include"
-    export CPP="gcc -E -I${glibc}/include -I${linux-headers}/include"
-    export AR="ar"
-    export LIBRARY_PATH="${glibc}/lib"
-    export LIBS="-lc -lnss_files -lnss_dns -lresolv"
-  ''}
-  export SED=sed
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export AR="tcc -ar"
+  export lt_cv_sys_max_cmd_len=32768
+  export CFLAGS="-D__LITTLE_ENDIAN__=1"
   bash ./configure ${lib.concatStringsSep " " configureFlags}
 
   # Build
-  make
+  make -j $NIX_BUILD_CORES all-libiberty all-gas all-bfd all-libctf all-zlib all-gprof
+  make all-ld # race condition on ld/.deps/ldwrite.Po, serialize
+  make -j $NIX_BUILD_CORES
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix
index 84fb7a0a1b733..05da061ac263d 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/bzip2/default.nix
@@ -3,7 +3,7 @@
 , bash
 , tinycc
 , gnumake
-, gnupatch
+, gnutar
 , gzip
 }:
 let
@@ -14,16 +14,6 @@ let
     url = "https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz";
     sha256 = "0s92986cv0p692icqlw1j42y9nld8zd83qwhzbqd61p1dqbh6nmb";
   };
-
-  patches = [
-    # mes libc has no time support, so we remove that.
-    # It also does not have fch{own,mod}, which we don't care about in the bootstrap
-    # anyway, so we can null-op those calls.
-    (fetchurl {
-      url = "https://github.com/fosslinux/live-bootstrap/raw/87e9d7db9d22b400d1c05247254ac39ee2577e80/sysa/bzip2-1.0.8/patches/mes-libc.patch";
-      sha256 = "14dciwib28h413skzfkh7samzh8x87dmwhldyxxphff04pvl1j3c";
-    })
-  ];
 in
 bash.runCommand "${pname}-${version}" {
   inherit pname version;
@@ -31,13 +21,13 @@ bash.runCommand "${pname}-${version}" {
   nativeBuildInputs = [
     tinycc.compiler
     gnumake
-    gnupatch
+    gnutar
     gzip
   ];
 
   passthru.tests.get-version = result:
     bash.runCommand "${pname}-get-version-${version}" {} ''
-      ${result}/bin/bzip2 --version --help
+      ${result}/bin/bzip2 --help
       mkdir $out
     '';
 
@@ -50,21 +40,16 @@ bash.runCommand "${pname}-${version}" {
   };
 } ''
   # Unpack
-  cp ${src} bzip2.tar.gz
-  gunzip bzip2.tar.gz
-  untar --file bzip2.tar
-  rm bzip2.tar
+  tar xzf ${src}
   cd bzip2-${version}
 
-  # Patch
-  ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches}
-
   # Build
   make \
-    CC="tcc -B ${tinycc.libs}/lib -I ." \
+    -j $NIX_BUILD_CORES \
+    CC="tcc -B ${tinycc.libs}/lib" \
     AR="tcc -ar" \
     bzip2 bzip2recover
 
   # Install
-  make install PREFIX=$out
+  make install -j $NIX_BUILD_CORES PREFIX=$out
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix
new file mode 100644
index 0000000000000..dece020a5e795
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/coreutils/musl.nix
@@ -0,0 +1,74 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, tinycc
+, gnumake
+, gnugrep
+, gnused
+, gawk
+, gnutar
+, gzip
+}:
+let
+  pname = "coreutils";
+  version = "9.4";
+
+  src = fetchurl {
+    url = "mirror://gnu/coreutils/coreutils-${version}.tar.gz";
+    hash = "sha256-X2ANkJOXOwr+JTk9m8GMRPIjJlf0yg2V6jHHAutmtzk=";
+  };
+
+  configureFlags = [
+    "--prefix=${placeholder "out"}"
+    "--build=${buildPlatform.config}"
+    "--host=${hostPlatform.config}"
+    # musl 1.1.x doesn't use 64bit time_t
+    "--disable-year2038"
+    # libstdbuf.so fails in static builds
+    "--enable-no-install-program=stdbuf"
+  ];
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    tinycc.compiler
+    gnumake
+    gnused
+    gnugrep
+    gawk
+    gnutar
+    gzip
+  ];
+
+  passthru.tests.get-version = result:
+    bash.runCommand "${pname}-get-version-${version}" {} ''
+      ${result}/bin/cat --version
+      mkdir $out
+    '';
+
+  meta = with lib; {
+    description = "The GNU Core Utilities";
+    homepage = "https://www.gnu.org/software/coreutils";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xzf ${src}
+  cd coreutils-${version}
+
+  # Configure
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export LD=tcc
+  bash ./configure ${lib.concatStringsSep " " configureFlags}
+
+  # Build
+  make -j $NIX_BUILD_CORES AR="tcc -ar" MAKEINFO="true"
+
+  # Install
+  make -j $NIX_BUILD_CORES install MAKEINFO="true"
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/default.nix
index 44cf8bfdb7b8d..11b7f5b11a6f5 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/default.nix
@@ -17,46 +17,46 @@ lib.makeScope
 
     bash = callPackage ./bash {
       bootBash = bash_2_05;
-      gcc = gcc2;
-      glibc = glibc22;
-      gawk = gawk-mes;
+      tinycc = tinycc-musl;
+      coreutils = coreutils-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     binutils = callPackage ./binutils {
       bash = bash_2_05;
-      gcc = gcc2;
-      binutils = binutils-mes;
-      glibc = glibc22;
-      sed = heirloom.sed;
-      gawk = gawk-mes;
-    };
-    binutils-mes = callPackage ./binutils {
-      bash = bash_2_05;
-      tinycc = tinycc-mes;
-      sed = heirloom.sed;
-      gawk = gawk-mes;
-      mesBootstrap = true;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     bzip2 = callPackage ./bzip2 {
       bash = bash_2_05;
-      tinycc = tinycc-mes;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     coreutils = callPackage ./coreutils { tinycc = tinycc-mes; };
+    coreutils-musl = callPackage ./coreutils/musl.nix {
+      bash = bash_2_05;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
+    };
 
     diffutils = callPackage ./diffutils {
       bash = bash_2_05;
-      gcc = gcc2;
-      glibc = glibc22;
-      gawk = gawk-mes;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     findutils = callPackage ./findutils {
       bash = bash_2_05;
-      gcc = gcc2;
-      glibc = glibc22;
-      gawk = gawk-mes;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     gawk-mes = callPackage ./gawk/mes.nix {
@@ -67,35 +67,42 @@ lib.makeScope
 
     gawk = callPackage ./gawk {
       bash = bash_2_05;
-      gcc = gcc2;
-      glibc = glibc22;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
       bootGawk = gawk-mes;
     };
 
-    gcc2 = callPackage ./gcc/2.nix {
-      bash = bash_2_05;
-      gcc = gcc2-mes;
-      binutils = binutils-mes;
-      glibc = glibc22;
+    gcc46 = callPackage ./gcc/4.6.nix {
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
+      # FIXME: not sure why new gawk doesn't work
+      gawk = gawk-mes;
     };
-    gcc2-mes = callPackage ./gcc/2.nix {
-      bash = bash_2_05;
-      tinycc = tinycc-mes;
-      binutils = binutils-mes;
-      mesBootstrap = true;
+    gcc46-cxx = callPackage ./gcc/4.6.cxx.nix {
+      gcc = gcc46;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
+      # FIXME: not sure why new gawk doesn't work
+      gawk = gawk-mes;
     };
 
-    gcc46 = callPackage ./gcc/4.6.nix {
-      gcc = gcc2;
-      glibc = glibc22;
+    gcc8 = callPackage ./gcc/8.nix {
+      gcc = gcc46-cxx;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-latest;
+      # FIXME: not sure why new gawk doesn't work
       gawk = gawk-mes;
     };
 
-    inherit (callPackage ./glibc {
-      bash = bash_2_05;
-      gnused = gnused-mes;
+    gcc-latest = callPackage ./gcc/latest.nix {
+      gcc = gcc8;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-latest;
+      # FIXME: not sure why new gawk doesn't work
       gawk = gawk-mes;
-    }) glibc22;
+    };
 
     gnugrep = callPackage ./gnugrep {
       bash = bash_2_05;
@@ -104,26 +111,44 @@ lib.makeScope
 
     gnumake = callPackage ./gnumake { tinycc = tinycc-mes; };
 
+    gnumake-musl = callPackage ./gnumake/musl.nix {
+      bash = bash_2_05;
+      tinycc = tinycc-musl;
+      gawk = gawk-mes;
+      gnumakeBoot = gnumake;
+    };
+
     gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; };
 
     gnused = callPackage ./gnused {
       bash = bash_2_05;
-      gcc = gcc2;
-      glibc = glibc22;
+      tinycc = tinycc-musl;
       gnused = gnused-mes;
     };
-    gnused-mes = callPackage ./gnused {
+    gnused-mes = callPackage ./gnused/mes.nix {
       bash = bash_2_05;
       tinycc = tinycc-mes;
-      mesBootstrap = true;
     };
 
-    gnutar = callPackage ./gnutar {
+    gnutar = callPackage ./gnutar/mes.nix {
       bash = bash_2_05;
       tinycc = tinycc-mes;
       gnused = gnused-mes;
     };
 
+    gnutar-musl = callPackage ./gnutar/musl.nix {
+      bash = bash_2_05;
+      tinycc = tinycc-musl;
+      gnused = gnused-mes;
+    };
+
+    # FIXME: better package naming scheme
+    gnutar-latest = callPackage ./gnutar/latest.nix {
+      gcc = gcc46;
+      gnumake = gnumake-musl;
+      gnutarBoot = gnutar-musl;
+    };
+
     gzip = callPackage ./gzip {
       bash = bash_2_05;
       tinycc = tinycc-mes;
@@ -152,6 +177,7 @@ lib.makeScope
 
     musl = callPackage ./musl {
       gcc = gcc46;
+      gnumake = gnumake-musl;
     };
 
     stage0-posix = callPackage ./stage0-posix { };
@@ -167,9 +193,9 @@ lib.makeScope
 
     xz = callPackage ./xz {
       bash = bash_2_05;
-      tinycc = tinycc-mes;
-      gawk = gawk-mes;
-      inherit (heirloom) sed;
+      tinycc = tinycc-musl;
+      gnumake = gnumake-musl;
+      gnutar = gnutar-musl;
     };
 
     inherit (callPackage ./utils.nix { }) derivationWithMeta writeTextFile writeText;
@@ -178,19 +204,22 @@ lib.makeScope
       echo ${bash.tests.get-version}
       echo ${bash_2_05.tests.get-version}
       echo ${binutils.tests.get-version}
-      echo ${binutils-mes.tests.get-version}
       echo ${bzip2.tests.get-version}
+      echo ${coreutils-musl.tests.get-version}
       echo ${diffutils.tests.get-version}
       echo ${findutils.tests.get-version}
       echo ${gawk-mes.tests.get-version}
       echo ${gawk.tests.get-version}
-      echo ${gcc2.tests.get-version}
-      echo ${gcc2-mes.tests.get-version}
       echo ${gcc46.tests.get-version}
+      echo ${gcc46-cxx.tests.hello-world}
+      echo ${gcc8.tests.hello-world}
+      echo ${gcc-latest.tests.hello-world}
       echo ${gnugrep.tests.get-version}
       echo ${gnused.tests.get-version}
       echo ${gnused-mes.tests.get-version}
       echo ${gnutar.tests.get-version}
+      echo ${gnutar-musl.tests.get-version}
+      echo ${gnutar-latest.tests.get-version}
       echo ${gzip.tests.get-version}
       echo ${heirloom.tests.get-version}
       echo ${mes.compiler.tests.get-version}
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix
index 7545a52524a30..24cd643b34972 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/diffutils/default.nix
@@ -3,38 +3,35 @@
 , hostPlatform
 , fetchurl
 , bash
-, gcc
-, glibc
-, binutils
-, linux-headers
+, tinycc
 , gnumake
 , gnugrep
 , gnused
 , gawk
 , gnutar
-, gzip
+, xz
 }:
 let
   pname = "diffutils";
-  version = "2.8.1";
+  # last version that can be built by tinycc-musl 0.9.27
+  version = "3.8";
 
   src = fetchurl {
-    url = "mirror://gnu/diffutils/diffutils-${version}.tar.gz";
-    sha256 = "0nizs9r76aiymzasmj1jngl7s71jfzl9xfziigcls8k9n141f065";
+    url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
+    hash = "sha256-pr3X0bMSZtEcT03mwbdI1GB6sCMa9RiPwlM9CuJDj+w=";
   };
 in
 bash.runCommand "${pname}-${version}" {
   inherit pname version;
 
   nativeBuildInputs = [
-    gcc
-    binutils
+    tinycc.compiler
     gnumake
     gnused
     gnugrep
     gawk
     gnutar
-    gzip
+    xz
   ];
 
   passthru.tests.get-version = result:
@@ -52,21 +49,23 @@ bash.runCommand "${pname}-${version}" {
   };
 } ''
   # Unpack
-  tar xzf ${src}
+  cp ${src} diffutils.tar.xz
+  unxz diffutils.tar.xz
+  tar xf diffutils.tar
+  rm diffutils.tar
   cd diffutils-${version}
 
   # Configure
-  export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
-  export LIBRARY_PATH="${glibc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export LD=tcc
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config}
 
   # Build
-  make
+  make -j $NIX_BUILD_CORES AR="tcc -ar"
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix
index cf26abd213830..97418d218fb92 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/findutils/default.nix
@@ -3,38 +3,34 @@
 , hostPlatform
 , fetchurl
 , bash
-, gcc
-, glibc
-, binutils
-, linux-headers
+, tinycc
 , gnumake
 , gnugrep
 , gnused
 , gawk
 , gnutar
-, gzip
+, xz
 }:
 let
   pname = "findutils";
-  version = "4.4.2";
+  version = "4.9.0";
 
   src = fetchurl {
-    url = "mirror://gnu/findutils/findutils-${version}.tar.gz";
-    sha256 = "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3";
+    url = "mirror://gnu/findutils/findutils-${version}.tar.xz";
+    hash = "sha256-or+4wJ1DZ3DtxZ9Q+kg+eFsWGjt7nVR1c8sIBl/UYv4=";
   };
 in
 bash.runCommand "${pname}-${version}" {
   inherit pname version;
 
   nativeBuildInputs = [
-    gcc
-    binutils
+    tinycc.compiler
     gnumake
     gnused
     gnugrep
     gawk
     gnutar
-    gzip
+    xz
   ];
 
   passthru.tests.get-version = result:
@@ -52,21 +48,28 @@ bash.runCommand "${pname}-${version}" {
   };
 } ''
   # Unpack
-  tar xzf ${src}
+  cp ${src} findutils.tar.xz
+  unxz findutils.tar.xz
+  tar xf findutils.tar
+  rm findutils.tar
   cd findutils-${version}
 
+  # Patch
+  # configure fails to accurately detect PATH_MAX support
+  sed -i 's/chdir_long/chdir/' gl/lib/save-cwd.c
+
   # Configure
-  export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
-  export LIBRARY_PATH="${glibc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export AR="tcc -ar"
+  export LD=tcc
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config}
 
   # Build
-  make
+  make -j $NIX_BUILD_CORES
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix
index 935414f21760a..879b98bf00c54 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gawk/default.nix
@@ -3,10 +3,7 @@
 , hostPlatform
 , fetchurl
 , bash
-, gcc
-, glibc
-, binutils
-, linux-headers
+, tinycc
 , gnumake
 , gnugrep
 , gnused
@@ -17,21 +14,18 @@
 let
   inherit (import ./common.nix { inherit lib; }) meta;
   pname = "gawk";
-  # >= 4.2.0 fails to cleanly build. may be worth investigating in the future.
-  # for now this version is sufficient to build glibc 2.16
-  version = "4.1.4";
+  version = "5.2.2";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/gawk-${version}.tar.gz";
-    sha256 = "0dadjkpyyizmyd0l098qps8lb39r0vrz3xl3hwz2cmjs5c70h0wc";
+    hash = "sha256-lFrvfM/xAfILIqEIArwAXplKsrjqPnJMwaGXxi9B9lA=";
   };
 in
 bash.runCommand "${pname}-${version}" {
   inherit pname version meta;
 
   nativeBuildInputs = [
-    gcc
-    binutils
+    tinycc.compiler
     gnumake
     gnused
     gnugrep
@@ -51,18 +45,17 @@ bash.runCommand "${pname}-${version}" {
   cd gawk-${version}
 
   # Configure
-  export C_INCLUDE_PATH="${glibc}/include:${linux-headers}/include"
-  export LIBRARY_PATH="${glibc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export AR="tcc -ar"
+  export LD=tcc
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config}
 
   # Build
-  make gawk
+  make -j $NIX_BUILD_CORES
 
   # Install
-  install -D gawk $out/bin/gawk
-  ln -s gawk $out/bin/awk
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/2.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/2.nix
deleted file mode 100644
index c879fd30aaf69..0000000000000
--- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/2.nix
+++ /dev/null
@@ -1,140 +0,0 @@
-{ lib
-, buildPlatform
-, hostPlatform
-, fetchurl
-, bash
-, gnumake
-, gnupatch
-, gnugrep
-, gnutar
-, gzip
-, heirloom
-, binutils
-, mesBootstrap ? false, tinycc ? null, mes-libc
-, gcc ? null, glibc ? null, linux-headers
-}:
-assert mesBootstrap -> tinycc != null;
-assert !mesBootstrap -> gcc != null && glibc != null;
-let
-  # Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C
-  # Library v0.16 offers.  Gcc-3.x (and 4.x) place higher demands on a C
-  # library, such as dir.h/struct DIR/readdir, locales, signals...  Also,
-  # with gcc-2.95.3, binutils (2.14.0, 2.20.1a) and glibc-2.2.5 we found a
-  # GNU toolchain triplet "that works".
-  #   - from guix/gnu/packages/commencement.scm
-  pname = "gcc" + lib.optionalString mesBootstrap "-mes";
-  version = "2.95.3";
-
-  src = fetchurl {
-    url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.gz";
-    sha256 = "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an";
-  };
-
-  patches = [
-    # This patch enables building gcc-2.95.3 using TCC and Mes C Library.
-    #   * Disable building DOC
-    #   * Avoid running `fixproto'.
-    #   * Force running `fixinc'.
-    #   * Replace Makefile trickery of creating an libgcc1.a archive, then
-    #     extracting the .o files later to create a new libgcc2.a archive.
-    #     Instead, keep temporary .o files.
-    (fetchurl {
-      url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/gcc-boot-2.95.3.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
-      sha256 = "03l3jaxch6d76mx4zkn6ky64paj58jk0biddck01qd4bnw9z8hiw";
-    })
-  ];
-
-  makeFlags = [
-    "LANGUAGES=c"
-  ] ++ lib.optionals mesBootstrap [
-    "LIBGCC2_INCLUDES=\"-I ${mes-libc}/include\""
-    "BOOT_LDFLAGS=\" -B ${tinycc.libs}/lib\""
-  ] ++ lib.optionals (!mesBootstrap) [
-    "LIBGCC2_INCLUDES=\"-I ${glibc}/include -I ${linux-headers}/include\""
-  ];
-in
-bash.runCommand "${pname}-${version}" {
-  inherit pname version;
-
-  nativeBuildInputs = [
-    (if mesBootstrap then tinycc.compiler else gcc)
-    gnumake
-    gnupatch
-    gnugrep
-    gnutar
-    gzip
-    heirloom.sed
-    binutils
-  ];
-
-  passthru.tests.get-version = result:
-    bash.runCommand "${pname}-get-version-${version}" {} ''
-      ${result}/bin/gcc --version
-      mkdir $out
-    '';
-
-  meta = with lib; {
-    description = "GNU Compiler Collection, version ${version}";
-    homepage = "https://gcc.gnu.org";
-    license = licenses.gpl3Plus;
-    maintainers = teams.minimal-bootstrap.members;
-    platforms = platforms.unix;
-  };
-} ''
-  # Unpack
-  tar xzf ${src}
-  cd gcc-${version}
-
-  # Patch
-  ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
-  # /build/glibc-2.2.5/intl/loadmsgcat.c:334: multiple definition of `_nl_load_domain'
-  # ../intl/libintl.a(loadmsgcat.o):/build/gcc-2.95.3/texinfo/intl/loadmsgcat.c:66: first defined here
-  rm -R texinfo
-  mkdir -p texinfo
-  echo 'all:'>texinfo/Makefile.in
-  echo 'install:'>>texinfo/Makefile.in
-
-  # Configure
-  ${if mesBootstrap then ''
-    export CC="tcc -B ${tinycc.libs}/lib -D __GLIBC_MINOR__=6"
-    export CPP="tcc -E"
-    export ac_cv_func_setlocale=no
-  '' else ''
-    export CC="gcc -I${glibc}/include -I${linux-headers}/include -I${gcc}/lib/gcc-lib/${hostPlatform.config}/${version}/include"
-    export CPP="gcc -E -I${glibc}/include -I${linux-headers}/include -I${gcc}/lib/gcc-lib/${hostPlatform.config}/${version}/include"
-    export LIBRARY_PATH="${glibc}/lib"
-    export LIBS="-lc -lnss_files -lnss_dns -lresolv"
-  ''}
-  export OLDCC="$CC"
-  export CC_FOR_BUILD="$CC"
-  export AR=ar
-  export RANLIB=ranlib
-  export ac_cv_c_float_format='IEEE (little-endian)'
-  bash ./configure \
-    --build=${buildPlatform.config} \
-    --host=${hostPlatform.config} \
-    --enable-static \
-    --disable-shared \
-    --disable-werror \
-    --prefix=$out
-  # no info at this stage
-  touch gcc/cpp.info gcc/gcc.info
-
-  # Build
-  make ${lib.concatStringsSep " " makeFlags}
-
-  # Install
-  make install
-  mkdir tmp
-  cd tmp
-  ar x ../gcc/libgcc2.a
-  ${lib.optionalString mesBootstrap "ar x ${tinycc.libs}/lib/libtcc1.a"}
-  ar r $out/lib/gcc-lib/${hostPlatform.config}/${version}/libgcc.a *.o
-  cd ..
-  cp gcc/libgcc2.a $out/lib/libgcc2.a
-  ${lib.optionalString mesBootstrap ''
-    ar x ${tinycc.libs}/lib/libtcc1.a
-    ar x ${tinycc.libs}/lib/libc.a
-    ar r $out/lib/gcc-lib/${hostPlatform.config}/${version}/libc.a libc.o libtcc1.o
-  ''}
-''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix
new file mode 100644
index 0000000000000..277c5e82cc3dc
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.cxx.nix
@@ -0,0 +1,140 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, coreutils
+, gcc
+, musl
+, binutils
+, gnumake
+, gnupatch
+, gnused
+, gnugrep
+, gawk
+, diffutils
+, findutils
+, gnutar
+, gzip
+}:
+let
+  pname = "gcc-cxx";
+  version = "4.6.4";
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.gz";
+    sha256 = "173kdb188qg79pcz073cj9967rs2vzanyjdjyxy9v0xb0p5sad75";
+  };
+
+  ccSrc = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.gz";
+    sha256 = "1fqqk5zkmdg4vmqzdmip9i42q6b82i3f6yc0n86n9021cr7ms2k9";
+  };
+
+  gmpVersion = "4.3.2";
+  gmp = fetchurl {
+    url = "mirror://gnu/gmp/gmp-${gmpVersion}.tar.gz";
+    sha256 = "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv";
+  };
+
+  mpfrVersion = "2.4.2";
+  mpfr = fetchurl {
+    url = "mirror://gnu/mpfr/mpfr-${mpfrVersion}.tar.gz";
+    sha256 = "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94";
+  };
+
+  mpcVersion = "1.0.3";
+  mpc = fetchurl {
+    url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz";
+    sha256 = "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1";
+  };
+
+  patches = [
+    # Remove hardcoded NATIVE_SYSTEM_HEADER_DIR
+    ./no-system-headers.patch
+  ];
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    gcc
+    binutils
+    gnumake
+    gnupatch
+    gnused
+    gnugrep
+    gawk
+    diffutils
+    findutils
+    gnutar
+    gzip
+  ];
+
+  passthru.tests.hello-world = result:
+    bash.runCommand "${pname}-simple-program-${version}" {
+        nativeBuildInputs = [ binutils musl result ];
+      } ''
+        cat <<EOF >> test.c
+        #include <stdio.h>
+        int main() {
+          printf("Hello World!\n");
+          return 0;
+        }
+        EOF
+        musl-gcc -o test test.c
+        ./test
+        mkdir $out
+      '';
+
+  meta = with lib; {
+    description = "GNU Compiler Collection, version ${version}";
+    homepage = "https://gcc.gnu.org";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xzf ${src}
+  tar xzf ${ccSrc}
+  tar xzf ${gmp}
+  tar xzf ${mpfr}
+  tar xzf ${mpc}
+  cd gcc-${version}
+
+  ln -s ../gmp-${gmpVersion} gmp
+  ln -s ../mpfr-${mpfrVersion} mpfr
+  ln -s ../mpc-${mpcVersion} mpc
+
+  # Patch
+  ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
+  # doesn't recognise musl
+  sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host
+
+  # Configure
+  export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export C_INCLUDE_PATH="${musl}/include"
+  export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH"
+  export LIBRARY_PATH="${musl}/lib"
+
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config} \
+    --with-native-system-header-dir=${musl}/include \
+    --with-build-sysroot=${musl} \
+    --enable-languages=c,c++ \
+    --disable-bootstrap \
+    --disable-libmudflap \
+    --disable-libstdcxx-pch \
+    --disable-lto \
+    --disable-multilib
+
+  # Build
+  make -j $NIX_BUILD_CORES
+
+  # Install
+  make -j $NIX_BUILD_CORES install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix
index ce348352b67ea..8b56dff58829c 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/4.6.nix
@@ -3,9 +3,7 @@
 , hostPlatform
 , fetchurl
 , bash
-, gcc
-, glibc
-, linux-headers
+, tinycc
 , binutils
 , gnumake
 , gnupatch
@@ -31,24 +29,6 @@ let
     sha256 = "1fqqk5zkmdg4vmqzdmip9i42q6b82i3f6yc0n86n9021cr7ms2k9";
   };
 
-  patches = [
-    # This patch enables building gcc-4.6.4 using gcc-2.95.3 and glibc-2.2.5
-    # * Tweak Makefile to allow overriding NATIVE_SYSTEM_HEADER_DIR using #:makeflags
-    # * Add missing limits.h include.
-    # * Add SSIZE_MAX define.  The SSIZE_MAX define has been added to Mes
-    #   upstream and can be removed with the next Mes release.
-    # * Remove -fbuilding-libgcc flag, it assumes features being present from a
-    #   newer gcc or glibc.
-    # * [MES_BOOTSTRAP_GCC]: Disable threads harder.
-    (fetchurl {
-      url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/gcc-boot-4.6.4.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
-      sha256 = "1zzd8gnihw6znrgb6c6pfsmm0vix89xw3giv1nnsykm57j0v3z0d";
-    })
-    ./libstdc++-target.patch
-  ];
-
-  # To reduce the set of pre-built bootstrap inputs, build
-  # GMP & co. from GCC.
   gmpVersion = "4.3.2";
   gmp = fetchurl {
     url = "mirror://gnu/gmp/gmp-${gmpVersion}.tar.gz";
@@ -66,12 +46,17 @@ let
     url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz";
     sha256 = "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1";
   };
+
+  patches = [
+    # Remove hardcoded NATIVE_SYSTEM_HEADER_DIR
+    ./no-system-headers.patch
+  ];
 in
 bash.runCommand "${pname}-${version}" {
   inherit pname version;
 
   nativeBuildInputs = [
-    gcc
+    tinycc.compiler
     binutils
     gnumake
     gnupatch
@@ -84,10 +69,6 @@ bash.runCommand "${pname}-${version}" {
     gzip
   ];
 
-  # condition in ./libcpp/configure requires `env` which is not available in this coreutils
-  am_cv_CXX_dependencies_compiler_type = "gcc";
-  am_cv_CC_dependencies_compiler_type = "gcc";
-
   passthru.tests.get-version = result:
     bash.runCommand "${pname}-get-version-${version}" {} ''
       ${result}/bin/gcc --version
@@ -118,18 +99,21 @@ bash.runCommand "${pname}-${version}" {
   ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
 
   # Configure
-  export C_INCLUDE_PATH="${gcc}/lib/gcc-lib/${hostPlatform.config}/${gcc.version}/include:${linux-headers}/include:${glibc}/include:$(pwd)/mpfr/src"
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export C_INCLUDE_PATH="${tinycc.libs}/include:$(pwd)/mpfr/src"
   export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH"
-  export LDFLAGS="-B${glibc}/lib -Wl,-dynamic-linker -Wl,${glibc}"
-  export LDFLAGS_FOR_TARGET=$LDFLAGS
-  export LIBRARY_PATH="${glibc}/lib:${gcc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
+
+  # Avoid "Link tests are not allowed after GCC_NO_EXECUTABLES"
+  export lt_cv_shlibpath_overrides_runpath=yes
+  export ac_cv_func_memcpy=yes
+  export ac_cv_func_strerror=yes
+
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config} \
-    --with-native-system-header-dir=${glibc}/include \
-    --with-build-sysroot=${glibc}/include \
+    --with-native-system-header-dir=${tinycc.libs}/include \
+    --with-build-sysroot=${tinycc.libs}/include \
     --disable-bootstrap \
     --disable-decimal-float \
     --disable-libatomic \
@@ -146,7 +130,7 @@ bash.runCommand "${pname}-${version}" {
     --disable-multilib \
     --disable-plugin \
     --disable-threads \
-    --enable-languages=c,c++ \
+    --enable-languages=c \
     --enable-static \
     --disable-shared \
     --enable-threads=single \
@@ -154,8 +138,8 @@ bash.runCommand "${pname}-${version}" {
     --disable-build-with-cxx
 
   # Build
-  make
+  make -j $NIX_BUILD_CORES
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix
new file mode 100644
index 0000000000000..d6a6560e01e78
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/8.nix
@@ -0,0 +1,140 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, coreutils
+, gcc
+, musl
+, binutils
+, gnumake
+, gnused
+, gnugrep
+, gawk
+, diffutils
+, findutils
+, gnutar
+, gzip
+, bzip2
+, xz
+}:
+let
+  pname = "gcc";
+  version = "8.5.0";
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
+    hash = "sha256-0wiEGlEbuDCmEAOXsAQtskzhH2Qtq26m7kSELlMl7VA=";
+  };
+
+  # last version to compile with gcc 4.6
+  gmpVersion = "6.2.1";
+  gmp = fetchurl {
+    url = "mirror://gnu/gmp/gmp-${gmpVersion}.tar.xz";
+    hash = "sha256-/UgpkSzd0S+EGBw0Ucx1K+IkZD6H+sSXtp7d2txJtPI=";
+  };
+
+  mpfrVersion = "4.2.1";
+  mpfr = fetchurl {
+    url = "mirror://gnu/mpfr/mpfr-${mpfrVersion}.tar.xz";
+    hash = "sha256-J3gHNTpnJpeJlpRa8T5Sgp46vXqaW3+yeTiU4Y8fy7I=";
+  };
+
+  mpcVersion = "1.3.1";
+  mpc = fetchurl {
+    url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz";
+    hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg=";
+  };
+
+  islVersion = "0.24";
+  isl = fetchurl {
+    url = "https://gcc.gnu.org/pub/gcc/infrastructure/isl-${islVersion}.tar.bz2";
+    hash = "sha256-/PeN2WVsEOuM+fvV9ZoLawE4YgX+GTSzsoegoYmBRcA=";
+  };
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    gcc
+    binutils
+    gnumake
+    gnused
+    gnugrep
+    gawk
+    diffutils
+    findutils
+    gnutar
+    gzip
+    bzip2
+    xz
+  ];
+
+  passthru.tests.hello-world = result:
+    bash.runCommand "${pname}-simple-program-${version}" {
+        nativeBuildInputs = [ binutils musl result ];
+      } ''
+        cat <<EOF >> test.c
+        #include <stdio.h>
+        int main() {
+          printf("Hello World!\n");
+          return 0;
+        }
+        EOF
+        musl-gcc -o test test.c
+        ./test
+        mkdir $out
+      '';
+
+  meta = with lib; {
+    description = "GNU Compiler Collection, version ${version}";
+    homepage = "https://gcc.gnu.org";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xf ${src}
+  tar xf ${gmp}
+  tar xf ${mpfr}
+  tar xf ${mpc}
+  tar xf ${isl}
+  cd gcc-${version}
+
+  ln -s ../gmp-${gmpVersion} gmp
+  ln -s ../mpfr-${mpfrVersion} mpfr
+  ln -s ../mpc-${mpcVersion} mpc
+  ln -s ../isl-${islVersion} isl
+
+  # Patch
+  # doesn't recognise musl
+  sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host
+
+  # Configure
+  export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export C_INCLUDE_PATH="${musl}/include"
+  export CPLUS_INCLUDE_PATH="$C_INCLUDE_PATH"
+  export LIBRARY_PATH="${musl}/lib"
+
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config} \
+    --with-native-system-header-dir=/include \
+    --with-sysroot=${musl} \
+    --enable-languages=c,c++ \
+    --disable-bootstrap \
+    --disable-libmpx \
+    --disable-libsanitizer \
+    --disable-lto \
+    --disable-multilib
+
+  # Build
+  make -j $NIX_BUILD_CORES
+
+  # Install
+  make -j $NIX_BUILD_CORES install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix
new file mode 100644
index 0000000000000..f8a7d2126b8db
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/latest.nix
@@ -0,0 +1,136 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, coreutils
+, gcc
+, musl
+, binutils
+, gnumake
+, gnused
+, gnugrep
+, gawk
+, diffutils
+, findutils
+, gnutar
+, gzip
+, bzip2
+, xz
+}:
+let
+  pname = "gcc";
+  version = "13.2.0";
+
+  src = fetchurl {
+    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
+    hash = "sha256-4nXnZEKmBnNBon8Exca4PYYTFEAEwEE1KIY9xrXHQ9o=";
+  };
+
+  gmpVersion = "6.3.0";
+  gmp = fetchurl {
+    url = "mirror://gnu/gmp/gmp-${gmpVersion}.tar.xz";
+    hash = "sha256-o8K4AgG4nmhhb0rTC8Zq7kknw85Q4zkpyoGdXENTiJg=";
+  };
+
+  mpfrVersion = "4.2.1";
+  mpfr = fetchurl {
+    url = "mirror://gnu/mpfr/mpfr-${mpfrVersion}.tar.xz";
+    hash = "sha256-J3gHNTpnJpeJlpRa8T5Sgp46vXqaW3+yeTiU4Y8fy7I=";
+  };
+
+  mpcVersion = "1.3.1";
+  mpc = fetchurl {
+    url = "mirror://gnu/mpc/mpc-${mpcVersion}.tar.gz";
+    hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg=";
+  };
+
+  islVersion = "0.24";
+  isl = fetchurl {
+    url = "https://gcc.gnu.org/pub/gcc/infrastructure/isl-${islVersion}.tar.bz2";
+    hash = "sha256-/PeN2WVsEOuM+fvV9ZoLawE4YgX+GTSzsoegoYmBRcA=";
+  };
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    gcc
+    binutils
+    gnumake
+    gnused
+    gnugrep
+    gawk
+    diffutils
+    findutils
+    gnutar
+    gzip
+    bzip2
+    xz
+  ];
+
+  passthru.tests.hello-world = result:
+    bash.runCommand "${pname}-simple-program-${version}" {
+        nativeBuildInputs = [ binutils musl result ];
+      } ''
+        cat <<EOF >> test.c
+        #include <stdio.h>
+        int main() {
+          printf("Hello World!\n");
+          return 0;
+        }
+        EOF
+        musl-gcc -o test test.c
+        ./test
+        mkdir $out
+      '';
+
+  meta = with lib; {
+    description = "GNU Compiler Collection, version ${version}";
+    homepage = "https://gcc.gnu.org";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xf ${src}
+  tar xf ${gmp}
+  tar xf ${mpfr}
+  tar xf ${mpc}
+  tar xf ${isl}
+  cd gcc-${version}
+
+  ln -s ../gmp-${gmpVersion} gmp
+  ln -s ../mpfr-${mpfrVersion} mpfr
+  ln -s ../mpc-${mpcVersion} mpc
+  ln -s ../isl-${islVersion} isl
+
+  # Patch
+  # force musl even if host triple is gnu
+  sed -i 's|"os/gnu-linux"|"os/generic"|' libstdc++-v3/configure.host
+
+  # Configure
+  export CC="gcc -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export CXX="g++ -Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export CFLAGS_FOR_TARGET="-Wl,-dynamic-linker -Wl,${musl}/lib/libc.so"
+  export LIBRARY_PATH="${musl}/lib"
+
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config} \
+    --with-native-system-header-dir=/include \
+    --with-sysroot=${musl} \
+    --enable-languages=c,c++ \
+    --disable-bootstrap \
+    --disable-libsanitizer \
+    --disable-lto \
+    --disable-multilib
+
+  # Build
+  make -j $NIX_BUILD_CORES
+
+  # Install
+  make -j $NIX_BUILD_CORES install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/libstdc++-target.patch b/pkgs/os-specific/linux/minimal-bootstrap/gcc/libstdc++-target.patch
deleted file mode 100644
index fb622b3958062..0000000000000
--- a/pkgs/os-specific/linux/minimal-bootstrap/gcc/libstdc++-target.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Patch to make the target libraries 'configure' scripts find the proper CPP.
-I noticed that building the mingw32 cross compiler.
-Looking at the build script for mingw in archlinux, I think that only nixos
-needs this patch. I don't know why.
-diff --git a/Makefile.in b/Makefile.in
-index 93f66b6..d691917 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \
- 	AR="$(AR_FOR_TARGET)"; export AR; \
- 	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
- 	CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
-+	CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \
- 	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
- 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- 	CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
-@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \
- RAW_CXX_TARGET_EXPORTS = \
- 	$(BASE_TARGET_EXPORTS) \
- 	CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
--	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
-+	CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
-+	CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
- 
- NORMAL_TARGET_EXPORTS = \
- 	$(BASE_TARGET_EXPORTS) \
--	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX;
-+	CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \
-+	CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX;
- 
- # Where to find GMP
- HOST_GMPLIBS = @gmplibs@
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gcc/no-system-headers.patch b/pkgs/os-specific/linux/minimal-bootstrap/gcc/no-system-headers.patch
new file mode 100644
index 0000000000000..318553bf916bc
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gcc/no-system-headers.patch
@@ -0,0 +1,11 @@
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -440,7 +440,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
+ LTO_SYMTAB_H = $(srcdir)/../include/lto-symtab.h
+ 
+ # Default native SYSTEM_HEADER_DIR, to be overridden by targets.
+-NATIVE_SYSTEM_HEADER_DIR = /usr/include
++# NATIVE_SYSTEM_HEADER_DIR = /usr/include
+ # Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
+ CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
+ 
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/glibc/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/glibc/default.nix
deleted file mode 100644
index 5c4ff386add56..0000000000000
--- a/pkgs/os-specific/linux/minimal-bootstrap/glibc/default.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{ lib
-, buildPlatform
-, hostPlatform
-, fetchurl
-, bash
-, gcc2-mes
-, gnumake
-, gnupatch
-, gnused
-, gnugrep
-, gnutar
-, gzip
-, gawk
-, heirloom
-, binutils-mes
-, linux-headers
-}:
-let
-  pname = "glibc";
-
-  buildGlibc = { version, src, patches, configureFlags, gcc, binutils, CC, CPP }:
-    bash.runCommand "${pname}-${version}" {
-      inherit pname version;
-
-      nativeBuildInputs = [
-        gcc
-        gnumake
-        gnupatch
-        gnused
-        gnugrep
-        gnutar
-        gzip
-        gawk
-        binutils
-      ];
-
-      meta = with lib; {
-        description = "The GNU C Library";
-        homepage = "https://www.gnu.org/software/libc";
-        license = licenses.lgpl2Plus;
-        maintainers = teams.minimal-bootstrap.members;
-        platforms = platforms.linux;
-      };
-    } ''
-      # Unpack
-      tar xzf ${src}
-      cd glibc-${version}
-
-      # Patch
-      ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
-
-      # Configure
-      export CC="${CC}"
-      export CPP="${CPP}"
-      bash ./configure --prefix=$out ${lib.concatStringsSep " " (
-        [
-          "--build=${buildPlatform.config}"
-          "--host=${hostPlatform.config}"
-          "--with-headers=${linux-headers}/include"
-          "--enable-static"
-          "--disable-shared"
-        ] ++ configureFlags)}
-
-      # Build
-      make
-
-      # Install
-      # GNU sed w/ mes-libc crashes on certain stdio actions
-      export PATH="${heirloom.sed}/bin:$PATH"
-      make install
-    '';
-in
-{
-  glibc22 = buildGlibc rec {
-    # GNU C Library 2.2.5 is the most recent glibc that we managed to build
-    # using gcc-2.95.3.  Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
-    # gcc.
-    #   - from guix/gnu/packages/commencement.scm
-    version = "2.2.5";
-    src = fetchurl {
-      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-      sha256 = "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q";
-    };
-
-    patches = [
-      # This patch enables building glibc-2.2.5 using TCC and GNU Make 4.x and Mes C Library.
-      #   * Makefile: Do not assemble from stdin, use file indirection.
-      #   * Makefile: Add new target: install-lib-all.
-      #   * Makefile: Avoid building stub DOC.
-      #   * [_LIBC_REENTRANT]: Add missing guarding.
-      #   * [MES_BOOTSTRAP]: Disable some GCC extensions.
-      #   * [MES_BOOTSTRAP]: Add missing GCC div/mod defines.
-      (fetchurl {
-        url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-boot-${version}.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
-        sha256 = "1nyz2dr9g7scqwwygd6jvbl7xxpwh11ryvgdz8aikkkna02q1pm8";
-      })
-      # We want to allow builds in chroots that lack /bin/sh.  Thus, system(3)
-      # and popen(3) need to be tweaked to use the right shell.  For the bootstrap
-      # glibc, we just use whatever `sh' can be found in $PATH.  The final glibc
-      # instead uses the hard-coded absolute file name of `bash'.
-      (fetchurl {
-        url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-bootstrap-system-${version}.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
-        sha256 = "1l67w9rysrlsg2i0r210qxxn37h2969ba9lx7pp3ywlnikvi98m8";
-      })
-    ];
-
-    configureFlags = [
-      "--disable-sanity-checks"
-      "--enable-static-nss"
-      "--without-__thread"
-      "--without-cvs"
-      "--without-gd"
-      "--without-tls"
-    ];
-
-    gcc = gcc2-mes;
-    binutils = binutils-mes;
-    CC = "gcc -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1 -L $(pwd)";
-    CPP = "gcc -E -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1";
-  };
-}
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix
new file mode 100644
index 0000000000000..504095732e8ce
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnumake/musl.nix
@@ -0,0 +1,82 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, tinycc
+, gnumakeBoot
+, gnupatch
+, gnused
+, gnugrep
+, gawk
+, gnutar
+, gzip
+}:
+let
+  pname = "gnumake-musl";
+  version = "4.4.1";
+
+  src = fetchurl {
+    url = "mirror://gnu/make/make-${version}.tar.gz";
+    hash = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M=";
+  };
+
+  patches = [
+    # Replaces /bin/sh with sh, see patch file for reasoning
+    ./0001-No-impure-bin-sh.patch
+    # Purity: don't look for library dependencies (of the form `-lfoo') in /lib
+    # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for
+    # included Makefiles, don't look in /usr/include and friends.
+    ./0002-remove-impure-dirs.patch
+  ];
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    tinycc.compiler
+    gnumakeBoot
+    gnupatch
+    gnused
+    gnugrep
+    gawk
+    gnutar
+    gzip
+  ];
+
+  passthru.tests.get-version = result:
+    bash.runCommand "${pname}-get-version-${version}" {} ''
+      ${result}/bin/make --version
+      mkdir $out
+    '';
+
+  meta = with lib; {
+    description = "A tool to control the generation of non-source files from sources";
+    homepage = "https://www.gnu.org/software/make";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    mainProgram = "make";
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xzf ${src}
+  cd make-${version}
+
+  # Patch
+  ${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
+
+  # Configure
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export LD=tcc
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config}
+
+  # Build
+  make AR="tcc -ar"
+
+  # Install
+  make install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/common.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/common.nix
new file mode 100644
index 0000000000000..658f05923ac3e
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/common.nix
@@ -0,0 +1,12 @@
+{ lib }:
+
+{
+  meta = with lib; {
+    description = "GNU sed, a batch stream editor";
+    homepage = "https://www.gnu.org/software/sed";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    mainProgram = "sed";
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix
index b5647b96ee3c5..ee566f93c1643 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/default.nix
@@ -4,41 +4,34 @@
 , fetchurl
 , bash
 , gnumake
-, mesBootstrap ? false, tinycc ? null
-, gcc ? null, glibc ? null, binutils ? null, gnused ? null, linux-headers, gnugrep
+, tinycc
+, gnused
+, gnugrep
+, gnutar
+, gzip
 }:
-assert mesBootstrap -> tinycc != null;
-assert !mesBootstrap -> gcc != null && glibc != null && binutils != null && gnused != null;
+
 let
-  pname = "gnused" + lib.optionalString mesBootstrap "-mes";
-  # last version that can be compiled with mes-libc
-  version = "4.0.9";
+  inherit (import ./common.nix { inherit lib; }) meta;
+  pname = "gnused";
+  # last version that can be bootstrapped with our slightly buggy gnused-mes
+  version = "4.2";
 
   src = fetchurl {
     url = "mirror://gnu/sed/sed-${version}.tar.gz";
-    sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3";
-  };
-
-  # Thanks to the live-bootstrap project!
-  # See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem
-  makefile = fetchurl {
-    url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk";
-    sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya";
+    hash = "sha256-20XNY/0BDmUFN9ZdXfznaJplJ0UjZgbl5ceCk3Jn2YM=";
   };
 in
 bash.runCommand "${pname}-${version}" {
-  inherit pname version;
+  inherit pname version meta;
 
   nativeBuildInputs = [
     gnumake
-  ] ++ lib.optionals mesBootstrap [
     tinycc.compiler
-  ] ++ lib.optionals (!mesBootstrap) [
-    gcc
-    glibc
-    binutils
     gnused
     gnugrep
+    gnutar
+    gzip
   ];
 
   passthru.tests.get-version = result:
@@ -46,51 +39,25 @@ bash.runCommand "${pname}-${version}" {
       ${result}/bin/sed --version
       mkdir ''${out}
     '';
-
-  meta = with lib; {
-    description = "GNU sed, a batch stream editor";
-    homepage = "https://www.gnu.org/software/sed";
-    license = licenses.gpl3Plus;
-    maintainers = teams.minimal-bootstrap.members;
-    mainProgram = "sed";
-    platforms = platforms.unix;
-  };
 } (''
   # Unpack
-  ungz --file ${src} --output sed.tar
-  untar --file sed.tar
-  rm sed.tar
+  tar xzf ${src}
   cd sed-${version}
 
-'' + lib.optionalString mesBootstrap ''
-  # Configure
-  cp ${makefile} Makefile
-  catm config.h
-
-  # Build
-  make \
-    CC="tcc -B ${tinycc.libs}/lib" \
-    LIBC=mes
-
-'' + lib.optionalString (!mesBootstrap) ''
   # Configure
-  export CC="gcc -I${glibc}/include -I${linux-headers}/include"
-  export LIBRARY_PATH="${glibc}/lib"
-  export LIBS="-lc -lnss_files -lnss_dns -lresolv"
-  chmod +x configure
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export LD=tcc
   ./configure \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config} \
     --disable-shared \
     --disable-nls \
     --disable-dependency-tracking \
-    --without-included-regex \
     --prefix=$out
 
   # Build
-  make
+  make AR="tcc -ar"
 
-'' + ''
   # Install
-  make install PREFIX=$out
+  make install
 '')
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix
new file mode 100644
index 0000000000000..031b5b5f0db07
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnused/mes.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, gnumake
+, tinycc
+}:
+
+let
+  inherit (import ./common.nix { inherit lib; }) meta;
+  pname = "gnused-mes";
+  # last version that can be compiled with mes-libc
+  version = "4.0.9";
+
+  src = fetchurl {
+    url = "mirror://gnu/sed/sed-${version}.tar.gz";
+    sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3";
+  };
+
+  # Thanks to the live-bootstrap project!
+  # See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem
+  makefile = fetchurl {
+    url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk";
+    sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya";
+  };
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version meta;
+
+  nativeBuildInputs = [
+    gnumake
+    tinycc.compiler
+  ];
+
+  passthru.tests.get-version = result:
+    bash.runCommand "${pname}-get-version-${version}" {} ''
+      ${result}/bin/sed --version
+      mkdir ''${out}
+    '';
+} (''
+  # Unpack
+  ungz --file ${src} --output sed.tar
+  untar --file sed.tar
+  rm sed.tar
+  cd sed-${version}
+
+  # Configure
+  cp ${makefile} Makefile
+  catm config.h
+
+  # Build
+  make \
+    CC="tcc -B ${tinycc.libs}/lib" \
+    LIBC=mes
+
+  # Install
+  make install PREFIX=$out
+'')
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix
new file mode 100644
index 0000000000000..717ea9868fd9d
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/latest.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, gcc
+, musl
+, binutils
+, gnumake
+, gnused
+, gnugrep
+, gawk
+, gzip
+, gnutarBoot
+}:
+let
+  pname = "gnutar";
+  version = "1.35";
+
+  src = fetchurl {
+    url = "mirror://gnu/tar/tar-${version}.tar.gz";
+    hash = "sha256-FNVeMgY+qVJuBX+/Nfyr1TN452l4fv95GcN1WwLStX4=";
+  };
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    gcc
+    musl
+    binutils
+    gnumake
+    gnused
+    gnugrep
+    gawk
+    gzip
+    gnutarBoot
+  ];
+
+  passthru.tests.get-version = result:
+    bash.runCommand "${pname}-get-version-${version}" {} ''
+      ${result}/bin/tar --version
+      mkdir $out
+    '';
+
+  meta = with lib; {
+    description = "GNU implementation of the `tar' archiver";
+    homepage = "https://www.gnu.org/software/tar";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    mainProgram = "tar";
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  tar xzf ${src}
+  cd tar-${version}
+
+  # Configure
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config} \
+    CC=musl-gcc
+
+  # Build
+  make -j $NIX_BUILD_CORES
+
+  # Install
+  make -j $NIX_BUILD_CORES install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix
index e07561b3e7e5c..e07561b3e7e5c 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/mes.nix
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix
new file mode 100644
index 0000000000000..0818a0de39a2b
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/gnutar/musl.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPlatform
+, hostPlatform
+, fetchurl
+, bash
+, tinycc
+, gnumake
+, gnugrep
+, gnused
+}:
+let
+  # gnutar with musl preserves modify times, allowing make to not try
+  # rebuilding pregenerated files
+  pname = "gnutar-musl";
+  version = "1.12";
+
+  src = fetchurl {
+    url = "mirror://gnu/tar/tar-${version}.tar.gz";
+    hash = "sha256-xsN+iIsTbM76uQPFEUn0t71lnWnUrqISRfYQU6V6pgo=";
+  };
+in
+bash.runCommand "${pname}-${version}" {
+  inherit pname version;
+
+  nativeBuildInputs = [
+    tinycc.compiler
+    gnumake
+    gnused
+    gnugrep
+  ];
+
+  passthru.tests.get-version = result:
+    bash.runCommand "${pname}-get-version-${version}" {} ''
+      ${result}/bin/tar --version
+      mkdir $out
+    '';
+
+  meta = with lib; {
+    description = "GNU implementation of the `tar' archiver";
+    homepage = "https://www.gnu.org/software/tar";
+    license = licenses.gpl3Plus;
+    maintainers = teams.minimal-bootstrap.members;
+    mainProgram = "tar";
+    platforms = platforms.unix;
+  };
+} ''
+  # Unpack
+  ungz --file ${src} --output tar.tar
+  untar --file tar.tar
+  rm tar.tar
+  cd tar-${version}
+
+  # Configure
+  export CC="tcc -B ${tinycc.libs}/lib"
+  export LD=tcc
+  export ac_cv_sizeof_unsigned_long=4
+  export ac_cv_sizeof_long_long=8
+  export ac_cv_header_netdb_h=no
+  bash ./configure \
+    --prefix=$out \
+    --build=${buildPlatform.config} \
+    --host=${hostPlatform.config} \
+    --disable-nls
+
+  # Build
+  make AR="tcc -ar"
+
+  # Install
+  make install
+''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix b/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix
index eceb9b72aeb6b..704ee42edeb16 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/1.1.nix
@@ -58,6 +58,8 @@ let
     #   url = "${liveBootstrap}/patches/stdio_flush_on_exit.patch";
     #   hash = "sha256-/z5ze3h3QTysay8nRvyvwPv3pmTcKptdkBIaMCoeLDg=";
     # })
+    # HACK: always flush stdio immediately
+    ./always-flush.patch
     (fetchurl {
       url = "${liveBootstrap}/patches/va_list.patch";
       hash = "sha256-UmcMIl+YCi3wIeVvjbsCyqFlkyYsM4ECNwTfXP+s7vg=";
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/always-flush.patch b/pkgs/os-specific/linux/minimal-bootstrap/musl/always-flush.patch
new file mode 100644
index 0000000000000..cdeddf962d9d6
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/always-flush.patch
@@ -0,0 +1,12 @@
+diff --git src/env/__libc_start_main.c src/env/__libc_start_main.c
+index 8fbe526..9476c22 100644
+--- src/env/__libc_start_main.c
++++ src/env/__libc_start_main.c
+@@ -91,6 +91,7 @@ static int libc_start_main_stage2(int (*main)(int,char **,char **), int argc, ch
+ 	__libc_start_init();
+ 
+ 	/* Pass control to the application */
++	setbuf(stdout, NULL);
+ 	exit(main(argc, argv, envp));
+ 	return 0;
+ }
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix
index 5ccfbdf67080b..437ef342f6aee 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/musl/default.nix
@@ -35,7 +35,7 @@ bash.runCommand "${pname}-${version}" {
 
   passthru.tests.hello-world = result:
     bash.runCommand "${pname}-simple-program-${version}" {
-        nativeBuildInputs = [ gcc binutils ];
+        nativeBuildInputs = [ gcc binutils result ];
       } ''
         cat <<EOF >> test.c
         #include <stdio.h>
@@ -44,7 +44,7 @@ bash.runCommand "${pname}-${version}" {
           return 0;
         }
         EOF
-        gcc -static -B${result}/lib -I${result}/include -o test test.c
+        musl-gcc -o test test.c
         ./test
         mkdir $out
       '';
@@ -67,11 +67,15 @@ bash.runCommand "${pname}-${version}" {
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
-    --host=${hostPlatform.config}
+    --host=${hostPlatform.config} \
+    --syslibdir=$out/lib \
+    --enable-wrapper
 
   # Build
-  make
+  make -j $NIX_BUILD_CORES
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
+  sed -i 's|/bin/sh|${bash}/bin/bash|' $out/bin/*
+  ln -s ../lib/libc.so $out/bin/ldd
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix
index 203b480326e94..a0663c9dbe4f9 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix
@@ -7,7 +7,7 @@ rec {
   version = "unstable-2023-05-02";
   rev = "3189b5f325b7ef8b88e3edec7c1cde4fce73c76c";
   outputHashAlgo = "sha256";
-  outputHash = "sha256-FpMp7z+B3cR3LkQ+PooH/b1/NlxH8NHVJNWifaPWt4U=";
+  outputHash = "sha256-7Y9+csTwZIQp0WGbagX+Q4f2zavN7AUk1TSBp/H5Xks=";
 
   /*
   Since `make-minimal-bootstrap-sources` requires nixpkgs and nix it
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix
index 996f2f33ea350..9808e25711c15 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/hex0.nix
@@ -9,8 +9,9 @@
 
 let
   hash = {
-    "x86"   = "sha256-QU3RPGy51W7M2xnfFY1IqruKzusrSLU+L190ztN6JW8=";
-    "AMD64" = "sha256-RCgK9oZRDQUiWLVkcIBSR2HeoB+Bh0czthrpjFEkCaY=";
+    "AArch64" = "sha256-XTPsoKeI6wTZAF0UwEJPzuHelWOJe//wXg4HYO0dEJo=";
+    "AMD64"   = "sha256-RCgK9oZRDQUiWLVkcIBSR2HeoB+Bh0czthrpjFEkCaY=";
+    "x86"     = "sha256-QU3RPGy51W7M2xnfFY1IqruKzusrSLU+L190ztN6JW8=";
   }.${stage0Arch} or (throw "Unsupported system: ${hostPlatform.system}");
 
   # Pinned from https://github.com/oriansj/stage0-posix/commit/3189b5f325b7ef8b88e3edec7c1cde4fce73c76c
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix
index 2675d055aec63..381902cd2c129 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix
@@ -13,6 +13,7 @@
 
 { lib
 , fetchFromGitHub
+, fetchpatch
 }:
 
 let
@@ -37,6 +38,13 @@ fetchFromGitHub {
       $out/M2-Planet/M2libc \
       $out/mescc-tools/M2libc \
       $out/mescc-tools-extra/M2libc
+
+    # aarch64: syscall: mkdir -> mkdirat
+    # https://github.com/oriansj/M2libc/pull/17
+    patch -Np1 -d $out/M2libc -i ${(fetchpatch {
+      url = "https://github.com/oriansj/M2libc/commit/ff7c3023b3ab6cfcffc5364620b25f8d0279e96b.patch";
+      hash = "sha256-QAKddv4TixIQHpFa9SVu9fAkeKbzhQaxjaWzW2yJy7A=";
+    })}
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix
index 65f0fb4c2ff1e..2114ffc707b18 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/mescc-tools-boot.nix
@@ -83,7 +83,11 @@ rec {
   # Phase-2b Build catm from hex2 #
   #################################
 
-  catm = run "catm" hex2-0 ["${src}/${stage0Arch}/catm_${stage0Arch}.hex2" out];
+  catm =
+    if hostPlatform.isAarch64 then
+      run "catm" hex1 ["${src}/${stage0Arch}/catm_${stage0Arch}.hex1" out]
+    else
+      run "catm" hex2-0 ["${src}/${stage0Arch}/catm_${stage0Arch}.hex2" out];
 
   # catm removes the need for cat or shell support for redirection by providing
   # equivalent functionality via catm output_file input1 input2 ... inputN
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix
index c68f7630f3dba..53147df334441 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/stage0-posix/platforms.nix
@@ -6,14 +6,16 @@
 rec {
   # meta.platforms
   platforms = [
+    "aarch64-linux"
     "i686-linux"
     "x86_64-linux"
   ];
 
   # system arch as used within the stage0 project
   stage0Arch = {
-    "i686-linux"   = "x86";
-    "x86_64-linux" = "AMD64";
+    "aarch64-linux" = "AArch64";
+    "i686-linux"    = "x86";
+    "x86_64-linux"  = "AMD64";
   }.${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}");
 
   # lower-case form is widely used by m2libc
@@ -23,7 +25,8 @@ rec {
   m2libcOS = if hostPlatform.isLinux then "linux" else throw "Unsupported system: ${hostPlatform.system}";
 
   baseAddress = {
-    "i686-linux"   = "0x08048000";
-    "x86_64-linux" = "0x00600000";
+    "aarch64-linux" = "0x00600000";
+    "i686-linux"    = "0x08048000";
+    "x86_64-linux"  = "0x00600000";
   }.${hostPlatform.system} or (throw "Unsupported system: ${hostPlatform.system}");
 }
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-duplicate-symbols.patch b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-duplicate-symbols.patch
new file mode 100644
index 0000000000000..0aec8b465bf2b
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-duplicate-symbols.patch
@@ -0,0 +1,13 @@
+--- tccelf.c
++++ tccelf.c
+@@ -710,8 +710,9 @@ ST_FUNC int set_elf_sym(Section *s, addr_t value, unsigned long size,
+ #if 0
+                 printf("new_bind=%x new_shndx=%x new_vis=%x old_bind=%x old_shndx=%x old_vis=%x\n",
+                        sym_bind, shndx, new_vis, esym_bind, esym->st_shndx, esym_vis);
+-#endif
+                 tcc_error_noabort("'%s' defined twice", name);
++#endif
++                goto do_patch;
+             }
+         } else {
+             esym->st_other = other;
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-static-inside-array.patch b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-static-inside-array.patch
new file mode 100644
index 0000000000000..8dc2fe3fcfb4d
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/ignore-static-inside-array.patch
@@ -0,0 +1,21 @@
+--- tccgen.c
++++ tccgen.c
+@@ -4941,7 +4941,7 @@ static int post_type(CType *type, AttributeDef *ad, int storage, int td)
+         next();
+         n = -1;
+         t1 = 0;
+-        if (td & TYPE_PARAM) while (1) {
++        while (1) {
+ 	    /* XXX The optional type-quals and static should only be accepted
+ 	       in parameter decls.  The '*' as well, and then even only
+ 	       in prototypes (not function defs).  */
+@@ -4972,7 +4972,8 @@ static int post_type(CType *type, AttributeDef *ad, int storage, int td)
+             }
+             break;
+ 
+-	} else if (tok != ']') {
++	}
++    if (tok != ']') {
+             if (!local_stack || (storage & VT_STATIC))
+                 vpushi(expr_const());
+             else {
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix
index 6debf25c36b09..4d26faac20b16 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/musl.nix
@@ -1,9 +1,3 @@
-# Build steps adapted from https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/tcc-0.9.27/tcc-musl-pass1.sh
-#
-# SPDX-FileCopyrightText: 2021-22 fosslinux <fosslinux@aussies.space>
-#
-# SPDX-License-Identifier: GPL-3.0-or-later
-
 { lib
 , fetchurl
 , callPackage
@@ -12,42 +6,32 @@
 , musl
 , gnupatch
 , gnutar
-, bzip2
+, gzip
 }:
 let
   pname = "tinycc-musl";
-  version = "0.9.27";
+  # next commit introduces use of realpath (unsupported in mes-libc)
+  version = "unstable-2023-07-10";
+  rev = "fd6d2180c5c801bb0b4c5dde27d61503059fc97d";
 
   src = fetchurl {
-    url = "https://download.savannah.gnu.org/releases/tinycc/tcc-${version}.tar.bz2";
-    hash = "sha256-3iOvePypDOMt/y3UWzQysjNHQLubt7Bb9g/b/Dls65w=";
+    url = "https://repo.or.cz/tinycc.git/snapshot/${rev}.tar.gz";
+    hash = "sha256-R81SNbEmh4s9FNQxCWZwUiMCYRkkwOHAdRf0aMnnRiA=";
   };
 
-  # Thanks to the live-bootstrap project!
-  # See https://github.com/fosslinux/live-bootstrap/blob/424aa5be38a3023aa6842883a3954599b1597986/sysa/tcc-0.9.27/tcc-musl-pass1.sh
-  liveBootstrap = "https://github.com/fosslinux/live-bootstrap/raw/424aa5be38a3023aa6842883a3954599b1597986/sysa/tcc-0.9.27";
   patches = [
-    (fetchurl {
-      url = "${liveBootstrap}/patches/ignore-duplicate-symbols.patch";
-      hash = "sha256-6Js8HkzjYlA8ETxeEYRWu+03OJI60NvR5h1QPkcMTlQ=";
-    })
-    (fetchurl {
-      url = "${liveBootstrap}/patches/ignore-static-inside-array.patch";
-      hash = "sha256-IF4RevLGjzRBuYqhuyG7+x6SVljzMAsYRKicNsmtbDY=";
-    })
-    (fetchurl {
-      url = "${liveBootstrap}/patches/static-link.patch";
-      hash = "sha256-gX/hJ9a/0Zg29KIBUme+mOA8WrPQvp0SvojP8DN9mSI=";
-    })
+    ./ignore-duplicate-symbols.patch
+    ./ignore-static-inside-array.patch
+    ./static-link.patch
   ];
 
   meta = with lib; {
-      description = "Small, fast, and embeddable C compiler and interpreter";
-      homepage = "http://savannah.nongnu.org/projects/tinycc";
-      license = licenses.lgpl21Only;
-      maintainers = teams.minimal-bootstrap.members;
-      platforms = [ "i686-linux" ];
-    };
+    description = "Small, fast, and embeddable C compiler and interpreter";
+    homepage = "https://repo.or.cz/w/tinycc.git";
+    license = licenses.lgpl21Only;
+    maintainers = teams.minimal-bootstrap.members;
+    platforms = [ "i686-linux" ];
+  };
 
   tinycc-musl = bash.runCommand "${pname}-${version}" {
     inherit pname version meta;
@@ -56,15 +40,12 @@ let
       tinycc-bootstrappable.compiler
       gnupatch
       gnutar
-      bzip2
+      gzip
     ];
   } ''
     # Unpack
-    cp ${src} tinycc.tar.bz2
-    bunzip2 tinycc.tar.bz2
-    tar xf tinycc.tar
-    rm tinycc.tar
-    cd tcc-${version}
+    tar xzf ${src}
+    cd tinycc-${builtins.substring 0 7 rev}
 
     # Patch
     ${lib.concatMapStringsSep "\n" (f: "patch -Np0 -i ${f}") patches}
@@ -77,6 +58,13 @@ let
     # but when linked with musl it is.
     ln -s ${musl}/lib/libtcc1.a ./libtcc1.a
 
+    tcc \
+      -B ${tinycc-bootstrappable.libs}/lib \
+      -DC2STR \
+      -o c2str \
+      conftest.c
+    ./c2str include/tccdefs.h tccdefs_.h
+
     tcc -v \
       -static \
       -o tcc-musl \
@@ -92,6 +80,9 @@ let
       -D CONFIG_USE_LIBGCC=1 \
       -D TCC_VERSION=\"0.9.27\" \
       -D ONE_SOURCE=1 \
+      -D TCC_MUSL=1 \
+      -D CONFIG_TCC_PREDEFS=1 \
+      -D CONFIG_TCC_SEMLOCK=0 \
       -B . \
       -B ${tinycc-bootstrappable.libs}/lib \
       tcc.c
@@ -117,13 +108,17 @@ let
       -D CONFIG_USE_LIBGCC=1 \
       -D TCC_VERSION=\"0.9.27\" \
       -D ONE_SOURCE=1 \
+      -D TCC_MUSL=1 \
+      -D CONFIG_TCC_PREDEFS=1 \
+      -D CONFIG_TCC_SEMLOCK=0 \
       -B . \
       -B ${musl}/lib \
       tcc.c
     # libtcc1.a
     rm -f libtcc1.a
     ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/libtcc1.c
-    ./tcc-musl -ar cr libtcc1.a libtcc1.o
+    ./tcc-musl -c -D HAVE_CONFIG_H=1 lib/alloca.S
+    ./tcc-musl -ar cr libtcc1.a libtcc1.o alloca.o
 
     # Install
     install -D tcc-musl $out/bin/tcc
@@ -151,5 +146,10 @@ in
 
   libs = bash.runCommand "${pname}-${version}-libs" {
     inherit pname version meta;
-  } "install -D ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a";
+  } ''
+    mkdir $out
+    cp -r ${musl}/* $out
+    chmod +w $out/lib/libtcc1.a
+    cp ${tinycc-musl}/lib/libtcc1.a $out/lib/libtcc1.a
+  '';
 }
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/tinycc/static-link.patch b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/static-link.patch
new file mode 100644
index 0000000000000..671a3b37f98dd
--- /dev/null
+++ b/pkgs/os-specific/linux/minimal-bootstrap/tinycc/static-link.patch
@@ -0,0 +1,10 @@
+--- libtcc.c
++++ libtcc.c
+@@ -793,6 +793,7 @@ LIBTCCAPI TCCState *tcc_new(void)
+ 
+     s->gnu_ext = 1;
+     s->tcc_ext = 1;
++    s->static_link = 1;
+     s->nocommon = 1;
+     s->dollars_in_identifiers = 1; /*on by default like in gcc/clang*/
+     s->cversion = 199901; /* default unless -std=c11 is supplied */
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix b/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix
index 92cb240c5f164..8dcccbacaca88 100644
--- a/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix
+++ b/pkgs/os-specific/linux/minimal-bootstrap/xz/default.nix
@@ -5,18 +5,19 @@
 , bash
 , tinycc
 , gnumake
+, gnused
 , gnugrep
 , gawk
-, sed
+, gnutar
+, gzip
 }:
 let
   pname = "xz";
-  # >=5.2 uses poll.h, unsupported by meslibc
-  version = "5.0.8";
+  version = "5.4.3";
 
   src = fetchurl {
-    url = "https://tukaani.org/xz/xz-${version}.tar.bz2";
-    sha256 = "1nkb68dyrf16xwyqichcy1vhgbfg20dxz459rcsdx85h1gczk1i2";
+    url = "https://tukaani.org/xz/xz-${version}.tar.gz";
+    hash = "sha256-HDguC8Lk4K9YOYqQPdYv/35RAXHS3keh6+BtFSjpt+k=";
   };
 in
 bash.runCommand "${pname}-${version}" {
@@ -25,9 +26,11 @@ bash.runCommand "${pname}-${version}" {
   nativeBuildInputs = [
     tinycc.compiler
     gnumake
+    gnused
     gnugrep
     gawk
-    sed
+    gnutar
+    gzip
   ];
 
   passthru.tests.get-version = result:
@@ -45,34 +48,23 @@ bash.runCommand "${pname}-${version}" {
   };
 } ''
   # Unpack
-  unbz2 --file ${src} --output xz.tar
-  untar --file xz.tar
-  rm xz.tar
+  tar xzf ${src}
   cd xz-${version}
 
   # Configure
-  export CC="tcc -B ${tinycc.libs}/lib -include${./stubs.h}"
-  export CPP="tcc -E"
-  export LD=tcc
+  export CC="tcc -B ${tinycc.libs}/lib"
   export AR="tcc -ar"
-  export SED=sed
-  export ac_cv_prog_cc_c99=
-  export ac_cv_header_fcntl_h=yes
-  export ac_cv_header_limits_h=yes
-  export ac_cv_header_sys_time_h=yes
-  export ac_cv_func_utime=no
+  export LD=tcc
   bash ./configure \
     --prefix=$out \
     --build=${buildPlatform.config} \
     --host=${hostPlatform.config} \
     --disable-shared \
-    --disable-nls \
-    --disable-threads \
     --disable-assembler
 
   # Build
-  make all
+  make -j $NIX_BUILD_CORES
 
   # Install
-  make install
+  make -j $NIX_BUILD_CORES install
 ''
diff --git a/pkgs/os-specific/linux/minimal-bootstrap/xz/stubs.h b/pkgs/os-specific/linux/minimal-bootstrap/xz/stubs.h
deleted file mode 100644
index cbf6f823299e1..0000000000000
--- a/pkgs/os-specific/linux/minimal-bootstrap/xz/stubs.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#define sig_atomic_t int
-
-#define SSIZE_MAX LONG_MAX
-
-#define O_NOCTTY 0400
-#define O_NONBLOCK 04000
-
-#define S_ISVTX 01000
-#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
-
-int fchmod (int fd, int mode)
-{
-  return 0;
-}
-
-int fchown (int fd, int owner, int group)
-{
-  return 0;
-}
-
-#include <signal.h>
-int sigfillset (sigset_t * set)
-{
-  return 0;
-}
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 9d1f9c83ab791..73987fa5bd362 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -65,11 +65,11 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.10";
+    version = "535.43.11";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-J7lyBARBgJERS1tahJJ3Rm3+K2I1dJz7Keabfk52M1Q=";
-    openSha256 = "sha256-L9W0cvtTBweh6P0ikK+LzARnUUXWrPn33TLGzOqwTSU=";
+    sha256_64bit = "sha256-cL/gnPNqjsj8ZYJP4WmybS2Fnh6EHsUbi4nGlt6Bt00=";
+    openSha256 = "sha256-QzNRwXk6c5iTJD0YGKAlW1swF/PBW/7LFnkllkBEhUU=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitString "." version)}-linux";
diff --git a/pkgs/os-specific/linux/pipework/default.nix b/pkgs/os-specific/linux/pipework/default.nix
index ea274377ced97..3591303a8d0c1 100644
--- a/pkgs/os-specific/linux/pipework/default.nix
+++ b/pkgs/os-specific/linux/pipework/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/jpetazzo/pipework";
     license = licenses.asl20;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 0d38016d9d739..d96a6882d63c4 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -88,7 +88,7 @@
 , withAnalyze ? true
 , withApparmor ? true
 , withAudit ? true
-, withBootloader ? !stdenv.hostPlatform.isMusl # compiles systemd-boot, assumes EFI is available.
+, withBootloader ? withEfi && !stdenv.hostPlatform.isMusl # compiles systemd-boot, assumes EFI is available.
 , withCompression ? true  # adds bzip2, lz4, xz and zstd
 , withCoredump ? true
 , withCryptsetup ? true
diff --git a/pkgs/os-specific/linux/uhk-agent/default.nix b/pkgs/os-specific/linux/uhk-agent/default.nix
index 19ac7fcd42b30..dfc43cba01c2b 100644
--- a/pkgs/os-specific/linux/uhk-agent/default.nix
+++ b/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -1,11 +1,11 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "uhk-agent";
-  version = "3.0.2";
+  version = "3.1.0";
   src = fetchurl {
     url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
     name = "${pname}-${version}.AppImage";
-    sha256 = "sha256-RrZ2J6bmk8VXVmpUi9bjqQRJBYjGIczMaSEG9aQ4U4I=";
+    sha256 = "sha256-KFuB1cbrEDfqeRyrhXZs4ClhdIjZqIT5a+rnvdi3kpA=";
   };
 
   appimageContents = appimageTools.extract {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
     description = "Agent is the configuration application of the Ultimate Hacking Keyboard";
     homepage = "https://github.com/UltimateHackingKeyboard/agent";
     license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ ngiger ];
+    maintainers = with maintainers; [ ngiger nickcao ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/os-specific/linux/xsensors/default.nix b/pkgs/os-specific/linux/xsensors/default.nix
index 02ce560d8a94f..e3639fefffa4e 100644
--- a/pkgs/os-specific/linux/xsensors/default.nix
+++ b/pkgs/os-specific/linux/xsensors/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix
index 592d94b0030ad..45b7dd6c74789 100644
--- a/pkgs/os-specific/linux/zfs/unstable.nix
+++ b/pkgs/os-specific/linux/zfs/unstable.nix
@@ -15,9 +15,7 @@ callPackage ./generic.nix args {
     then kernel.kernelOlder "6.5"
     else kernel.kernelOlder "6.2";
 
-  latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM
-  then linuxKernel.packages.linux_6_4
-  else linuxKernel.packages.linux_6_1;
+  latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_1;
 
   # this package should point to a version / git revision compatible with the latest kernel release
   # IMPORTANT: Always use a tagged release candidate or commits from the
diff --git a/pkgs/servers/bililiverecorder/default.nix b/pkgs/servers/bililiverecorder/default.nix
index 0bf34196a1d80..98cdd42dde861 100644
--- a/pkgs/servers/bililiverecorder/default.nix
+++ b/pkgs/servers/bililiverecorder/default.nix
@@ -13,8 +13,8 @@ let
     aspnetcore_6_0
   ];
 
-  version = "2.9.0";
-  hash = "sha256-8lEHo2ZEx4kkT/tLgbSmjFx9qHyAQIaha75ISIHj3hA=";
+  version = "2.9.1";
+  hash = "sha256-jAjUrEYfaihMuyL/sLDzdPfq0sKoEglCfRFz0sAtx3g=";
 
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 0c1b366178f1c..ecc400e320665 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bird";
-  version = "2.13.1";
+  version = "2.14";
 
   src = fetchurl {
     url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz";
-    hash = "sha256-l7uNV76bxQg+K1ZkFtJ+MUFihWoSynx34gLkZ9INQIA=";
+    hash = "sha256-sLn2+FZlQbm+SvHwysZ1xaN4VgGlVmen7D194pc1p4Y=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/servers/dns/dnsdist/default.nix b/pkgs/servers/dns/dnsdist/default.nix
index 4589d08978736..a779892b04342 100644
--- a/pkgs/servers/dns/dnsdist/default.nix
+++ b/pkgs/servers/dns/dnsdist/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dnsdist";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/dnsdist-${version}.tar.bz2";
-    hash = "sha256-HA03XCVFPTSbiOA/9YmqJgPKhpL8mDZMBo6tNygEcE8=";
+    hash = "sha256-BfNW/M4pxOzgPC2N8Eat/zqqsLA21oAcGjEcbVuzwH8=";
   };
 
   patches = [
diff --git a/pkgs/servers/frr/default.nix b/pkgs/servers/frr/default.nix
index d6d016b5e4be2..2186e1fc89e3f 100644
--- a/pkgs/servers/frr/default.nix
+++ b/pkgs/servers/frr/default.nix
@@ -102,6 +102,7 @@ stdenv.mkDerivation rec {
     pkg-config
     python3.pkgs.sphinx
     texinfo
+    protobufc
   ];
 
   buildInputs = [
@@ -227,7 +228,8 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ gpl2Plus lgpl21Plus ];
     maintainers = with maintainers; [ woffs thillux ];
-    platforms = platforms.unix;
+    # adapt to platforms stated in http://docs.frrouting.org/en/latest/overview.html#supported-platforms
+    platforms = (platforms.linux ++ platforms.freebsd ++ platforms.netbsd ++ platforms.openbsd);
   };
 
   passthru.tests = { inherit (nixosTests) frr; };
diff --git a/pkgs/servers/geospatial/martin/default.nix b/pkgs/servers/geospatial/martin/default.nix
index d5c7868d4dec9..3a5ec55b5b1c3 100644
--- a/pkgs/servers/geospatial/martin/default.nix
+++ b/pkgs/servers/geospatial/martin/default.nix
@@ -1,21 +1,21 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, Security }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, Security, SystemConfiguration }:
 
 rustPlatform.buildRustPackage rec {
   pname = "martin";
-  version = "0.8.7";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "maplibre";
     repo = "martin";
     rev = "v${version}";
-    hash = "sha256-/t4SPZ4LoT3dR1jyqTmrBSRnWhyT7zSkx1Y10+JpMsI=";
+    hash = "sha256-dx6TcEZpnsWbRliBo/CkOZNwXiipRYS8+oWHTEAF5XQ=";
   };
 
-  cargoHash = "sha256-3yib8F6n6uxC8G7yO3I1TquAMK/FbvOwdNJT9VCk3+g=";
+  cargoHash = "sha256-6r2rrSthEdQ/CnrGt4/VZW2jp66zE0au8r81+nBD8UE=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
   checkFlags = [
     "--skip function_source_schemas"
diff --git a/pkgs/servers/geospatial/tegola/default.nix b/pkgs/servers/geospatial/tegola/default.nix
index 1c7e0697dac90..3a3c40c2b20c4 100644
--- a/pkgs/servers/geospatial/tegola/default.nix
+++ b/pkgs/servers/geospatial/tegola/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tegola";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "go-spatial";
     repo = "tegola";
     rev = "v${version}";
-    sha256 = "sha256-lrFRPD16AFavc+ghpKoxwQJsfJLe5jxTQVK/0a6SIIs=";
+    sha256 = "sha256-Z72QANnkAOg0le6p0lFJUhlgE/U32Ao+M/yog00gSF4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/go-cqhttp/default.nix b/pkgs/servers/go-cqhttp/default.nix
index ac2711d156725..9cdcef2be7c47 100644
--- a/pkgs/servers/go-cqhttp/default.nix
+++ b/pkgs/servers/go-cqhttp/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-cqhttp";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "Mrs4s";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/nmPiB2BHltguAJFHCvtS3oh/BttEH75GhgSa25cI3s=";
+    hash = "sha256-mKenmsGdVg60zjVMTfbEtqtPcJdJo60Nz6IUQ9RB7j0=";
   };
 
-  vendorHash = "sha256-Oqig/qtdGFO2/t7vvkApqdNhjNnYzEavNpyneAMa10k=";
+  vendorHash = "sha256-YNARh25xrcPGvhhXzYmg3CsWwzvXq44uWt0S1PjRVdM=";
 
   meta = with lib; {
     description = "The Golang implementation of OneBot based on Mirai and MiraiGo";
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index da8c4d4c36f11..0d608126f8aba 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 = "2023.9.3";
+  version = "2023.10.1";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -79,7 +79,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "airtouch4" = ps: with ps; [
@@ -162,7 +162,8 @@
     "anova" = ps: with ps; [
     ]; # missing inputs: anova-wifi
     "anthemav" = ps: with ps; [
-    ]; # missing inputs: anthemav
+      anthemav
+    ];
     "anwb_energie" = ps: with ps; [
     ];
     "apache_kafka" = ps: with ps; [
@@ -200,7 +201,7 @@
       aqualogic
     ];
     "aquostv" = ps: with ps; [
-    ]; # missing inputs: sharp-aquos-rc
+    ]; # missing inputs: sharp_aquos_rc
     "aranet" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
@@ -224,7 +225,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "arcam_fmj" = ps: with ps; [
@@ -251,7 +252,7 @@
       hassil
       home-assistant-intents
       mutagen
-      webrtcvad
+      webrtc-noise-gain
     ];
     "asterisk_cdr" = ps: with ps; [
       asterisk-mbox
@@ -395,7 +396,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "blueprint" = ps: with ps; [
@@ -439,7 +440,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bluetooth_le_tracker" = ps: with ps; [
@@ -464,7 +465,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bluetooth_tracker" = ps: with ps; [
@@ -540,7 +541,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bticino" = ps: with ps; [
@@ -581,7 +582,7 @@
       pychromecast
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "cert_expiry" = ps: with ps; [
@@ -620,7 +621,7 @@
       home-assistant-intents
       mutagen
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "cloudflare" = ps: with ps; [
       pycfdns
@@ -754,7 +755,7 @@
       scapy
       securetar
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "delijn" = ps: with ps; [
@@ -895,7 +896,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "dovado" = ps: with ps; [
@@ -956,6 +957,9 @@
     "ecobee" = ps: with ps; [
       python-ecobee-api
     ];
+    "ecoforest" = ps: with ps; [
+      pyecoforest
+    ];
     "econet" = ps: with ps; [
       pyeconet
     ];
@@ -1052,6 +1056,8 @@
     "enigma2" = ps: with ps; [
       openwebifpy
     ];
+    "enmax" = ps: with ps; [
+    ];
     "enocean" = ps: with ps; [
       enocean
     ];
@@ -1098,7 +1104,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ]; # missing inputs: python-eq3bt
     "escea" = ps: with ps; [
@@ -1126,7 +1132,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "etherscan" = ps: with ps; [
@@ -1157,7 +1163,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "event" = ps: with ps; [
@@ -1269,7 +1275,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "fleetgo" = ps: with ps; [
@@ -1410,9 +1416,9 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
-    ]; # missing inputs: gardena_bluetooth
+    ]; # missing inputs: gardena-bluetooth
     "gaviota" = ps: with ps; [
     ];
     "gc100" = ps: with ps; [
@@ -1563,7 +1569,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "gpsd" = ps: with ps; [
@@ -1694,6 +1700,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1713,6 +1720,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1732,6 +1740,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1751,6 +1760,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1799,7 +1809,7 @@
       python-otbr-api
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "homematic" = ps: with ps; [
@@ -1889,12 +1899,37 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "icloud" = ps: with ps; [
       pyicloud
     ];
+    "idasen_desk" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ]; # missing inputs: idasen-ha
     "idteck_prox" = ps: with ps; [
     ]; # missing inputs: rfk101py
     "ifttt" = ps: with ps; [
@@ -1958,7 +1993,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "input_boolean" = ps: with ps; [
@@ -2098,7 +2133,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "keyboard" = ps: with ps; [
@@ -2130,7 +2165,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "kira" = ps: with ps; [
@@ -2240,7 +2275,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "led_ble" = ps: with ps; [
@@ -2266,7 +2301,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "legrand" = ps: with ps; [
@@ -2370,10 +2405,11 @@
       hass-nabucasa
       hassil
       home-assistant-intents
+      loqedapi
       mutagen
       pyturbojpeg
-      webrtcvad
-    ]; # missing inputs: loqedAPI
+      webrtc-noise-gain
+    ];
     "lovelace" = ps: with ps; [
     ];
     "luci" = ps: with ps; [
@@ -2435,7 +2471,8 @@
       mastodon-py
     ];
     "matrix" = ps: with ps; [
-      matrix-client
+      matrix-nio
+      pillow
     ];
     "matter" = ps: with ps; [
       aiohttp-cors
@@ -2453,6 +2490,31 @@
     "meater" = ps: with ps; [
       meater-python
     ];
+    "medcom_ble" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ]; # missing inputs: medcom-ble
     "media_extractor" = ps: with ps; [
       aiohttp-cors
       yt-dlp
@@ -2493,7 +2555,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ]; # missing inputs: melnor-bluetooth
     "meraki" = ps: with ps; [
@@ -2548,8 +2610,6 @@
     "min_max" = ps: with ps; [
     ];
     "minecraft_server" = ps: with ps; [
-      aiodns
-      getmac
       mcstatus
     ];
     "minio" = ps: with ps; [
@@ -2580,7 +2640,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "mobile_app" = ps: with ps; [
@@ -2595,7 +2655,7 @@
       pynacl
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "mochad" = ps: with ps; [
     ]; # missing inputs: pymochad
@@ -2647,7 +2707,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "motion_blinds" = ps: with ps; [
@@ -2712,8 +2772,7 @@
       sqlalchemy
     ];
     "myq" = ps: with ps; [
-      pymyq
-    ];
+    ]; # missing inputs: python-myq
     "mysensors" = ps: with ps; [
       aiohttp-cors
       janus
@@ -2771,7 +2830,7 @@
       pyatmo
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "netdata" = ps: with ps; [
       netdata
@@ -3014,7 +3073,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "oru" = ps: with ps; [
@@ -3037,6 +3096,7 @@
       pyroute2
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       python-otbr-api
       pyudev
       sqlalchemy
@@ -3068,7 +3128,7 @@
       paho-mqtt
       pynacl
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "p1_monitor" = ps: with ps; [
       p1monitor
@@ -3153,7 +3213,7 @@
       mutagen
       pyplaato
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "plant" = ps: with ps; [
       fnv-hash-fast
@@ -3184,6 +3244,31 @@
     "powerwall" = ps: with ps; [
       tesla-powerwall
     ];
+    "private_ble_device" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ];
     "profiler" = ps: with ps; [
       guppy3
       objgraph
@@ -3273,7 +3358,7 @@
       pyudev
       qingping-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "qld_bushfire" = ps: with ps; [
@@ -3308,7 +3393,7 @@
       mutagen
       pyturbojpeg
       rachiopy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "radarr" = ps: with ps; [
       aiopyarr
@@ -3357,7 +3442,7 @@
       pyudev
       rapt-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "raspberry_pi" = ps: with ps; [
@@ -3481,7 +3566,6 @@
     ];
     "ruckus_unleashed" = ps: with ps; [
       aioruckus
-      xmltodict
     ];
     "russound_rio" = ps: with ps; [
     ]; # missing inputs: russound-rio
@@ -3525,7 +3609,7 @@
       pyudev
       ruuvitag-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "rympro" = ps: with ps; [
@@ -3546,7 +3630,7 @@
       psutil-home-assistant
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "saj" = ps: with ps; [
       pysaj
@@ -3636,7 +3720,7 @@
       pyudev
       sensirion-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sensor" = ps: with ps; [
@@ -3669,7 +3753,7 @@
       pyudev
       sensorpro-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sensorpush" = ps: with ps; [
@@ -3695,7 +3779,7 @@
       pyudev
       sensorpush-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sentry" = ps: with ps; [
@@ -3833,7 +3917,7 @@
       pysmartapp
       pysmartthings
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "smarttub" = ps: with ps; [
       python-smarttub
@@ -3880,7 +3964,7 @@
       pysnooz
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "solaredge" = ps: with ps; [
@@ -4071,9 +4155,11 @@
       pyswitchbot
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
+    "switchbot_cloud" = ps: with ps; [
+    ]; # missing inputs: switchbot-api
     "switcher_kis" = ps: with ps; [
       aioswitcher
     ];
@@ -4202,7 +4288,7 @@
       pyudev
       sqlalchemy
       thermobeacon-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "thermoplus" = ps: with ps; [
@@ -4230,7 +4316,7 @@
       pyudev
       sqlalchemy
       thermopro-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "thermoworks_smoke" = ps: with ps; [
@@ -4290,7 +4376,7 @@
       pyudev
       sqlalchemy
       tilt-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "time" = ps: with ps; [
@@ -4323,7 +4409,7 @@
       mutagen
       pyturbojpeg
       toonapi
-      webrtcvad
+      webrtc-noise-gain
     ];
     "torque" = ps: with ps; [
       aiohttp-cors
@@ -4410,6 +4496,10 @@
       ttls
     ];
     "twitch" = ps: with ps; [
+      aiohttp-cors
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
       twitchapi
     ];
     "twitter" = ps: with ps; [
@@ -4427,6 +4517,8 @@
     "ukraine_alarm" = ps: with ps; [
       uasiren
     ];
+    "ultraloq" = ps: with ps; [
+    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -4557,7 +4649,7 @@
       hassil
       home-assistant-intents
       mutagen
-      webrtcvad
+      webrtc-noise-gain
     ]; # missing inputs: voip-utils
     "volkszaehler" = ps: with ps; [
       volkszaehler
@@ -4602,6 +4694,12 @@
     ];
     "weather" = ps: with ps; [
     ];
+    "weatherflow" = ps: with ps; [
+      pyweatherflowudp
+    ];
+    "weatherkit" = ps: with ps; [
+      apple-weatherkit
+    ];
     "webhook" = ps: with ps; [
       aiohttp-cors
     ];
@@ -4636,8 +4734,14 @@
     "withings" = ps: with ps; [
       aiohttp-cors
       fnv-hash-fast
+      hass-nabucasa
+      hassil
+      home-assistant-intents
+      mutagen
       psutil-home-assistant
+      pyturbojpeg
       sqlalchemy
+      webrtc-noise-gain
       withings-api
     ];
     "wiz" = ps: with ps; [
@@ -4710,7 +4814,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       xiaomi-ble
       zeroconf
     ];
@@ -4754,7 +4858,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       yalexs-ble
       zeroconf
     ];
@@ -4777,7 +4881,8 @@
     "yandextts" = ps: with ps; [
     ];
     "yardian" = ps: with ps; [
-    ]; # missing inputs: pyyardian
+      pyyardian
+    ];
     "yeelight" = ps: with ps; [
       aiohttp-cors
       async-upnp-client
@@ -4844,6 +4949,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -4894,6 +5000,7 @@
     "adguard"
     "advantage_air"
     "aemet"
+    "aftership"
     "agent_dvr"
     "air_quality"
     "airly"
@@ -4918,6 +5025,7 @@
     "android_ip_webcam"
     "androidtv"
     "androidtv_remote"
+    "anthemav"
     "apache_kafka"
     "apcupsd"
     "api"
@@ -5031,6 +5139,7 @@
     "eafm"
     "easyenergy"
     "ecobee"
+    "ecoforest"
     "econet"
     "ecowitt"
     "edl21"
@@ -5071,6 +5180,7 @@
     "filter"
     "fireservicerota"
     "firmata"
+    "fitbit"
     "fivem"
     "fjaraskupan"
     "flic"
@@ -5168,6 +5278,7 @@
     "humidifier"
     "hunterdouglas_powerview"
     "hvv_departures"
+    "hydrawise"
     "hyperion"
     "ialarm"
     "iaqualink"
@@ -5244,6 +5355,7 @@
     "logi_circle"
     "london_air"
     "lookin"
+    "loqed"
     "lovelace"
     "luftdaten"
     "lutron_caseta"
@@ -5252,10 +5364,12 @@
     "mailgun"
     "manual"
     "manual_mqtt"
+    "matrix"
     "matter"
     "maxcube"
     "mazda"
     "meater"
+    "media_extractor"
     "media_player"
     "media_source"
     "melcloud"
@@ -5292,7 +5406,6 @@
     "mullvad"
     "mutesync"
     "my"
-    "myq"
     "mysensors"
     "mystrom"
     "mythicbeastsdns"
@@ -5372,6 +5485,7 @@
     "point"
     "poolsense"
     "powerwall"
+    "private_ble_device"
     "profiler"
     "prometheus"
     "prosegur"
@@ -5603,10 +5717,13 @@
     "wake_on_lan"
     "wake_word"
     "wallbox"
+    "waqi"
     "water_heater"
     "watttime"
     "waze_travel_time"
     "weather"
+    "weatherflow"
+    "weatherkit"
     "webhook"
     "webostv"
     "websocket_api"
@@ -5634,6 +5751,7 @@
     "yamaha_musiccast"
     "yandex_transport"
     "yandextts"
+    "yardian"
     "yeelight"
     "yolink"
     "youless"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 3d7ea12691b1d..3a520a3790441 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -134,16 +134,6 @@ let
         };
       });
 
-      plexapi = super.plexapi.overridePythonAttrs (oldAttrs: rec {
-        version = "4.13.2";
-        src = fetchFromGitHub {
-          owner = "pkkid";
-          repo = "python-plexapi";
-          rev = "refs/tags/${version}";
-          hash = "sha256-5YwINPgQ4efZBvu5McsLYicW/7keKSi011lthJUR9zw=";
-        };
-      });
-
       # Pinned due to API changes in 0.1.0
       poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
         version = "0.0.8";
@@ -282,16 +272,6 @@ let
         };
       });
 
-      zeroconf = super.zeroconf.overridePythonAttrs (oldAttrs: rec {
-        version = "0.98.0";
-        src = fetchFromGitHub {
-          owner = "python-zeroconf";
-          repo = "python-zeroconf";
-          rev = "refs/tags/${version}";
-          hash = "sha256-oajSXGQTsJsajRAnS/MkkbSyxTeVvdjvw1eiJaPzZMY=";
-        };
-      });
-
       # internal python packages only consumed by home-assistant itself
       home-assistant-frontend = self.callPackage ./frontend.nix { };
       home-assistant-intents = self.callPackage ./intents.nix { };
@@ -316,7 +296,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2023.9.3";
+  hassVersion = "2023.10.1";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -332,7 +312,7 @@ in python.pkgs.buildPythonApplication rec {
   # Primary source is the pypi sdist, because it contains translations
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tcIGYJ+r2+0jnf3xUxnFdwnLiOK9P0Y6sw0Mpd/YIT0=";
+    hash = "sha256-3VkV5DirOzLO9Qbo4s5of5Aie7JvSAN7hgHBTA8koAE=";
   };
 
   # Secondary source is git for tests
@@ -340,7 +320,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-zAUMevj2xvRkhZg4wuHDz0+X//cEU/D/HmokmX9oeCU=";
+    hash = "sha256-mzj4JJ81Wr5FO1lVVwHlgnS3olxzXzMw0lFYPbTf634=";
   };
 
   nativeBuildInputs = with python.pkgs; [
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 118f179a9c532..da86e1c698cab 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20230911.0";
+  version = "20231005.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-AcMZYjSbsBrfC0Oh5P+eruNILWdVmk46+p+8xLpqfuo=";
+    hash = "sha256-p93bo5+VQykcuK5f0r848tMoANSexvHDVBm7f3IYOMM=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix
index 6d894aa0c9bea..5f815628a50fd 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2023.9.22";
+  version = "2023.10.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "home-assistant";
     repo = "intents-package";
     rev = "refs/tags/${version}";
-    hash = "sha256-n0IIWS5edh4XD/W9Eo88pal2+zJQtrHg74FSGvPIlPg=";
+    hash = "sha256-4zaMDYHrUape+s9Z1nfGpud74pbkAeKBpJtmIyLdCjk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index af923462a0a66..adc7089741e9a 100644
--- a/pkgs/servers/home-assistant/stubs.nix
+++ b/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2023.9.3";
+  version = "2023.10.1";
   format = "pyproject";
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-dZOpfSfq47sGJJB6CvcBDlSLBG8EVAX8RMuNzbP7bTs=";
+    hash = "sha256-4TPjYBTyrJtnYVZ+F/Bxf6m0lZn6fQR3ai0+CDTqwVc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index f2c9044678524..e4561cdcc3ed5 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -5,6 +5,7 @@
 let
   # some components' tests have additional dependencies
   extraCheckInputs = with home-assistant.python.pkgs; {
+    airzone_cloud = [ aioairzone ];
     alexa = [ av ];
     bluetooth = [ pyswitchbot ];
     bthome = [ xiaomi-ble ];
@@ -19,6 +20,7 @@ let
     homeassistant_sky_connect = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zwave-js-server-python ];
     homeassistant_yellow = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
     lovelace = [ pychromecast ];
+    matrix = [ pydantic ];
     mopeka = [ pyswitchbot ];
     nest = [ av ];
     onboarding = [ pymetno radios rpi-bad-power ];
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index d9ea056f9f83c..87ba408e1f72f 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -13,16 +13,16 @@
 
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.6.35";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
-    owner = "benphelps";
+    owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-+mn90kN/YyjVnVjuvVNpsXsDYVCRmke5Rz0hmQ54VjA=";
+    hash = "sha256-p2h1XPVMTZ23nxu/rX/qOQ5DXOZ0ORaXR41ng4pgmmg=";
   };
 
-  npmDepsHash = "sha256-vzht2nmyUxIphvrgBHzELh97k1Q1XzmAXfiVCDEnRNU=";
+  npmDepsHash = "sha256-ZUdBXkQnwh0jrrSKukHeSv3HS1q24Qd12zVnpV71qIY=";
 
   preBuild = ''
     mkdir -p config
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index a65de7cf229ca..07f0c1dc48586 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -13,9 +13,7 @@
 , libgmpris
 , libusb-compat-0_1
 , llvmPackages_14
-, meson
 , mpg123
-, ninja
 , rpmextract
 , wavpack
 
@@ -28,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.34.0-100sse42";
+  version = "5.2.0-6";
 
   src = fetchurl {
-    url = "https://www.signalyst.eu/bins/${pname}/fc36/${pname}-${version}.fc36.x86_64.rpm";
-    hash = "sha256-MCRZ0XKi6pztVTuPQpPEn6wHsOwtSxR0Px9r12jnC9U=";
+    url = "https://www.signalyst.eu/bins/${pname}/fc37/${pname}-${version}.fc37.x86_64.rpm";
+    hash = "sha256-AJKSj7t1yog3EXrzdods9Jk35ibEbegnXQzFcsr2N7I=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index efcce583ce927..ff68d09bbe9dd 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "11.0.16";
+  version = "12.0.1";
   src = fetchurl {
     url = "mirror://maven/org/eclipse/jetty/jetty-home/${version}/jetty-home-${version}.tar.gz";
-    hash = "sha256-iL1s4o/1Hds0N/fzXgwOMriPtZNG7ei2t4frF1ImW+E=";
+    hash = "sha256-7nCai6S3eNly83aUQf0tiLTe+k3ih0cJnGqQvi143LI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 4981198779401..13c8bd7e7c75e 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -508,8 +508,8 @@ let self = {
     name = "njs";
     src = fetchhg {
       url = "https://hg.nginx.org/njs";
-      rev = "0.7.10";
-      sha256 = "sha256-/yKzY+BUFxLk8bWo+mqKfRVRsC2moe+WvhaRYIGdr6Y=";
+      rev = "0.8.1";
+      sha256 = "sha256-bFHrcA1ROMwYf+s0EWOXzkru6wvfRLvjvN8BV/r2tMc=";
       name = "nginx-njs";
     };
 
diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix
index 77272694a89d8..c57cc816524d8 100644
--- a/pkgs/servers/http/spawn-fcgi/default.nix
+++ b/pkgs/servers/http/spawn-fcgi/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://redmine.lighttpd.net/projects/spawn-fcgi";
     description = "Provides an interface to external programs that support the FastCGI interface";
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json
index 61dc6fe3dd1fb..75285e94405ec 100644
--- a/pkgs/servers/invidious/versions.json
+++ b/pkgs/servers/invidious/versions.json
@@ -4,9 +4,9 @@
     "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
   },
   "invidious": {
-    "rev": "bb14f794969f62582917a39c2dd57bf92fa146a7",
-    "sha256": "sha256-UX66SBscxvjl0rUHmJko12HXo5+ckKvoOfNtCIVrjXY=",
-    "version": "unstable-2023-09-18"
+    "rev": "60fae015d8b5e4b0bfac8306065db07f93c4c661",
+    "sha256": "sha256-yYTkDlQl6osvIC+k2mCXXsF8/33TB34vqOcZXPV1z/8=",
+    "version": "unstable-2023-10-07"
   },
   "lsquic": {
     "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 8b1302b911538..057942259282f 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.21.938";
+  version = "0.21.993";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha512-NxtXVEh56aed7rz4LZZ/pAiB2KHsONfsDXCZzVep60w08rTC+cIbbB5DQcRRdGJk+f6pH35TxcAGuS2nQi+pwg==";
+    hash = "sha512-LpP4BH0EJxjy4pDYpIGs9l2obxfFMLMsTEn3weJPnPRgeeAlavkACCymQxrpfG3aP1oPbaZRn6Zs/9dyohV3kQ==";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/jackett/deps.nix b/pkgs/servers/jackett/deps.nix
index bf38cb92d1102..e72b87ff4bac4 100644
--- a/pkgs/servers/jackett/deps.nix
+++ b/pkgs/servers/jackett/deps.nix
@@ -266,6 +266,8 @@
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.0"; sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.1"; sha256 = "0pya3ggs4pds6m8hgvjdljpacxwn3qx4bfq59nwi0qrs7zxihxhp"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "6.0.8"; sha256 = "0jhxpkx68fiih6p68s1bb0g45ab6qalkf1xl0g8bj4jdx7m5xhqi"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
   (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
   (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.0"; sha256 = "05mpkdc7aigwadlcc9q3ash88hygkyz5pmkj360jj6c6ffhm91s8"; })
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index 4fd7fe4a08c51..41b872fb4a773 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
   '';
 in stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "22.0.3";
+  version = "22.0.4";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    hash = "sha256-QDa5YPPi7JR8fd3jni8fjkwWH/PF023avVBENEwnbVA=";
+    hash = "sha256-wl6kZmm6o9UspKdVHDqUvoDCRALp1ut7Sun/RDuEMLI=";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index 8ac3a70312407..1225fe4b360f1 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "https://github.com/gotson/${pname}/releases/download/v${version}/${pname}-${version}.jar";
-    sha256 = "sha256-ahSM/Rr2R7e/Y80U7DmW2mTCYGvt34O4+QfzM8gXyoA=";
+    sha256 = "sha256-mEeeMMTZlAfBxp44gV8OLjyGrzcp+XCMPJLJ/sFELHs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix
index 24c46d32253ef..53050cfa7cc46 100644
--- a/pkgs/servers/lidarr/default.nix
+++ b/pkgs/servers/lidarr/default.nix
@@ -8,13 +8,13 @@ let
     x86_64-darwin = "x64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash = {
-    x64-linux_hash = "sha256-Dpdsg952hw3ra24/REedfm/S3cOocfSrxjR5vGO/b5E=";
-    arm64-linux_hash = "sha256-xMRpbg37Q9VIRiioy3kUS00M0zxCT1G439pNWdgSe6A=";
-    x64-osx_hash = "sha256-rfG7pGUYpEHVpHu+tS0v+/CqF0v/TI0uy7faPoXU4oo=";
+    x64-linux_hash = "sha256-qiI6+uiDBwY+UkqWyYqySfdOilJ87GyAojY6a5NrHNY=";
+    arm64-linux_hash = "sha256-CXbZjVIF8JL+bOzUvnaDzpDn+DK9D1g6HnmdvEDR/S8=";
+    x64-osx_hash = "sha256-t58xYrootKjavdyZp37KByyQa0CwSkl+DLxZuGYV9qs=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "lidarr";
-  version = "1.3.5.3530";
+  version = "1.4.5.3639";
 
   src = fetchurl {
     url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index eb96fa9738e36..004490c8687ad 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -28,24 +28,15 @@ assert withHyperscan -> stdenv.isx86_64;
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "3.6";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    hash = "sha256-GuWuJK73RE+cS8451m+bcmpZNQEzmZtexm19xgdDQeU=";
+    hash = "sha256-emxvSqtpTcv0LZjzhMncvnApRLXFDeyFVmkoeSVp6f4=";
   };
 
-  patches = [
-    # Fix leak in `gzip` function
-    # https://github.com/rspamd/rspamd/issues/4564
-    (fetchpatch2 {
-      url = "https://github.com/rspamd/rspamd/commit/ffbab4fbf218514845b8e5209aec044621b1f460.patch";
-      hash = "sha256-ltkC/mZcYmGoSFILaTTRB/UWSn36flEbuJP4Buys05Y=";
-    })
-  ];
-
   hardeningEnable = [ "pie" ];
 
   nativeBuildInputs = [ cmake pkg-config perl ];
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 942297b5cdcb0..a876a0b9bb73b 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -8,21 +8,21 @@
 
 buildGoModule rec {
   pname = "mattermost";
-  version = "8.1.2";
+  version = "8.1.3";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mattermost";
     rev = "v${version}";
-    hash = "sha256-hOt3xqrCs7akWyCv/6keiZN0ReF2adwiQNVibKFG3mk=";
+    hash = "sha256-Xcg24hnQqrq/hW+tlzpdNUmvrC/3zIXzyi2ZkU1a96U=";
   } + "/server";
 
   webapp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-    hash = "sha256-cIfUIGp51dyfmY3LnV+1F9CX+y5XyTCez6R8TLLz9fo=";
+    hash = "sha256-FXc0W3W05Hx8jdNHHjRXTcfKw8j6rRZbn2TTEKx/UfU=";
   };
 
-  vendorHash = "sha256-3OZUWg4e2h7g15FXxiFKk2EXceHP4phBTpyy/uY2Ni4=";
+  vendorHash = "sha256-uHKd8shLDVd+zjRhEJcxAn+H9e9jqEM8XXqYx7B4hiQ=";
 
   subPackages = [ "cmd/mattermost" ];
 
diff --git a/pkgs/servers/mediamtx/default.nix b/pkgs/servers/mediamtx/default.nix
index 1ce4681bdf639..9e9e95d67f922 100644
--- a/pkgs/servers/mediamtx/default.nix
+++ b/pkgs/servers/mediamtx/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "mediamtx";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "bluenviron";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XD7m6vp7Xu/Fmtv9smzz+zwVosP8UAOUkE+6KRAfVMQ=";
+    hash = "sha256-VIXrptVF5kjjz9vHqqjAM5gYk2o/wkUvudXixCloPgE=";
   };
 
-  vendorHash = "sha256-Mnyc7PL6nUyoCnS6Mm+EGsxV8ciq0x4GXdbwslOs9hw=";
+  vendorHash = "sha256-bUZU9I2lqjMOupkCQKSfdrWsBYmAVrLEXod0l+J3p6g=";
 
   # Tests need docker
   doCheck = false;
diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix
index 04f0ac3ac807c..868c420d49ae2 100644
--- a/pkgs/servers/meteor/default.nix
+++ b/pkgs/servers/meteor/default.nix
@@ -97,6 +97,6 @@ stdenv.mkDerivation {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
     platforms = builtins.attrNames srcs;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 4dd05ecb532ca..c6d335e9c8518 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.73";
+  version = "2.0.74";
   pname = "munin";
 
   src = fetchFromGitHub {
     owner = "munin-monitoring";
     repo = "munin";
     rev = version;
-    sha256 = "sha256-KyPId549mTm/DrtityM4NHDlZt081UKwfRWS/eWQbXw=";
+    sha256 = "sha256-jiAlqhJyeeoCxUYrUoPW5fdiPCtbuGwXRlmgBHYkF14=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix
index 173a978cf2eb8..3fb61b42e040f 100644
--- a/pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule rec {
   pname = "dcgm-exporter";
-  version = "3.1.8-3.1.5";
+  version = "3.2.5-3.1.7";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Jzv3cU3gmGIXV+DV3wV/1zSWwz18s3Jax6JC7WZW7Z4=";
+    hash = "sha256-+Hviq+iu1LBcy2VwmCX5xOq1I/zevfydesVlrVorGOI=";
   };
 
   # Upgrade to go 1.17 during the vendoring FOD build because it fails otherwise.
@@ -42,7 +42,7 @@ buildGoModule rec {
     cp vendor/go.mod go.mod
   '';
 
-  vendorHash = "sha256-KMCV79kUY1sNYysH0MmB7pVU98r7v+DpLIoYHxyyG4U=";
+  vendorHash = "sha256-Fjvx15e/psxoqoS6c6GhiQfe7g2aI40EmPR26xLhrzg=";
 
   nativeBuildInputs = [
     cudaPackages.autoAddOpenGLRunpathHook
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index f96ab4584289b..77bb07b35816a 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -31,10 +31,10 @@
 }:
 
 let
-  version = "2.47.0";
+  version = "2.47.1";
   webUiStatic = fetchurl {
     url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
-    hash = "sha256-MjnTFDHMLDML8crhtCfAv3aK67vwLEUVglIzXgc5mBU=";
+    hash = "sha256-NgVwxKhag/acE5sdP3910CuGWVWfmTSnXSSztEjLobs=";
   };
 in
 buildGoModule rec {
@@ -47,7 +47,7 @@ buildGoModule rec {
     owner = "prometheus";
     repo = "prometheus";
     rev = "v${version}";
-    hash = "sha256-I0tl7DlZ1Yp5nHm3JK1hP+u+yLGBjwubfaTxUvXSDUE=";
+    hash = "sha256-AK2DLFDWrpnkvOUb9dFYjdAa6+Vm6ftZQpexy/FULrs=";
   };
 
   vendorHash = "sha256-qFp+tMHhXmJGY9MSukVRjBVzaIBgfxB0BorWiuInMwk=";
diff --git a/pkgs/servers/monitoring/prometheus/exportarr/default.nix b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
index cdd3b4c464ae4..a7649ba17bb86 100644
--- a/pkgs/servers/monitoring/prometheus/exportarr/default.nix
+++ b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "exportarr";
-  version = "1.5.3";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "onedr0p";
     repo = "exportarr";
     rev = "v${version}";
-    hash = "sha256-pjT4zzYONiHMv0YORHHvsBjBUsFQQ7yKNvUqnvgi2Pk=";
+    hash = "sha256-qe3i/sukAkE3DNiSc5BsY9OFWoAVuLsuYStlPfpVZQQ=";
   };
 
-  vendorHash = "sha256-tSdGWtVHtas+3uvQiZhBreY2hODopZepApOVoFsERws=";
+  vendorHash = "sha256-M+XDd2ubF4HLpFNPlhn++YXWwPwL6+5TMU+BDdkP+k0=";
 
   subPackages = [ "cmd/exportarr" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix
new file mode 100644
index 0000000000000..57f51e4997c58
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/pgbouncer-exporter.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pgbouncer-exporter";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "prometheus-community";
+    repo = "pgbouncer_exporter";
+    rev = "v${version}";
+    hash = "sha256-2N8FaGk6AU39j4q22B2Om5E7BeR7iw9drl3PTOBO2kg=";
+  };
+
+  vendorHash = "sha256-2aaUlOokqYkjMpcM12mU+O+N09/mDPlIrJ4Z1iXJAyk=";
+
+  meta = with lib; {
+    description = "Prometheus exporter for PgBouncer";
+    homepage = "https://github.com/prometheus-community/pgbouncer_exporter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ _1000101 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
index c25882a201b65..2e916367c9247 100644
--- a/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "smartctl_exporter";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "prometheus-community";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-M4d8l9EbOZsi2ubyRo7KSBYewcC9NidW/Rf1QVVIvo8=";
+    hash = "sha256-oUdMsUAlN/4uRSzxQrO0TOVRgyEdxYkGtf3VoNbxdhw=";
   };
 
   vendorHash = "sha256-0WLI+nLhRkf1CGhSer1Jkv1nUho5sxIbTE/Mf5JmX7U=";
diff --git a/pkgs/servers/monitoring/vmagent/default.nix b/pkgs/servers/monitoring/vmagent/default.nix
index 95736f726b9f7..b62f9f7e8cf14 100644
--- a/pkgs/servers/monitoring/vmagent/default.nix
+++ b/pkgs/servers/monitoring/vmagent/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildGoModule }:
 buildGoModule rec {
   pname = "vmagent";
-  version = "1.93.0";
+  version = "1.93.5";
 
   src = fetchFromGitHub {
     owner = "VictoriaMetrics";
     repo = "VictoriaMetrics";
     rev = "v${version}";
-    sha256 = "sha256-NkpMGsNz4knt5QY6B9sPJ3GcXEgPNyNgAsNBs9F2GOQ=";
+    sha256 = "sha256-AC3tQAgGHKl86MakfSWnFMX1Lr5r7RwZfomXtp5/oBs=";
   };
 
   ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 5077f09f6ddd5..0f92847a23788 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, glib, systemd, boost, fmt, buildPackages
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, systemd, boost, fmt, buildPackages
 # Darwin inputs
 , AudioToolbox, AudioUnit
 # Inputs
@@ -116,13 +116,13 @@ let
 
     in stdenv.mkDerivation rec {
       pname = "mpd";
-      version = "0.23.13";
+      version = "0.23.14";
 
       src = fetchFromGitHub {
         owner  = "MusicPlayerDaemon";
         repo   = "MPD";
         rev    = "v${version}";
-        sha256 = "sha256-OqSK4oo+Tx7zf7slHH/sRPCCUOBjyipsqDCPovw45Mo=";
+        sha256 = "sha256-S71PXj+XTGsp5aJXH+82D7tdemfA6cnLBWT/fDmb8oA=";
       };
 
       buildInputs = [
@@ -147,14 +147,6 @@ let
 
       depsBuildBuild = [ buildPackages.stdenv.cc ];
 
-      patches = [
-        (fetchpatch {
-          name = "mpd-systemd-paths.patch";
-          url = "https://github.com/MusicPlayerDaemon/MPD/commit/838af929a0ae07e238d30cd7afc96cd7311457ef.patch";
-          hash = "sha256-dqMxoeyRwRuhrbDxXyw1EyqPwXxJt48MdkdTweL7M/k=";
-        })
-      ];
-
       postPatch = lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "12.0") ''
         substituteInPlace src/output/plugins/OSXOutputPlugin.cxx \
           --replace kAudioObjectPropertyElement{Main,Master} \
diff --git a/pkgs/servers/nosql/mongodb/4.4.nix b/pkgs/servers/nosql/mongodb/4.4.nix
index 0c05c70708c2a..001b473ff5d69 100644
--- a/pkgs/servers/nosql/mongodb/4.4.nix
+++ b/pkgs/servers/nosql/mongodb/4.4.nix
@@ -6,8 +6,8 @@ let
   };
 in
 buildMongoDB {
-  version = "4.4.23";
-  sha256 = "sha256-3Jo5i2kA37FI3j9bj9MVPL9LU0E1bGhu3I6GhM6zqLY=";
+  version = "4.4.25";
+  sha256 = "sha256-oE5bs9M0E43e+8tmZaRkA/GtbKG5uZ+3Pf0sJiddTJk=";
   patches = [
     ./forget-build-dependencies-4-4.patch
     ./fix-build-with-boost-1.79-4_4.patch
diff --git a/pkgs/servers/nosql/mongodb/5.0.nix b/pkgs/servers/nosql/mongodb/5.0.nix
index 8c54ec940322b..16a4ccef56081 100644
--- a/pkgs/servers/nosql/mongodb/5.0.nix
+++ b/pkgs/servers/nosql/mongodb/5.0.nix
@@ -6,8 +6,8 @@ let
   };
   variants = if stdenv.isLinux then
     {
-      version = "5.0.19";
-      sha256 = "sha256-dApoEgAPEf2r1mMgs9VAJiHLBLoASETWXToR5Kx7qd4=";
+      version = "5.0.21";
+      sha256 = "sha256-knAqb6bT1KpO1Gi4sKhG22OtCPhOR3NMmhRjUgseUPM=";
       patches = [ ./fix-build-with-boost-1.79-5_0-linux.patch ];
     }
   else lib.optionalAttrs stdenv.isDarwin
diff --git a/pkgs/servers/nosql/mongodb/6.0.nix b/pkgs/servers/nosql/mongodb/6.0.nix
index 47b0f1b6f6a70..12110393f9bc3 100644
--- a/pkgs/servers/nosql/mongodb/6.0.nix
+++ b/pkgs/servers/nosql/mongodb/6.0.nix
@@ -6,8 +6,8 @@ let
   };
 in
 buildMongoDB {
-  version = "6.0.8";
-  sha256 = "sha256-ZyTE/dZ86kJ+WRSDmc2it4SzAlwjNKhWUyYXpisNIS4=";
+  version = "6.0.10";
+  sha256 = "sha256-7YJ0Ndyl635ebDWuIGfC5DFIGUXr518ghC/0Qq42HEM=";
   patches = [
     (fetchpatch {
       name = "mongodb-6.1.0-rc-more-specific-cache-alignment-types.patch";
diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix
index ff82755d8cd79..5be49f18891f9 100644
--- a/pkgs/servers/nosql/mongodb/mongodb.nix
+++ b/pkgs/servers/nosql/mongodb/mongodb.nix
@@ -190,7 +190,7 @@ in stdenv.mkDerivation rec {
     homepage = "http://www.mongodb.org";
     inherit license;
 
-    maintainers = with maintainers; [ bluescreen303 offline cstrahan ];
+    maintainers = with maintainers; [ bluescreen303 offline ];
     platforms = subtractLists systems.doubles.i686 systems.doubles.unix;
     broken = (versionOlder version "6.0" && stdenv.system == "aarch64-darwin");
   };
diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix
index 1dfad02606ac1..95435b4ea7769 100644
--- a/pkgs/servers/nosql/victoriametrics/default.nix
+++ b/pkgs/servers/nosql/victoriametrics/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "VictoriaMetrics";
-  version = "1.93.3";
+  version = "1.93.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FR1EeRg9epVCnYF8QmyXGTdv3dITa3Cj50PAY500bJk=";
+    hash = "sha256-AC3tQAgGHKl86MakfSWnFMX1Lr5r7RwZfomXtp5/oBs=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index 6ca9bb0640901..7321c04700b36 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -21,15 +21,15 @@ let
   }.${stdenv.hostPlatform.system} or unsupported;
 
   hash = {
-    aarch64-darwin = "sha256-3dKTYw37kmIq9DG4S5qOtjK1QzZeSSCWKeXsfrXctFs=";
-    aarch64-linux = "sha256-SWt1XTWlWcxF3pcSkiyIXBKllwmVkJvoxB3NrIAj9KQ=";
-    x86_64-darwin = "sha256-YC6cH5KHzNVdWaNp4vGoGBM8UzVaiE9WfWj5vL/NZ2w=";
-    x86_64-linux = "sha256-lSar09oOHr2M3pAbF9JlQhYqyd2GoNmVAGmSjm0ZpOg=";
+    aarch64-darwin = "sha256-oYO6XXy+x4+YxgpwpiTG/3AxrEKQdBlWDZ7yDI1Q7iY=";
+    aarch64-linux = "sha256-5A7Rk/3U+GvDmAX/bWBRZCY2t2AFKGORlL60dtzuaOI=";
+    x86_64-darwin = "sha256-E4921TAKduFMph7I4uxL354G1dqO+Nb94W9nMmB3hKs=";
+    x86_64-linux = "sha256-KcFtQmmjfHfI38en83vTcIGXoli2S13JfO2U2tW01pc=";
   }.${stdenv.hostPlatform.system} or unsupported;
 
 in stdenv.mkDerivation rec {
   inherit pname;
-  version = "1.7.4.3769";
+  version = "1.8.6.3946";
 
   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/search/quickwit/default.nix b/pkgs/servers/search/quickwit/default.nix
index e16a22f9cc641..9fdcbef3e7129 100644
--- a/pkgs/servers/search/quickwit/default.nix
+++ b/pkgs/servers/search/quickwit/default.nix
@@ -9,7 +9,7 @@
 
 let
   pname = "quickwit";
-  version = "0.6.3";
+  version = "0.6.4";
 in
 rustPlatform.buildRustPackage rec {
   inherit pname version;
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
     owner = "quickwit-oss";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-u8t6QIoislQUQO/xMKfNx/vVTgeEoh8ZIhJ+RvD3YCw=";
+    hash = "sha256-stlm3oDMQVoMza3s4JApynXbzhrarfXw3uAxGMZQJqs=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
index b9b4ff868e0ff..a43af617bbb97 100644
--- a/pkgs/servers/shairport-sync/default.nix
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -40,13 +40,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shairport-sync";
-  version = "4.2";
+  version = "4.3.1";
 
   src = fetchFromGitHub {
     repo = "shairport-sync";
     owner = "mikebrady";
     rev = "refs/tags/${version}";
-    hash = "sha256-ru2iaXSgS+w2ktqGLGC9SiYztkmmOQVzHaeLwMqvMzk=";
+    hash = "sha256-Yj0SKMKACj2B/ADPkUzO4EvaYZX39erKmjaTsr5UN0s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index ca50b30bac020..2e723c9b3ea3f 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "3.29.3";
+  version = "3.30.0";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    hash = "sha256-aPpzWGVQS7waPJXHSdL/6cBhARgpE7/uIdvSadvsB0A=";
+    hash = "sha256-Y9FXaDODeuMaXeqmfBCd96JgwrqDe5k6RCtGKvTOMKw=";
   };
 
   patches = [
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 499bef7e23758..55721a38cd8bd 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,12 +1,28 @@
-{ fetchFromGitHub, stdenv, lib, pkg-config, autoreconfHook
-, ncurses, gnutls, readline
-, openssl, perl, sqlite, libjpeg, speex, pcre, libuuid
-, ldns, libedit, yasm, which, libsndfile, libtiff, libxcrypt
-
+{ fetchFromGitHub
+, fetchpatch
+, stdenv
+, lib
+, pkg-config
+, autoreconfHook
+, ncurses
+, gnutls
+, readline
+, openssl
+, perl
+, sqlite
+, libjpeg
+, speex
+, pcre
+, libuuid
+, ldns
+, libedit
+, yasm
+, which
+, libsndfile
+, libtiff
+, libxcrypt
 , callPackage
-
 , SystemConfiguration
-
 , modules ? null
 , nixosTests
 }:
@@ -110,6 +126,20 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  ## TODO Validate with the next upstream release
+  patches = [
+    (fetchpatch {
+       name = "CVE-2023-44488.patch";
+       url = "https://github.com/signalwire/freeswitch/commit/f1fb05214e4f427dcf922f531431ab649cf0622b.patch";
+       hash = "sha256-6GMebE6O2EBx60NE2LSRVljaiLm9T4zTrkIpwGvaB08=";
+     })
+    (fetchpatch {
+       name = "CVE-2023-5217.patch";
+       url = "https://github.com/signalwire/freeswitch/commit/6f9e72c585265d8def8a613b36cd4f524c201980.patch";
+       hash = "sha256-l64mBpyq/TzRM78n73kbuD0UNsk5zIH5QNJlMKdPfr4=";
+     })
+  ];
+
   strictDeps = true;
   nativeBuildInputs = [ pkg-config autoreconfHook perl which yasm ];
   buildInputs = [
diff --git a/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix b/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix
index 88a5accaffdec..2e66ce3c646f9 100644
--- a/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix
+++ b/pkgs/servers/sql/cockroachdb/cockroachdb-bin.nix
@@ -6,7 +6,7 @@
 
 let
   version = "23.1.7";
-  name = "cockroachdb";
+  pname = "cockroachdb";
 
   # For several reasons building cockroach from source has become
   # nearly impossible. See https://github.com/NixOS/nixpkgs/pull/152626
@@ -28,7 +28,7 @@ let
 
 in
 buildFHSEnv {
-  inherit name;
+  inherit pname version;
 
   runScript = "${src}/cockroach";
 
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 91b1f0cfefdd9..150e6edb66ac8 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.15";
+  version = "26.4.16";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    hash = "sha256-9CjxtNvsj2qM65u+R0pJZVwEaTdqtqURrfOGbT+/5ks=";
+    hash = "sha256-bRkXux4vpnUGRYO4dYD6IuWsbMglsMf17tBw6qpvbDg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/sql/pgbouncer/default.nix b/pkgs/servers/sql/pgbouncer/default.nix
index 7a528ba3c6d5c..b0f2bcb61626a 100644
--- a/pkgs/servers/sql/pgbouncer/default.nix
+++ b/pkgs/servers/sql/pgbouncer/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgbouncer";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "https://www.pgbouncer.org/downloads/files/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-5w1afLi3Hdfbq/01cdcaS2uZ8uhdjXGvHnNPbYZjXw4=";
+    hash = "sha256-JJks9VfXNCbXBIaY3/x7AZ5jZNTYdXriz14kcShqIIg=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index a94712556a719..81db9454f2272 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -110,23 +110,50 @@ let
         locale = "${if stdenv.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale";
       })
 
-    ] ++ lib.optionals (stdenv'.hostPlatform.isMusl && atLeast "12") [
-      (fetchpatch {
-        url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/icu-collations-hack.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7";
-        hash = "sha256-Yb6lMBDqeVP/BLMyIr5rmR6OkaVzo68cV/+cL2LOe/M=";
-      })
-    ] ++ lib.optionals (stdenv'.hostPlatform.isMusl && atLeast "13") [
-      (if olderThan "14" then
-        fetchpatch {
-           url = "https://git.alpinelinux.org/aports/plain/main/postgresql13/disable-test-collate.icu.utf8.patch?id=69faa146ec9fff3b981511068f17f9e629d4688b";
-           hash = "sha256-IOOx7/laDYhTz1Q1r6H1FSZBsHCgD4lHvia+/os7CCo=";
-         }
-       else
-         fetchpatch {
-           url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/disable-test-collate.icu.utf8.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7";
-           hash = "sha256-pnl+wM3/IUyq5iJzk+h278MDA9R0GQXQX8d4wJcB2z4=";
-         })
-    ] ++ lib.optionals stdenv'.isLinux  [
+    ] ++ lib.optionals stdenv'.hostPlatform.isMusl (
+      let
+        self = {
+          "12" = {
+            icu-collations-hack = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/testing/postgresql12/icu-collations-hack.patch?id=d5227c91adda59d4e7f55f13468f0314e8869174";
+              hash = "sha256-wuwjvGHArkRNwFo40g3p43W32OrJohretlt6iSRlJKg=";
+            };
+          };
+          "13" = {
+            inherit (self."14") icu-collations-hack;
+            disable-test-collate-icu-utf8 = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/main/postgresql13/disable-test-collate.icu.utf8.patch?id=69faa146ec9fff3b981511068f17f9e629d4688b";
+              hash = "sha256-jS/qxezaiaKhkWeMCXwpz1SDJwUWn9tzN0uKaZ3Ph2Y=";
+            };
+          };
+          "14" = {
+            icu-collations-hack = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/icu-collations-hack.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7";
+              hash = "sha256-wuwjvGHArkRNwFo40g3p43W32OrJohretlt6iSRlJKg=";
+            };
+            disable-test-collate-icu-utf8 = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/main/postgresql14/disable-test-collate.icu.utf8.patch?id=56999e6d0265ceff5c5239f85fdd33e146f06cb7";
+              hash = "sha256-jXe23AxnFjEl+TZQm4R7rStk2Leo08ctxMNmu1xr5zM=";
+            };
+          };
+          "15" = {
+            icu-collations-hack = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/main/postgresql15/icu-collations-hack.patch?id=f424e934e6d076c4ae065ce45e734aa283eecb9c";
+              hash = "sha256-HgtmhF4OJYU9macGJbTB9PjQi/yW7c3Akm3U0niWs8I=";
+            };
+          };
+          "16" = {
+            icu-collations-hack = fetchurl {
+              url = "https://git.alpinelinux.org/aports/plain/main/postgresql16/icu-collations-hack.patch?id=08a24be262339fd093e641860680944c3590238e";
+              hash = "sha256-+urQdVIlADLdDPeT68XYv5rljhbK8M/7mPZn/cF+FT0=";
+            };
+          };
+        };
+
+        patchesForVersion = self.${lib.versions.major version} or (throw "no musl patches for postgresql ${version}");
+      in
+        lib.attrValues patchesForVersion
+    ) ++ lib.optionals stdenv'.isLinux  [
       (if atLeast "13" then ./patches/socketdir-in-run-13.patch else ./patches/socketdir-in-run.patch)
     ];
 
@@ -230,6 +257,8 @@ let
       withJIT = if jitSupport then this else jitToggle;
       withoutJIT = if jitSupport then jitToggle else this;
 
+      dlSuffix = if olderThan "16" then ".so" else stdenv.hostPlatform.extensions.sharedLibrary;
+
       pkgs = let
         scope = {
           postgresql = this;
diff --git a/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
index cf0ba46d87625..092212aa3de00 100644
--- a/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
+++ b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp *.so      $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp *.sql     $out/share/postgresql/extension
     cp *.control $out/share/postgresql/extension
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/periods.nix b/pkgs/servers/sql/postgresql/ext/periods.nix
index 9a390e258daf2..102f80cf8d713 100644
--- a/pkgs/servers/sql/postgresql/ext/periods.nix
+++ b/pkgs/servers/sql/postgresql/ext/periods.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
index cb9aa5e57d3c0..dcd23a0949bb0 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_bigm.nix
@@ -1,25 +1,32 @@
-{ lib, stdenv, fetchurl, postgresql }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, postgresql }:
 
 stdenv.mkDerivation rec {
   pname = "pg_bigm";
   version = "1.2-20200228";
 
-  src = fetchurl {
-    url = "mirror://osdn/pgbigm/72448/${pname}-${version}.tar.gz";
-    sha256 = "1hxn90prldwriqmqlf33ypgbxw5v54gkzx1305yzghryzfg7rhbl";
+  src = fetchFromGitHub {
+    owner = "pgbigm";
+    repo = "pg_bigm";
+    rev = "v${version}";
+    hash = "sha256-3lspEglVWzEUTiRIWqW0DpQe8gDn9R/RxsWuI9znYc8=";
   };
 
+  patches = [
+    # Fix compatiblity with PostgreSQL 16. Remove with the next release.
+    (fetchpatch {
+      url = "https://github.com/pgbigm/pg_bigm/commit/2a9d783c52a1d7a2eb414da6f091f6035da76edf.patch";
+      hash = "sha256-LuMpSUPnT8cPChQfA9sJEKP4aGpsbN5crfTKLnDzMN8=";
+    })
+  ];
+
   buildInputs = [ postgresql ];
 
   makeFlags = [ "USE_PGXS=1" ];
 
   installPhase = ''
-    mkdir -p $out/bin    # For buildEnv to setup proper symlinks. See #22653
-    mkdir -p $out/{lib,share/postgresql/extension}
-
-    cp *.so      $out/lib
-    cp *.sql     $out/share/postgresql/extension
-    cp *.control $out/share/postgresql/extension
+    install -D -t $out/lib pg_bigm${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
index 450f5b06e2845..e3951eedde2a0 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp *.so      $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp *.sql     $out/share/postgresql/extension
     cp *.control $out/share/postgresql/extension
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix b/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix
index 25d27fcdfcbe8..d0cf1193fb56d 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hint_plan.nix
@@ -1,24 +1,55 @@
 { lib, stdenv, fetchFromGitHub, postgresql }:
 
-stdenv.mkDerivation rec {
+let
+  source = {
+    "16" = {
+      version = "1.6.0";
+      hash = "sha256-lg7N0QblluTgtNo1tGZjirNJSyQXtcAEs9Jqd3zx0Sg=";
+    };
+    "15" = {
+      version = "1.5.1";
+      hash = "sha256-o8Hepf/Mc1ClRTLZ6PBdqU4jSdlz+ijVgl2vJKmIc6M=";
+    };
+    "14" = {
+      version = "1.4.2";
+      hash = "sha256-nGyKcNY57RdQdZKSaBPk2/YbT0Annz1ZevH0lKswdhA=";
+    };
+    "13" = {
+      version = "1.3.9";
+      hash = "sha256-KGcHDwk8CgNHPZARfLBfS8r7TRCP9LPjT+m4fNSnnW0=";
+    };
+    "12" = {
+      version = "1.3.9";
+      hash = "sha256-64/dlm6e4flCxMQ8efsxfKSlja+Tko0zsghTgLatN+Y=";
+    };
+    "11" = {
+      version = "1.3.9";
+      hash = "sha256-8t/HhB/2Kjx4xMItmmKv3g9gba5VCBHdplYtYD/3UhA=";
+    };
+  }.${lib.versions.major postgresql.version} or (throw "Source for pg_hint_plan is not available for ${postgresql.version}");
+in
+stdenv.mkDerivation {
   pname = "pg_hint_plan";
-  version = "14-1.4.0";
+  inherit (source) version;
 
   src = fetchFromGitHub {
     owner = "ossc-db";
-    repo = pname;
-    rev = "REL${builtins.replaceStrings ["-" "."] ["_" "_"] version}";
-    sha256 = "sha256-2hYDn/69264x2lMRVIp/I5chjocL6UqIw5ry1qdRcDM=";
+    repo = "pg_hint_plan";
+    rev = "REL${lib.versions.major postgresql.version}_${builtins.replaceStrings ["."] ["_"] source.version}";
+    inherit (source) hash;
   };
 
+  postPatch = lib.optionalString (lib.versionOlder postgresql.version "14") ''
+    # https://github.com/ossc-db/pg_hint_plan/commit/e9e564ad59b8bd4a03e0f13b95b5122712e573e6
+    substituteInPlace Makefile --replace "LDFLAGS+=-Wl,--build-id" ""
+  '';
+
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    mkdir -p $out/{lib,share/postgresql/extension}
-
-    cp *.so      $out/lib
-    cp *.sql     $out/share/postgresql/extension
-    cp *.control $out/share/postgresql/extension
+    install -D -t $out/lib pg_hint_plan${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
   '';
 
   meta = with lib; {
@@ -27,6 +58,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ _1000101 ];
     platforms = postgresql.meta.platforms;
     license = licenses.bsd3;
-    broken = versionOlder postgresql.version "14";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index 71533645ef0cc..a60601aef569a 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_hll";
-  version = "2.17";
+  version = "2.18";
 
   buildInputs = [ postgresql ];
 
@@ -10,21 +10,19 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-hll";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-KYpyidy7t7v9puNjjmif16uz383zlo521luZpH3w/1I=";
+    hash   = "sha256-Latdxph1Ura8yKEokEjalJ+/GY+pAKOT3GXjuLprj6c=";
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/postgresql/extension}
-
-    cp *.so      $out/lib
-    cp *.sql     $out/share/postgresql/extension
-    cp *.control $out/share/postgresql/extension
-  '';
+    install -D -t $out/lib hll${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
+ '';
 
   meta = with lib; {
     description = "HyperLogLog for PostgreSQL";
     homepage    = "https://github.com/citusdata/postgresql-hll";
-    changelog   = "https://github.com/citusdata/postgresql-hll/raw/v${version}/CHANGELOG.md";
+    changelog   = "https://github.com/citusdata/postgresql-hll/blob/v${version}/CHANGELOG.md";
     maintainers = with maintainers; [ thoughtpolice ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.asl20;
diff --git a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
index 61f9a89704a88..2b2cf185955b6 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_ivm";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "sraoss";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MAZsEPQu1AqI53h01M5bErc/MUJRauNPO9Hizig+2dc=";
+    hash = "sha256-uSYhNUfd4mw7mGGAcP43X/0v/bNp6SdZjPzktGONgaQ=";
   };
 
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib pg_ivm${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Materialized views with IVM (Incremental View Maintenance) for PostgreSQL";
     homepage = "https://github.com/sraoss/pg_ivm";
+    changelog = "https://github.com/sraoss/pg_ivm/releases/tag/v${version}";
     maintainers = with maintainers; [ ivan ];
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
diff --git a/pkgs/servers/sql/postgresql/ext/pg_net.nix b/pkgs/servers/sql/postgresql/ext/pg_net.nix
index fc52857de17dc..3cfcafad74e7a 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_net.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_net.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_net";
-  version = "0.7.2";
+  version = "0.7.3";
 
   buildInputs = [ curl postgresql ];
 
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
     owner  = "supabase";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    hash   = "sha256-9Ki3fyinHTYrfckxAY0fCTlzJd9l+n7QRUV7mIWrqmc=";
+    hash   = "sha256-j5qLgn/i4ljysuwgT46579N+9VpGr483vQEX/3lUYFA=";
   };
 
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp *.so      $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp sql/*.sql $out/share/postgresql/extension
     cp *.control $out/share/postgresql/extension
   '';
@@ -24,8 +24,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Async networking for Postgres";
     homepage    = "https://github.com/supabase/pg_net";
+    changelog   = "https://github.com/supabase/pg_net/releases/tag/v${version}";
     maintainers = with maintainers; [ thoughtpolice ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.postgresql;
+    broken      = versionOlder postgresql.version "12";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pg_partman.nix b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
index b288a27baf893..e008993fcfa5c 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_partman.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_partman.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_partman";
-  version = "4.7.4";
+  version = "5.0.0";
 
   buildInputs = [ postgresql ];
 
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
     owner  = "pgpartman";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-DdE/hqCrju678Xk3xXGVFhKQM3x9skQQKolNJ2/3gbs=";
+    sha256 = "sha256-T7+cPi8LIftWVwI9mi0LAwWCTxp/r6iyKT1wKO/Ztbk=";
   };
 
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp src/*.so      $out/lib
+    cp src/*${postgresql.dlSuffix} $out/lib
     cp updates/*     $out/share/postgresql/extension
     cp -r sql/*      $out/share/postgresql/extension
     cp *.control     $out/share/postgresql/extension
@@ -25,9 +25,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Partition management extension for PostgreSQL";
     homepage    = "https://github.com/pgpartman/pg_partman";
-    changelog   = "https://github.com/pgpartman/pg_partman/raw/v${version}/CHANGELOG.txt";
+    changelog   = "https://github.com/pgpartman/pg_partman/blob/v${version}/CHANGELOG.md";
     maintainers = with maintainers; [ ggpeti ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.postgresql;
+    broken      = versionOlder postgresql.version "14";
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pg_rational.nix b/pkgs/servers/sql/postgresql/ext/pg_rational.nix
index 5cfd6240990fe..df80ea49a541a 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_rational.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_rational.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp *.so      $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp *.sql     $out/share/postgresql/extension
     cp *.control $out/share/postgresql/extension
 
diff --git a/pkgs/servers/sql/postgresql/ext/pg_relusage.nix b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix
index 043adf7250339..1fe9fd3cac876 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_relusage.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_relusage.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
index dd1c745bc8cf0..fd07b4e105448 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_repack.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     install -D bin/pg_repack -t $out/bin/
-    install -D lib/pg_repack.so -t $out/lib/
+    install -D lib/pg_repack${postgresql.dlSuffix} -t $out/lib/
     install -D lib/{pg_repack--${version}.sql,pg_repack.control} -t $out/share/postgresql/extension
   '';
 
diff --git a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
index 5e9976c014d39..06b8ce6909823 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_safeupdate.nix
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
-    mkdir -p $out/bin # for buildEnv, see https://github.com/NixOS/nixpkgs/issues/22653
-    install -D safeupdate.so -t $out/lib
+    install -D safeupdate${postgresql.dlSuffix} -t $out/lib
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
index a4a8e6b0fe376..227ea8357861c 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ postgresql gcc ];
   buildPhase = "USE_PGXS=1 make";
   installPhase = ''
-    install -D pg_similarity.so -t $out/lib/
+    install -D pg_similarity${postgresql.dlSuffix} -t $out/lib/
     install -D ./{pg_similarity--unpackaged--1.0.sql,pg_similarity--1.0.sql,pg_similarity.control} -t $out/share/postgresql/extension
   '';
 
diff --git a/pkgs/servers/sql/postgresql/ext/pg_topn.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
index ec236b4d9168e..2a11417c90831 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_topn.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_topn";
-  version = "2.5.0";
+  version = "2.6.0";
 
   buildInputs = [ postgresql ];
 
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-topn";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-BqOPnIReV6HnMQkqAGxB3PI10gh9ZEn4IN3A+g1h7/M=";
+    sha256 = "sha256-kq3P+a9NWLKN/CsISGHfInbeL4ex4KIeDhTKyyN7FVE=";
   };
 
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
-    cp *.so      $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp *.sql     $out/share/postgresql/extension
     cp *.control $out/share/postgresql/extension
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pgaudit.nix b/pkgs/servers/sql/postgresql/ext/pgaudit.nix
index c5e536363fda3..188451f1b8849 100644
--- a/pkgs/servers/sql/postgresql/ext/pgaudit.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgaudit.nix
@@ -1,14 +1,42 @@
 { lib, stdenv, fetchFromGitHub, libkrb5, openssl, postgresql }:
 
-stdenv.mkDerivation rec {
+let
+  source = {
+    "16" = {
+      version = "16.0";
+      hash = "sha256-8+tGOl1U5y9Zgu+9O5UDDE4bec4B0JC/BQ6GLhHzQzc=";
+    };
+    "15" = {
+      version = "1.7.0";
+      hash = "sha256-8pShPr4HJaJQPjW1iPJIpj3CutTx8Tgr+rOqoXtgCcw=";
+    };
+    "14" = {
+      version = "1.6.2";
+      hash = "sha256-Bl7Jk2B0deZUDiI391vk4nilwuVGHd1wuaQRSCoA3Mk=";
+    };
+    "13" = {
+      version = "1.5.2";
+      hash = "sha256-fyf2Ym0fAAXjc28iFCGDEftPAyDLXmEgi/0DaTJJiIg=";
+    };
+    "12" = {
+      version = "1.4.3";
+      hash = "sha256-c8/xUFIHalu2bMCs57DeylK0oW0VnQwmUCpdp+tYqk4=";
+    };
+    "11" = {
+      version = "1.3.4";
+      hash = "sha256-UEnwD36ejeYWyKRHZ4mPt6/Ru76Gy8s/rgIvmgermiM=";
+    };
+  }.${lib.versions.major postgresql.version} or (throw "Source for pgaudit is not available for ${postgresql.version}");
+in
+stdenv.mkDerivation {
   pname = "pgaudit";
-  version = "1.7.0";
+  inherit (source) version;
 
   src = fetchFromGitHub {
     owner = "pgaudit";
     repo = "pgaudit";
-    rev = version;
-    hash = "sha256-8pShPr4HJaJQPjW1iPJIpj3CutTx8Tgr+rOqoXtgCcw=";
+    rev = source.version;
+    hash = source.hash;
   };
 
   buildInputs = [ libkrb5 openssl postgresql ];
@@ -16,7 +44,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "USE_PGXS=1" ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib pgaudit${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
@@ -24,6 +52,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Open Source PostgreSQL Audit Logging";
     homepage = "https://github.com/pgaudit/pgaudit";
+    changelog = "https://github.com/pgaudit/pgaudit/releases/tag/${source.version}";
     maintainers = with maintainers; [ idontgetoutmuch ];
     platforms = postgresql.meta.platforms;
     license = licenses.postgresql;
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index b847de1f3ae62..535a16abad18f 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -18,11 +18,11 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
-    install -D pgroonga.so -t $out/lib/
+    install -D pgroonga${postgresql.dlSuffix} -t $out/lib/
     install -D pgroonga.control -t $out/share/postgresql/extension
     install -D data/pgroonga-*.sql -t $out/share/postgresql/extension
 
-    install -D pgroonga_database.so -t $out/lib/
+    install -D pgroonga_database${postgresql.dlSuffix} -t $out/lib/
     install -D pgroonga_database.control -t $out/share/postgresql/extension
     install -D data/pgroonga_database-*.sql -t $out/share/postgresql/extension
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pgrouting.nix b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
index 03b229e81b272..51cef6b3f490a 100644
--- a/pkgs/servers/sql/postgresql/ext/pgrouting.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pgrouting";
-  version = "3.5.0";
+  version = "3.5.1";
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ postgresql boost ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner  = "pgRouting";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-6ckNKfun2A4WARhN6/hxPWAi8o+qGlrdYSDVQC9sKR0=";
+    sha256 = "sha256-X7ZXGPUkhPDBB2QpUGfqDTgOairkYZF78Ol0XEAmxD8=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
index a0ef596aaded4..f2fc5a329f877 100644
--- a/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgsql-http.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl postgresql ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 24c0e3e59b8a7..3e8ba36994ce5 100644
--- a/pkgs/servers/sql/postgresql/ext/pgtap.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgtap";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "theory";
     repo = "pgtap";
     rev = "v${version}";
-    sha256 = "sha256-RaafUnrMRbvyf2m2Z+tK6XxVXDGnaOkYkSMxIJLnf6A=";
+    sha256 = "sha256-HOgCb1CCfsfbMbMMWuzFJ4B8CfVm9b0sI2zBY3/kqyI=";
   };
 
   nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index d709f822fb0af..75abceb7fc769 100644
--- a/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    install -D -t $out/lib vector.so
+    install -D -t $out/lib vector${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension sql/vector-*.sql
     install -D -t $out/share/postgresql/extension vector.control
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index abbb1ac4d3e16..a37556436e740 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.5.1";
+  version = "2.5.3";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4J4uKcQ/jRKKgrpUUed9MXDmOJaYKYDzznt1DItr6T0=";
+    hash = "sha256-IR1x1duROt3IHYQx8CYXqUxTmFgB1sbia93k3oBfEkw=";
   };
 
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.sql
     install -D -t $out/share/postgresql/extension *.control
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/plr.nix b/pkgs/servers/sql/postgresql/ext/plr.nix
index 7dcb3c0c4660d..1800b424716f9 100644
--- a/pkgs/servers/sql/postgresql/ext/plr.nix
+++ b/pkgs/servers/sql/postgresql/ext/plr.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     export USE_PGXS=1
   '';
   installPhase = ''
-    install -D plr.so -t $out/lib/
+    install -D plr${postgresql.dlSuffix} -t $out/lib/
     install -D {plr--*.sql,plr.control} -t $out/share/postgresql/extension
   '';
 
diff --git a/pkgs/servers/sql/postgresql/ext/repmgr.nix b/pkgs/servers/sql/postgresql/ext/repmgr.nix
index 61e7ee9fc965d..93f6076715791 100644
--- a/pkgs/servers/sql/postgresql/ext/repmgr.nix
+++ b/pkgs/servers/sql/postgresql/ext/repmgr.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/{bin,lib,share/postgresql/extension}
 
     cp repmgr{,d} $out/bin
-    cp *.so       $out/lib
+    cp *${postgresql.dlSuffix} $out/lib
     cp *.sql      $out/share/postgresql/extension
     cp *.control  $out/share/postgresql/extension
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/rum.nix b/pkgs/servers/sql/postgresql/ext/rum.nix
index 8edd9a2fb47bf..0fb6635529ae2 100644
--- a/pkgs/servers/sql/postgresql/ext/rum.nix
+++ b/pkgs/servers/sql/postgresql/ext/rum.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "USE_PGXS=1" ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension *.control
     install -D -t $out/share/postgresql/extension *.sql
   '';
diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 49c3ee044b2bd..e84f8792e10e5 100644
--- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -1,26 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, freetds }:
+{ lib, stdenv, fetchFromGitHub, postgresql, freetds, unstableGitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
   # Move to stable version when it's released.
-  version = "unstable-2021-12-14";
+  version = "unstable-2023-07-20";
 
   buildInputs = [ postgresql freetds ];
 
   src = fetchFromGitHub {
     owner  = "tds-fdw";
-    repo   =  pname;
-    rev    = "1611a2805f85d84f463ae50c4e0765cb9bed72dc";
-    sha256 = "sha256-SYHo/o9fJjB1yzN4vLJB0RrF3HEJ4MzmEO44/Jih/20=";
+    repo   = "tds_fdw";
+    rev    = "2323efe2007d012b043fe91ea97a736b85eddce3";
+    hash   = "sha256-QdIQVQvOIY8dPi5KcbPQ/9crtD59hXstKOkHRfM1kNI=";
   };
 
   installPhase = ''
     version="$(sed -En "s,^default_version *= *'([^']*)'.*,\1,p" tds_fdw.control)"
-    install -D tds_fdw.so      -t $out/lib
+    install -D tds_fdw${postgresql.dlSuffix} -t $out/lib
     install -D sql/tds_fdw.sql    "$out/share/postgresql/extension/tds_fdw--$version.sql"
     install -D tds_fdw.control -t $out/share/postgresql/extension
   '';
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = with lib; {
     description = "A PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server)";
     homepage    = "https://github.com/tds-fdw/tds_fdw";
diff --git a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
index ec654c4a09fa4..cb401829b2425 100644
--- a/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
+++ b/pkgs/servers/sql/postgresql/ext/temporal_tables.nix
@@ -2,28 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "temporal_tables";
-  version = "unstable-2021-02-20";
+  version = "1.2.2";
 
   buildInputs = [ postgresql ];
 
   src = fetchFromGitHub {
     owner  = "arkhipov";
-    repo   = pname;
-    rev    = "3ce22da51f2549e8f8b8fbf2850c63eb3a2f1fbb";
-    sha256 = "sha256-kmcl6vVHRZj2G5GijEyaZgDpZBDcdIUKzXv0rYYqUu4=";
+    repo   = "temporal_tables";
+    rev    = "v${version}";
+    sha256 = "sha256-7+DCSPAPhsokWDq/5IXNhd7jY6FfzxxUjlsg/VJeD3k=";
   };
 
   installPhase = ''
-    mkdir -p $out/{lib,share/postgresql/extension}
-
-    cp *.so      $out/lib
-    cp *.sql     $out/share/postgresql/extension
-    cp *.control $out/share/postgresql/extension
-  '';
+    install -D -t $out/lib temporal_tables${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension *.sql
+    install -D -t $out/share/postgresql/extension *.control
+ '';
 
   meta = with lib; {
-    description = "Temporal Tables PostgreSQL Extension ";
-    homepage    = "https://github.com/mlt/temporal_tables";
+    description = "Temporal Tables PostgreSQL Extension";
+    homepage    = "https://github.com/arkhipov/temporal_tables";
     maintainers = with maintainers; [ ggpeti ];
     platforms   = postgresql.meta.platforms;
     license     = licenses.bsd2;
diff --git a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix
index 582451b3ba44c..b42095acd715c 100644
--- a/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix
+++ b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ postgresql ];
 
   installPhase = ''
-    install -D tsearch_extras.so -t $out/lib/
+    install -D tsearch_extras${postgresql.dlSuffix} -t $out/lib/
     install -D ./{tsearch_extras--1.0.sql,tsearch_extras.control} -t $out/share/postgresql/extension
   '';
 
diff --git a/pkgs/servers/sql/postgresql/ext/wal2json.nix b/pkgs/servers/sql/postgresql/ext/wal2json.nix
index f9e01a7bd517a..26d4cb0c15412 100644
--- a/pkgs/servers/sql/postgresql/ext/wal2json.nix
+++ b/pkgs/servers/sql/postgresql/ext/wal2json.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "USE_PGXS=1" ];
 
   installPhase = ''
-    install -D -t $out/lib *.so
+    install -D -t $out/lib *${postgresql.dlSuffix}
     install -D -t $out/share/postgresql/extension sql/*.sql
   '';
 
diff --git a/pkgs/servers/syncstorage-rs/Cargo.lock b/pkgs/servers/syncstorage-rs/Cargo.lock
index 00406a87301e8..0f91937acb17d 100644
--- a/pkgs/servers/syncstorage-rs/Cargo.lock
+++ b/pkgs/servers/syncstorage-rs/Cargo.lock
@@ -8,12 +8,12 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bytes 0.5.6",
  "futures-core",
  "futures-sink",
  "log",
- "pin-project 0.4.29",
+ "pin-project 0.4.30",
  "tokio",
  "tokio-util",
 ]
@@ -63,8 +63,8 @@ dependencies = [
  "actix-service",
  "actix-threadpool",
  "actix-utils",
- "base64 0.13.0",
- "bitflags",
+ "base64 0.13.1",
+ "bitflags 1.3.2",
  "brotli",
  "bytes 0.5.6",
  "cookie",
@@ -86,11 +86,11 @@ dependencies = [
  "lazy_static",
  "log",
  "mime",
- "percent-encoding 2.1.0",
- "pin-project 1.0.10",
+ "percent-encoding 2.3.0",
+ "pin-project 1.1.3",
  "rand 0.7.3",
  "regex",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "serde_urlencoded",
  "sha-1",
@@ -105,7 +105,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655"
 dependencies = [
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -118,7 +118,7 @@ dependencies = [
  "http",
  "log",
  "regex",
- "serde 1.0.135",
+ "serde 1.0.188",
 ]
 
 [[package]]
@@ -163,7 +163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb"
 dependencies = [
  "futures-util",
- "pin-project 0.4.29",
+ "pin-project 0.4.30",
 ]
 
 [[package]]
@@ -191,7 +191,7 @@ dependencies = [
  "lazy_static",
  "log",
  "num_cpus",
- "parking_lot",
+ "parking_lot 0.11.2",
  "threadpool",
 ]
 
@@ -216,14 +216,14 @@ dependencies = [
  "actix-codec",
  "actix-rt",
  "actix-service",
- "bitflags",
+ "bitflags 1.3.2",
  "bytes 0.5.6",
  "either",
  "futures-channel",
  "futures-sink",
  "futures-util",
  "log",
- "pin-project 0.4.29",
+ "pin-project 0.4.30",
  "slab",
 ]
 
@@ -255,15 +255,15 @@ dependencies = [
  "fxhash",
  "log",
  "mime",
- "pin-project 1.0.10",
+ "pin-project 1.1.3",
  "regex",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "serde_urlencoded",
  "socket2 0.3.19",
  "time 0.2.27",
  "tinyvec",
- "url 2.2.2",
+ "url 2.4.1",
 ]
 
 [[package]]
@@ -274,14 +274,14 @@ checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "addr2line"
-version = "0.17.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -294,39 +294,63 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "alloc-no-stdlib"
-version = "2.0.3"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
 
 [[package]]
 name = "alloc-stdlib"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697ed7edc0f1711de49ce108c541623a0af97c6c60b2f6e2b65229847ac843c2"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
 dependencies = [
  "alloc-no-stdlib",
 ]
 
 [[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
 name = "anyhow"
-version = "1.0.53"
+version = "1.0.75"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "arc-swap"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5d78ce20460b82d3fa150275ed9d55e21064fc7951177baacf86a145c4a4b1f"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 
 [[package]]
 name = "arrayvec"
@@ -336,23 +360,23 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 
 [[package]]
 name = "assert-json-diff"
-version = "2.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f1c3703dd33532d7f0ca049168930e9099ecac238e23cf932f3a69c42f06da"
+checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12"
 dependencies = [
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
 ]
 
 [[package]]
 name = "async-trait"
-version = "0.1.53"
+version = "0.1.73"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -361,16 +385,16 @@ version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.1.19",
  "libc",
  "winapi 0.3.9",
 ]
 
 [[package]]
 name = "autocfg"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "awc"
@@ -382,40 +406,40 @@ dependencies = [
  "actix-http",
  "actix-rt",
  "actix-service",
- "base64 0.13.0",
+ "base64 0.13.1",
  "bytes 0.5.6",
  "cfg-if 1.0.0",
  "derive_more",
  "futures-core",
  "log",
  "mime",
- "percent-encoding 2.1.0",
+ "percent-encoding 2.3.0",
  "rand 0.7.3",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "serde_urlencoded",
 ]
 
 [[package]]
 name = "backtrace"
-version = "0.3.65"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if 1.0.0",
  "libc",
- "miniz_oxide 0.5.1",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
 
 [[package]]
 name = "base-x"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
+checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
 
 [[package]]
 name = "base64"
@@ -425,38 +449,37 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
 
 [[package]]
 name = "base64"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "bb8"
-version = "0.4.2"
+name = "base64"
+version = "0.21.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374bba43fc924d90393ee7768e6f75d223a98307a488fe5bc34b66c3e96932a6"
-dependencies = [
- "async-trait",
- "futures 0.3.19",
- "tokio",
-]
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
 
 [[package]]
 name = "bindgen"
-version = "0.57.0"
+version = "0.59.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4865004a46a0aafb2a0a5eb19d3c9fc46ee5f063a6cfc605c69ac9ecf5263d"
+checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cexpr",
  "clang-sys",
+ "clap",
+ "env_logger",
  "lazy_static",
  "lazycell",
+ "log",
  "peeking_take_while",
  "proc-macro2",
  "quote",
  "regex",
  "rustc-hash",
  "shlex",
+ "which",
 ]
 
 [[package]]
@@ -466,6 +489,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
 name = "bitmaps"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -485,18 +514,18 @@ dependencies = [
 
 [[package]]
 name = "boringssl-src"
-version = "0.3.0+688fc5c"
+version = "0.5.2+6195bf8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f901accdf830d2ea2f4e27f923a5e1125cd8b1a39ab578b9db1a42d578a6922b"
+checksum = "7ab565ccc5e276ea82a2013dd08bf2c999866b06daf1d4f30fee419c4aaec6d5"
 dependencies = [
  "cmake",
 ]
 
 [[package]]
 name = "brotli"
-version = "3.3.3"
+version = "3.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f838e47a451d5a8fa552371f80024dd6ace9b7acdf25c4c3d0f9bc6816fb1c39"
+checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -505,9 +534,9 @@ dependencies = [
 
 [[package]]
 name = "brotli-decompressor"
-version = "2.3.2"
+version = "2.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
+checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
 dependencies = [
  "alloc-no-stdlib",
  "alloc-stdlib",
@@ -515,9 +544,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.9.1"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "byteorder"
@@ -533,41 +562,44 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "bytestring"
-version = "1.0.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d"
+checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae"
 dependencies = [
- "bytes 1.1.0",
+ "bytes 1.5.0",
 ]
 
 [[package]]
 name = "cadence"
-version = "0.26.0"
+version = "0.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7685b737fff763407351ce3a0d18c980a68e154b36f2d0b0fafebbac47de032"
+checksum = "f39286bc075b023101dccdb79456a1334221c768b8faede0c2aff7ed29a9482d"
 dependencies = [
  "crossbeam-channel",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.72"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "cexpr"
-version = "0.4.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
 dependencies = [
- "nom",
+ "nom 7.1.3",
 ]
 
 [[package]]
@@ -584,23 +616,24 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.19"
+version = "0.4.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
 dependencies = [
- "libc",
- "num-integer",
- "num-traits 0.2.14",
- "serde 1.0.135",
- "time 0.1.43",
- "winapi 0.3.9",
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits 0.2.16",
+ "serde 1.0.188",
+ "wasm-bindgen",
+ "windows-targets",
 ]
 
 [[package]]
 name = "clang-sys"
-version = "1.3.0"
+version = "1.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90"
+checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
 dependencies = [
  "glob",
  "libc",
@@ -608,23 +641,38 @@ dependencies = [
 ]
 
 [[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "bitflags 1.3.2",
+ "strsim 0.8.0",
+ "textwrap",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
 name = "cmake"
-version = "0.1.45"
+version = "0.1.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "colored"
-version = "2.0.0"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
 dependencies = [
- "atty",
+ "is-terminal",
  "lazy_static",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
@@ -634,8 +682,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
 dependencies = [
  "lazy_static",
- "nom",
- "serde 1.0.135",
+ "nom 5.1.3",
+ "serde 1.0.188",
 ]
 
 [[package]]
@@ -645,9 +693,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369"
 dependencies = [
  "lazy_static",
- "nom",
+ "nom 5.1.3",
  "rust-ini",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde-hjson",
  "serde_json",
  "toml",
@@ -672,7 +720,7 @@ version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
 dependencies = [
- "percent-encoding 2.1.0",
+ "percent-encoding 2.3.0",
  "time 0.2.27",
  "version_check",
 ]
@@ -685,9 +733,9 @@ checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536"
 
 [[package]]
 name = "core-foundation"
-version = "0.9.2"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -695,36 +743,36 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.1"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "crc32fast"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2209c310e29876f7f0b2721e7e26b84aff178aa3da5d091f9bfbf47669e60e3"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
  "cfg-if 1.0.0",
 ]
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.2"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
  "cfg-if 1.0.0",
- "crossbeam-utils 0.8.6",
+ "crossbeam-utils 0.8.16",
 ]
 
 [[package]]
@@ -751,12 +799,11 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.6"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 dependencies = [
  "cfg-if 1.0.0",
- "lazy_static",
 ]
 
 [[package]]
@@ -771,24 +818,24 @@ dependencies = [
 
 [[package]]
 name = "curl"
-version = "0.4.42"
+version = "0.4.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7de97b894edd5b5bcceef8b78d7da9b75b1d2f2f9a910569d0bde3dd31d84939"
+checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
 dependencies = [
  "curl-sys",
  "libc",
  "openssl-probe",
  "openssl-sys",
  "schannel",
- "socket2 0.4.3",
+ "socket2 0.4.9",
  "winapi 0.3.9",
 ]
 
 [[package]]
 name = "curl-sys"
-version = "0.4.52+curl-7.81.0"
+version = "0.4.66+curl-8.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14b8c2d1023ea5fded5b7b892e4b8e95f70038a421126a056761a84246a28971"
+checksum = "70c44a72e830f0e40ad90dda8a6ab6ed6314d39776599a58a2e5e37fbc6db5b9"
 dependencies = [
  "cc",
  "libc",
@@ -796,7 +843,7 @@ dependencies = [
  "openssl-sys",
  "pkg-config",
  "vcpkg",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
@@ -808,21 +855,27 @@ dependencies = [
  "config 0.10.1",
  "crossbeam-queue",
  "num_cpus",
- "serde 1.0.135",
+ "serde 1.0.188",
  "tokio",
 ]
 
 [[package]]
 name = "debugid"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91cf5a8c2f2097e2a32627123508635d47ce10563d999ec1a95addf08b502ba"
+checksum = "d6ee87af31d84ef885378aebca32be3d682b0e0dc119d5b4860a2c5bb5046730"
 dependencies = [
- "serde 1.0.135",
+ "serde 1.0.188",
  "uuid",
 ]
 
 [[package]]
+name = "deranged"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946"
+
+[[package]]
 name = "derive_more"
 version = "0.99.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -832,7 +885,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustc_version 0.4.0",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -856,7 +909,7 @@ checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -929,48 +982,48 @@ checksum = "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f"
 dependencies = [
  "lazy_static",
  "regex",
- "serde 1.0.135",
- "strsim",
+ "serde 1.0.188",
+ "strsim 0.10.0",
 ]
 
 [[package]]
 name = "dyn-clone"
-version = "1.0.5"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28"
+checksum = "23d2f3407d9a573d666de4b5bdf10569d73ca9478087346697dcbae6244bfbcd"
 
 [[package]]
 name = "either"
-version = "1.6.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.30"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if 1.0.0",
 ]
 
 [[package]]
 name = "enum-as-inner"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595"
+checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.9.0"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7"
 dependencies = [
  "atty",
  "humantime",
@@ -981,22 +1034,22 @@ dependencies = [
 
 [[package]]
 name = "erased-serde"
-version = "0.3.18"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56047058e1ab118075ca22f9ecd737bcc961aa3566a3019cb71388afa280bd8a"
+checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c"
 dependencies = [
- "serde 1.0.135",
+ "serde 1.0.188",
 ]
 
 [[package]]
 name = "errno"
-version = "0.2.8"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 dependencies = [
  "errno-dragonfly",
  "libc",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
@@ -1027,29 +1080,24 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
  "synstructure",
 ]
 
 [[package]]
 name = "fastrand"
-version = "1.7.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
-dependencies = [
- "instant",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "flate2"
-version = "1.0.22"
+version = "1.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
+checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
 dependencies = [
- "cfg-if 1.0.0",
  "crc32fast",
- "libc",
- "miniz_oxide 0.4.4",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -1075,12 +1123,11 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.0.1"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 dependencies = [
- "matches",
- "percent-encoding 2.1.0",
+ "percent-encoding 2.3.0",
 ]
 
 [[package]]
@@ -1089,7 +1136,7 @@ version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "fuchsia-zircon-sys",
 ]
 
@@ -1107,9 +1154,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
 
 [[package]]
 name = "futures"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4"
+checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1122,9 +1169,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1132,15 +1179,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1149,38 +1196,38 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
 
 [[package]]
 name = "futures-task"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
 
 [[package]]
 name = "futures-util"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
 dependencies = [
  "futures 0.1.31",
  "futures-channel",
@@ -1190,7 +1237,7 @@ dependencies = [
  "futures-sink",
  "futures-task",
  "memchr",
- "pin-project-lite 0.2.8",
+ "pin-project-lite 0.2.13",
  "pin-utils",
  "slab",
 ]
@@ -1206,9 +1253,9 @@ dependencies = [
 
 [[package]]
 name = "generic-array"
-version = "0.14.5"
+version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 dependencies = [
  "typenum",
  "version_check",
@@ -1227,57 +1274,58 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.4"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
+ "wasi 0.11.0+wasi-snapshot-preview1",
 ]
 
 [[package]]
 name = "gimli"
-version = "0.26.1"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
 
 [[package]]
 name = "glob"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "google-cloud-rust-raw"
-version = "0.11.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0f0936883f3207fa424f69fc218956a5778de6fb847ea3c491f1dc47a39fb26"
+checksum = "1887de8efd052e35bf75e4ed4bc78de35b69447a4b6d9f2e7ede52579512f318"
 dependencies = [
- "futures 0.3.19",
+ "futures 0.3.28",
  "grpcio",
  "protobuf",
 ]
 
 [[package]]
 name = "grpcio"
-version = "0.9.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d99e00eed7e0a04ee2705112e7cfdbe1a3cc771147f22f016a8cd2d002187b"
+checksum = "609832ca501baeb662dc81932fda9ed83f5d058f4b899a807ba222ce696f430a"
 dependencies = [
- "futures 0.3.19",
+ "futures-executor",
+ "futures-util",
  "grpcio-sys",
  "libc",
  "log",
- "parking_lot",
+ "parking_lot 0.12.1",
  "protobuf",
 ]
 
 [[package]]
 name = "grpcio-sys"
-version = "0.9.1+1.38.0"
+version = "0.12.1+1.46.5-patched"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9447d1a926beeef466606cc45717f80897998b548e7dc622873d453e1ecb4be4"
+checksum = "cf625d1803b6f44203f0428ddace847fb4994def5c803fc8a7a2f18fb3daec62"
 dependencies = [
  "bindgen",
  "boringssl-src",
@@ -1311,9 +1359,9 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.11.2"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hawk"
@@ -1327,17 +1375,14 @@ dependencies = [
  "once_cell",
  "ring",
  "thiserror",
- "url 2.2.2",
+ "url 2.4.1",
 ]
 
 [[package]]
 name = "heck"
-version = "0.3.3"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
-dependencies = [
- "unicode-segmentation",
-]
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -1349,6 +1394,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
 name = "hex"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1375,6 +1426,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "home"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+dependencies = [
+ "windows-sys",
+]
+
+[[package]]
 name = "hostname"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1387,13 +1447,13 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.6"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
- "bytes 1.1.0",
+ "bytes 1.5.0",
  "fnv",
- "itoa 1.0.1",
+ "itoa 1.0.9",
 ]
 
 [[package]]
@@ -1408,9 +1468,9 @@ dependencies = [
 
 [[package]]
 name = "httparse"
-version = "1.5.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
@@ -1440,7 +1500,7 @@ dependencies = [
  "httparse",
  "httpdate",
  "itoa 0.4.8",
- "pin-project 1.0.10",
+ "pin-project 1.1.3",
  "socket2 0.3.19",
  "tokio",
  "tower-service",
@@ -1478,6 +1538,29 @@ dependencies = [
 ]
 
 [[package]]
+name = "iana-time-zone"
+version = "0.1.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
 name = "idna"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1500,6 +1583,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "idna"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
 name = "if_chain"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1521,9 +1614,9 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.8.0"
+version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 dependencies = [
  "autocfg",
  "hashbrown",
@@ -1548,7 +1641,7 @@ dependencies = [
  "proc-macro-hack",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
  "unindent",
 ]
 
@@ -1562,16 +1655,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3"
-dependencies = [
- "libc",
- "windows-sys 0.45.0",
-]
-
-[[package]]
 name = "iovec"
 version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1594,9 +1677,20 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.3.1"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "rustix",
+ "windows-sys",
+]
 
 [[package]]
 name = "itoa"
@@ -1606,15 +1700,15 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
 
 [[package]]
 name = "itoa"
-version = "1.0.1"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "js-sys"
-version = "0.3.56"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1654,7 +1748,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
 dependencies = [
  "arrayvec",
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if 1.0.0",
  "ryu",
  "static_assertions",
@@ -1662,15 +1756,15 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.139"
+version = "0.2.148"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
 
 [[package]]
 name = "libloading"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
 dependencies = [
  "cfg-if 1.0.0",
  "winapi 0.3.9",
@@ -1678,9 +1772,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.3"
+version = "1.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
 dependencies = [
  "cc",
  "libc",
@@ -1690,33 +1784,31 @@ dependencies = [
 
 [[package]]
 name = "linked-hash-map"
-version = "0.5.4"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.1.4"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
 
 [[package]]
 name = "lock_api"
-version = "0.4.5"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
+ "autocfg",
  "scopeguard",
 ]
 
 [[package]]
 name = "log"
-version = "0.4.14"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
-dependencies = [
- "cfg-if 1.0.0",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lru-cache"
@@ -1735,9 +1827,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
 [[package]]
 name = "matches"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 
 [[package]]
 name = "maybe-uninit"
@@ -1747,9 +1839,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
 
 [[package]]
 name = "memchr"
-version = "2.4.1"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "migrations_internals"
@@ -1769,40 +1861,36 @@ dependencies = [
  "migrations_internals",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "mime"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 
 [[package]]
 name = "mime_guess"
-version = "2.0.3"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
 dependencies = [
  "mime",
  "unicase",
 ]
 
 [[package]]
-name = "miniz_oxide"
-version = "0.4.4"
+name = "minimal-lexical"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
-dependencies = [
- "adler",
- "autocfg",
-]
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.1"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
 dependencies = [
  "adler",
 ]
@@ -1869,9 +1957,9 @@ dependencies = [
 
 [[package]]
 name = "mysqlclient-sys"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e9637d93448044078aaafea7419aed69d301b4a12bcc4aa0ae856eb169bef85"
+checksum = "f61b381528ba293005c42a409dd73d034508e273bf90481f17ec2e964a6e969b"
 dependencies = [
  "pkg-config",
  "vcpkg",
@@ -1879,9 +1967,9 @@ dependencies = [
 
 [[package]]
 name = "native-tls"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
 dependencies = [
  "lazy_static",
  "libc",
@@ -1897,9 +1985,9 @@ dependencies = [
 
 [[package]]
 name = "net2"
-version = "0.2.37"
+version = "0.2.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac"
 dependencies = [
  "cfg-if 0.1.10",
  "libc",
@@ -1908,9 +1996,9 @@ dependencies = [
 
 [[package]]
 name = "nom"
-version = "5.1.2"
+version = "5.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
+checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b"
 dependencies = [
  "lexical-core",
  "memchr",
@@ -1918,13 +2006,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.44"
+name = "nom"
+version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
 dependencies = [
- "autocfg",
- "num-traits 0.2.14",
+ "memchr",
+ "minimal-lexical",
 ]
 
 [[package]]
@@ -1933,51 +2021,51 @@ version = "0.1.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
 dependencies = [
- "num-traits 0.2.14",
+ "num-traits 0.2.16",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.14"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.3.3",
  "libc",
 ]
 
 [[package]]
 name = "num_threads"
-version = "0.1.2"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71a1eb3a36534514077c1e079ada2fb170ef30c47d203aa6916138cf882ecd52"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "object"
-version = "0.28.3"
+version = "0.32.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.9.0"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "opaque-debug"
@@ -1987,19 +2075,31 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "openssl"
-version = "0.10.38"
+version = "0.10.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
+checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
  "cfg-if 1.0.0",
  "foreign-types",
  "libc",
  "once_cell",
+ "openssl-macros",
  "openssl-sys",
 ]
 
 [[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
 name = "openssl-probe"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2007,11 +2107,10 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.72"
+version = "0.9.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb"
+checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
 dependencies = [
- "autocfg",
  "cc",
  "libc",
  "pkg-config",
@@ -2026,24 +2125,47 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
 dependencies = [
  "instant",
  "lock_api",
- "parking_lot_core",
+ "parking_lot_core 0.8.6",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core 0.9.8",
 ]
 
 [[package]]
 name = "parking_lot_core"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 dependencies = [
  "cfg-if 1.0.0",
  "instant",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "smallvec",
  "winapi 0.3.9",
 ]
 
 [[package]]
+name = "parking_lot_core"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "redox_syscall 0.3.5",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
 name = "paste"
 version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2076,48 +2198,48 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
 
 [[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "pin-project"
-version = "0.4.29"
+version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909"
+checksum = "3ef0f924a5ee7ea9cbcea77529dba45f8a9ba9f622419fe3386ca581a3ae9d5a"
 dependencies = [
- "pin-project-internal 0.4.29",
+ "pin-project-internal 0.4.30",
 ]
 
 [[package]]
 name = "pin-project"
-version = "1.0.10"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
 dependencies = [
- "pin-project-internal 1.0.10",
+ "pin-project-internal 1.1.3",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "0.4.29"
+version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a"
+checksum = "851c8d0ce9bebe43790dedfc86614c23494ac9f423dd618d3a61fc693eafe61e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.10"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
 ]
 
 [[package]]
@@ -2128,9 +2250,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.8"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -2140,15 +2262,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.24"
+version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro-error"
@@ -2159,7 +2281,7 @@ dependencies = [
  "proc-macro-error-attr",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
  "version_check",
 ]
 
@@ -2176,24 +2298,24 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-hack"
-version = "0.5.19"
+version = "0.5.20+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.36"
+version = "1.0.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
 dependencies = [
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "protobuf"
-version = "2.25.2"
+version = "2.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47c327e191621a2158159df97cdbc2e7074bb4e940275e35abf38eb3d2595754"
+checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
 
 [[package]]
 name = "pyo3"
@@ -2204,7 +2326,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "indoc",
  "libc",
- "parking_lot",
+ "parking_lot 0.11.2",
  "paste",
  "pyo3-build-config",
  "pyo3-macros",
@@ -2228,7 +2350,7 @@ checksum = "fc0bc5215d704824dfddddc03f93cb572e1155c68b6761c37005e1c288808ea8"
 dependencies = [
  "pyo3-macros-backend",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -2240,7 +2362,7 @@ dependencies = [
  "proc-macro2",
  "pyo3-build-config",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -2251,21 +2373,21 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quote"
-version = "1.0.15"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "r2d2"
-version = "0.8.9"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f"
+checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93"
 dependencies = [
  "log",
- "parking_lot",
+ "parking_lot 0.12.1",
  "scheduled-thread-pool",
 ]
 
@@ -2290,7 +2412,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
  "rand_chacha 0.3.1",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -2310,7 +2432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -2324,11 +2446,11 @@ dependencies = [
 
 [[package]]
 name = "rand_core"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.4",
+ "getrandom 0.2.10",
 ]
 
 [[package]]
@@ -2351,28 +2473,50 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.10"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.0"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom 0.2.4",
- "redox_syscall",
+ "getrandom 0.2.10",
+ "redox_syscall 0.2.16",
+ "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.5.5"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2381,9 +2525,9 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.25"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "reqwest"
@@ -2391,7 +2535,7 @@ version = "0.10.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c"
 dependencies = [
- "base64 0.13.0",
+ "base64 0.13.1",
  "bytes 0.5.6",
  "encoding_rs",
  "futures-core",
@@ -2408,16 +2552,16 @@ dependencies = [
  "mime",
  "mime_guess",
  "native-tls",
- "percent-encoding 2.1.0",
- "pin-project-lite 0.2.8",
+ "percent-encoding 2.3.0",
+ "pin-project-lite 0.2.13",
  "rustls",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "serde_urlencoded",
  "tokio",
  "tokio-rustls",
  "tokio-tls",
- "url 2.2.2",
+ "url 2.4.1",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
@@ -2458,9 +2602,9 @@ checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.21"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
 name = "rustc-hash"
@@ -2483,21 +2627,20 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.4",
+ "semver 1.0.18",
 ]
 
 [[package]]
 name = "rustix"
-version = "0.36.9"
+version = "0.38.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc"
+checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.45.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -2515,15 +2658,15 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.6"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.9"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "same-file"
@@ -2536,28 +2679,27 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.19"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
 dependencies = [
- "lazy_static",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
 name = "scheduled-thread-pool"
-version = "0.2.5"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7"
+checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19"
 dependencies = [
- "parking_lot",
+ "parking_lot 0.12.1",
 ]
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "sct"
@@ -2571,11 +2713,11 @@ dependencies = [
 
 [[package]]
 name = "security-framework"
-version = "2.5.0"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d09d3c15d814eda1d6a836f2f2b56a6abc1446c8a34351cb3180d3db92ffe4ce"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -2584,9 +2726,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.5.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e90dd10c41c6bfc633da6e0c659bd25d31e0791e5974ac42970267d59eba87f7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -2603,9 +2745,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.4"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 
 [[package]]
 name = "semver-parser"
@@ -2698,10 +2840,10 @@ checksum = "87b41bac48a3586249431fa9efb88cd1414c3455117eb57c02f5bda9634e158d"
 dependencies = [
  "chrono",
  "debugid",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "thiserror",
- "url 2.2.2",
+ "url 2.4.1",
  "uuid",
 ]
 
@@ -2713,9 +2855,9 @@ checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
 
 [[package]]
 name = "serde"
-version = "1.0.135"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2cf9235533494ea2ddcdb794665461814781c53f19d87b76e571a1c35acbad2b"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
@@ -2734,24 +2876,24 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.135"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dcde03d87d4c973c04be249e7d8f0b35db1c848c487bd43032808e59dd8328d"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.78"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
 dependencies = [
- "itoa 1.0.1",
+ "itoa 1.0.9",
  "ryu",
- "serde 1.0.135",
+ "serde 1.0.188",
 ]
 
 [[package]]
@@ -2761,9 +2903,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
  "form_urlencoded",
- "itoa 1.0.1",
+ "itoa 1.0.9",
  "ryu",
- "serde 1.0.135",
+ "serde 1.0.188",
 ]
 
 [[package]]
@@ -2809,15 +2951,15 @@ dependencies = [
 
 [[package]]
 name = "shlex"
-version = "0.1.1"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
+checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
  "libc",
 ]
@@ -2834,9 +2976,12 @@ dependencies = [
 
 [[package]]
 name = "slab"
-version = "0.4.5"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
 
 [[package]]
 name = "slog"
@@ -2849,9 +2994,9 @@ dependencies = [
 
 [[package]]
 name = "slog-async"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe"
+checksum = "72c8038f898a2c79507940990f05386455b3a317d8f18d4caea7cbc3d5096b84"
 dependencies = [
  "crossbeam-channel",
  "slog",
@@ -2881,7 +3026,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f400f1c5db96f1f52065e8931ca0c524cceb029f7537c9e6d5424488ca137ca0"
 dependencies = [
  "chrono",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "slog",
 ]
@@ -2918,14 +3063,14 @@ dependencies = [
  "slog",
  "term",
  "thread_local",
- "time 0.3.9",
+ "time 0.3.28",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.8.0"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
 
 [[package]]
 name = "socket2"
@@ -2940,9 +3085,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.4.3"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f82496b90c36d70af5fcd482edaa2e0bd16fade569de1330405fecbbdac736b"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi 0.3.9",
@@ -2991,9 +3136,9 @@ checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
 dependencies = [
  "proc-macro2",
  "quote",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_derive",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3005,11 +3150,11 @@ dependencies = [
  "base-x",
  "proc-macro2",
  "quote",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_derive",
  "serde_json",
  "sha1",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3020,6 +3165,12 @@ checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
 
 [[package]]
 name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
@@ -3032,60 +3183,55 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
 
 [[package]]
 name = "syn"
-version = "1.0.86"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "syncserver"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
  "actix-cors",
  "actix-http",
  "actix-rt",
- "actix-service",
  "actix-web",
  "async-trait",
  "backtrace",
- "base64 0.13.0",
- "bb8",
- "bytes 1.1.0",
+ "base64 0.21.4",
  "cadence",
  "chrono",
- "deadpool",
- "diesel",
- "diesel_logger",
- "diesel_migrations",
  "docopt",
  "dyn-clone",
  "env_logger",
- "futures 0.3.19",
- "google-cloud-rust-raw",
- "grpcio",
+ "futures 0.3.28",
  "hawk",
  "hex",
  "hmac",
  "hostname",
- "http",
  "lazy_static",
- "log",
  "mime",
- "mockito",
- "num_cpus",
- "protobuf",
- "pyo3",
  "rand 0.8.5",
  "regex",
  "reqwest",
- "scheduled-thread-pool",
  "sentry",
  "sentry-backtrace",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_derive",
  "serde_json",
  "sha2",
@@ -3099,15 +3245,16 @@ dependencies = [
  "syncserver-common",
  "syncserver-db-common",
  "syncserver-settings",
+ "syncstorage-db",
  "syncstorage-settings",
  "thiserror",
- "time 0.3.9",
+ "time 0.3.28",
+ "tokenserver-auth",
  "tokenserver-common",
+ "tokenserver-db",
  "tokenserver-settings",
  "tokio",
- "url 2.2.2",
  "urlencoding",
- "uuid",
  "validator",
  "validator_derive",
  "woothee",
@@ -3115,56 +3262,146 @@ dependencies = [
 
 [[package]]
 name = "syncserver-common"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
+ "actix-web",
+ "cadence",
+ "futures 0.3.28",
  "hkdf",
+ "serde 1.0.188",
+ "serde_json",
  "sha2",
+ "slog",
+ "slog-scope",
 ]
 
 [[package]]
 name = "syncserver-db-common"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
- "async-trait",
  "backtrace",
- "chrono",
  "deadpool",
  "diesel",
  "diesel_migrations",
- "futures 0.3.19",
- "grpcio",
- "hostname",
+ "futures 0.3.28",
  "http",
- "lazy_static",
- "serde 1.0.135",
- "serde_json",
  "syncserver-common",
  "thiserror",
- "url 2.2.2",
 ]
 
 [[package]]
 name = "syncserver-settings"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
  "config 0.11.0",
  "num_cpus",
- "serde 1.0.135",
+ "serde 1.0.188",
  "slog-scope",
  "syncserver-common",
  "syncstorage-settings",
  "tokenserver-settings",
- "url 2.2.2",
+ "url 2.4.1",
+]
+
+[[package]]
+name = "syncstorage-db"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "cadence",
+ "env_logger",
+ "futures 0.3.28",
+ "hostname",
+ "lazy_static",
+ "log",
+ "rand 0.8.5",
+ "slog-scope",
+ "syncserver-common",
+ "syncserver-db-common",
+ "syncserver-settings",
+ "syncstorage-db-common",
+ "syncstorage-mysql",
+ "syncstorage-settings",
+ "syncstorage-spanner",
+ "tokio",
+]
+
+[[package]]
+name = "syncstorage-db-common"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "backtrace",
+ "chrono",
+ "diesel",
+ "diesel_migrations",
+ "futures 0.3.28",
+ "http",
+ "lazy_static",
+ "serde 1.0.188",
+ "serde_json",
+ "syncserver-common",
+ "syncserver-db-common",
+ "thiserror",
+]
+
+[[package]]
+name = "syncstorage-mysql"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "backtrace",
+ "base64 0.21.4",
+ "diesel",
+ "diesel_logger",
+ "diesel_migrations",
+ "env_logger",
+ "futures 0.3.28",
+ "http",
+ "slog-scope",
+ "syncserver-common",
+ "syncserver-db-common",
+ "syncserver-settings",
+ "syncstorage-db-common",
+ "syncstorage-settings",
+ "thiserror",
+ "url 2.4.1",
 ]
 
 [[package]]
 name = "syncstorage-settings"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
  "rand 0.8.5",
- "serde 1.0.135",
+ "serde 1.0.188",
+ "syncserver-common",
+ "time 0.3.28",
+]
+
+[[package]]
+name = "syncstorage-spanner"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "backtrace",
+ "cadence",
+ "deadpool",
+ "env_logger",
+ "futures 0.3.28",
+ "google-cloud-rust-raw",
+ "grpcio",
+ "http",
+ "log",
+ "protobuf",
+ "slog-scope",
  "syncserver-common",
- "time 0.3.9",
+ "syncserver-db-common",
+ "syncstorage-db-common",
+ "syncstorage-settings",
+ "thiserror",
+ "tokio",
+ "url 2.4.1",
+ "uuid",
 ]
 
 [[package]]
@@ -3175,7 +3412,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
  "unicode-xid",
 ]
 
@@ -3187,15 +3424,15 @@ checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
 
 [[package]]
 name = "tempfile"
-version = "3.4.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
  "cfg-if 1.0.0",
  "fastrand",
- "redox_syscall",
+ "redox_syscall 0.3.5",
  "rustix",
- "windows-sys 0.42.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -3211,39 +3448,49 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
+checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
 name = "thiserror"
-version = "1.0.30"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.30"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.4"
+version = "1.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
 dependencies = [
+ "cfg-if 1.0.0",
  "once_cell",
 ]
 
@@ -3258,16 +3505,6 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
-[[package]]
-name = "time"
 version = "0.2.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
@@ -3283,17 +3520,26 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.9"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd"
+checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
 dependencies = [
- "itoa 1.0.1",
+ "deranged",
+ "itoa 1.0.9",
  "libc",
  "num_threads",
- "time-macros 0.2.4",
+ "serde 1.0.188",
+ "time-core",
+ "time-macros 0.2.14",
 ]
 
 [[package]]
+name = "time-core"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+
+[[package]]
 name = "time-macros"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3305,9 +3551,12 @@ dependencies = [
 
 [[package]]
 name = "time-macros"
-version = "0.2.4"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792"
+checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572"
+dependencies = [
+ "time-core",
+]
 
 [[package]]
 name = "time-macros-impl"
@@ -3319,42 +3568,84 @@ dependencies = [
  "proc-macro2",
  "quote",
  "standback",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "tinyvec"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 dependencies = [
  "tinyvec_macros",
 ]
 
 [[package]]
 name = "tinyvec_macros"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "tokenserver-auth"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "dyn-clone",
+ "futures 0.3.28",
+ "mockito",
+ "pyo3",
+ "reqwest",
+ "serde 1.0.188",
+ "serde_json",
+ "syncserver-common",
+ "tokenserver-common",
+ "tokenserver-settings",
+ "tokio",
+]
 
 [[package]]
 name = "tokenserver-common"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
  "actix-web",
  "backtrace",
- "serde 1.0.135",
+ "serde 1.0.188",
+ "serde_json",
+ "syncserver-common",
+ "thiserror",
+]
+
+[[package]]
+name = "tokenserver-db"
+version = "0.14.0"
+dependencies = [
+ "async-trait",
+ "backtrace",
+ "diesel",
+ "diesel_logger",
+ "diesel_migrations",
+ "env_logger",
+ "futures 0.3.28",
+ "http",
+ "serde 1.0.188",
+ "serde_derive",
  "serde_json",
+ "slog-scope",
  "syncserver-common",
  "syncserver-db-common",
+ "syncserver-settings",
  "thiserror",
+ "tokenserver-common",
+ "tokenserver-settings",
+ "tokio",
 ]
 
 [[package]]
 name = "tokenserver-settings"
-version = "0.13.6"
+version = "0.14.0"
 dependencies = [
- "serde 1.0.135",
+ "serde 1.0.188",
  "tokenserver-common",
 ]
 
@@ -3389,7 +3680,7 @@ checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3430,38 +3721,38 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
 dependencies = [
- "serde 1.0.135",
+ "serde 1.0.188",
 ]
 
 [[package]]
 name = "tower-service"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.29"
+version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
  "cfg-if 1.0.0",
  "log",
- "pin-project-lite 0.2.8",
+ "pin-project-lite 0.2.13",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.21"
+version = "0.1.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
+checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
 dependencies = [
- "lazy_static",
+ "once_cell",
 ]
 
 [[package]]
@@ -3470,7 +3761,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
 dependencies = [
- "pin-project 1.0.10",
+ "pin-project 1.1.3",
  "tracing",
 ]
 
@@ -3483,7 +3774,7 @@ dependencies = [
  "async-trait",
  "cfg-if 1.0.0",
  "enum-as-inner",
- "futures 0.3.19",
+ "futures 0.3.28",
  "idna 0.2.3",
  "lazy_static",
  "log",
@@ -3491,7 +3782,7 @@ dependencies = [
  "smallvec",
  "thiserror",
  "tokio",
- "url 2.2.2",
+ "url 2.4.1",
 ]
 
 [[package]]
@@ -3501,7 +3792,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "710f593b371175db53a26d0b38ed2978fafb9e9e8d3868b1acd753ea18df0ceb"
 dependencies = [
  "cfg-if 0.1.10",
- "futures 0.3.19",
+ "futures 0.3.28",
  "ipconfig",
  "lazy_static",
  "log",
@@ -3515,15 +3806,15 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "typenum"
-version = "1.15.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uname"
@@ -3536,45 +3827,51 @@ dependencies = [
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.7"
+version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.19"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
-name = "unicode-segmentation"
-version = "1.8.0"
+name = "unicode-width"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
-version = "0.2.2"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "unindent"
-version = "0.1.7"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f14ee04d9415b52b3aeab06258a3f07093182b88ba0f9b8d203f211a7a7d41c7"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
 name = "untrusted"
@@ -3595,22 +3892,21 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
 dependencies = [
  "form_urlencoded",
- "idna 0.2.3",
- "matches",
- "percent-encoding 2.1.0",
- "serde 1.0.135",
+ "idna 0.4.0",
+ "percent-encoding 2.3.0",
+ "serde 1.0.188",
 ]
 
 [[package]]
 name = "urlencoding"
-version = "2.1.0"
+version = "2.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b90931029ab9b034b300b797048cf23723400aa757e8a2bfb9d748102f9821"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
 
 [[package]]
 name = "uuid"
@@ -3618,8 +3914,8 @@ version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
 dependencies = [
- "getrandom 0.2.4",
- "serde 1.0.135",
+ "getrandom 0.2.10",
+ "serde 1.0.188",
 ]
 
 [[package]]
@@ -3631,10 +3927,10 @@ dependencies = [
  "idna 0.2.3",
  "lazy_static",
  "regex",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_derive",
  "serde_json",
- "url 2.2.2",
+ "url 2.4.1",
  "validator_types",
 ]
 
@@ -3650,7 +3946,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn",
+ "syn 1.0.109",
  "validator_types",
 ]
 
@@ -3661,7 +3957,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ded9d97e1d42327632f5f3bae6403c04886e2de3036261ef42deebd931a6a291"
 dependencies = [
  "proc-macro2",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -3671,6 +3967,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
+name = "vec_map"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+[[package]]
 name = "version_check"
 version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3678,22 +3980,20 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
 name = "walkdir"
-version = "2.3.2"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
- "winapi 0.3.9",
  "winapi-util",
 ]
 
 [[package]]
 name = "want"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
 dependencies = [
- "log",
  "try-lock",
 ]
 
@@ -3705,42 +4005,42 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 
 [[package]]
 name = "wasi"
-version = "0.10.2+wasi-snapshot-preview1"
+version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.79"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
  "cfg-if 1.0.0",
- "serde 1.0.135",
+ "serde 1.0.188",
  "serde_json",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.79"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
- "lazy_static",
  "log",
+ "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.29"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -3750,9 +4050,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.79"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3760,28 +4060,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.79"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.37",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.79"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
 name = "web-sys"
-version = "0.3.56"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3807,6 +4107,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[package]]
 name = "widestring"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3842,9 +4154,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi 0.3.9",
 ]
@@ -3856,34 +4168,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
-name = "windows-sys"
-version = "0.42.0"
+name = "windows"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows-targets",
 ]
 
 [[package]]
 name = "windows-sys"
-version = "0.45.0"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
  "windows-targets",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -3896,45 +4202,45 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "winreg"
diff --git a/pkgs/servers/syncstorage-rs/default.nix b/pkgs/servers/syncstorage-rs/default.nix
index decda34070dc8..d80f76446362d 100644
--- a/pkgs/servers/syncstorage-rs/default.nix
+++ b/pkgs/servers/syncstorage-rs/default.nix
@@ -21,13 +21,13 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "syncstorage-rs";
-  version = "0.13.6";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "mozilla-services";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LCMbhFoxi/fYaivW5gNyDhfytW/avhrrd29fXobSxJU=";
+    hash = "sha256-HGX4uLiOqIRjluMLL0QY7YjVYVCkQLe8IiuYdkmAjBQ=";
   };
 
   nativeBuildInputs = [
@@ -54,8 +54,6 @@ rustPlatform.buildRustPackage rec {
     };
   };
 
-  buildFeatures = [ "grpcio/openssl" ];
-
   # almost all tests need a DB to test against
   doCheck = false;
 
diff --git a/pkgs/servers/teleport/11/default.nix b/pkgs/servers/teleport/11/default.nix
index c917f897e05d8..59d788872b887 100644
--- a/pkgs/servers/teleport/11/default.nix
+++ b/pkgs/servers/teleport/11/default.nix
@@ -1,13 +1,19 @@
 { callPackage, ... }@args:
 callPackage ../generic.nix ({
-  version = "11.3.10";
-  hash = "sha256-h7G+VPVG+swBo0VHDIQiCDPhsK7MHfkF8/Bagh/KzCg=";
-  vendorHash = "sha256-GB024L8c8YRNUySZEPB5HEXss1wcT1gUxM4wUoB4zpQ=";
-  yarnHash = "sha256-6qaXHFMhlAhDo6drjUfvgQHgpMbeO8+Y1MZXVCHfelE=";
+  version = "11.3.25";
+  hash = "sha256-KIbRn90BUJp8Uc8GMHuIMMSn5tJQbxzE0ntngx1ELaE=";
+  vendorHash = "sha256-hjMv/H4dlinlv3ku7i1km2/b+6uCdbznHtVOMIjDlUc=";
+  yarnHash = "sha256-hip0WQVZpx2qfVDmEy4nk4UFYEjX1Xhj8HsIIQ8PF1Y=";
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "rdp-rs-0.1.0" = "sha256-GJfUyiYQwcDTMqt+iik3mFI0f6mu13RJ2XuoDzlg9sU=";
     };
   };
+  extPatches = [
+    # https://github.com/NixOS/nixpkgs/issues/120738
+    ../tsh.patch
+    # https://github.com/NixOS/nixpkgs/issues/132652
+    ../test.patch
+  ];
 } // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/servers/teleport/12/default.nix b/pkgs/servers/teleport/12/default.nix
index fd4082a215b4e..e53fdcce494a4 100644
--- a/pkgs/servers/teleport/12/default.nix
+++ b/pkgs/servers/teleport/12/default.nix
@@ -1,13 +1,19 @@
 { callPackage, ... }@args:
 callPackage ../generic.nix ({
-  version = "12.4.7";
-  hash = "sha256-Ut+IOLEfRNWmI0G4CPm76SEvhYdAbwtHDSsc+tcGDqA=";
-  vendorHash = "sha256-GZmMjIyYNQ6dr8jvB9TjFjnK5iY5FFH/54Qhfp1/ZYY=";
-  yarnHash = "sha256-bcozPAIWUWSiANEd98veBtWMvf1EfE6CCBxZhCHOQ7k=";
+  version = "12.4.20";
+  hash = "sha256-Qz+JOS4YPj2865Fkj7eVJMdilHMOGbTD179bQ5wHY7A=";
+  vendorHash = "sha256-cS8ylLujgp9Is+D2JjoK4yGgWRCVRyRw3NPQAAuE2vY=";
+  yarnHash = "sha256-tOdT7X8jM+tl1GZ7lBN2aW8KRiVW/zWK9fZIU7CSHVE=";
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
       "rdp-rs-0.1.0" = "sha256-n4x4w7GZULxqaR109das12+ZGU0xvY3wGOTWngcwe4M=";
     };
   };
+  extPatches = [
+    # https://github.com/NixOS/nixpkgs/issues/120738
+    ../tsh.patch
+    # https://github.com/NixOS/nixpkgs/issues/132652
+    ../test.patch
+  ];
 } // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/servers/teleport/13/Cargo.lock b/pkgs/servers/teleport/13/Cargo.lock
new file mode 100644
index 0000000000000..b82c0b0e435f7
--- /dev/null
+++ b/pkgs/servers/teleport/13/Cargo.lock
@@ -0,0 +1,1937 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "asn1-rs"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4"
+dependencies = [
+ "asn1-rs-derive",
+ "asn1-rs-impl",
+ "displaydoc",
+ "nom",
+ "num-traits",
+ "rusticata-macros",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "asn1-rs-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
+
+[[package]]
+name = "asn1-rs-impl"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "atomic-polyfill"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64ct"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+
+[[package]]
+name = "bindgen"
+version = "0.60.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
+dependencies = [
+ "bitflags 1.3.2",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c70beb79cbb5ce9c4f8e20849978f34225931f665bb49efa6982875a4d5facb3"
+
+[[package]]
+name = "block-buffer"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+dependencies = [
+ "block-padding",
+ "byte-tools",
+ "byteorder",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+dependencies = [
+ "byte-tools",
+]
+
+[[package]]
+name = "boring"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c713ad6d8d7a681a43870ac37b89efd2a08015ceb4b256d82707509c1f0b6bb"
+dependencies = [
+ "bitflags 1.3.2",
+ "boring-sys",
+ "foreign-types",
+ "lazy_static",
+ "libc",
+]
+
+[[package]]
+name = "boring-sys"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7663d3069437a5ccdb2b5f4f481c8b80446daea10fa8503844e89ac65fcdc363"
+dependencies = [
+ "bindgen",
+ "cmake",
+]
+
+[[package]]
+name = "bufstream"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "byte-tools"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cbindgen"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6358dedf60f4d9b8db43ad187391afe959746101346fe51bb978126bec61dfb"
+dependencies = [
+ "clap",
+ "heck",
+ "indexmap",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cipher"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "3.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_lex",
+ "indexmap",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "const-oid"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+
+[[package]]
+name = "const-oid"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "critical-section"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
+
+[[package]]
+name = "crypto-bigint"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
+dependencies = [
+ "generic-array 0.14.6",
+ "subtle 2.4.1",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array 0.14.6",
+ "typenum",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
+dependencies = [
+ "generic-array 0.12.4",
+ "subtle 1.0.0",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb"
+
+[[package]]
+name = "delog"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd67f90cc14e0a91cf693141453cccf2b74db9d59c40f6be18b79169fe77dfd"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "der"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
+dependencies = [
+ "const-oid 0.7.1",
+ "crypto-bigint",
+ "pem-rfc7468 0.3.1",
+]
+
+[[package]]
+name = "der"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
+dependencies = [
+ "const-oid 0.9.1",
+ "pem-rfc7468 0.6.0",
+ "zeroize",
+]
+
+[[package]]
+name = "der-parser"
+version = "8.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1"
+dependencies = [
+ "asn1-rs",
+ "displaydoc",
+ "nom",
+ "num-bigint 0.4.3",
+ "num-traits",
+ "rusticata-macros",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "digest"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+dependencies = [
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+dependencies = [
+ "const-oid 0.9.1",
+ "crypto-common",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "fake-simd"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+[[package]]
+name = "fastrand"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fdeflate"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide 0.6.2",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8469d0d40519bc608ec6863f1cc88f3f1deee15913f2f3b3e573d81ed38cccc"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "generic-array"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "gethostname"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+
+[[package]]
+name = "hash32"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "heapless"
+version = "0.7.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
+dependencies = [
+ "atomic-polyfill",
+ "hash32",
+ "rustc_version",
+ "spin 0.9.4",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hmac"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
+dependencies = [
+ "crypto-mac",
+ "digest 0.8.1",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array 0.14.6",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+dependencies = [
+ "libc",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "io-lifetimes",
+ "rustix 0.36.5",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "iso7816"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7e6ac743d509349b7865595ce90bbfcfbe59f42b8ec0db9e76ec361ace3f652"
+dependencies = [
+ "delog",
+ "heapless",
+]
+
+[[package]]
+name = "iso7816-tlv"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d47365efc3b4c252f8a3384445c0f7e8a4e0ae5c22bf3bedd2dd16f9bb45016a"
+dependencies = [
+ "untrusted 0.9.0",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.141"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd550e73688e6d578f0ac2119e32b797a327631a42f9433e59d02e139c8df60d"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "md-5"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18af3dcaf2b0219366cdb4e2af65a6101457b415c3d1a5c71dd9c2b7c77b9c8"
+dependencies = [
+ "block-buffer",
+ "digest 0.8.1",
+ "opaque-debug",
+]
+
+[[package]]
+name = "md4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4030c65cf2aab7ada769cae7d1e7159f8d034d6ded4f39afba037f094bfd9a1"
+dependencies = [
+ "block-buffer",
+ "digest 0.8.1",
+ "fake-simd",
+ "opaque-debug",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand 0.8.5",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4"
+dependencies = [
+ "derivative",
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "oid-registry"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff"
+dependencies = [
+ "asn1-rs",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "opaque-debug"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "pkcs1"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320"
+dependencies = [
+ "der 0.5.1",
+ "pkcs8 0.8.0",
+ "zeroize",
+]
+
+[[package]]
+name = "pkcs1"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eff33bdbdfc54cc98a2eca766ebdec3e1b8fb7387523d5c9c9a2891da856f719"
+dependencies = [
+ "der 0.6.1",
+ "pkcs8 0.9.0",
+ "spki 0.6.0",
+ "zeroize",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
+dependencies = [
+ "der 0.5.1",
+ "spki 0.5.4",
+ "zeroize",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
+dependencies = [
+ "der 0.6.1",
+ "spki 0.6.0",
+]
+
+[[package]]
+name = "png"
+version = "0.17.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide 0.7.1",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rc4"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f1256e23efe6097f27aa82d6ca6889361c001586ae0f6917cbad072f05eb275"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "rdp-client"
+version = "0.1.0"
+dependencies = [
+ "bitflags 2.1.0",
+ "byteorder",
+ "cbindgen",
+ "env_logger",
+ "iso7816",
+ "iso7816-tlv",
+ "libc",
+ "log",
+ "num-derive",
+ "num-traits",
+ "png",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
+ "rdp-rs",
+ "rsa 0.8.2",
+ "tempfile",
+ "utf16string",
+ "uuid",
+]
+
+[[package]]
+name = "rdp-rs"
+version = "0.1.0"
+source = "git+https://github.com/gravitational/rdp-rs?rev=75eb6a30b83e7152ee6213964b5ac6e783304840#75eb6a30b83e7152ee6213964b5ac6e783304840"
+dependencies = [
+ "boring",
+ "bufstream",
+ "byteorder",
+ "gethostname",
+ "hmac",
+ "indexmap",
+ "md-5",
+ "md4",
+ "num-bigint 0.2.6",
+ "num_enum",
+ "oid-registry",
+ "rand 0.7.3",
+ "rc4",
+ "ring",
+ "rsa 0.6.1",
+ "rustls",
+ "x509-parser",
+ "yasna",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin 0.5.2",
+ "untrusted 0.7.1",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rsa"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b"
+dependencies = [
+ "byteorder",
+ "digest 0.10.6",
+ "num-bigint-dig",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "pkcs1 0.3.3",
+ "pkcs8 0.8.0",
+ "rand_core 0.6.4",
+ "smallvec",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
+name = "rsa"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55a77d189da1fee555ad95b7e50e7457d91c0e089ec68ca69ad2989413bbdab4"
+dependencies = [
+ "byteorder",
+ "digest 0.10.6",
+ "num-bigint-dig",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "pkcs1 0.4.1",
+ "pkcs8 0.9.0",
+ "rand_core 0.6.4",
+ "signature",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rusticata-macros"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno 0.2.8",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.1.4",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "rustix"
+version = "0.37.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c348b5dc624ecee40108aa2922fed8bad89d7fcc2b9f8cb18f632898ac4a37f9"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno 0.3.0",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.3.0",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted 0.7.1",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
+
+[[package]]
+name = "serde"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+
+[[package]]
+name = "signature"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fe458c98333f9c8152221191a77e2a44e8325d0193484af2e9421a53019e57d"
+dependencies = [
+ "digest 0.10.6",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "spki"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
+dependencies = [
+ "base64ct",
+ "der 0.5.1",
+]
+
+[[package]]
+name = "spki"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
+dependencies = [
+ "base64ct",
+ "der 0.6.1",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "subtle"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix 0.37.4",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+[[package]]
+name = "thiserror"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "utf16string"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "uuid"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted 0.7.1",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "x509-parser"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8"
+dependencies = [
+ "asn1-rs",
+ "base64",
+ "data-encoding",
+ "der-parser",
+ "lazy_static",
+ "nom",
+ "oid-registry",
+ "rusticata-macros",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "yasna"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0de7bff972b4f2a06c85f6d8454b09df153af7e3a4ec2aac81db1b105b684ddb"
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
diff --git a/pkgs/servers/teleport/13/default.nix b/pkgs/servers/teleport/13/default.nix
new file mode 100644
index 0000000000000..58d682f52ac2e
--- /dev/null
+++ b/pkgs/servers/teleport/13/default.nix
@@ -0,0 +1,19 @@
+{ callPackage, ... }@args:
+callPackage ../generic.nix ({
+  version = "13.4.1";
+  hash = "sha256-wgSaek4eq5Jx9SZFenvdRSU1wEtfJHzTz9GdczzUU2w=";
+  vendorHash = "sha256-DesT18nV/SxOsKCC+Nt0hgtH7CRtRL0B5FQhE1J148I=";
+  yarnHash = "sha256-iyMcP9L6dwBhN8JL9eSVEzsXI2EOjfyxjF9Dm4Gs04s=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "rdp-rs-0.1.0" = "sha256-n4x4w7GZULxqaR109das12+ZGU0xvY3wGOTWngcwe4M=";
+    };
+  };
+  extPatches = [
+    # https://github.com/NixOS/nixpkgs/issues/120738
+    ../tsh.patch
+    # https://github.com/NixOS/nixpkgs/issues/132652
+    ../test.patch
+  ];
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/servers/teleport/14/Cargo.lock b/pkgs/servers/teleport/14/Cargo.lock
new file mode 100644
index 0000000000000..8b18ac74ae704
--- /dev/null
+++ b/pkgs/servers/teleport/14/Cargo.lock
@@ -0,0 +1,1982 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "asn1-rs"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4"
+dependencies = [
+ "asn1-rs-derive",
+ "asn1-rs-impl",
+ "displaydoc",
+ "nom",
+ "num-traits",
+ "rusticata-macros",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "asn1-rs-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "synstructure",
+]
+
+[[package]]
+name = "asn1-rs-impl"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "atomic-polyfill"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64ct"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+
+[[package]]
+name = "bindgen"
+version = "0.60.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
+dependencies = [
+ "bitflags 1.3.2",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "block-buffer"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+dependencies = [
+ "block-padding",
+ "byte-tools",
+ "byteorder",
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "block-padding"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+dependencies = [
+ "byte-tools",
+]
+
+[[package]]
+name = "boring"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c713ad6d8d7a681a43870ac37b89efd2a08015ceb4b256d82707509c1f0b6bb"
+dependencies = [
+ "bitflags 1.3.2",
+ "boring-sys",
+ "foreign-types",
+ "lazy_static",
+ "libc",
+]
+
+[[package]]
+name = "boring-sys"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7663d3069437a5ccdb2b5f4f481c8b80446daea10fa8503844e89ac65fcdc363"
+dependencies = [
+ "bindgen",
+ "cmake",
+]
+
+[[package]]
+name = "bufstream"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40e38929add23cdf8a366df9b0e088953150724bcbe5fc330b0d8eb3b328eec8"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "byte-tools"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cbindgen"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faeaa693e5a727975a79211b8f35c0cb09b031fdb6eaa4a788bc6713d01488ca"
+dependencies = [
+ "clap",
+ "heck",
+ "indexmap",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn 1.0.107",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cipher"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e"
+dependencies = [
+ "crypto-common",
+ "inout",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "3.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+dependencies = [
+ "atty",
+ "bitflags 1.3.2",
+ "clap_lex",
+ "indexmap",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.49"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "const-oid"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+
+[[package]]
+name = "const-oid"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "critical-section"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
+
+[[package]]
+name = "crypto-bigint"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
+dependencies = [
+ "generic-array 0.14.6",
+ "subtle 2.4.1",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array 0.14.6",
+ "typenum",
+]
+
+[[package]]
+name = "crypto-mac"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
+dependencies = [
+ "generic-array 0.12.4",
+ "subtle 1.0.0",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb"
+
+[[package]]
+name = "delog"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd67f90cc14e0a91cf693141453cccf2b74db9d59c40f6be18b79169fe77dfd"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "der"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
+dependencies = [
+ "const-oid 0.7.1",
+ "crypto-bigint",
+ "pem-rfc7468 0.3.1",
+]
+
+[[package]]
+name = "der"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05e58dffcdcc8ee7b22f0c1f71a69243d7c2d9ad87b5a14361f2424a1565c219"
+dependencies = [
+ "const-oid 0.9.2",
+ "pem-rfc7468 0.7.0",
+ "zeroize",
+]
+
+[[package]]
+name = "der-parser"
+version = "8.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1"
+dependencies = [
+ "asn1-rs",
+ "displaydoc",
+ "nom",
+ "num-bigint 0.4.3",
+ "num-traits",
+ "rusticata-macros",
+]
+
+[[package]]
+name = "derivative"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "digest"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+dependencies = [
+ "generic-array 0.12.4",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+dependencies = [
+ "const-oid 0.9.2",
+ "crypto-common",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "fake-simd"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+[[package]]
+name = "fastrand"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+
+[[package]]
+name = "fdeflate"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide 0.6.2",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8469d0d40519bc608ec6863f1cc88f3f1deee15913f2f3b3e573d81ed38cccc"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "generic-array"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+dependencies = [
+ "typenum",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "gethostname"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+
+[[package]]
+name = "hash32"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "heapless"
+version = "0.7.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
+dependencies = [
+ "atomic-polyfill",
+ "hash32",
+ "rustc_version",
+ "spin 0.9.4",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+
+[[package]]
+name = "hmac"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
+dependencies = [
+ "crypto-mac",
+ "digest 0.8.1",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array 0.14.6",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "io-lifetimes",
+ "rustix 0.36.5",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "iso7816"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7e6ac743d509349b7865595ce90bbfcfbe59f42b8ec0db9e76ec361ace3f652"
+dependencies = [
+ "delog",
+ "heapless",
+]
+
+[[package]]
+name = "iso7816-tlv"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d47365efc3b4c252f8a3384445c0f7e8a4e0ae5c22bf3bedd2dd16f9bb45016a"
+dependencies = [
+ "untrusted 0.9.0",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+dependencies = [
+ "spin 0.5.2",
+]
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "libm"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "md-5"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a18af3dcaf2b0219366cdb4e2af65a6101457b415c3d1a5c71dd9c2b7c77b9c8"
+dependencies = [
+ "block-buffer",
+ "digest 0.8.1",
+ "opaque-debug",
+]
+
+[[package]]
+name = "md4"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4030c65cf2aab7ada769cae7d1e7159f8d034d6ded4f39afba037f094bfd9a1"
+dependencies = [
+ "block-buffer",
+ "digest 0.8.1",
+ "fake-simd",
+ "opaque-debug",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-bigint-dig"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905"
+dependencies = [
+ "byteorder",
+ "lazy_static",
+ "libm",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "rand 0.8.5",
+ "smallvec",
+ "zeroize",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.23",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+dependencies = [
+ "autocfg",
+ "libm",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca565a7df06f3d4b485494f25ba05da1435950f4dc263440eda7a6fa9b8e36e4"
+dependencies = [
+ "derivative",
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "oid-registry"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff"
+dependencies = [
+ "asn1-rs",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "opaque-debug"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "pem-rfc7468"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+dependencies = [
+ "base64ct",
+]
+
+[[package]]
+name = "pkcs1"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320"
+dependencies = [
+ "der 0.5.1",
+ "pkcs8 0.8.0",
+ "zeroize",
+]
+
+[[package]]
+name = "pkcs1"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
+dependencies = [
+ "der 0.7.5",
+ "pkcs8 0.10.2",
+ "spki 0.7.2",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
+dependencies = [
+ "der 0.5.1",
+ "spki 0.5.4",
+ "zeroize",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der 0.7.5",
+ "spki 0.7.2",
+]
+
+[[package]]
+name = "png"
+version = "0.17.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide 0.7.1",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rc4"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f1256e23efe6097f27aa82d6ca6889361c001586ae0f6917cbad072f05eb275"
+dependencies = [
+ "cipher",
+]
+
+[[package]]
+name = "rdp-client"
+version = "0.1.0"
+dependencies = [
+ "bitflags 2.4.0",
+ "byteorder",
+ "cbindgen",
+ "env_logger",
+ "iso7816",
+ "iso7816-tlv",
+ "libc",
+ "log",
+ "num-derive",
+ "num-traits",
+ "png",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
+ "rdp-rs",
+ "rsa 0.9.2",
+ "tempfile",
+ "utf16string",
+ "uuid",
+]
+
+[[package]]
+name = "rdp-rs"
+version = "0.1.0"
+source = "git+https://github.com/gravitational/rdp-rs?rev=75eb6a30b83e7152ee6213964b5ac6e783304840#75eb6a30b83e7152ee6213964b5ac6e783304840"
+dependencies = [
+ "boring",
+ "bufstream",
+ "byteorder",
+ "gethostname",
+ "hmac",
+ "indexmap",
+ "md-5",
+ "md4",
+ "num-bigint 0.2.6",
+ "num_enum",
+ "oid-registry",
+ "rand 0.7.3",
+ "rc4",
+ "ring",
+ "rsa 0.6.1",
+ "rustls",
+ "x509-parser",
+ "yasna",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin 0.5.2",
+ "untrusted 0.7.1",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rsa"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b"
+dependencies = [
+ "byteorder",
+ "digest 0.10.6",
+ "num-bigint-dig",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "pkcs1 0.3.3",
+ "pkcs8 0.8.0",
+ "rand_core 0.6.4",
+ "smallvec",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
+name = "rsa"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8"
+dependencies = [
+ "byteorder",
+ "const-oid 0.9.2",
+ "digest 0.10.6",
+ "num-bigint-dig",
+ "num-integer",
+ "num-iter",
+ "num-traits",
+ "pkcs1 0.7.5",
+ "pkcs8 0.10.2",
+ "rand_core 0.6.4",
+ "signature",
+ "spki 0.7.2",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rusticata-macros"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "rustix"
+version = "0.36.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno 0.2.8",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.1.4",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+dependencies = [
+ "bitflags 2.4.0",
+ "errno 0.3.1",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted 0.7.1",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
+
+[[package]]
+name = "serde"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.151"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+
+[[package]]
+name = "signature"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fe458c98333f9c8152221191a77e2a44e8325d0193484af2e9421a53019e57d"
+dependencies = [
+ "digest 0.10.6",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "simd-adler32"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "spki"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
+dependencies = [
+ "base64ct",
+ "der 0.5.1",
+]
+
+[[package]]
+name = "spki"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+dependencies = [
+ "base64ct",
+ "der 0.7.5",
+]
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "subtle"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix 0.38.4",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+[[package]]
+name = "thiserror"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "utf16string"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b62a1e85e12d5d712bf47a85f426b73d303e2d00a90de5f3004df3596e9d216"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "uuid"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted 0.7.1",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+
+[[package]]
+name = "x509-parser"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8"
+dependencies = [
+ "asn1-rs",
+ "base64",
+ "data-encoding",
+ "der-parser",
+ "lazy_static",
+ "nom",
+ "oid-registry",
+ "rusticata-macros",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "yasna"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0de7bff972b4f2a06c85f6d8454b09df153af7e3a4ec2aac81db1b105b684ddb"
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
diff --git a/pkgs/servers/teleport/14/default.nix b/pkgs/servers/teleport/14/default.nix
new file mode 100644
index 0000000000000..15a594ef13e65
--- /dev/null
+++ b/pkgs/servers/teleport/14/default.nix
@@ -0,0 +1,17 @@
+{ callPackage, ... }@args:
+callPackage ../generic.nix ({
+  version = "14.0.1";
+  hash = "sha256-esQwk2PFnk3/REzLr3ExtzEcUs2q4Tn/2KpfFWAx5uU=";
+  vendorHash = "sha256-lzwrkW0dHxCHBSJjzNhXgq3Av8Zj8xEn3kfTRtT/q04=";
+  yarnHash = "sha256-Y2dVxRyKPLD2xjwr0QqrKHf/4gnMCErmDzievu5zTGg=";
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "rdp-rs-0.1.0" = "sha256-n4x4w7GZULxqaR109das12+ZGU0xvY3wGOTWngcwe4M=";
+    };
+  };
+  extPatches = [
+    # https://github.com/NixOS/nixpkgs/issues/120738
+    ../tsh_14.patch
+  ];
+} // builtins.removeAttrs args [ "callPackage" ])
diff --git a/pkgs/servers/teleport/generic.nix b/pkgs/servers/teleport/generic.nix
index 8ff61ce862b64..f98e01de51528 100644
--- a/pkgs/servers/teleport/generic.nix
+++ b/pkgs/servers/teleport/generic.nix
@@ -22,6 +22,7 @@
 , version
 , hash
 , vendorHash
+, extPatches ? null
 , cargoHash ? null
 , cargoLock ? null
 , yarnHash
@@ -111,11 +112,7 @@ buildGoModule rec {
     ++ lib.optionals (stdenv.isDarwin && withRdpClient) [ CoreFoundation Security AppKit ];
   nativeBuildInputs = [ makeWrapper pkg-config ];
 
-  patches = [
-    # https://github.com/NixOS/nixpkgs/issues/120738
-    ./tsh.patch
-    # https://github.com/NixOS/nixpkgs/issues/132652
-    ./test.patch
+  patches = extPatches ++ [
     ./0001-fix-add-nix-path-to-exec-env.patch
     ./rdpclient.patch
   ];
@@ -158,7 +155,7 @@ buildGoModule rec {
     description = "Certificate authority and access plane for SSH, Kubernetes, web applications, and databases";
     homepage = "https://goteleport.com/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ arianvp justinas sigma tomberek freezeboy ];
+    maintainers = with maintainers; [ arianvp justinas sigma tomberek freezeboy techknowlogick ];
     platforms = platforms.unix;
     # go-libfido2 is broken on platforms with less than 64-bit because it defines an array
     # which occupies more than 31 bits of address space.
diff --git a/pkgs/servers/teleport/tsh_14.patch b/pkgs/servers/teleport/tsh_14.patch
new file mode 100644
index 0000000000000..6344a3915717d
--- /dev/null
+++ b/pkgs/servers/teleport/tsh_14.patch
@@ -0,0 +1,17 @@
+diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go
+index 5de21c69d0..3995c19e3c 100644
+--- a/tool/tsh/common/tsh.go
++++ b/tool/tsh/common/tsh.go
+@@ -1084,10 +1084,11 @@ func Run(ctx context.Context, args []string, opts ...CliOption) error {
+ 
+ 	var err error
+ 
+-	cf.executablePath, err = os.Executable()
++	tempBinaryPath, err := os.Executable()
+ 	if err != nil {
+ 		return trace.Wrap(err)
+ 	}
++	cf.executablePath = path.Dir(tempBinaryPath) + "/tsh"
+ 
+ 	// configs
+ 	setEnvFlags(&cf)
diff --git a/pkgs/servers/tracing/tempo/default.nix b/pkgs/servers/tracing/tempo/default.nix
index 8681e704130e8..2a992d01ad6a9 100644
--- a/pkgs/servers/tracing/tempo/default.nix
+++ b/pkgs/servers/tracing/tempo/default.nix
@@ -38,6 +38,5 @@ buildGoModule rec {
     license = licenses.asl20;
     homepage = "https://grafana.com/oss/tempo/";
     maintainers = with maintainers; [ willibutz ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
index 707ed49990235..d5d150bd0f2cd 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/servers/uxplay/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxplay";
-  version = "1.65.3";
+  version = "1.66";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-ghimxgukQHBc0yVSpttF5lEVE6BTf9OL7RWmR5izxCo=";
+    hash = "sha256-kIKBxkaFvwxWUkO7AAwehP9YPOci+u2g67hEWZ52UqE=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 82a1acf44ca3e..a3521fe073fa8 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -51,19 +51,14 @@ let
     };
 in
 {
-  # EOL TBA
+  # EOL (LTS) TBA
   varnish60 = common {
     version = "6.0.11";
     hash = "sha256-UVkA2+tH/9MOs5BlyuAzFnmD7Pm9A6lDWic2B+HRKNs=";
   };
-  # EOL 2023-09-15
-  varnish72 = common {
-    version = "7.2.1";
-    hash = "sha256-TZN9FyCo7BnFM/ly2TA6HJiJt7/KdDeJOuXCfPIEqUA=";
-  };
-  # EOL 2024-03-15
-  varnish73 = common {
-    version = "7.3.0";
-    hash = "sha256-4tu7DsJwqQZHw4aGbm4iaZOu1G5I3nUacruBlzfxSuc=";
+  # EOL 2024-09-15
+  varnish74 = common {
+    version = "7.4.1";
+    hash = "sha256-h02Deq9JuPJxjLYLjIx5AOnqEMJk8hjIjNZy1Zb0uJ8=";
   };
 }
diff --git a/pkgs/servers/varnish/modules.nix b/pkgs/servers/varnish/modules.nix
index 4a921600294ca..ee05a8181a5d8 100644
--- a/pkgs/servers/varnish/modules.nix
+++ b/pkgs/servers/varnish/modules.nix
@@ -41,12 +41,8 @@ in
     version = "0.15.1";
     sha256 = "1lwgjhgr5yw0d17kbqwlaj5pkn70wvaqqjpa1i0n459nx5cf5pqj";
   };
-  modules20 = common {
-    version = "0.20.0";
-    sha256 = "sha256-3eH3qCa24rWqYXsTTDmm/9LjBMxcxUuozuRzZ3e8cUo=";
-  };
-  modules22 = common {
-    version = "0.22.0";
-    sha256 = "sha256-eoa6i6AuOS4pxQKA/lbJnwFc39cRiLqnBSpPM4Oitrc=";
+  modules23 = common {
+    version = "0.23.0";
+    sha256 = "sha256-Dd1pLMmRC59iRRpReDeQJ8Sv00ojb8InvaMrb+iRv4I=";
   };
 }
diff --git a/pkgs/servers/varnish/packages.nix b/pkgs/servers/varnish/packages.nix
index 9daa0f8ac59d9..1d0b3e45da7a0 100644
--- a/pkgs/servers/varnish/packages.nix
+++ b/pkgs/servers/varnish/packages.nix
@@ -1,4 +1,4 @@
-{ callPackages, callPackage, varnish60, varnish72, varnish73, fetchFromGitHub }: {
+{ callPackages, callPackage, varnish60, varnish74, fetchFromGitHub }: {
   varnish60Packages = rec {
     varnish = varnish60;
     modules = (callPackages ./modules.nix { inherit varnish; }).modules15;
@@ -13,12 +13,8 @@
       sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk";
     };
   };
-  varnish72Packages = rec {
-    varnish = varnish72;
-    modules = (callPackages ./modules.nix { inherit varnish; }).modules20;
-  };
-  varnish73Packages = rec {
-    varnish = varnish73;
-    modules = (callPackages ./modules.nix { inherit varnish; }).modules22;
+  varnish74Packages = rec {
+    varnish = varnish74;
+    modules = (callPackages ./modules.nix { inherit varnish; }).modules23;
   };
 }
diff --git a/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch b/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch
new file mode 100644
index 0000000000000..fd40d27ca8b5a
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/assets_esbuild_from_path.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/discourse_js_processor.rb b/lib/discourse_js_processor.rb
+index 3fee4259af9..53cc3107f46 100644
+--- a/lib/discourse_js_processor.rb
++++ b/lib/discourse_js_processor.rb
+@@ -111,8 +111,6 @@ class DiscourseJsProcessor
+ 
+     def self.generate_js_processor
+       Discourse::Utils.execute_command(
+-        "yarn",
+-        "--silent",
+         "esbuild",
+         "--log-level=warning",
+         "--bundle",
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 58eabadfb6e2c..893404a6084f3 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -13,6 +13,7 @@
 , gzip
 , gnutar
 , git
+, esbuild
 , cacert
 , util-linux
 , gawk
@@ -46,13 +47,13 @@
 }@args:
 
 let
-  version = "3.1.0";
+  version = "3.2.0.beta1";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-Iv7VSnK8nZDpmIwIRPedSWlftABKuMOQ4MXDGpjuWrY=";
+    sha256 = "sha256-HVjt5rsLSuyOaQxkbiTrsYsSXj3oSWjke98QVp+tEqk=";
   };
 
   ruby = ruby_3_2;
@@ -65,6 +66,7 @@ let
     gnutar
     git
     brotli
+    esbuild
 
     # Misc required system utils
     which
@@ -202,7 +204,7 @@ let
 
     yarnOfflineCache = fetchYarnDeps {
       yarnLock = src + "/app/assets/javascripts/yarn.lock";
-      sha256 = "0sclrv3303dgg3r08dwhd1yvi3pvlnvnikn300vjsh6c71fnzhnj";
+      sha256 = "070h66zp8kmsigbrkh5d3jzbzvllzhbx0fa2yzx5lbpgnjhih3p2";
     };
 
     nativeBuildInputs = runtimeDeps ++ [
@@ -215,6 +217,7 @@ let
       nodejs_18
       jq
       moreutils
+      esbuild
     ];
 
     outputs = [ "out" "javascripts" ];
@@ -238,6 +241,12 @@ let
       # hasn't been `patchShebangs`-ed yet. So instead we just use
       # `patch-package` from `nativeBuildInputs`.
       ./asserts_patch-package_from_path.patch
+
+      # `lib/discourse_js_processor.rb`
+      # tries to call `../node_modules/.bin/esbuild`, which
+      # hasn't been `patchShebangs`-ed yet. So instead we just use
+      # `esbuild` from `nativeBuildInputs`.
+      ./assets_esbuild_from_path.patch
     ];
 
     # We have to set up an environment that is close enough to
@@ -351,6 +360,12 @@ let
 
       # Make sure the notification email setting applies
       ./notification_email.patch
+
+      # `lib/discourse_js_processor.rb`
+      # tries to call `../node_modules/.bin/esbuild`, which
+      # hasn't been `patchShebangs`-ed yet. So instead we just use
+      # `esbuild` from `nativeBuildInputs`.
+      ./assets_esbuild_from_path.patch
     ];
 
     postPatch = ''
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
index 68cd69dcc3a6e..b25bd428f69b3 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-assign";
-    rev = "0cbf10b8055370445bd36536e51986bf48bdc57e";
-    sha256 = "sha256-7rJ2zQo1nCHwtVuLJUmdj66Ky2bi4Cpo+22H3DbO1uo=";
+    rev = "e9c7cb5c3f90109bc47223b0aa4054d681e9cc04";
+    sha256 = "sha256-w1h1dCSyOml+AT7lPKENYfawm6BU2De5CyBHrDnDcrM=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
index 266c43e4f8e28..eacdc099f123f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-bbcode-color";
-    rev = "35aab2e9b92f8b01633d374ea999e7fd59d020d7";
-    sha256 = "sha256-DHckx921EeQysm1UPloCrt43BJetTnZKnTbJGk15NMs=";
+    rev = "79ed22b3a3352adbd20f7e2222b9dbdb9fbaf7fe";
+    sha256 = "sha256-AHgny9BW/ssmv0U2lwzVWgYKPsvWHD6kgU3mBMFX4Aw=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-bbcode-color";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
index 183ead8d51d44..586a58d3d6265 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -22,4 +22,4 @@ DEPENDENCIES
   rrule (= 0.4.4)
 
 BUNDLED WITH
-   2.4.13
+   2.4.17
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
index 7a6bd7f692707..9fc5779fc74c3 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-calendar";
-    rev = "afc2ee684de41601d6cecc46713d139760f176a6";
-    sha256 = "sha256-rTQWO+E/Jg4zjZDYDvBrDQsox5q4dHkdQjwnJxgv3dI=";
+    rev = "4d4fe40d09f7232b1348e1ff910b37b2cec0835d";
+    sha256 = "sha256-w1sqE3KxwrE8SWqZUtPVhjITOPFXwlj4iPyPZeSfvtI=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-calendar";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
index 499d2e6447bd1..9f4cb186dd666 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-chat-integration";
-    rev = "70fea6b66b68868aa4c00b45a169436deaa142a8";
-    sha256 = "sha256-K9MmP1F0B6Na2dTqgnsjMbTQFkF+nNKkI8aF3zPAodc=";
+    rev = "4f9ccb58cae8600dcb6db84f38f235283911e6e8";
+    sha256 = "sha256-Em9aAwAfUoqsOHLrqNhxUQXsO4Owydf9nhCHbBaqqpg=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-chat-integration";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
index 39320637ddcdc..881fade4ea956 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-data-explorer";
-    rev = "e4f8d3924a18b303c2bb7da9472cf0c060060e4e";
-    sha256 = "sha256-K+GPszO3je6NmnhIRSqSEhylUK5oEByaS0bLfAGjvB4=";
+    rev = "06193f27ef15828479eea61ae4a80bf59806a535";
+    sha256 = "sha256-afjqgi2gzRpbZt5K9yXPy4BJ5qRv7A4ZkXHX85+Cv7s=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-data-explorer";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
index 3dcd2b86a9692..4f458cd4ce63a 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-docs";
-    rev = "a4b203274b88c5277d0b5b936de0bc0e0016726c";
-    sha256 = "sha256-R+VP/gsb2Oa6lPVMhRoGZzOBx5C7kRSxqwYpWE10GHw=";
+    rev = "89c7274b1a730edefd1b56c13b8c04305d4ef331";
+    sha256 = "sha256-j3zrGmoAvbSHFnbiUfetyfiQJebrtW3Iw5GvsRRq1kk=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
index 3640cbc601dad..f12130e240664 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock
@@ -3,7 +3,9 @@ GEM
   specs:
     addressable (2.8.5)
       public_suffix (>= 2.0.2, < 6.0)
-    faraday (2.7.10)
+    base64 (0.1.1)
+    faraday (2.7.11)
+      base64
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
     faraday-net_http (3.0.2)
@@ -24,4 +26,4 @@ DEPENDENCIES
   sawyer (= 0.9.2)
 
 BUNDLED WITH
-   2.4.13
+   2.4.17
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index 50a59136ecf50..f5967cde115a1 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "8aa068d56ef010cecaabd50657e7753f4bbecc1f";
-    sha256 = "sha256-WzljuGvv6pki3ROkvhXZWQaq5D9JkCbWjdlkdRI8lHE=";
+    rev = "21fa5c97ca23b4c39aef5ab9c4f8ebb22f19a19b";
+    sha256 = "sha256-0Teu6nMJWAT9TCjZ0RWZKtfsUKAS1cga5DvALIvrUyY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
index 87599999d894f..7410f0ca0d209 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix
@@ -10,16 +10,26 @@
     };
     version = "2.8.5";
   };
+  base64 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   faraday = {
-    dependencies = ["faraday-net_http" "ruby2_keywords"];
+    dependencies = ["base64" "faraday-net_http" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
+      sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5";
       type = "gem";
     };
-    version = "2.7.10";
+    version = "2.7.11";
   };
   faraday-net_http = {
     groups = ["default"];
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
index 3a07b4bfd3424..da8ff6f32f4a9 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-math";
-    rev = "529ad1fe6da924da378a60bec48c35657bb01a68";
-    sha256 = "sha256-zhtAy0tTVMzQfPilTwfyyzxgCJD4xazOITBuliFR5Gg=";
+    rev = "66d522cd8e4cf98547f083c4decdc64c688767de";
+    sha256 = "sha256-Zil6LWl6ACyP/ZkxNli1u9/3dlHFRETtmIov1BmQ3u4=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-math";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
index a467f4d17b399..5f64d52e55b2a 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-openid-connect";
-    rev = "b1df541ad29f6f6098a1008b83393b2d400986ed";
-    sha256 = "sha256-afRd/9M0nQGkS14Q8BJhcJwMCkOku3Fr0uHxcRl44vQ=";
+    rev = "322bf50700840b327d9a52091fedbacc0bb1edfe";
+    sha256 = "sha256-8WMhlKHYVm2wHbkP7b8dhOosvwDNjHqTrEziQT1Bu/4=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-openid-connect";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
index 88a3a3c8d6548..29f66df12c80d 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock
@@ -13,4 +13,4 @@ DEPENDENCIES
   webrick (= 1.7.0)
 
 BUNDLED WITH
-   2.4.13
+   2.4.17
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index 95bf4c5a679a3..7ce27877cd96f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -6,8 +6,8 @@
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-prometheus";
-    rev = "8a7a46a80cc65aa0839bc5e3c3b6f8ef6544089f";
-    sha256 = "sha256-TL+pbP26LvRMKdy8CAuBEK+LZfAs8HfggMeUDaBu9hc=";
+    rev = "305610c90079556cdfa2aa09b567a6ca10d11de5";
+    sha256 = "sha256-dz+/2pbbhs8sxYMxe/wAjvdxoU4ihjN95A4ngP0KzQg=";
   };
 
   patches = [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
index 36e4ac19c4bd6..f91ad047201b0 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-reactions/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-reactions";
-    rev = "643f807a3a2195f08211064301f0350d9f51604f";
-    sha256 = "sha256-4FdiYUNysSuOJ664G3YvlUHx/J7MLUS3kVBdXT47oEw=";
+    rev = "f04f077e9f0392ca2373ca001044069d650ae6e5";
+    sha256 = "sha256-HuFXgfd5HO7qfVlf1RHxenlNL10YRF5OYya4Yt6eS14=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-reactions";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
index 32709666189e3..b091884bb5116 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-saved-searches";
-    rev = "7c9bdcd68951e7cef16cafe3c4bfb583bb994d2a";
-    sha256 = "sha256-6RIN12ACDCeRcxmsC3FgeIPdvovI4arn7w/Dqil1yCI=";
+    rev = "1b90d26cc35bd049d0ab7ea3922f7db6ac7ec017";
+    sha256 = "sha256-d+zbm8UAZ/ow8o1Y5mWAyjg5JCvQ761jcGcO72tHEIs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-saved-searches";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index ed47f9e15e924..26939adc4ec7d 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "b5d487d6a5bfe2571d936eec5911d02a5f3fcc32";
-    sha256 = "sha256-Tt7B9PcsV8E7B+m8GnJw+MBz9rGYtojKt6NjBFMQvOM=";
+    rev = "3b9ecc69c6a25b7671c42842b8a6f3872873f537";
+    sha256 = "sha256-gtG+v25jJ0DiYlU2vatreGj13yrb5WWRTvxlcDdAibw=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
index 23ce34dcd694e..a8a0f7975654f 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-spoiler-alert";
-    rev = "65989714af08eda44196cca3a0afe85c9e9443f9";
-    sha256 = "sha256-R/vqNEDst50+Y7anckIvhy4viBOqBemIZMh4sPt7kRM=";
+    rev = "b57e79343acc15cb2c0a032a2deb29ad4b9d53cc";
+    sha256 = "sha256-Ypt6PYCZzArCv9KkCtw5rfT6++dDoUx5q9m/eMvP0Sc=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-spoiler-alert";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
index a311dbcfbfcf9..5922bcca2cbb4 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-voting";
-    rev = "6449fc15658d972e20086a3f1fae3dbac9cd9eeb";
-    sha256 = "sha256-f04LpVeodCVEB/t5Ic2dketp542Nrc0rZWbQ6hrC22g=";
+    rev = "83ab47f3186694039c6850ac3e230443e05d37c5";
+    sha256 = "sha256-2sSBLSSPddxXqvEukDn8tzLVOOWoPBA+C8N5jVccCjA=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-voting";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
index 979398f7394b7..c3ad1c7ef5488 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-yearly-review";
-    rev = "3246c6b378f9e69e664c575efc63c2ad83bcac2f";
-    sha256 = "sha256-usHHyfYP4YAQ94f7gvNSH7VBRRkdZMmsSi9QQM8tPfY=";
+    rev = "47014a8ecb96da8d45d0fe141a069010161b3087";
+    sha256 = "sha256-9OIgxRdQoYH19vb7GcTt8MxVM5N4JPzmMIsg7FQOjJs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-yearly-review";
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
index 647aefea8adac..649c1df5815ac 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile
@@ -18,7 +18,7 @@ else
   # this allows us to include the bits of rails we use without pieces we do not.
   #
   # To issue a rails update bump the version number here
-  rails_version = "7.0.5.1"
+  rails_version = "7.0.7"
   gem "actionmailer", rails_version
   gem "actionpack", rails_version
   gem "actionview", rails_version
@@ -141,10 +141,10 @@ group :test do
   gem "fakeweb", require: false
   gem "minitest", require: false
   gem "simplecov", require: false
-  gem "selenium-webdriver", require: false
+  gem "selenium-webdriver", "~> 4.11", require: false
   gem "test-prof"
-  gem "webdrivers", require: false
   gem "rails-dom-testing", require: false
+  gem "minio_runner", require: false
 end
 
 group :test, :development do
@@ -259,6 +259,11 @@ if ENV["IMPORT"] == "1"
   gem "parallel", require: false
 end
 
+if ENV["GENERIC_IMPORT"] == "1"
+  gem "sqlite3"
+  gem "redcarpet"
+end
+
 gem "web-push"
 gem "colored2", require: false
 gem "maxminddb"
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index 0b93bf23d097b..685bdbd8a5e23 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -9,7 +9,7 @@ GIT
 
 GIT
   remote: https://github.com/thoughtbot/shoulda-matchers.git
-  revision: 783a90554053002017510285bc736099b2749c22
+  revision: 68f76ce13e9892339f90c4928339dfd769cfa613
   specs:
     shoulda-matchers (5.3.0)
       activesupport (>= 5.2.0)
@@ -17,47 +17,47 @@ GIT
 GEM
   remote: https://rubygems.org/
   specs:
-    actionmailer (7.0.5.1)
-      actionpack (= 7.0.5.1)
-      actionview (= 7.0.5.1)
-      activejob (= 7.0.5.1)
-      activesupport (= 7.0.5.1)
+    actionmailer (7.0.7)
+      actionpack (= 7.0.7)
+      actionview (= 7.0.7)
+      activejob (= 7.0.7)
+      activesupport (= 7.0.7)
       mail (~> 2.5, >= 2.5.4)
       net-imap
       net-pop
       net-smtp
       rails-dom-testing (~> 2.0)
-    actionpack (7.0.5.1)
-      actionview (= 7.0.5.1)
-      activesupport (= 7.0.5.1)
+    actionpack (7.0.7)
+      actionview (= 7.0.7)
+      activesupport (= 7.0.7)
       rack (~> 2.0, >= 2.2.4)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (7.0.5.1)
-      activesupport (= 7.0.5.1)
+    actionview (7.0.7)
+      activesupport (= 7.0.7)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    actionview_precompiler (0.2.3)
+    actionview_precompiler (0.3.0)
       actionview (>= 6.0.a)
     active_model_serializers (0.8.4)
       activemodel (>= 3.0)
-    activejob (7.0.5.1)
-      activesupport (= 7.0.5.1)
+    activejob (7.0.7)
+      activesupport (= 7.0.7)
       globalid (>= 0.3.6)
-    activemodel (7.0.5.1)
-      activesupport (= 7.0.5.1)
-    activerecord (7.0.5.1)
-      activemodel (= 7.0.5.1)
-      activesupport (= 7.0.5.1)
-    activesupport (7.0.5.1)
+    activemodel (7.0.7)
+      activesupport (= 7.0.7)
+    activerecord (7.0.7)
+      activemodel (= 7.0.7)
+      activesupport (= 7.0.7)
+    activesupport (7.0.7)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
-    addressable (2.8.4)
+    addressable (2.8.5)
       public_suffix (>= 2.0.2, < 6.0)
     annotate (3.2.0)
       activerecord (>= 3.2, < 8.0)
@@ -82,6 +82,7 @@ GEM
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.5.0)
       aws-eventstream (~> 1, >= 1.0.2)
+    base64 (0.1.1)
     better_errors (2.10.1)
       erubi (>= 1.0.0)
       rack (>= 0.9.0)
@@ -109,7 +110,7 @@ GEM
     cgi (0.3.6)
     chunky_png (1.4.0)
     coderay (1.1.3)
-    colored2 (3.1.2)
+    colored2 (4.0.0)
     concurrent-ruby (1.2.2)
     connection_pool (2.4.1)
     cose (1.3.0)
@@ -119,7 +120,7 @@ GEM
     crack (0.4.5)
       rexml
     crass (1.0.6)
-    css_parser (1.14.0)
+    css_parser (1.16.0)
       addressable
     dartsass-ruby (3.0.1)
       sass-embedded (~> 1.54)
@@ -144,8 +145,8 @@ GEM
     docile (1.4.0)
     email_reply_trimmer (0.1.13)
     erubi (1.12.0)
-    excon (0.100.0)
-    execjs (2.8.1)
+    excon (0.102.0)
+    execjs (2.9.0)
     exifr (1.4.0)
     fabrication (2.30.0)
     faker (2.23.0)
@@ -163,9 +164,9 @@ GEM
     ffi (1.15.5)
     fspath (3.1.2)
     gc_tracer (1.5.1)
-    globalid (1.1.0)
-      activesupport (>= 5.0)
-    google-protobuf (3.23.4)
+    globalid (1.2.1)
+      activesupport (>= 6.1)
+    google-protobuf (3.24.3)
     guess_html_encoding (0.0.11)
     hana (1.3.7)
     hashdiff (1.0.1)
@@ -188,7 +189,7 @@ GEM
     json (2.6.3)
     json-schema (3.0.0)
       addressable (>= 2.8)
-    json_schemer (1.0.3)
+    json_schemer (2.0.0)
       hana (~> 1.3)
       regexp_parser (~> 2.0)
       simpleidn (~> 0.2)
@@ -222,19 +223,20 @@ GEM
     matrix (0.4.2)
     maxminddb (0.1.22)
     memory_profiler (1.0.1)
-    message_bus (4.3.7)
+    message_bus (4.3.8)
       rack (>= 1.1.3)
     method_source (1.0.0)
-    mini_mime (1.1.2)
+    mini_mime (1.1.5)
     mini_portile2 (2.8.4)
     mini_racer (0.8.0)
       libv8-node (~> 18.16.0.0)
     mini_scheduler (0.16.0)
       sidekiq (>= 4.2.3, < 7.0)
-    mini_sql (1.4.0)
+    mini_sql (1.5.0)
     mini_suffix (0.3.3)
       ffi (~> 1.9)
-    minitest (5.19.0)
+    minio_runner (0.1.1)
+    minitest (5.20.0)
     mocha (2.1.0)
       ruby2_keywords (>= 0.0.5)
     msgpack (1.7.2)
@@ -253,7 +255,7 @@ GEM
     net-smtp (0.3.3)
       net-protocol
     nio4r (2.5.9)
-    nokogiri (1.15.3)
+    nokogiri (1.15.4)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     oauth (1.1.0)
@@ -268,7 +270,7 @@ GEM
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 4)
-    oj (3.15.1)
+    oj (3.16.1)
     omniauth (1.9.2)
       hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
@@ -296,7 +298,7 @@ GEM
       openssl (> 2.0)
     optimist (3.1.0)
     parallel (1.23.0)
-    parallel_tests (4.2.1)
+    parallel_tests (4.2.2)
       parallel
     parser (3.2.2.3)
       ast (~> 2.4.1)
@@ -313,17 +315,17 @@ GEM
     pry-rails (0.3.9)
       pry (>= 0.10.4)
     public_suffix (5.0.3)
-    puma (6.3.0)
+    puma (6.3.1)
       nio4r (~> 2.0)
     racc (1.7.1)
     rack (2.2.8)
-    rack-mini-profiler (3.1.0)
+    rack-mini-profiler (3.1.1)
       rack (>= 1.2.0)
-    rack-protection (3.0.6)
-      rack
+    rack-protection (3.1.0)
+      rack (~> 2.2, >= 2.2.4)
     rack-test (2.1.0)
       rack (>= 1.3)
-    rails-dom-testing (2.1.1)
+    rails-dom-testing (2.2.0)
       activesupport (>= 5.0.0)
       minitest
       nokogiri (>= 1.6)
@@ -337,9 +339,9 @@ GEM
     rails_multisite (5.0.0)
       activerecord (>= 6.0)
       railties (>= 6.0)
-    railties (7.0.5.1)
-      actionpack (= 7.0.5.1)
-      activesupport (= 7.0.5.1)
+    railties (7.0.7)
+      actionpack (= 7.0.7)
+      activesupport (= 7.0.7)
       method_source
       rake (>= 12.2)
       thor (~> 1.0)
@@ -363,7 +365,7 @@ GEM
       rack (>= 1.4)
     rexml (3.2.6)
     rinku (2.0.6)
-    rotp (6.2.2)
+    rotp (6.3.0)
     rouge (4.1.3)
     rqrcode (2.2.0)
       chunky_png (~> 1.0)
@@ -393,7 +395,7 @@ GEM
       rspec-mocks (~> 3.12)
       rspec-support (~> 3.12)
     rspec-support (3.12.1)
-    rss (0.2.9)
+    rss (0.3.0)
       rexml
     rswag-specs (2.10.1)
       activesupport (>= 3.1, < 7.1)
@@ -402,7 +404,8 @@ GEM
       rspec-core (>= 2.14)
     rtlcss (0.2.1)
       mini_racer (>= 0.6.3)
-    rubocop (1.55.1)
+    rubocop (1.56.3)
+      base64 (~> 0.1.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
       parallel (~> 1.10)
@@ -422,7 +425,7 @@ GEM
       rubocop-rspec (>= 2.0.0)
     rubocop-factory_bot (2.23.1)
       rubocop (~> 1.33)
-    rubocop-rspec (2.23.0)
+    rubocop-rspec (2.23.2)
       rubocop (~> 1.33)
       rubocop-capybara (~> 2.17)
       rubocop-factory_bot (~> 2.22)
@@ -436,10 +439,10 @@ GEM
     sanitize (6.0.2)
       crass (~> 1.0.2)
       nokogiri (>= 1.12.0)
-    sass-embedded (1.64.1)
+    sass-embedded (1.66.1)
       google-protobuf (~> 3.23)
       rake (>= 13.0.0)
-    selenium-webdriver (4.10.0)
+    selenium-webdriver (4.12.0)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
@@ -462,7 +465,7 @@ GEM
       actionpack (>= 5.2)
       activesupport (>= 5.2)
       sprockets (>= 3.0.0)
-    sshkey (2.0.0)
+    sshkey (3.0.0)
     stackprof (0.2.25)
     syntax_tree (6.1.1)
       prettier_print (>= 1.2.0)
@@ -491,11 +494,7 @@ GEM
       hkdf (~> 1.0)
       jwt (~> 2.0)
       openssl (~> 3.0)
-    webdrivers (5.3.1)
-      nokogiri (~> 1.6)
-      rubyzip (>= 1.3.0)
-      selenium-webdriver (~> 4.0, < 4.11)
-    webmock (3.18.1)
+    webmock (3.19.1)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
@@ -504,20 +503,20 @@ GEM
       nokogiri (~> 1.8)
     yaml-lint (0.1.2)
     yard (0.9.34)
-    zeitwerk (2.6.10)
+    zeitwerk (2.6.11)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  actionmailer (= 7.0.5.1)
-  actionpack (= 7.0.5.1)
-  actionview (= 7.0.5.1)
+  actionmailer (= 7.0.7)
+  actionpack (= 7.0.7)
+  actionview (= 7.0.7)
   actionview_precompiler
   active_model_serializers (~> 0.8.3)
-  activemodel (= 7.0.5.1)
-  activerecord (= 7.0.5.1)
-  activesupport (= 7.0.5.1)
+  activemodel (= 7.0.7)
+  activerecord (= 7.0.7)
+  activesupport (= 7.0.7)
   addressable
   annotate
   aws-sdk-s3
@@ -577,6 +576,7 @@ DEPENDENCIES
   mini_scheduler
   mini_sql
   mini_suffix
+  minio_runner
   minitest
   mocha
   multi_json
@@ -604,7 +604,7 @@ DEPENDENCIES
   rails-dom-testing
   rails_failover
   rails_multisite
-  railties (= 7.0.5.1)
+  railties (= 7.0.7)
   rake
   rb-fsevent
   rbtrace
@@ -625,7 +625,7 @@ DEPENDENCIES
   ruby-readability
   rubyzip
   sanitize
-  selenium-webdriver
+  selenium-webdriver (~> 4.11)
   shoulda-matchers!
   sidekiq
   simplecov
@@ -642,10 +642,9 @@ DEPENDENCIES
   unf
   unicorn
   web-push
-  webdrivers
   webmock
   yaml-lint
   yard
 
 BUNDLED WITH
-   2.4.13
+   2.4.17
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index fc7b71f0c0306..350bf7abba202 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pz26qpdx1xncpy5h8k4afw0npnh6wn580yvwv2cf857zrzvr1pm";
+      sha256 = "15ni57icsw1ilz5srlasff4h31h2ckgmxbdd8jnbniscvz4x2sd0";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "003y7cdxwzdqx8hgw02kf1b5mp8qr8syx07f35sk3ghhqxp39ksy";
+      sha256 = "150sjsk12vzj9aswjy3cz124l8n8sn52bhd0wwly73rwc1a750sg";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11ihpqcvz3f38ka85zdjkdcvgdbcan81dbr0y9bi784jn1v5ggwa";
+      sha256 = "1nn21k5psxdv2fkwxs679lr0b8n1nzli2ks343cx4azn6snp8b8a";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   actionview_precompiler = {
     dependencies = ["actionview"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07dx8vkwig8han4zccs0chahcf9ibd4abzx9n56qah8zak5cyrhd";
+      sha256 = "07jyr2h87ha6k2y965rs4ywq142ddkfkhbmp0r44xg4wnffr8jbl";
       type = "gem";
     };
-    version = "0.2.3";
+    version = "0.3.0";
   };
   active_model_serializers = {
     dependencies = ["activemodel"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11wkxf16zdb9gsnc94x4hyj89wjks06gnk4fbl7gp5vkbl744n83";
+      sha256 = "0s5r5z9jm57jjabh8w2823rpjd1agn8z2rlqgyyn4s9pbbhgalzy";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12f89hxs4s26ggsg4bnz9qxlcsclcgx9gdsl8dni5jc0gk47h14y";
+      sha256 = "1rspbw4yxx9fh2wyl2wvgwadwapfyx7j9zlirpd4pmk31wkhl4hf";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sfdq2slmsc0ygncl36dq1lmjww1y3b42izrnn62cyisiag28796";
+      sha256 = "1ygg145wxlgm12b1x5r0rsk2aa6i2wjz7bgb21j8vmyqyfl272cy";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m1sa6djlm9cz6mz3lcbqqahvm6qj75dmq3phpn2ysyxnlz2hr0c";
+      sha256 = "1wzbnv3hns0yiwbgh1m3q5j0d7b0k52nlpwirhxyv3l0ycmljfr9";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
+      sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
       type = "gem";
     };
-    version = "2.8.4";
+    version = "2.8.5";
   };
   annotate = {
     dependencies = ["activerecord" "rake"];
@@ -205,6 +205,16 @@
     };
     version = "1.5.0";
   };
+  base64 = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   better_errors = {
     dependencies = ["erubi" "rack" "rouge"];
     groups = ["development"];
@@ -351,10 +361,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i";
+      sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan";
       type = "gem";
     };
-    version = "3.1.2";
+    version = "4.0.0";
   };
   concurrent-ruby = {
     groups = ["default" "development" "test"];
@@ -424,10 +434,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj";
+      sha256 = "18mii41bbl106rn940ah8v3xclj4yrxxa0bwlwp546244n9b83zp";
       type = "gem";
     };
-    version = "1.14.0";
+    version = "1.16.0";
   };
   dartsass-ruby = {
     dependencies = ["sass-embedded"];
@@ -572,20 +582,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867";
+      sha256 = "0mbkyyadz9vw7mzixi9dks6i6iw033yn2hzwfvnfdvgqq6ywqs4g";
       type = "gem";
     };
-    version = "0.100.0";
+    version = "0.102.0";
   };
   execjs = {
     groups = ["assets" "default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
+      sha256 = "1a4dhqclx0n4dc5riiff1nkwfinaf5an1dxjywmlwa9wm57r9q9p";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.9.0";
   };
   exifr = {
     groups = ["default"];
@@ -746,20 +756,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk";
+      sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   google-protobuf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dq5lgkxhagqr8zjrwr10zi8rldbg2vhis2m5q86v5q9415ylfgj";
+      sha256 = "0pcl4x4cw3snl5xzs99lm82m9xkfs8vm1a8dfrc34pwb77mwrwv3";
       type = "gem";
     };
-    version = "3.23.4";
+    version = "3.24.3";
   };
   guess_html_encoding = {
     groups = ["default"];
@@ -920,10 +930,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbf7v8bzmxyk413y16drnww68bgyzknlqmaqvj785iakja7in7x";
+      sha256 = "0spgxaxvsl3qvyj9qb95gd5hvy2pnp98hbgp8nfw6s69yyw0xmgj";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "2.0.0";
   };
   jwt = {
     groups = ["default"];
@@ -1122,10 +1132,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ppqgch8xxccpmccdx37lb00112ayqjb80zz5m3w3298vdzb1kn4";
+      sha256 = "15xqp7pnicjh2868fsc6fmxw8cw32bpiaqpc5bz8cwdib09ns3qk";
       type = "gem";
     };
-    version = "4.3.7";
+    version = "4.3.8";
   };
   method_source = {
     groups = ["default" "development" "test"];
@@ -1138,14 +1148,14 @@
     version = "1.0.0";
   };
   mini_mime = {
-    groups = ["default"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
+      sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.5";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -1184,10 +1194,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dgwyyya821sfj4f92sljsxmmnak2yrzsbckvy82001zgq1n3b41";
+      sha256 = "0yrxjmwhfnvcwbj9vscyq0z67sq09zl8qhmzgakq2ywy4yvcpwgg";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   mini_suffix = {
     dependencies = ["ffi"];
@@ -1200,15 +1210,25 @@
     };
     version = "0.3.3";
   };
+  minio_runner = {
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11rwvbqichq5jipgbr5x6s609485ga7vxc32r3h9vx342gs6nrzy";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   minitest = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6";
+      sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
       type = "gem";
     };
-    version = "5.19.0";
+    version = "5.20.0";
   };
   mocha = {
     dependencies = ["ruby2_keywords"];
@@ -1336,10 +1356,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jw8a20a9k05fpz3q24im19b97idss3179z76yn5scc5b8lk2rl7";
+      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
       type = "gem";
     };
-    version = "1.15.3";
+    version = "1.15.4";
   };
   oauth = {
     dependencies = ["oauth-tty" "snaky_hash" "version_gem"];
@@ -1379,10 +1399,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vzcrsv6w5k90l75gy83dlfkv2z9pvnr82mz1nhnijmcg3rgqaz8";
+      sha256 = "0m4vsd6i093kmyz9gckvzpnws997laldaiaf86hg5lza1ir82x7n";
       type = "gem";
     };
-    version = "3.15.1";
+    version = "3.16.1";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
@@ -1512,10 +1532,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04y02j0kyhfww41dnnjawn2gpp24smq0x21dvaa5z6pnq0fvmahv";
+      sha256 = "1pa50my9sgh4wh9jah1qxjd33wsp1ahv29vj2q1biz434p67vh5p";
       type = "gem";
     };
-    version = "4.2.1";
+    version = "4.2.2";
   };
   parser = {
     dependencies = ["ast" "racc"];
@@ -1607,10 +1627,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh";
+      sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
       type = "gem";
     };
-    version = "6.3.0";
+    version = "6.3.1";
   };
   racc = {
     groups = ["default" "development" "test"];
@@ -1642,10 +1662,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13dhpp1iljhqp9c8akmp6gjhx47qf83w12ns4bif26ldkignpam1";
+      sha256 = "18vj7q740f7ffj677i258abryj97w0a6g3d5859y0lgypm5big1v";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.1.1";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -1653,10 +1673,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8";
+      sha256 = "0xsz78hccgza144n37bfisdkzpr2c8m0xl6rnlzgxdbsm1zrkg7r";
       type = "gem";
     };
-    version = "3.0.6";
+    version = "3.1.0";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -1675,10 +1695,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd";
+      sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.2.0";
   };
   rails-html-sanitizer = {
     dependencies = ["loofah" "nokogiri"];
@@ -1719,10 +1739,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z4lqqbd4i5izsg97mx5yf3gj7y5d07wgvad0jzjghjg12pf142i";
+      sha256 = "0in2b84qqmfnigx0li9bgi6l4knmgbj3a29fzm1zzb5jnv4r1gbr";
       type = "gem";
     };
-    version = "7.0.5.1";
+    version = "7.0.7";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -1873,10 +1893,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
+      sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m";
       type = "gem";
     };
-    version = "6.2.2";
+    version = "6.3.0";
   };
   rouge = {
     groups = ["default" "development"];
@@ -1995,10 +2015,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0";
+      sha256 = "1wv27axi39hhr0nmaffdl5bdjqiafcvp9xhfgnsgfczsblja50sn";
       type = "gem";
     };
-    version = "0.2.9";
+    version = "0.3.0";
   };
   rswag-specs = {
     dependencies = ["activesupport" "json-schema" "railties" "rspec-core"];
@@ -2023,15 +2043,15 @@
     version = "0.2.1";
   };
   rubocop = {
-    dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s9p5qaqq68h5s3ys8xlk9swccma7arjif1w58987n6gicrsprrm";
+      sha256 = "1i3571gchdj3c28znr5kisj0fkppy57208g9j1kv23rhk3p5q5p2";
       type = "gem";
     };
-    version = "1.55.1";
+    version = "1.56.3";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2083,10 +2103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l364y00bw1zcs3grdxcxpn48vfrjds2khsiaxjqq3r9grvbprfy";
+      sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f";
       type = "gem";
     };
-    version = "2.23.0";
+    version = "2.23.2";
   };
   ruby-prof = {
     groups = ["development"];
@@ -2160,10 +2180,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15k44qn8vk8ap8khkmpsiw40pywm9pkx4a5yhm8vfi2rgqci9k90";
+      sha256 = "038fzkbq5sw9lf947akhpsvdm14q6jfzl2yn87s8958h42sn0xjy";
       type = "gem";
     };
-    version = "1.64.1";
+    version = "1.66.1";
   };
   selenium-webdriver = {
     dependencies = ["rexml" "rubyzip" "websocket"];
@@ -2171,10 +2191,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hwxxvx6j95ln82pjmrgyzg6qmf511dkcp5q79n6m5m8z4way8m3";
+      sha256 = "0jwll13m7bqph4lgl75m7vwd175k657znwa7qn9qkf5dcxdjkcjs";
       type = "gem";
     };
-    version = "4.10.0";
+    version = "4.12.0";
   };
   shoulda-matchers = {
     dependencies = ["activesupport"];
@@ -2182,8 +2202,8 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "783a90554053002017510285bc736099b2749c22";
-      sha256 = "10rw7ksi462fxamap6kimdy7hpdgx8477r6zs1kgrbakx24dm3wx";
+      rev = "68f76ce13e9892339f90c4928339dfd769cfa613";
+      sha256 = "08kbcdfplmbdhgq0x6lk2lpwrlgijrfq6vhl5hkmxg9v9gpgbbrj";
       type = "git";
       url = "https://github.com/thoughtbot/shoulda-matchers.git";
     };
@@ -2282,10 +2302,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp";
+      sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.0.0";
   };
   stackprof = {
     groups = ["default"];
@@ -2484,27 +2504,16 @@
     };
     version = "3.0.0";
   };
-  webdrivers = {
-    dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
-    groups = ["test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19aaxhawzv7315rh285gd1fg6m6wbrn3w3kilyibci1wphgm7mfp";
-      type = "gem";
-    };
-    version = "5.3.1";
-  };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1myj44wvbbqvv18ragv3ihl0h61acgnfwrnj3lccdgp49bgmbjal";
+      sha256 = "0vfispr7wd2p1fs9ckn1qnby1yyp4i1dl7qz8n482iw977iyxrza";
       type = "gem";
     };
-    version = "3.18.1";
+    version = "3.19.1";
   };
   websocket = {
     groups = ["default" "test"];
@@ -2552,9 +2561,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06vf6y5ai20ry3b1h9cl7vsdj6i5valq172zdxpnfhj5zvlp104j";
+      sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd";
       type = "gem";
     };
-    version = "2.6.10";
+    version = "2.6.11";
   };
 }
diff --git a/pkgs/servers/web-apps/matomo/change-path-geoip2.patch b/pkgs/servers/web-apps/matomo/change-path-geoip2-4.x.patch
index 0731e64fefd0c..5e3b32f2ef8c8 100644
--- a/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
+++ b/pkgs/servers/web-apps/matomo/change-path-geoip2-4.x.patch
@@ -8,4 +8,3 @@
 +    'path.geoip2' => PIWIK_USER_PATH . '/misc/',
      'geopip2.ispEnabled' => true
  ];
-\ Pas de fin de ligne à la fin du fichier
diff --git a/pkgs/servers/web-apps/matomo/change-path-geoip2-5.x.patch b/pkgs/servers/web-apps/matomo/change-path-geoip2-5.x.patch
new file mode 100644
index 0000000000000..601e0815cb6e3
--- /dev/null
+++ b/pkgs/servers/web-apps/matomo/change-path-geoip2-5.x.patch
@@ -0,0 +1,10 @@
+--- a/plugins/GeoIp2/config/config.php
++++ b/plugins/GeoIp2/config/config.php
+@@ -1,6 +1,6 @@
+ <?php
+ 
+ return [
+-    'path.geoip2' => Piwik\DI::string('{path.root}/misc/'),
++    'path.geoip2' => PIWIK_USER_PATH . '/misc/',
+     'geopip2.ispEnabled' => true
+ ];
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index fbf16151ef106..4f0d02b670053 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, makeWrapper, php }:
+{ lib, stdenv, fetchurl, makeWrapper, php, nixosTests }:
 
 let
   versions = {
     matomo = {
-      version = "4.14.2";
-      hash = "sha256-jPs/4bgt7VqeSoeLnwHr+FI426hAhwiP8RciQDNwCpo=";
+      version = "4.15.1";
+      hash = "sha256-XnfiprGLqFQqPk30gcAVLdBZ3pYMSdBPfnicm7V1PSc=";
     };
     matomo-beta = {
-      version = "4.14.3";
+      version = "5.0.0";
       # `beta` examples: "b1", "rc1", null
       # when updating: use null if stable version is >= latest beta or release candidate
-      beta = "b6";
-      hash = "sha256-WGyGoTugxHgB2by1F57PQhyqQRjoKBCvwFBZvpsHwZg=";
+      beta = "rc3";
+      hash = "sha256-Q5GB4i0ew6+tr8Bsm9PYkzJ8U6DmVPwG2QCi8CTge5E=";
     };
   };
   common = pname: { version, hash, beta ? null }:
@@ -39,10 +39,11 @@ let
           # TODO: is upstream interested in this?
           # -> discussion at https://github.com/matomo-org/matomo/issues/12646
           ./make-localhost-default-database-host.patch
-
           # This changes the default config for path.geoip2 so that it doesn't point
           # to the nix store.
-          ./change-path-geoip2.patch
+          (if lib.versionOlder version "5.0"
+           then ./change-path-geoip2-4.x.patch
+           else ./change-path-geoip2-5.x.patch)
         ];
 
         # this bootstrap.php adds support for getting PIWIK_USER_PATH
@@ -103,12 +104,16 @@ let
           popd > /dev/null
         '';
 
+        passthru = {
+          tests = nixosTests.matomo."${pname}";
+        };
+
         meta = with lib; {
           description = "A real-time web analytics application";
           license = licenses.gpl3Plus;
           homepage = "https://matomo.org/";
           platforms = platforms.all;
-          maintainers = with maintainers; [ florianjacob kiwi sebbel twey boozedog ];
+          maintainers = with maintainers; [ florianjacob kiwi sebbel twey boozedog ] ++ teams.flyingcircus.members;
         };
       };
 in
diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix
index 6a2a3116cf84c..8ba18acf9cac5 100644
--- a/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.40.0";
+  version = "1.40.1";
 
   src = fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${lib.versions.majorMinor version}/mediawiki-${version}.tar.gz";
-    hash = "sha256-6cSHdxhpjwgtgJbYqdFs2a6yHuGYKj2LRgOvfP0VitQ=";
+    hash = "sha256-4F1BneQMatAxRaygfgjPmV0coWZ9l3k7tzlw4sEbCgQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/snipe-it/default.nix b/pkgs/servers/web-apps/snipe-it/default.nix
index 7cf37ea10152b..a4fa8aee8b599 100644
--- a/pkgs/servers/web-apps/snipe-it/default.nix
+++ b/pkgs/servers/web-apps/snipe-it/default.nix
@@ -36,13 +36,13 @@ let
 
 in package.override rec {
   pname = "snipe-it";
-  version = "6.2.0";
+  version = "6.2.2";
 
   src = fetchFromGitHub {
     owner = "snipe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s8w98jd81cg3rr2h6i63qm72idxdbhgliz2bdka91cqq0zh6d88";
+    sha256 = "11i9ijkl7am5k48y7r5k6nki2827cd7mw3dr1xj8dvb8diwaskqi";
   };
 
   passthru.tests = nixosTests.snipe-it;
diff --git a/pkgs/servers/web-apps/sogo/default.nix b/pkgs/servers/web-apps/sogo/default.nix
index b04a33eb9ee90..b08b2adcd2344 100644
--- a/pkgs/servers/web-apps/sogo/default.nix
+++ b/pkgs/servers/web-apps/sogo/default.nix
@@ -5,13 +5,13 @@
 , libwbxml }:
 gnustep.stdenv.mkDerivation rec {
   pname = "SOGo";
-  version = "5.8.0";
+  version = "5.9.0";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOGo-${version}";
-    hash = "sha256-lHUEV5yYLs3oc8Arl3KX8G/OEAoLmS7pRLCGsRAJAr4=";
+    hash = "sha256-Jv+gOWNcjdXk51I22+znYLTUWDEdAOAmRJql9P+/OuQ=";
   };
 
   nativeBuildInputs = [ gnustep.make makeWrapper python3 pkg-config ];
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index cdb2122a612d2..93b2869f8d2bb 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -177,7 +177,7 @@ in stdenv.mkDerivation {
 
   meta = with lib; {
     platforms   = platforms.darwin;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     license     = licenses.mit;
   };
 }
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 5e310cda8c95f..a93163b560c10 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -8,16 +8,16 @@
 
 buildNpmPackage rec {
   pname = "zigbee2mqtt";
-  version = "1.33.0";
+  version = "1.33.1";
 
   src = fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    hash = "sha256-DdRcDSvgFf+NSDpWT4MnAOLNJ5sfqvJqKBhfPwTHd/g=";
+    hash = "sha256-Rd8PJWKPUriVf3BmHFvhmb+SQskVeqOFdJB8Gsopgnw=";
   };
 
-  npmDepsHash = "sha256-ov1ftDqJtxLCu3xgtGcg+Q2OMkOsHrwk1SNNfdlUieY=";
+  npmDepsHash = "sha256-rEqbwdeIQg6YS7uLeoP2uMbJWsnovIHBVp9CPlTc2NY=";
 
   nativeBuildInputs = [
     python3
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index d333494ea35d0..1df644b9fbe7f 100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = "https://zookeeper.apache.org";
     description = "Apache Zookeeper";
     license = licenses.asl20;
-    maintainers = with maintainers; [ nathan-gs cstrahan pradeepchhetri ztzg ];
+    maintainers = with maintainers; [ nathan-gs pradeepchhetri ztzg ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/shells/nushell/plugins/formats.nix b/pkgs/shells/nushell/plugins/formats.nix
index f55c8c5eae2a2..5f75951b8c955 100644
--- a/pkgs/shells/nushell/plugins/formats.nix
+++ b/pkgs/shells/nushell/plugins/formats.nix
@@ -5,25 +5,32 @@
 , pkg-config
 , IOKit
 , Foundation
+, nix-update-script
 }:
 
-let
+rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_formats";
-in
-rustPlatform.buildRustPackage {
-  inherit pname;
-  version = "0.85.0";
-  src = nushell.src;
+  inherit (nushell) version src;
   cargoHash = "sha256-WS8VRpJnn/VWS7GUkGowFf51ifUx0SbEZzcoTfx2dp0=";
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit Foundation ];
   cargoBuildFlags = [ "--package nu_plugin_formats" ];
-  doCheck = false;
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_formats/Cargo.toml
+  '';
+
+  passthru.updateScript = nix-update-script {
+    # Skip the version check and only check the hash because we inherit version from nushell.
+    extraArgs = [ "--version=skip" ];
+  };
+
   meta = with lib; {
     description = "A formats plugin for Nushell";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_formats";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_formats";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ viraptor ];
+    maintainers = with maintainers; [ viraptor aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix
index 589eda96b069d..bf788098a5eb9 100644
--- a/pkgs/shells/nushell/plugins/gstat.nix
+++ b/pkgs/shells/nushell/plugins/gstat.nix
@@ -5,25 +5,32 @@
 , nushell
 , pkg-config
 , Security
+, nix-update-script
 }:
 
-let
+rustPlatform.buildRustPackage rec {
   pname = "nushell_plugin_gstat";
-in
-rustPlatform.buildRustPackage {
-  inherit pname;
-  version = "0.85.0";
-  src = nushell.src;
+  inherit (nushell) version src;
   cargoHash = "sha256-6luY3SIRRd9vaY9KIJcj8Q974FW0LtAvRjVpdpzkdLo=";
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
   cargoBuildFlags = [ "--package nu_plugin_gstat" ];
-  doCheck = false; # some tests fail
+
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_gstat/Cargo.toml
+  '';
+
+  passthru.updateScript = nix-update-script {
+    # Skip the version check and only check the hash because we inherit version from nushell.
+    extraArgs = [ "--version=skip" ];
+  };
+
   meta = with lib; {
     description = "A git status plugin for Nushell";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_gstat";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_gstat";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ mrkkrp ];
+    maintainers = with maintainers; [ mrkkrp aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix
index feaeb7f63d11b..25097a5d6297b 100644
--- a/pkgs/shells/nushell/plugins/query.nix
+++ b/pkgs/shells/nushell/plugins/query.nix
@@ -9,28 +9,26 @@
 
 rustPlatform.buildRustPackage {
   pname = "nushell_plugin_query";
-  version = "0.85.0";
-
-  src = nushell.src;
-
+  inherit (nushell) version src;
   cargoHash = "sha256-xyty3GfI+zNkuHs7LYHBctqXUHZ4/MNNcnnfYvI18do=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
-
   cargoBuildFlags = [ "--package nu_plugin_query" ];
 
-  # compilation fails with a missing symbol
-  doCheck = false;
+  checkPhase = ''
+    cargo test --manifest-path crates/nu_plugin_query/Cargo.toml
+  '';
 
-  passthru = {
-    updateScript = nix-update-script { };
+  passthru.updateScript = nix-update-script {
+    # Skip the version check and only check the hash because we inherit version from nushell.
+    extraArgs = [ "--version=skip" ];
   };
 
   meta = with lib; {
     description = "A Nushell plugin to query JSON, XML, and various web data";
-    homepage = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_query";
+    homepage = "https://github.com/nushell/nushell/tree/${version}/crates/nu_plugin_query";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ happysalada ];
+    maintainers = with maintainers; [ happysalada aidalgol ];
     platforms = with platforms; all;
   };
 }
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index 0366dac5b944f..b84cfb5be7a60 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -29,7 +29,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "7.3.7";
+  version = "7.3.8";
 
   src = passthru.sources.${stdenv.hostPlatform.system}
     or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -88,19 +88,19 @@ stdenv.mkDerivation rec {
     sources = {
       aarch64-darwin = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-arm64.tar.gz";
-        hash = "sha256-KSBsYw369fURSmoD/YyZm9CLEIbhDR12mRp1xLCJ4Wc=";
+        hash = "sha256-0FyTt+tn3mpr6LxC3oQvmULNO8+Jp7qsjISRdTesCCI=";
       };
       aarch64-linux = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-arm64.tar.gz";
-        hash = "sha256-GaAu3nD0xRqqE0Lm7Z5Da6YUQGiCFc5xHuJYDLKySGc=";
+        hash = "sha256-BNf157sdXg7pV6Hfg9luw3Xi03fTekesBQCwDFeO8ZI=";
       };
       x86_64-darwin = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-osx-x64.tar.gz";
-        hash = "sha256-+6cy4PLpt3ZR7ui3H9rAg3C39kVryPtqE5HKzMpBa24=";
+        hash = "sha256-Ts+nF6tPQZfYgJAvPtijvYBGSrg5mxCeNEa0X74/g4M=";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-linux-x64.tar.gz";
-        hash = "sha256-GKsAH+A89/M1fxvw4C4yb7+ITcfD6Y4Oicb1K8AswwI=";
+        hash = "sha256-iELDoFTy/W6Wm0gNJmywwvp811WycjffBTMDRtrWdVU=";
       };
     };
     tests.version = testers.testVersion {
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 46ba25f8603b3..448d6ecd9f179 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -211,7 +211,7 @@ in rec {
   };
 
   bootstrapTools = derivation {
-    inherit (localSystem) system;
+    inherit (stdenv.hostPlatform) system;
 
     name = "bootstrap-tools";
     builder = "${bootstrapFiles.tools}/bin/bash";
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 05d8ee61e9a58..2b1768515babb 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -8,7 +8,7 @@ with pkgs;
     llvmTests = let
       pkgSets = lib.pipe pkgNames [
         (filter (lib.hasPrefix "llvmPackages"))
-        (filter (n: n != "llvmPackages_rocm"))
+        (filter (n: n != "rocmPackages.llvm"))
         (filter (n: n != "llvmPackages_latest"))
         (filter (n: n != "llvmPackages_git"))
       ];
diff --git a/pkgs/tools/X11/go-sct/default.nix b/pkgs/tools/X11/go-sct/default.nix
index d52cd046da9f7..585e28971b491 100644
--- a/pkgs/tools/X11/go-sct/default.nix
+++ b/pkgs/tools/X11/go-sct/default.nix
@@ -26,7 +26,7 @@ buildGoModule rec {
     description = "Color temperature setting library and CLI that operates in a similar way to f.lux and Redshift";
     homepage = "https://github.com/d4l3k/go-sct";
     license = licenses.mit;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
     mainProgram = "sct";
   };
 }
diff --git a/pkgs/tools/X11/ncview/default.nix b/pkgs/tools/X11/ncview/default.nix
index 2b2aac5f66b07..fcfb6661f3101 100644
--- a/pkgs/tools/X11/ncview/default.nix
+++ b/pkgs/tools/X11/ncview/default.nix
@@ -8,18 +8,21 @@
 , xorg
 }:
 
-let
+stdenv.mkDerivation (finalAttrs: {
   pname = "ncview";
-  version = "2.1.8";
-
-in stdenv.mkDerivation {
-  name = "${pname}-${version}";
+  version = "2.1.9";
 
   src = fetchurl {
-    url    = "ftp://cirrus.ucsd.edu/pub/ncview/ncview-2.1.8.tar.gz";
-    sha256 = "1gliziyxil2fcz85hj6z0jq33avrxdcjs74d500lhxwvgd8drfp8";
+    url = "https://cirrus.ucsd.edu/~pierce/ncview/ncview-${finalAttrs.version}.tar.gz";
+    hash = "sha256-4jF6wJSvYvCtz2hCHXBlgglDaq40RkCVnsiXWmRYka8=";
   };
 
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    netcdf
+  ];
+
   buildInputs = [
     expat
     libpng
@@ -34,8 +37,10 @@ in stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Visual browser for netCDF format files";
-    homepage    = "http://meteora.ucsd.edu/~pierce/ncview_home_page.html";
-    license = licenses.gpl3;
+    homepage = "http://meteora.ucsd.edu/~pierce/ncview_home_page.html";
+    license = licenses.gpl3Plus;
+    mainProgram = "ncview";
     maintainers = with maintainers; [ jmettes ];
+    platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix
index ab8bbf67ca662..25cd8cc24cedf 100644
--- a/pkgs/tools/X11/xsecurelock/default.nix
+++ b/pkgs/tools/X11/xsecurelock/default.nix
@@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.unix;
+    mainProgram = "xsecurelock";
   };
 }
diff --git a/pkgs/tools/admin/auth0-cli/default.nix b/pkgs/tools/admin/auth0-cli/default.nix
index 94b4d9bce7766..44de0a5058b43 100644
--- a/pkgs/tools/admin/auth0-cli/default.nix
+++ b/pkgs/tools/admin/auth0-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "auth0-cli";
-  version = "1.0.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "auth0";
     repo = "auth0-cli";
     rev = "v${version}";
-    hash = "sha256-mOG7N7+qmAw+D6Bp0QtyS3oualDD/fffDVCuidLJ+Pw=";
+    hash = "sha256-EJH+Vn7wvrQ2umjmSXHjbgf2uf/kRbDoo0usTMqDFo4=";
   };
 
-  vendorHash = "sha256-8t5qnHaZeZUxdk5DmIfOx86Zk9c9hJuxHjE6upqC638=";
+  vendorHash = "sha256-T8y7MPFebDU6skfz4Rqo0ElRRaldtfexOl99D7h+orU=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 6aedcc169a39c..78aacae846830 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -23,14 +23,14 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.13.23"; # N.B: if you change this, check if overrides are still up-to-date
+  version = "2.13.25"; # N.B: if you change this, check if overrides are still up-to-date
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = "refs/tags/${version}";
-    hash = "sha256-KFj+Z4Di14umlgzSg7Ip4jg7I6jP5fHTGG7c6+kXbRo=";
+    hash = "sha256-8Euc2yOWv0TRz4SgjRAMdTogGQNE4J/XtadPNe5kKKI=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index df7fcdfbbb2a5..4205071c4a32e 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, lib, python3, fetchPypi, fetchFromGitHub, installShellFiles }:
+{ lib
+, stdenv
+, python3
+, fetchPypi
+, fetchFromGitHub
+, installShellFiles
+}:
 
 let
-  version = "2.52.0";
+  version = "2.53.0";
 
   src = fetchFromGitHub {
     name = "azure-cli-${version}-src";
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    hash = "sha256-wa0LmBMv3eQIsWEKMAHks+TvBZmTdFepPGG5XQRvZXk=";
+    hash = "sha256-5c2Z0EJnKyLqWiz8/BEFAdy5A0+sBbai7UQ2KPL1jr8=";
   };
 
   # put packages that needs to be overridden in the py package scope
@@ -28,18 +34,17 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
       --replace "chardet~=3.0.4" "chardet" \
       --replace "javaproperties~=0.5.1" "javaproperties" \
       --replace "scp~=0.13.2" "scp" \
-      --replace "packaging>=20.9,<22.0" "packaging" \
       --replace "fabric~=2.4" "fabric"
 
     # remove namespace hacks
     # remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well
     sed -i setup.py \
-      -e '/azure-cli-command_modules-nspkg/d' \
-      -e '/azure-cli-nspkg/d' \
       -e '/urllib3/d'
   '';
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   propagatedBuildInputs = with py.pkgs; [
     azure-appconfiguration
@@ -128,6 +133,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-mgmt-web
     azure-multiapi-storage
     azure-storage-blob
+    azure-storage-common
     azure-synapse-accesscontrol
     azure-synapse-artifacts
     azure-synapse-managedprivateendpoints
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 8a61303f97a66..d13dd28230104 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -1,4 +1,9 @@
-{ stdenv, python3, fetchPypi, src, version }:
+{ stdenv
+, python3
+, fetchPypi
+, src
+, version
+}:
 
 let
   buildAzureCliPackage = with py.pkgs; buildPythonPackage;
@@ -60,16 +65,10 @@ let
           tabulate
         ];
 
-        postPatch = ''
-          substituteInPlace setup.py \
-            --replace "requests[socks]~=2.25.1" "requests[socks]~=2.25" \
-            --replace "cryptography>=3.2,<3.4" "cryptography" \
-            --replace "msal-extensions>=0.3.1,<0.4" "msal-extensions" \
-            --replace "msal[broker]==1.24.0b1" "msal[broker]" \
-            --replace "packaging>=20.9,<22.0" "packaging"
-        '';
         nativeCheckInputs = with self; [ pytest ];
+
         doCheck = stdenv.isLinux;
+
         # ignore tests that does network call, or assume powershell
         checkPhase = ''
           rm azure/{,cli/}__init__.py
@@ -205,8 +204,8 @@ let
       azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
         "sha256-WVScTEBo8mRmsQl7V0qOUJn7LNbIvgoAOVsG07KeJ40=r";
 
-      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "10.0.0" "zip"
-        "sha256-9+cXsY8Qr5ds9lYw39duWdcqm6QUTedQbjn8x6zJoyE=";
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "10.1.0" "zip"
+        "sha256-eJiWTOCk2C79Jotku9bKlu3vU6H8004hWrX+h76MjQM=";
 
       azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip"
         "sha256-QHwtrLM1E/++nKS+Wt216dS64Mt++mE8P31THve/jeg=";
@@ -351,15 +350,6 @@ let
         };
       });
 
-      azure-storage-blob = super.azure-storage-blob.overrideAttrs (oldAttrs: rec {
-        version = "1.5.0";
-        src = fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          hash = "sha256-8YeoeOehkfTgmBWZBPcrQUbPcOGquvZISrS6cvxvJSw=";
-        };
-      });
-
       azure-storage-common = super.azure-storage-common.overrideAttrs (oldAttrs: rec {
         version = "1.4.2";
         src = fetchPypi {
diff --git a/pkgs/tools/admin/clair/default.nix b/pkgs/tools/admin/clair/default.nix
index 59260d042f3b4..24e9640bc9ca6 100644
--- a/pkgs/tools/admin/clair/default.nix
+++ b/pkgs/tools/admin/clair/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.7.1";
+  version = "4.7.2";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+ABZafDc2nmHHnJGXj4iCSheuWoksPwDblmdIusUJuo=";
+    hash = "sha256-qnZLVt9pIrfZSCK0blNp5JHbaC4A8m6YicvL4hs2554=";
   };
 
-  vendorHash = "sha256-ptgHU/PrLqRG4h3C5x+XUy4+38Yu6h4gTeziaPJ2iWE=";
+  vendorHash = "sha256-mzrMiycW+kWtooCMWGLOHXPYJQ+y3wLMB2V+f4u4wtY=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index b74a59e47ee11..9a1edeef22d51 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.73.0";
+  version = "1.74.2";
 
   src = fetchFromGitHub {
     owner = "exoscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-46NRA+5SOJ451jF0KlTWu4STiTmRD1BjL3iQcGjdu2c=";
+    sha256 = "sha256-Xssc8T4y8ZaFqOukAJkrKPSUBM0uTlGkI3M92XNLalk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/admin/lxd/package.json b/pkgs/tools/admin/lxd/package.json
index 7a6a07d011292..e30b269605ee5 100644
--- a/pkgs/tools/admin/lxd/package.json
+++ b/pkgs/tools/admin/lxd/package.json
@@ -4,7 +4,7 @@
   "author": "Canonical Webteam",
   "license": "LGPL-3.0-only",
   "scripts": {
-    "clean": "rm -rf node_modules yarn-error.log *.log build/ .jekyll-metadata .bundle",
+    "clean": "rm -rf node_modules yarn-error.log *.log build/ .jekyll-metadata .bundle playwright-report test-results haproxy-local.cfg",
     "build-html": "cp build/ui/index.html build/index.html",
     "build": "npx vite build && yarn build-html",
     "format-js-eslint": "eslint 'src/**/*.{json,jsx,tsx,ts}' 'tests/**/*.ts' --fix",
@@ -17,13 +17,14 @@
     "hooks-add": "husky install",
     "hooks-remove": "husky uninstall",
     "start": "concurrently --kill-others --raw 'vite | grep -v localhost' 'yarn serve'",
-    "serve": "./entrypoint"
-  },
+    "serve": "./entrypoint",
+    "test-js": "react-scripts test src/ --watchAll=false"},
   "dependencies": {
-    "@canonical/react-components": "0.42.0",
+    "@canonical/react-components": "0.47.0",
     "@monaco-editor/react": "^4.4.6",
     "@tanstack/react-query": "^4.14.5",
     "@use-it/event-listener": "^0.1.7",
+    "axios": "1.3.2",
     "cytoscape": "3.23.0",
     "cytoscape-popper": "2.0.0",
     "formik": "2.2.9",
@@ -38,7 +39,7 @@
     "react-scripts": "5.0.1",
     "react-useportal": "^1.0.17",
     "serve": "14.1.2",
-    "vanilla-framework": "3.15.1",
+    "vanilla-framework": "4.3.0",
     "xterm-addon-fit": "0.6.0",
     "xterm-for-react": "1.0.4",
     "yup": "0.32.11"
@@ -78,7 +79,7 @@
     "sass": "1.57.1",
     "sass-loader": "13.2.0",
     "style-loader": "3.3.1",
-    "stylelint": "14.16.1",
+    "stylelint": "15.10.1",
     "stylelint-config-prettier": "9.0.4",
     "stylelint-config-standard-scss": "6.1.0",
     "stylelint-order": "5.0.0",
diff --git a/pkgs/tools/admin/lxd/ui.nix b/pkgs/tools/admin/lxd/ui.nix
index a6d41659a9da3..b0582ef999691 100644
--- a/pkgs/tools/admin/lxd/ui.nix
+++ b/pkgs/tools/admin/lxd/ui.nix
@@ -6,19 +6,19 @@
 
 mkYarnPackage rec {
   pname = "lxd-ui";
-  version = "unstable-2023-07-03";
+  version = "0.2";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "lxd-ui";
-    rev = "c2e819a027d440cbb1cb9d450aad280dde68e231";
-    sha256 = "sha256-lEzGACSv6CpxnfkOcsdPrH6KRKDkoKv63m8Gsodk8uc=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-DygWNktangFlAqinBm6wWsRLGmX6yjhmRJ2iU0yjcgk=";
   };
 
   packageJSON = ./package.json;
   offlineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    sha256 = "sha256-SLkgJDb9lwz/ShZh+H4YKAFRc1BdANWI5ndM2O6NzXE=";
+    sha256 = "sha256-B1SVCViX1LEFoBLMdFk9qaoayku7Y+zU5c4JEJkLmwE=";
   };
 
   buildPhase = ''
diff --git a/pkgs/tools/admin/pulumi-bin/data.nix b/pkgs/tools/admin/pulumi-bin/data.nix
index 231ef9daab331..f80b5f1f134a1 100644
--- a/pkgs/tools/admin/pulumi-bin/data.nix
+++ b/pkgs/tools/admin/pulumi-bin/data.nix
@@ -1,104 +1,104 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.78.1";
+  version = "3.88.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.78.1-linux-x64.tar.gz";
-        sha256 = "10aw5ck6n0yyrclx1739bs62jk15yn21s7a78a4fgg8i4n0fhj28";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.88.0-linux-x64.tar.gz";
+        sha256 = "040rcmrrc8sgxsx1isgbz5pmd67kvks6sqyr7m27f7ccdi0kri8s";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.6.0-linux-amd64.tar.gz";
-        sha256 = "09af270dwghp43nfmmqjq161l2ydmpl2gv9hg004aaidsdjzih7l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.1-linux-amd64.tar.gz";
+        sha256 = "11dgpi0bg975iyf0xa8r9vyvs4r3nj7nn8mp36w9b5m7128mpkwp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.1.0-linux-amd64.tar.gz";
-        sha256 = "1xvi2frwpfkb7xcmr10asan2p3hcax7ljzdgkkc3fd7igr5ydrr9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.2.0-linux-amd64.tar.gz";
+        sha256 = "0l1qn85iq4sq1wg0c5ivwcv2i35w97nkmq6sanzvvsdjy4cx2zfr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.43.0-linux-amd64.tar.gz";
-        sha256 = "0ff2kfjrbfnpf5iy0ss6y3nyp07blc7s8ip0dwyfgl8dlr9rzn8k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.0-linux-amd64.tar.gz";
+        sha256 = "0nbrfqh79hp17mp6f9yb9j6dxfa6n0xf17ks8rkbivzbxq9kqijv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v4.3.0-linux-amd64.tar.gz";
-        sha256 = "0ldzkcdrp4njg3ig6a0mgjc1x0qbxbkg6s1c6i30kkaiiz2y2kll";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.1.0-linux-amd64.tar.gz";
+        sha256 = "04gmbpq1vjw6jbr0d6032hx923abck9czjkljfj2ksz2bagall7q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.23.0-linux-amd64.tar.gz";
-        sha256 = "0zd8g62i4f39979mmk517dbw86aqizviiclism4pji3xas77p7m0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-amd64.tar.gz";
+        sha256 = "0vyhmdyln0cpcf1fgc0v641c78a66dzx97i7xq6isspl6zx9njn5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.42.0-linux-amd64.tar.gz";
-        sha256 = "0yhzmiiic7nvqcdxfrsbwgxnd1d3fqb1z9zn2j7iavp2clkf67ka";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.4.1-linux-amd64.tar.gz";
+        sha256 = "1b88zmn0qnrjvbvllr8hxs1f8pyvyc79mq0knvvpcb2akl48zm07";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.48.1-linux-amd64.tar.gz";
-        sha256 = "1p485dzi6mbjvy1ikbf0qs2z0c215rj3m54qx4y0rxi8annizmby";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.52.0-linux-amd64.tar.gz";
+        sha256 = "0dm7qid20yq490yfls0qg8c9cwxm30qgvg581lwk312pk5zc7l6b";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.40.0-linux-amd64.tar.gz";
-        sha256 = "088929a1fw35syk47s15wy0rzn46jc87q12n4bg35bzlya4vaf97";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.42.0-linux-amd64.tar.gz";
+        sha256 = "1hcl3arsi1crcczqxkcak721n2yzq75pzrxk32q9hfm78lifz2q9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.10.0-linux-amd64.tar.gz";
-        sha256 = "00iv8r8wansaxgaj66mc7myccwa73nwmbl4rzb7qs6b4v111f8iy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.13.0-linux-amd64.tar.gz";
+        sha256 = "1hz2xavx3h19dgq8j7x9wfa3p93ki60z6vrkgxgj0x2ws606wqb3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.8.0-linux-amd64.tar.gz";
-        sha256 = "1ff269vq5hq0587i33k13vr4vy7r4m6zarkkyf1xfi542qzhgjmf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.12.0-linux-amd64.tar.gz";
+        sha256 = "06k14jcz2z9p28wllq9kaxmqrhx0dxa2pq1zjbgbiym4w2zi4bbi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.9.0-linux-amd64.tar.gz";
         sha256 = "0drdv78f7xx3fx8xx6iialcy3nkq9z1lkdfj1fbhzaxpa6bmzyjh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.21.0-linux-amd64.tar.gz";
-        sha256 = "0vndpw6xc9iz69rfawkjihxs7gq8mch5z8qi742yicygw5hsmr58";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-amd64.tar.gz";
+        sha256 = "0bsbfsc7wxsjyqyz5klxn91hd1lwini4pbpm0lw5pf78af7z8v0z";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.21.0-linux-amd64.tar.gz";
-        sha256 = "0piqhknbirp7xp6y2v76fd4hd4zwd0v6y3sy6rivd6974zhcxlma";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.22.0-linux-amd64.tar.gz";
+        sha256 = "059mh2p2f8wdkgqkcf7nvdwibb5kc0c2924w88z5f3kmchr3mfr1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.3.1-linux-amd64.tar.gz";
-        sha256 = "15p29v8dxhj30h4zhn5vcaxlmrwd9vbls92p0jx4b28s08mbq1z8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.3-linux-amd64.tar.gz";
+        sha256 = "1qxlny0d97zaghikynpx2wlk5qjwgfvkbfjwfv13a3c2nqbk5q7c";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
         sha256 = "0hnardid0kbzy65dmn7vz8ddy5hq78nf2871zz6srf2hfyiv7qa4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.1.4-linux-amd64.tar.gz";
-        sha256 = "0arlgmjs1zca1cjcnl8v9lgdsvy12v41f6qpwx4f3f7pi1sg9r3r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.3.0-linux-amd64.tar.gz";
+        sha256 = "0bkgaskq84vac20dbw81xc3qnkb6vginyd2qfdd0akjpakx94678";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.62.0-linux-amd64.tar.gz";
-        sha256 = "19h7y1klljhz6ipwv5298nm9qli5blw8y8w299kin1427hzhxw86";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.67.0-linux-amd64.tar.gz";
+        sha256 = "148sg0jsm05qqgi10m8y4b7ib1miyvs1346h36mg1pf8hykg3psb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.16.0-linux-amd64.tar.gz";
-        sha256 = "04k8a4l249ys0ckrjnprzcwwwa5asg8qnwnwb353rdwcqqq0j2ys";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.20.0-linux-amd64.tar.gz";
+        sha256 = "1papw5a9i4s0iw21f52p45gy6s7rlpb53drk5rkaracw8jm5522j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.2.1-linux-amd64.tar.gz";
-        sha256 = "0hxg4pdls5gwrjf3nvgl9wf5bymx6aj3fknpn8fhxvija2nig800";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.4.0-linux-amd64.tar.gz";
+        sha256 = "1ykcz0idzfh259sxspcqcsy6rgp57jv7zh84xv1r42d5c52ni02v";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-amd64.tar.gz";
         sha256 = "1xq92rsk7bimkr52c13mjypd0ygs7qc9ijyi2ghnf0585d1z5bk5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.14.1-linux-amd64.tar.gz";
-        sha256 = "14hp752d06dwg2yr7hm6dx2y2vi6m7aylxr4kw85zfk6c0zcpf74";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.1-linux-amd64.tar.gz";
+        sha256 = "00vvb17q05r5yn2i7yv3163gxvnakxkjl6a7n1dyb8yzr39ic7ff";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.0.3-linux-amd64.tar.gz";
-        sha256 = "1m8gfw7jkxljh1wbqbaj9njkwcj9ii535fillkmn92p049izw0xj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.3.0-linux-amd64.tar.gz";
+        sha256 = "1vp9p59qwlpr79bkr4zqhysg6rpiydl029r47fkn53wr43w3x0ga";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.4.2-linux-amd64.tar.gz";
-        sha256 = "1x50ayk6vla5j2b9ld890vsyl2m47k39g5cwwhpvdy3zbsnb39d9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.0-linux-amd64.tar.gz";
+        sha256 = "04a29q7irg0rvlbgin1q0s84db86sn5d0hfi1cdlh388jq3fri7c";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.4.1-linux-amd64.tar.gz";
@@ -113,48 +113,48 @@
         sha256 = "0qqfb0gxqz6rxi5m2q8m2k6s8yfdl9x97p5f3cfchmi2zvwyqysy";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.9.0-linux-amd64.tar.gz";
-        sha256 = "13c7c4ddp07rf6vfca16gax270253l7rd9bb068fgg25d6fcfzgw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-linux-amd64.tar.gz";
+        sha256 = "1fmwrw4x88yw490m1csddk2pi6yr8avv3zwyimzsr0ax5k2fdwyr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.13.2-linux-amd64.tar.gz";
-        sha256 = "1a1l07v0hbay0gxvr05mrknllq6vqkyjbv9486klsdswqr9l4p6n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-linux-amd64.tar.gz";
+        sha256 = "1v59k0m4rrad5vbd2x4znb985cbwj9py6ki60x1skq704pmcli5g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.31.0-linux-amd64.tar.gz";
-        sha256 = "1g8lrzjb0qb9lmrwmgpjdjag9wsf50qddj2zq195vj9ds6s29s28";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.36.0-linux-amd64.tar.gz";
+        sha256 = "0sf2bxlqv98xyhq213gfkh3cd59mbgc21b07kii1j0465xl78jmp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.47.0-linux-amd64.tar.gz";
-        sha256 = "1zdfyk7b5vsxh1rv1sgig884q920yyjxf0vjd882m7dpiq8w2hp9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.55.0-linux-amd64.tar.gz";
+        sha256 = "156h4b0a6af02z2xad9kv3zipvnh4l98lmb38a5mp65f4pm5yzd3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.17.0-linux-amd64.tar.gz";
-        sha256 = "03bvzxbvyqlx3y332i2gb8h0rg2n8lrmsq8zfms1l7jgm2283slc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-amd64.tar.gz";
+        sha256 = "1knsb0ha7xbgvlna67nhxmmrr6rw3h52va3dh4ra47b7r8ii7dca";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.12.2-linux-amd64.tar.gz";
-        sha256 = "09rj7mq5rh2mrs4s2ac2w5gwg9vwdbr2jk9qz2r43scrbwzwva9g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-amd64.tar.gz";
+        sha256 = "06gvx51nl93rj244yximp6059yiyxh4jcdqqcrjic8r7wabzsiiw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.10.0-linux-amd64.tar.gz";
-        sha256 = "1n0brv4m8xjyd3lk1rgwbj7c5bpa1m6lr95ipzj3nk8338mb420n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.0-linux-amd64.tar.gz";
+        sha256 = "1mjnfpkk8w13m5p2rkymmyd1nw0sdvg5izjfxpfs71nvy1xp9yxf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.13.0-linux-amd64.tar.gz";
-        sha256 = "08i5ja0lmwncfi8c05485sw08b6r9590wvcr342n1mvgljv7mqc0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.15.1-linux-amd64.tar.gz";
+        sha256 = "1kffzf37gprgh82iyvir2ls5s11bgj5mhl8jww8symlr15pxlhnm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.5.0-linux-amd64.tar.gz";
-        sha256 = "01jsl59rwns87ybx1hmfr634ma381i7xmx40ahrrfpg851mzsgig";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.0-linux-amd64.tar.gz";
+        sha256 = "0rakxw8h2121p1sdvqvp3y4bzzjs8ppsx58iqp0qv57k3ihdww85";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.5.1-linux-amd64.tar.gz";
-        sha256 = "0sgzzqfq26dykzc4ij98ksnhv92d6c4n74pjwag2pfy78yzrm7rl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.7.0-linux-amd64.tar.gz";
+        sha256 = "0qggmhvy0ghgynvaaj6yi7gg3k3gry60japmr987iwhm1knvgndq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.0-linux-amd64.tar.gz";
-        sha256 = "1s6p0jxhiywjyfkmv5w0lz5y3s83330ac8n691vyjglpaamkxi0n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.1-linux-amd64.tar.gz";
+        sha256 = "1b1lx6c4lyphb8qlhk03gw81di11c77l5c4kj6a0jpac5zwksynr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
@@ -163,100 +163,100 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.78.1-darwin-x64.tar.gz";
-        sha256 = "0v7hmaq22drl1zisf0sq8rjk9by345bf6bb6j27c8qh7fvxn2kzk";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.88.0-darwin-x64.tar.gz";
+        sha256 = "0rfknh9v5r8y3zgh4m035qn0ixycv933qjzdbkkfa8fp1zq9wn3q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.6.0-darwin-amd64.tar.gz";
-        sha256 = "16ygv5n87a9hjrs1jbzf13b8y8h5krpp86w1wl8fpy7ns624wjr1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.1-darwin-amd64.tar.gz";
+        sha256 = "1jp28j1xzn0a5dn4ysa7cp9x7l9fzmbcylasmm2a5rdvvq627s1l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.1.0-darwin-amd64.tar.gz";
-        sha256 = "0ad8hrv74r6s9bj6rlsgkjjd00h5hqkdb9dafgp7y7avlzc5lxgq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.2.0-darwin-amd64.tar.gz";
+        sha256 = "0f0yjarvr9rhgmz818663hmjjr8d3bihaxrxrfdfz3i5fizb7v9r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.43.0-darwin-amd64.tar.gz";
-        sha256 = "00h0k84pmaxyfqkb3aqvla5pv25x015r3ngb302lfamdq5py6k1g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.0-darwin-amd64.tar.gz";
+        sha256 = "1mb8xr16h156yj10mzfsprflbv72ldk9ap9w2cw40l8fvbq33lm4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v4.3.0-darwin-amd64.tar.gz";
-        sha256 = "05ac2lrz3vqs280xc2sdksimwwp124zk3r7v5m7w161sfs9fbppb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.1.0-darwin-amd64.tar.gz";
+        sha256 = "1pqn2ymbf0i20micxdk3bh436231b58m0l2iabkjsashhf37qlwk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.23.0-darwin-amd64.tar.gz";
-        sha256 = "0k65d3gl29fkb3vf132mwxklz0im8zdmkjgw92npvqan62bvg9gk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-amd64.tar.gz";
+        sha256 = "04imkdrj388nk88r734f0p0a6z1hffzmplwgmx55kfwqz3zpz4y5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.42.0-darwin-amd64.tar.gz";
-        sha256 = "0c8hmkqifms6y5wb5rw2xm2as1zrr91q94ikig9p02qv0g0m63n8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.4.1-darwin-amd64.tar.gz";
+        sha256 = "0qa5ynrsbw1fca9nlf403r2h4k683w3d3yp902wz2bjlsx6m4i0f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.48.1-darwin-amd64.tar.gz";
-        sha256 = "177y8gp07wkfc777za1fnyc4z3a3mxn3668h3qgyn6xvg2q9p7by";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.52.0-darwin-amd64.tar.gz";
+        sha256 = "0x4zcfbp7vy349q1cj5phlikfx95n9fcmq74h9ihdgr0xbavbbn2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.40.0-darwin-amd64.tar.gz";
-        sha256 = "04clrzbb2h2d1wwnbz1jyrn79gxjw523ygbr4f2ssr3hlcsagizz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.42.0-darwin-amd64.tar.gz";
+        sha256 = "1x2ldnkcf9ygn9cymvr1ylpr6wpkymvwz3n1iksq0a80n8fg8i6g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.10.0-darwin-amd64.tar.gz";
-        sha256 = "078bzv7jh4xvshcpdqcyn401a46c389d46df7vrs14c4bqblygmi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.13.0-darwin-amd64.tar.gz";
+        sha256 = "0rzwkwrjm5p59maz371ndf9mcsdlz98n756k125wylxbp5xygcyv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.8.0-darwin-amd64.tar.gz";
-        sha256 = "1dwka3zpwv1njnqdxpiwl0mwyw68hllb8j17xsyk73j6bb4rzccm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.12.0-darwin-amd64.tar.gz";
+        sha256 = "014hi8zxrnf30q4nfxxpc19wf8ip8487h2wspl1rwa6mpwfn34ss";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.9.0-darwin-amd64.tar.gz";
         sha256 = "090iifz0psm9iqh4qwvfsl7nrk5v7xqiryqnhibg5m643h1vinqg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.21.0-darwin-amd64.tar.gz";
-        sha256 = "03r639yn0maqhlxfnmld7hhrms5gnajw9sqgw3k40xj8rfiiw6ar";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-amd64.tar.gz";
+        sha256 = "1qyb6v3bxg7hsr5viwpc4nzdgq63frjqgxs7kqyg1pp40rcmh2bm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.21.0-darwin-amd64.tar.gz";
-        sha256 = "182q1zkg9n29k9h1ncfr7wv8rfxwdfwj1if0b3gyxzwikybkpnjg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.22.0-darwin-amd64.tar.gz";
+        sha256 = "1zqfzpc4647x965l5phqz67cq7hbnmyc20acmgb4xvax4hif8yk7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.3.1-darwin-amd64.tar.gz";
-        sha256 = "0x9sgdgna71by09nhd10jb4g3xdfwsbzyndsvsfgj70zqlrg4504";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.3-darwin-amd64.tar.gz";
+        sha256 = "1hz46nak73svzc4mppdw4n34szj9lncx102lhrknq89mrx5b1wlb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
         sha256 = "1m5lh59h7nck1flzxs9m4n0ag0klk3jmnpf7hc509vffxs89xnjq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.1.4-darwin-amd64.tar.gz";
-        sha256 = "09w0a8kryyfkdk9nbhic4ww4c90z3bw0csvb9xc3102pq4w8kvq9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.3.0-darwin-amd64.tar.gz";
+        sha256 = "14gs2xv4sq98d12h2v17l68r083wwbm8dqxs5a0wqd84iss2r7hf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.62.0-darwin-amd64.tar.gz";
-        sha256 = "0n4qdx3w7m5gljwa9vngjjcfjzddfpplv8hmyvkj0zcflj2dgakn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.67.0-darwin-amd64.tar.gz";
+        sha256 = "0p30xhj6k46cdy84c7zr4hgdpi3rqvdjqjx8kr8a1ky29569ji4j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.16.0-darwin-amd64.tar.gz";
-        sha256 = "018gky56m0s3x9i50w8x90r1nxqhhl82r4hf99q8jzdibrm9xkn0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.20.0-darwin-amd64.tar.gz";
+        sha256 = "0kxfv7hf1nric2z6cv3c2b36anifbc8xz4z0mg4phx3jhy7xm545";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.2.1-darwin-amd64.tar.gz";
-        sha256 = "1xchg58b01sqqv44zzalk9mwgmkkdadm5mp8mn5v1gr0zc6mc14v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.4.0-darwin-amd64.tar.gz";
+        sha256 = "0a3drcvqjnqqrlm55qxb1j5qn404595ywx6rnzqjcjmrhwg2yyh9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-amd64.tar.gz";
         sha256 = "18vqn7cs5l6fyxmplvcmb779sa91ka8vzz40giggdxzsdjjj9dpx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.14.1-darwin-amd64.tar.gz";
-        sha256 = "0xcx0lsxxs4v3wjbbdf7sm1x6gi1pihm2gb4a1x1mh7qpnp6jiv4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.1-darwin-amd64.tar.gz";
+        sha256 = "1mpx6355bvp3dp8w6x9hrrswfid592jzp1srsv0acd4ypzskm8zv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.0.3-darwin-amd64.tar.gz";
-        sha256 = "13jl22xzifgl4l3kizxdsk2cfqi5vlfngkka05p6d9zh3v5kz2v7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.3.0-darwin-amd64.tar.gz";
+        sha256 = "07zmhqd2zc2394c3ag5f868as7miv6f1q1l6s7p717gz54d6y6wz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.4.2-darwin-amd64.tar.gz";
-        sha256 = "0d4j4njn19kxyxjgaw2m0xxr68s2i90dq1n9yyvk1d6rh6m55hlx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.0-darwin-amd64.tar.gz";
+        sha256 = "04l1yifmbc59ivglnphwhcx5b889v2jd9bgk10ykmcl7v50gwlqm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.4.1-darwin-amd64.tar.gz";
@@ -271,48 +271,48 @@
         sha256 = "11dh5jnpfiah7w1rg99ympm0fin4b2ld6rixggqxq04lqfqh8i2v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.9.0-darwin-amd64.tar.gz";
-        sha256 = "1g4baplhlgp8mxgb31sw1zinpdzzam7xcnc50i1xhr89i33zxfxy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-darwin-amd64.tar.gz";
+        sha256 = "0iabnnkywwylqggyn6c2kqj6j4jdy1ms3vwfyvwkr78909f8jzal";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.13.2-darwin-amd64.tar.gz";
-        sha256 = "0xdz6l3d646mmzn9llfw2zpgr8dk2drqkhf8fff9xljy736qc2zn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-darwin-amd64.tar.gz";
+        sha256 = "1jg3qdm331dvnq2igf6q0xd2ld21jnhm0h756pmxszngadfnmcdw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.31.0-darwin-amd64.tar.gz";
-        sha256 = "07abpp4xbbx8p9s0bb7vw6h8pdlcr8s2zs9hp55437lymzbwbx39";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.36.0-darwin-amd64.tar.gz";
+        sha256 = "1h96dih1pi95066kmk4whbds0w0lzal5pyxwwl1prxpr4w8yb6sd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.47.0-darwin-amd64.tar.gz";
-        sha256 = "0mzvxhy13a3xvdyqcxdiflps7jaxjsgzgb1gqx6j3w4x1lq886gn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.55.0-darwin-amd64.tar.gz";
+        sha256 = "1hyggh10w8zxb6dkva36dl7z1bdb3j9pnrdlapy591c0gbhan0rc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.17.0-darwin-amd64.tar.gz";
-        sha256 = "0y4xpdypr1gsf19lfbb46l74f7mjjshkq13dqv6gh7639b4c55q1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-amd64.tar.gz";
+        sha256 = "0xgihb099s99qb5bk6wavwm9227z73jgqrysmvjrqkn83kh7942v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.12.2-darwin-amd64.tar.gz";
-        sha256 = "0bk514dfyz5ky5zhqklxcakrh6sy8axi2ag6lrw878m424hx5drs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-amd64.tar.gz";
+        sha256 = "1pm5j9q4kvv70c6paficcfb664df6666mq559zvdklf5ndjpw5z9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.10.0-darwin-amd64.tar.gz";
-        sha256 = "1cr0zbfrid4xsyjmabppzg7f867vmhpjf29s4qrb3g9vg0k4fibk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.0-darwin-amd64.tar.gz";
+        sha256 = "0122mpbgc2d4yhdvm1j45niz07d68drj80hxa3d1sa9pqzyllbky";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.13.0-darwin-amd64.tar.gz";
-        sha256 = "1vvqcn832snkqkk0d1rgx6wraxxy2j0nss4zjqyin8wvhrd7ddak";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.15.1-darwin-amd64.tar.gz";
+        sha256 = "0ipfx8x0zq5qxmbivjndqb1ijc2130gnv7ygs7ln5qcnzrhbjx2a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.5.0-darwin-amd64.tar.gz";
-        sha256 = "1jn1j72s3dqjw0xdyk7mncw61fzqmwg4sqbbh7f3708wv1rznv5a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.0-darwin-amd64.tar.gz";
+        sha256 = "0803vk8iy0xf7rbpgq1a0jjcjbn3jwia8hqf2mj696i9iiij2r3x";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.5.1-darwin-amd64.tar.gz";
-        sha256 = "00fbabsijwz6smm1s76vsjvahq5fp8wmjy1zhwxicmvacswcc5jp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.7.0-darwin-amd64.tar.gz";
+        sha256 = "0f21v5claqq3cbrh809fy8ffv4v4whdjpqb0d6zgrxif2vczm86p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.0-darwin-amd64.tar.gz";
-        sha256 = "0caqldzki2s6v0mmcwb570f8jkj0l8s5bn718ml1bfqcsxryiw48";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.1-darwin-amd64.tar.gz";
+        sha256 = "01fv7brag4c573408655kq8xcq5r0wgcjrfwn5z9wfpbcqg0blhb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
@@ -321,100 +321,100 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.78.1-linux-arm64.tar.gz";
-        sha256 = "0nahmxqfbdmcv1mzvmrlhrkdh0721i2l3cgi5zbm2dilgxswxhz9";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.88.0-linux-arm64.tar.gz";
+        sha256 = "1ifmqnai52pyn11w38f8lfk7v8bv0919vpg8c9y8fn7ag5qb9vn4";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.6.0-linux-arm64.tar.gz";
-        sha256 = "0h582403nz2i61h8rh0yv98846p3al4kgbdcr26gh8xzkgn7b8xx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.1-linux-arm64.tar.gz";
+        sha256 = "09n456hm9d3bv7krlkw04wmra55xinb311051cghpyxsrwpv5qid";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.1.0-linux-arm64.tar.gz";
-        sha256 = "0y3ii17xqdc04iqs5xc81q9zgswd4ilvh93gvlz3nx5mhhvi7ihp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.2.0-linux-arm64.tar.gz";
+        sha256 = "13v3kmypadvr4c4jfdzd1bnzbsclw4fr016kqd7qv82fg8yf4bln";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.43.0-linux-arm64.tar.gz";
-        sha256 = "0wxr64mv51jr22bb3f224vvnysb1sj3bk1ibxs63bq869aw846vr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.0-linux-arm64.tar.gz";
+        sha256 = "1g2bnrmzs9lyzrz7jn7hn6c1chzvg4bdxvza8kzafqrrynsqpisl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v4.3.0-linux-arm64.tar.gz";
-        sha256 = "1iwzysb3wqdcx2r4mqif5nbw2wbqc2cly0cpc624p6k2kcmbxijy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.1.0-linux-arm64.tar.gz";
+        sha256 = "18s2bh3gwg4jby9frdx8z0cldyz1g1sspgdba4mawb6m7p5f6290";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.23.0-linux-arm64.tar.gz";
-        sha256 = "09rm18fndgdna4b5jj300jk0l6bmapcizpnqdb3gcl02q6nd2jiv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-linux-arm64.tar.gz";
+        sha256 = "11ph5yjy754sb55sncdlgibrmijg2jsylrjfpvy4mclrwg64cari";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.42.0-linux-arm64.tar.gz";
-        sha256 = "1rgcsb0gbsr0r7rnyrzim92b54ig4vqzprcc7jcb6j5af4xmj2gs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.4.1-linux-arm64.tar.gz";
+        sha256 = "1cgl36srg5idd2cfr2v7h9ymnmfjqrhj81zh1f6qxfhjdj9gyzci";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.48.1-linux-arm64.tar.gz";
-        sha256 = "003zcb2hhmzbf69242rahdqvagzyl2xa0fnrs7wnrmi293avjhvx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.52.0-linux-arm64.tar.gz";
+        sha256 = "18d3xgjha67i3qln1n6wg5fzhr8jwc1x2fh3zg630y4wdw3jsqix";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.40.0-linux-arm64.tar.gz";
-        sha256 = "051m5mfvxlz1abpcrps293yc71q2pidybf4fslyzw468pipzjja3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.42.0-linux-arm64.tar.gz";
+        sha256 = "19zyn04jncv5jm6kf9vclcrmk0w99hflw7pv7kbvshlgj0y5ly2m";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.10.0-linux-arm64.tar.gz";
-        sha256 = "1q8p1jwrj1hpvicj1fvfpanm71ppf5nq166m5njygm97lz6cl5rg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.13.0-linux-arm64.tar.gz";
+        sha256 = "0c4m9y4hh6k4f9v4xidijpwyc2650v4180zkdy5cpl7shfdk3n75";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.8.0-linux-arm64.tar.gz";
-        sha256 = "0ji6gp4f3295mf06n71hm4dhfjxh4jsz9yf5kzqf5sw2vcidgs3i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.12.0-linux-arm64.tar.gz";
+        sha256 = "1j8ab4m9jr7q0k89pinr93izdyvq0jk0nm2gr5rjrq5wrwirly9i";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.9.0-linux-arm64.tar.gz";
         sha256 = "1wavn4szckiranji27h84i9mpb589h87zmp9sakiqgn7c6cdhqpb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.21.0-linux-arm64.tar.gz";
-        sha256 = "05bq68jf75f4fm7qyl2z8xnjy9pyy3r4h8bak064vpygdjq5bhcy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-linux-arm64.tar.gz";
+        sha256 = "1h7yh118iqr0bdkkagf3m0yxnphz5na7vyqqmzs7d9y9kcgfg8gi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.21.0-linux-arm64.tar.gz";
-        sha256 = "0z3wcn559h6yg5c2imp3vr1dzcy86y0hx47mrz5bl1zj8fm0qmvc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.22.0-linux-arm64.tar.gz";
+        sha256 = "0d2z8ig79qr4qc7xv0ak00h7n2k613dqpifbdbkp6dhxiw4zmxcq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.3.1-linux-arm64.tar.gz";
-        sha256 = "150xh5119kqdpn73ac25m9lba8pk0cirxpc3nafbiqqnsrqgxzsp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.3-linux-arm64.tar.gz";
+        sha256 = "0n3a3xaq7raf715r5gyr5v40wdy800c5arvqnd4sq7yvpkh1mcn6";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
         sha256 = "111pia2f5xwkwaqs6p90ri29l5b3ivmahsa1bji4fwyyjyp22h4r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.1.4-linux-arm64.tar.gz";
-        sha256 = "065g4zrcs94911vpm455gg89y5g0zgd0lbww489wij9qp7fa5l0z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.3.0-linux-arm64.tar.gz";
+        sha256 = "0qyjnkddwkfipmv7gv2vyjg6mr2nf7bm54v2vz96akr7ysl7w2rl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.62.0-linux-arm64.tar.gz";
-        sha256 = "0vzah0xq5wgc2fhk8503pqds31x9kkb2lg9spk8w5lw59370326s";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.67.0-linux-arm64.tar.gz";
+        sha256 = "14xpg193qf332sa9x4iw39i71k158f5393bqcqrjfccpkk1adwli";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.16.0-linux-arm64.tar.gz";
-        sha256 = "1cpc9nf6p83v1r9bksrk381x4ndikhm9iraaq0jq8lw1jpksb8vx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.20.0-linux-arm64.tar.gz";
+        sha256 = "13jq9vrv1pkg6g2711v53fgy14yb8zw1q1jrr1ndmlyxgk84qy98";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.2.1-linux-arm64.tar.gz";
-        sha256 = "1bs437qynd62xwphyz4ks7vavm8ysa6dhrqwxb4yridhwqkwh8l4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.4.0-linux-arm64.tar.gz";
+        sha256 = "1zznxhp8njrm9kamg89r75rkzbd5mx66v9hxdwdwyijdsrb7rih4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-linux-arm64.tar.gz";
         sha256 = "17bykmfj9kxw2c94wjxcfakd10apnc88axr3wx2pa2k5idxd3ih0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.14.1-linux-arm64.tar.gz";
-        sha256 = "1q2j996h0zib4mpxbigrmp5ilzl9qy63wxl5i4hfzyspzq2n39zh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.1-linux-arm64.tar.gz";
+        sha256 = "17zpwizdsavsnhq179hw67wppdm61hzl6qrycl4anf074h5fy9rw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.0.3-linux-arm64.tar.gz";
-        sha256 = "1d034j9v47f03kaya07vidksy67wxfhsl3ilgdmz1wffdkwg43wy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.3.0-linux-arm64.tar.gz";
+        sha256 = "1xdr0yhck5ji40rf40pdax9qihnvyd39d6rjiyl8ydlpw9w9ma5i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.4.2-linux-arm64.tar.gz";
-        sha256 = "16z5xb56zi975ad8l3wwz7lnc0f22waif6vnrbmd90jcjfx3gf5a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.0-linux-arm64.tar.gz";
+        sha256 = "0mqakfimh58vvmcsf0m0knazxymgg1zi87h3scj6lgj11m3lqrdv";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.4.1-linux-arm64.tar.gz";
@@ -429,48 +429,48 @@
         sha256 = "1y5prgh9nq6jb4db5b7a4dpcilq2c9ivfl1b1z59096gx540yqar";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.9.0-linux-arm64.tar.gz";
-        sha256 = "1rhan3mjvs5kqzaklq42gb04jn1bph0bd64w2cwbaw6c34p7c1kp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-linux-arm64.tar.gz";
+        sha256 = "0w353wxg947rp7qf47z45glx8qfrxikmk4r6id5bqk03nx1fs4wd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.13.2-linux-arm64.tar.gz";
-        sha256 = "0x8mgh057ln80rvwxzdis2qd4knasvm2f3f5cniywnb4zz1xygv2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-linux-arm64.tar.gz";
+        sha256 = "18wkr5sfa9v8b9b4c3hdgnq8wd8qpykcyqbcmiypykj8y954hxjk";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.31.0-linux-arm64.tar.gz";
-        sha256 = "0m2j90zkyk11zls1y25hlnkj7abch0hc55cxdz8l3gv9migkcx63";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.36.0-linux-arm64.tar.gz";
+        sha256 = "09j6cw9m1aa60n0gq68dmpk70gyh69qqkm98djrcn6134j2xf555";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.47.0-linux-arm64.tar.gz";
-        sha256 = "1dsakh7093zavhayxqyki4dgprk918q6jwx47c9bypsicm5xjc9y";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.55.0-linux-arm64.tar.gz";
+        sha256 = "07qh2d542rshixmdyk0rl7381gq81spc0fhn2cwcw0j7cvq01z6q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.17.0-linux-arm64.tar.gz";
-        sha256 = "00mlkp2g4n94cnlqpfqcqkpi3zpnkb29md01dp93dk940cc4aj0b";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-linux-arm64.tar.gz";
+        sha256 = "1kqv70w3d84a9a0kj0w2hmd88h50zlfc35xkf57kgd43l948wcin";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.12.2-linux-arm64.tar.gz";
-        sha256 = "01aq3n70sl7s7w98cgbfjkq5xg0jny5pm0cj021cqkrzli4j0biy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-linux-arm64.tar.gz";
+        sha256 = "1rlf5gl7a7ym8zl4h0v7i42a9830zi401axw032h0v4q6w4zki3n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.10.0-linux-arm64.tar.gz";
-        sha256 = "0wc2j439pi1s5j6ncmdj0670svis5ljfgn1q49lh37pgn88m7m75";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.0-linux-arm64.tar.gz";
+        sha256 = "104lp8pxm3z6dshz3jvn6bsniskw665jmnmfnr410kgx60hk4wip";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.13.0-linux-arm64.tar.gz";
-        sha256 = "15a93vb3b3nlk7fyl9qh2jayhv48fk0hja07nvjkz23xfl3zpxdr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.15.1-linux-arm64.tar.gz";
+        sha256 = "1pbb47vh7lwh729y1c9aky3nhyd6ijyknpb3w4grxfkdhiyyid9y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.5.0-linux-arm64.tar.gz";
-        sha256 = "1psibvdvnqmcjyd4knwxqq97k72da7qgrm2g08n41bvjdv10j6hh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.0-linux-arm64.tar.gz";
+        sha256 = "1qp184fqwlm3r1lvk9qjhddfj9hmzsv4hjgc0jp1bylnmycqc81c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.5.1-linux-arm64.tar.gz";
-        sha256 = "1xsmlza394wc38pyi4zzhfn7mvn4znvv00k9dxm8w3bxnym5gpbl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.7.0-linux-arm64.tar.gz";
+        sha256 = "1q492lykggvnxnzlnw95iysnjw3zs6j6rj24yqr9kxqbsavlcld6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.0-linux-arm64.tar.gz";
-        sha256 = "1f2hxw5l6v7w9szck4p8dikc68mfdkzcpyz8k9iiaqns8pb258h3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.1-linux-arm64.tar.gz";
+        sha256 = "00ggsw1czdmr742jp18snnfdbm7682srf62nz9rvsb1w7lnjs4yq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
@@ -479,100 +479,100 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.78.1-darwin-arm64.tar.gz";
-        sha256 = "0z8v0v4qxcn0ppz6ifxdwikz3ibrvr42ssbkf3v0g9b2spmb4jq1";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.88.0-darwin-arm64.tar.gz";
+        sha256 = "0z0gpxrihxwx1a3njvhr9rc3p4pv6yqw6a6xnf2ssn4pqck6rl5q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.6.0-darwin-arm64.tar.gz";
-        sha256 = "1iwax27sz03aa3srjiby7nvn17k2vkb07ahqqsyj930bdy7851zl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v6.7.1-darwin-arm64.tar.gz";
+        sha256 = "09zcxyrpad8iz3yqvrd7g8x61pbk4gqfqa7jgiqnqxmrr1vf8idd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.1.0-darwin-arm64.tar.gz";
-        sha256 = "0bh4c28ww1rz1zi23m0bf4y4anii3w2bdwjlmbyqf54jnqgb1pwd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v6.2.0-darwin-arm64.tar.gz";
+        sha256 = "0rj745xaaw7a1437yfbi6awahyd1zvj1gc90pcv3bc44s0k1n9hi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.43.0-darwin-arm64.tar.gz";
-        sha256 = "0j8gd0ng1ncaiwydsgcabdcmc823kfciii0qn5c0rvpc5d1l94y0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-alicloud-v3.44.0-darwin-arm64.tar.gz";
+        sha256 = "0ma5n4mcilnqmhxyr2pn1j6xxm25hd52f7sxs7y8h38a87a54xfq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v4.3.0-darwin-arm64.tar.gz";
-        sha256 = "0096hg8k7z0pppcm6ifjq50cjpgahx15v2i1l64ykg6d4z5sqqh3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v5.1.0-darwin-arm64.tar.gz";
+        sha256 = "1gzy86d860nv4amg2wvpk7qj94x2v929bflh6vszyfi29r68k2z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.23.0-darwin-arm64.tar.gz";
-        sha256 = "0260gpq212dj3c782bdx4fn2c9vk1kv0j42sq037k4ih430wqxwv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v3.0.0-darwin-arm64.tar.gz";
+        sha256 = "07f30h74hyg3j9dj78a0al5v9i5n105y52yn362mlyvfh807blml";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.42.0-darwin-arm64.tar.gz";
-        sha256 = "06cm6va9bbkcm1sznlkjc95b1n20bsf3yvw1pysh3pwbs1qwd8v3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v6.4.1-darwin-arm64.tar.gz";
+        sha256 = "0x4ri61ppj9shhx17rxlavs347fsy4bqpq489y0g13dy51xzsgh7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.48.1-darwin-arm64.tar.gz";
-        sha256 = "1xkyvd09y7dbf9928cyzgj37vdfbz4knagi3rbg7gd757xmvqxc7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.52.0-darwin-arm64.tar.gz";
+        sha256 = "03x2h0nivi5ygn8lk57g4xky29256hczgmf0qwfrb9lb49qnvrss";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.40.0-darwin-arm64.tar.gz";
-        sha256 = "06jg96pamb3bvs286nna66a8a2chnnz5vzb00lm1m2rrga5a50hb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.42.0-darwin-arm64.tar.gz";
+        sha256 = "0lba3ghd350r59v694l9qnziydlyh63wk1hgbpiy2cmdg20addbx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.10.0-darwin-arm64.tar.gz";
-        sha256 = "15vd5mdb76awcxa1s5qw11mbhdy2dpfi5idi2gqsyhr6cqw0360v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.13.0-darwin-arm64.tar.gz";
+        sha256 = "18gzy9kpz74ycdl988r3mxzxakbd74vn2rl5y3hzlhgyd03vqmfm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.8.0-darwin-arm64.tar.gz";
-        sha256 = "04mk5c1dsn8k7r23vb0dlgg33vnjjgx5xyymsfmar7z8a2w5mjyd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v5.12.0-darwin-arm64.tar.gz";
+        sha256 = "1kmy7krwbgyxlk4f83nw6npll3svymbigzdr9kaj3ab8bcbj0wpn";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v3.9.0-darwin-arm64.tar.gz";
         sha256 = "0m5ikqssgj33is9lxplx8ljlmklh7p173gwfvld8izs37pb1xdyw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.21.0-darwin-arm64.tar.gz";
-        sha256 = "1f8f2ncbdfxb6spgpzwfypj9vw9r3hcjwdgwg26n6zsfsd5jzfzx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.23.0-darwin-arm64.tar.gz";
+        sha256 = "066w46l9dv02pnq59h632w1f7sjj8qqh6867cb33bbh6if681fpa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.21.0-darwin-arm64.tar.gz";
-        sha256 = "1bibn0248jvvd0hkz8msn3qr167i78igdq7z9mm01n54pz8pykxl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.22.0-darwin-arm64.tar.gz";
+        sha256 = "0nvdhfw4bfizq6hmwng7glf248qvz5gzfbfm7ha50zaajbhrilkv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.3.1-darwin-arm64.tar.gz";
-        sha256 = "1ld4fqixh10d78lmgl6a7p8ji8y8w9dq8g7dd2ks2cxvf4y2hswy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v4.4.3-darwin-arm64.tar.gz";
+        sha256 = "00n7jwqwcxgrjxb6bn3sdba79fcg5y6fh22zmrcnn3g07hh0jnf2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
         sha256 = "12bzicm43l7yvh02v5fx3z8v46l9i7a9f677735xi5rjbmd2an4c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.1.4-darwin-arm64.tar.gz";
-        sha256 = "0dha6lzil64d5hxbd9ay7gr4xhg25pgvy3q6d24abdpdsiq431j8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-fastly-v8.3.0-darwin-arm64.tar.gz";
+        sha256 = "0nz8w50nfnnx9smf3lk7nqylx4bdpvxk1jr87y8ja1czmp34g2w9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.62.0-darwin-arm64.tar.gz";
-        sha256 = "132vxlm3l8ir5v72b17j60kqx236vcbjp0bfi62w285h78182kvs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.67.0-darwin-arm64.tar.gz";
+        sha256 = "0x6ispcwkx15x753zy6awwlykh66qfk5phwdzsy8gw3j1g033a85";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.16.0-darwin-arm64.tar.gz";
-        sha256 = "08wnj6yn7rfv5mzwi3hkc622qb1kiz3lpmiy0lj4rrpncf6yldgj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v5.20.0-darwin-arm64.tar.gz";
+        sha256 = "0lhc76q4x126dcjbnsz5a4r414y94sp70dhr702fh24zn9v4f9gd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.2.1-darwin-arm64.tar.gz";
-        sha256 = "1i95shv7h73wd1zm8mn3lqpq1sg59cj6d6ha3igprk62wb476407";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v6.4.0-darwin-arm64.tar.gz";
+        sha256 = "1jcz3ls4byhkndsssaf0mllckvfamaysqh745hn0msyjqm2q03h1";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.31.1-darwin-arm64.tar.gz";
         sha256 = "0wcxrcpijn6jzz0l5azfqvh31xzg5q5bvk39iifczimdvw37xnva";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.14.1-darwin-arm64.tar.gz";
-        sha256 = "1ylkjnrkz343anffssls9qwqp17zwfg5z507bnpblqidavnmzq9d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.16.1-darwin-arm64.tar.gz";
+        sha256 = "1f4xnjwbp1qbx0hcym4gxynb4j1vxlj7iqh1naays3ypc4mgnms1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.0.3-darwin-arm64.tar.gz";
-        sha256 = "12nx3cn38j9agaw4qqp44f5w16954zhlxj3cjn3kna9phc7lza6a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v4.3.0-darwin-arm64.tar.gz";
+        sha256 = "0vjl1yd3wgpn99qphkamd6mfwqg671zrdd2121ydprk9v60jq8c5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.4.2-darwin-arm64.tar.gz";
-        sha256 = "1dcwi9lnbx7ikj58fzznvz8c7lwnbfcdhw0mlnbldxkxfzba32sp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v4.8.0-darwin-arm64.tar.gz";
+        sha256 = "1x0rpyy3hg3wna6w273zy9dhd0mvgqvqd8lj406nwwir9pbq2xw1";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v3.4.1-darwin-arm64.tar.gz";
@@ -587,48 +587,48 @@
         sha256 = "1xl3i1py3m2fr4haww7jzyj064hcdrb86amnhrjs5ccps02r6gk3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.9.0-darwin-arm64.tar.gz";
-        sha256 = "1cjrj1vl9ljx32j7zss74kqg367zcz6nmisz0am5i040kiqgb7na";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v3.10.0-darwin-arm64.tar.gz";
+        sha256 = "1bb9a3ppiyd4jrna2z7zdngvlps870r3zhr54b1xzbap1vhdbjhd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.13.2-darwin-arm64.tar.gz";
-        sha256 = "1w7g9gc01fpsa41csp5sv6q2w9g4i7gn5b1lnm0dal16169dkpy6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.14.0-darwin-arm64.tar.gz";
+        sha256 = "08llqzf509ds0nbcllpq5k3zl6l656yxx0bx0z9pibd9iwzjy3wj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.31.0-darwin-arm64.tar.gz";
-        sha256 = "0qsj3xmlx3xfk0rfzxyngi8lkbnq2rmw7j33ym3aqcr0k4ji9phf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.36.0-darwin-arm64.tar.gz";
+        sha256 = "1v0k309w96f9s9nvslh7dx6mhk5prxcbd83fgrcfhsk784hrrzqi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.47.0-darwin-arm64.tar.gz";
-        sha256 = "1p3im8q89gih6j16rv5kf2zb76dlpfcxwgxpqdfh88z9nfpnz5v5";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.55.0-darwin-arm64.tar.gz";
+        sha256 = "1598kg5w639fdp8cdsaxm0jcn1p3q1mmfyfci3gn8s0ck2xfnbnm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.17.0-darwin-arm64.tar.gz";
-        sha256 = "05c8zdv7f0nlkm3w5z1iavj6i7vp6q4dpi6y3c2wzj63swkxcmqd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.19.0-darwin-arm64.tar.gz";
+        sha256 = "17ngmwyh6z1g6x3lrd77pxa9wwwarh4mqdcq7aiwf57plx4a4l6j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.12.2-darwin-arm64.tar.gz";
-        sha256 = "1baq38wv66ddxxc6m2s7djc6q6lpcg7p0783a22lwchjj18i1g0n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.13.2-darwin-arm64.tar.gz";
+        sha256 = "09agrp3sb7mzhwaja4rvz0p25rpsb2n4v3s2kyzcx3pyfyhigvfn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.10.0-darwin-arm64.tar.gz";
-        sha256 = "0sxdpvx2hwd1sgaz34ddpa676n0g081ymrldr881cb5lfh01zbji";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.11.0-darwin-arm64.tar.gz";
+        sha256 = "00svwn4p6gmmk9y53w9k4zl425lv13wmm7v86y627fq7nv8pwkd0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.13.0-darwin-arm64.tar.gz";
-        sha256 = "0l5rzcdx9v6h4qb8pk631cb68c2m3rcpia1aq64psb91g8lhrwa3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.15.1-darwin-arm64.tar.gz";
+        sha256 = "065imbfc3h96dhrjfs6qqcr5ha3hyy5q2gh0904ghda9dk8v1xhn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.5.0-darwin-arm64.tar.gz";
-        sha256 = "1lnbsfcv1vrgc2hzmqwydxp9j6w9cmgpkpm83hmzz2ryy2vn6g07";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.6.0-darwin-arm64.tar.gz";
+        sha256 = "0wm3ldvhg6xhnblfwxccjqqw0q0mpl7s92cckzrzhdr5rwddcgbf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.5.1-darwin-arm64.tar.gz";
-        sha256 = "1r25pimq5r8f2r68prb14wk0ppb6ikf9z61lj6x8h5ym1advgirk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.7.0-darwin-arm64.tar.gz";
+        sha256 = "08qgbqxdc8z1mbhnl6jh6jsb79dlb9jf43inyrlr6mxcf2gnv7kx";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.0-darwin-arm64.tar.gz";
-        sha256 = "1g82gvaqp1w9hr7ihbip1n7zbb7nh9ifwn4p6wk7y23fn8qh0m66";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v3.0.1-darwin-arm64.tar.gz";
+        sha256 = "01s1lr79qcwz28xl5ckp81jg1hgypagcxxjv2c9mcvljxana291v";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
diff --git a/pkgs/tools/admin/rset/default.nix b/pkgs/tools/admin/rset/default.nix
index f7c00fffb1ccd..e164e133f9851 100644
--- a/pkgs/tools/admin/rset/default.nix
+++ b/pkgs/tools/admin/rset/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/eradman/rset/raw/${version}/NEWS";
     license = licenses.isc;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/audio/asap/default.nix b/pkgs/tools/audio/asap/default.nix
index 67fb8253711db..c4a9b03039c56 100644
--- a/pkgs/tools/audio/asap/default.nix
+++ b/pkgs/tools/audio/asap/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "asap";
-  version = "5.3.0";
+  version = "6.0.0";
 
   src = fetchzip {
     url = "mirror://sourceforge/project/asap/asap/${version}/asap-${version}.tar.gz";
-    sha256 = "sha256-ioEshlPE8eUcLxNkIl0lxnczMNAYRcJN8KGN6OansjY=";
+    sha256 = "sha256-j7vznFI/Yg1yuRvYDmRSyHDfDN7iFV+b6MK2jdnaz6Q=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/audio/audiowaveform/default.nix b/pkgs/tools/audio/audiowaveform/default.nix
index e2261182c47c5..11dc8541c5b93 100644
--- a/pkgs/tools/audio/audiowaveform/default.nix
+++ b/pkgs/tools/audio/audiowaveform/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "audiowaveform";
-  version = "1.8.1";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "bbc";
     repo = "audiowaveform";
     rev = version;
-    sha256 = "sha256-MbOQY1Yvtwuy6IPV1BfwwRBhEQIzQ7mPzedE74xsQSk=";
+    sha256 = "sha256-qnidR+V2CwDnztUv73k72lVyH+B1yfb3c7BLus4P6Wk=";
   };
 
   nativeBuildInputs = [ cmake gtest ];
diff --git a/pkgs/tools/audio/whisper-ctranslate2/default.nix b/pkgs/tools/audio/whisper-ctranslate2/default.nix
index 6ca3226bf67ab..7238a54932458 100644
--- a/pkgs/tools/audio/whisper-ctranslate2/default.nix
+++ b/pkgs/tools/audio/whisper-ctranslate2/default.nix
@@ -1,11 +1,11 @@
 { lib
+, python3
 , fetchFromGitHub
 , nix-update-script
-, python3
 }:
 let
   pname = "whisper-ctranslate2";
-  version = "0.2.7";
+  version = "0.3.1";
 in
 python3.pkgs.buildPythonApplication {
   inherit pname version;
@@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchFromGitHub {
     owner = "Softcatala";
-    repo = pname;
+    repo = "whisper-ctranslate2";
     rev = version;
     hash = "sha256-dUmQNKgH+SIlLhUEiaEGXUHZQDr3fidsAU2vATJiXBU=";
   };
@@ -30,6 +30,15 @@ python3.pkgs.buildPythonApplication {
 
   passthru.updateScript = nix-update-script { };
 
+  nativeCheckInputs = with python3.pkgs; [
+    nose2
+  ];
+
+  checkPhase = ''
+    # Note: we are not running the `e2e-tests` because they require downloading models from the internet.
+    ${python3.interpreter} -m nose2 -s tests
+  '';
+
   meta = with lib; {
     description = "Whisper command line client compatible with original OpenAI client based on CTranslate2";
     homepage = "https://github.com/Softcatala/whisper-ctranslate2";
diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix
index ed647cc988631..24d4e98ed1fa7 100644
--- a/pkgs/tools/backup/borgmatic/default.nix
+++ b/pkgs/tools/backup/borgmatic/default.nix
@@ -13,11 +13,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "borgmatic";
-  version = "1.7.15";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-esTvcybCPTayA9LCSukNc9ba8eGCTyjB883eZYy91II=";
+    sha256 = "sha256-XbihTQJtoiRRfwjMCP+XEPmbt7//zFPx1fIWOvn92Nc=";
   };
 
   nativeCheckInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ];
diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix
index aca75eab7c4ea..518113e0b217b 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -8,13 +8,13 @@
 
 buildDotnetModule rec {
   pname = "discordchatexporter-cli";
-  version = "2.41.1";
+  version = "2.41.2";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    hash = "sha256-69Q08KSV77rOHLryG3T4R7bqrl5ypQS0i8sbsP//OUw=";
+    hash = "sha256-8ETEIZXIo7Tx6Vb9Id/E/8IklpcvO9OpcrYD+mHRX3o=";
   };
 
   projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
diff --git a/pkgs/tools/backup/pgbackrest/default.nix b/pkgs/tools/backup/pgbackrest/default.nix
index 5adf07df325d9..f4c9fba781fa7 100644
--- a/pkgs/tools/backup/pgbackrest/default.nix
+++ b/pkgs/tools/backup/pgbackrest/default.nix
@@ -13,13 +13,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "pgbackrest";
-  version = "2.47";
+  version = "2.48";
 
   src = fetchFromGitHub {
     owner = "pgbackrest";
     repo = "pgbackrest";
     rev = "release/${version}";
-    sha256 = "sha256-HKmJA/WlMR6Epu5WuD8pABDh5gaN+T98lc4ejgoD8LM=";
+    sha256 = "sha256-RaNF5ufQafZjE2MfOlFOXkot/JEJCQOuiuIYgJolkbU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/backup/zrepl/default.nix b/pkgs/tools/backup/zrepl/default.nix
index 6e8904778d6ad..0a45c8c2aef19 100644
--- a/pkgs/tools/backup/zrepl/default.nix
+++ b/pkgs/tools/backup/zrepl/default.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule rec {
   pname = "zrepl";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "zrepl";
     repo = "zrepl";
     rev = "v${version}";
-    sha256 = "sha256-XazwuaAzgTuKITF1mYihsNwkIKi5fvZrCvlCDKwxj4U=";
+    sha256 = "sha256-sFSWcJ0aBMay+ngUqnr0PKBMOfCcKHgBjff6KRpPZrg=";
   };
 
   vendorHash = "sha256-75fGejR7eiECsm1j3yIU1lAWaW9GrorrVnv8JEzkAtU=";
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 1fa18703459f3..962ad4b2e0f16 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ bluez gtk3 pythonPackages.python librsvg
-                  gnome.adwaita-icon-theme iproute2 networkmanager ]
+                  gnome.adwaita-icon-theme networkmanager ]
                 ++ pythonPath
                 ++ lib.optional withPulseAudio libpulseaudio;
 
@@ -36,6 +36,8 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
     "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
+    # Don't check for runtime dependency `ip` during the configure
+    "--disable-runtime-deps-check"
     (lib.enableFeature withPulseAudio "pulseaudio")
   ];
 
diff --git a/pkgs/tools/compression/mozlz4a/default.nix b/pkgs/tools/compression/mozlz4a/default.nix
index 2116fa45c3ef5..834b7698cf85f 100644
--- a/pkgs/tools/compression/mozlz4a/default.nix
+++ b/pkgs/tools/compression/mozlz4a/default.nix
@@ -1,16 +1,23 @@
-{ lib, stdenv, fetchurl, python3, runtimeShell }:
+{ lib
+, stdenv
+, fetchurl
+, python3
+, runtimeShell
+}:
 
 stdenv.mkDerivation rec {
   pname = "mozlz4a";
-  version = "2018-08-23";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  version = "2022-03-19";
+
   src = fetchurl {
-    url = "https://gist.githubusercontent.com/kaefer3000/73febe1eec898cd50ce4de1af79a332a/raw/a266410033455d6b4af515d7a9d34f5afd35beec/mozlz4a.py";
-    sha256 = "1d1ai062kdms34bya9dlykkx011rj8d8nh5l7d76xj8k9kv4ssq6";
+    url = "https://gist.githubusercontent.com/Tblue/62ff47bef7f894e92ed5/raw/c12fce199a97ecb214eb913cc5d762eac2e92c57/mozlz4a.py";
+    hash = "sha256-Igj9u6TmV+nIuSg8gI8zD4hTb/Iiog/3aB3DDk0Lqkg=";
   };
 
   dontUnpack = true;
 
+  buildInputs = [ python3 python3.pkgs.lz4 ];
+
   installPhase = ''
     mkdir -p "$out/bin" "$out/${python3.sitePackages}/"
     cp "${src}" "$out/${python3.sitePackages}/mozlz4a.py"
@@ -21,13 +28,11 @@ stdenv.mkDerivation rec {
     chmod a+x "$out/bin/mozlz4a"
   '';
 
-  buildInputs = [ python3 python3.pkgs.lz4 ];
-
-  meta = {
-    description = "A script to handle Mozilla's mozlz4 files";
-    license = lib.licenses.bsd2;
-    maintainers = [lib.maintainers.raskin lib.maintainers.pshirshov lib.maintainers.kira-bruneau];
-    platforms = lib.platforms.unix;
-    homepage = "https://gist.githubusercontent.com/Tblue/62ff47bef7f894e92ed5";
+  meta = with lib; {
+    description = "MozLz4a compression/decompression utility";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kira-bruneau pshirshov raskin ];
+    platforms = python3.meta.platforms;
+    homepage = "https://gist.github.com/Tblue/62ff47bef7f894e92ed5";
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 50a42f777bf41..879075101b2c2 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "6.5.1";
+  version = "6.5.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-2suygTboJYavgCIFJjpCjD0ZQXeLw/3JsbOG6hLrkE4=";
+    sha256 = "sha256-xViy3dQ/V0ei9ctirtPlxQmXA4hkhaSAMQ/tRpjTYQw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/duperemove/default.nix b/pkgs/tools/filesystems/duperemove/default.nix
index 0bf0f77880fe0..e44e961e3aeb6 100644
--- a/pkgs/tools/filesystems/duperemove/default.nix
+++ b/pkgs/tools/filesystems/duperemove/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duperemove";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "markfasheh";
     repo = "duperemove";
     rev = "v${version}";
-    hash = "sha256-VPwcWAENCRnU51F78FhMPjQZaCTewQRUdeFwK1blJbs=";
+    hash = "sha256-D3+p8XgokKIHEwZnvOkn7cionVH1gsypcURF+PBpugY=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/dysk/default.nix b/pkgs/tools/filesystems/dysk/default.nix
index 2ca03fa9a741d..9491db559ae5c 100644
--- a/pkgs/tools/filesystems/dysk/default.nix
+++ b/pkgs/tools/filesystems/dysk/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dysk";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = "dysk";
     rev = "v${version}";
-    hash = "sha256-BbL7liiZ1Xcg2Pr2JDnP5DAbjVdDVRs/hndZyIX8jfQ=";
+    hash = "sha256-iagh4BrcfQY8k2u1HlR50ht/KWOeEkoxYJ/Lg2cKWX8=";
   };
 
-  cargoHash = "sha256-vMWr3cV1ttjjwBvgQgi3aCpejr/enoYILVhI4wP9wa0=";
+  cargoHash = "sha256-mgEdDX+K71aT4ZMBDzxjOZhHqq8baXFFrwkfYzwIbUI=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/filesystems/tar2ext4/default.nix b/pkgs/tools/filesystems/tar2ext4/default.nix
index 6f33735f58f21..2168bc1aa3122 100644
--- a/pkgs/tools/filesystems/tar2ext4/default.nix
+++ b/pkgs/tools/filesystems/tar2ext4/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tar2ext4";
-  version = "0.10.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "hcsshim";
     rev = "v${version}";
-    sha256 = "sha256-+GhYeQ27uwg9JOv1qbf1+UbMd+vPXJ05nsXZD9OakzI=";
+    sha256 = "sha256-iz8trRuGyIpGbRX+qYyKKS9gR8daLTRzKmlxE94eDzo=";
   };
 
   sourceRoot = "${src.name}/cmd/tar2ext4";
diff --git a/pkgs/tools/filesystems/zkfuse/default.nix b/pkgs/tools/filesystems/zkfuse/default.nix
index c58dbff9ac733..320ccde4cc539 100644
--- a/pkgs/tools/filesystems/zkfuse/default.nix
+++ b/pkgs/tools/filesystems/zkfuse/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ztzg ];
+    maintainers = with maintainers; [ ztzg ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index cbaecdf0b8a4c..0a2ebd7709940 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -55,11 +55,11 @@ assert lib.assertMsg
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "3.2.6";
+  version = "3.3.1";
 
   src = fetchzip {
     url = "https://gmic.eu/files/source/gmic_${finalAttrs.version}.tar.gz";
-    hash = "sha256-asB1YftHfdb7JG87WJ+ggyMCu7qb0f+aCanl5LLi9VE=";
+    hash = "sha256-d9FRNW/MXM9ZJ1xgIZvGTUPDDnHgTJU0DuWyPkzNAmo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/svg2pdf/default.nix b/pkgs/tools/graphics/svg2pdf/default.nix
index 764ab301ed65a..5952bb615ec63 100644
--- a/pkgs/tools/graphics/svg2pdf/default.nix
+++ b/pkgs/tools/graphics/svg2pdf/default.nix
@@ -5,15 +5,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svg2pdf";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "typst";
     repo = "svg2pdf";
     rev = "v${version}";
-    hash = "sha256-XTOGxuytbkaq4ZV6rXKJF9A/KSX6naYQ3kdICDQU4JA=";
+    hash = "sha256-iN6/VO6EMP9wMoTn4t0y1Oq9XP9Q3UcRNCWsMzI4Fn8=";
   };
-  cargoHash = "sha256-CQPkVJ3quQlnIS05tAj+i7kGk2l0RvGM/FRNvgQ0mHM=";
+  cargoHash = "sha256-Xxb8DeTAmw0Pq4mrLVcpEuzq7/SX+AlUSWoA2dcVQJA=";
   buildFeatures = [ "cli" ];
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 8fd66f284cfa6..1a2e9cb3b1c65 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -40,7 +40,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.14.4";
+  version = "8.14.5";
 
   outputs = [ "bin" "out" "man" "dev" ] ++ lib.optionals (!stdenv.isDarwin) [ "devdoc" ];
 
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    hash = "sha256-y2Tyi8rxal3s3jLURRGPuCAUuHITRPl1+zJZDp557+I=";
+    hash = "sha256-fG3DTP+3pO7sbqR/H9egJHU3cLKPU4Jad6qxcQ9evNw=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     postFetch = ''
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 30dcfb864ca49..b41dd7616619a 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.24.1";
+  version = "2.24.2";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    hash = "sha256-gG2wuoJoEOsnvcPJkravpsJ746/0r9wAEo2Vft3bEoo=";
+    hash = "sha256-h/8fFo7X5p6loDKxcPjOYWg1P0m0tVqR2IX/QSfvrzQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook gobject-introspection ];
diff --git a/pkgs/tools/llm/open-interpreter/default.nix b/pkgs/tools/llm/open-interpreter/default.nix
index f5353c6506841..bba449acdc768 100644
--- a/pkgs/tools/llm/open-interpreter/default.nix
+++ b/pkgs/tools/llm/open-interpreter/default.nix
@@ -1,9 +1,10 @@
 { lib
 , python3
 , fetchFromGitHub
+, semgrep
 }:
 let
-  version = "0.1.4";
+  version = "0.1.7";
 in
 python3.pkgs.buildPythonApplication {
   pname = "open-interpreter";
@@ -14,7 +15,7 @@ python3.pkgs.buildPythonApplication {
     owner = "KillianLucas";
     repo = "open-interpreter";
     rev = "v${version}";
-    hash = "sha256-3a4pRV8o+NBZGgOuXng97KjRVU8xVqBp+B9sXsCqHtk=";
+    hash = "sha256-U+GKvlFY9vkjXaPI0H5RsoMFLlLq1+IuSy/cOj/LNSw=";
   };
 
   nativeBuildInputs = [
@@ -31,11 +32,15 @@ python3.pkgs.buildPythonApplication {
     openai
     # pyreadline3 # this is a windows deps
     python-dotenv
+    pyyaml
     rich
     six
     tiktoken
     tokentrim
     wget
+    yaspin
+  ] ++ [
+    semgrep
   ];
 
   # the import check phase fails trying to do a network request to openai
@@ -48,5 +53,6 @@ python3.pkgs.buildPythonApplication {
     license = licenses.mit;
     changelog = "https://github.com/KillianLucas/open-interpreter/releases/tag/v${version}";
     maintainers = with maintainers; [ happysalada ];
+    mainProgram = "interpreter";
   };
 }
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 40a22836f77fb..ee1d307af4222 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -72,5 +72,6 @@ python3.pkgs.buildPythonApplication rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ coroa globin ];
     platforms = platforms.unix;
+    mainProgram = "autorandr";
   };
 }
diff --git a/pkgs/tools/misc/calamares-nixos-extensions/default.nix b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
index 885ce09575aa5..6bca9abeb9f6e 100644
--- a/pkgs/tools/misc/calamares-nixos-extensions/default.nix
+++ b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "calamares-nixos-extensions";
-  version = "0.3.13";
+  version = "0.3.14";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "calamares-nixos-extensions";
     rev = version;
-    sha256 = "YCtm7OzPdhtV7/fQijJfZvZyX7oEk92F34CK2lnRHnI=";
+    hash = "sha256-wRKZ80yU3WsUkGn5/ft4wDR22s39/WTxTrjFE0/9mlc=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/clipboard-jh/default.nix b/pkgs/tools/misc/clipboard-jh/default.nix
index fe4f18eea8d22..1c9ccfe41b1bb 100644
--- a/pkgs/tools/misc/clipboard-jh/default.nix
+++ b/pkgs/tools/misc/clipboard-jh/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clipboard-jh";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "Slackadays";
     repo = "clipboard";
     rev = version;
-    hash = "sha256-UlN2BjtzS54oImAGM2Kl+j/LwfAyDXtbEMhsijBh/yg=";
+    hash = "sha256-G0zOr56dR9rmymQ9MwPNnMZ2LZuuz4NiswRQIvdS9MY=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/crudini/default.nix b/pkgs/tools/misc/crudini/default.nix
index 1e25413b151f4..fa4e7cc34a484 100644
--- a/pkgs/tools/misc/crudini/default.nix
+++ b/pkgs/tools/misc/crudini/default.nix
@@ -8,24 +8,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "crudini";
-  version = "0.9.4";
+  version = "0.9.5";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pixelb";
     repo = "crudini";
     rev = version;
-    hash = "sha256-jbTOaCF/ZqRpM0scDBBAcV5bSYg/QhBPbM9R5cONZ2o=";
+    hash = "sha256-BU4u7uBsNyDOwWUjOIlBWcf1AeUXXZ+johAe+bjws1U=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "add-missing-install-file.patch";
-      url = "https://github.com/pixelb/crudini/commit/d433e4d9c4106ae26985e3f4b2efa593bdd5c274.patch";
-      hash = "sha256-aDGzoG4i2tvYeL8m1WoqwNFNHe4xR1dGk+XDt3f3i5E=";
-    })
-  ];
-
   postPatch = ''
     patchShebangs crudini.py crudini-help tests/test.sh
   '';
diff --git a/pkgs/tools/misc/dbus-map/default.nix b/pkgs/tools/misc/dbus-map/default.nix
index 5960ba5c5731e..56f89b2f05311 100644
--- a/pkgs/tools/misc/dbus-map/default.nix
+++ b/pkgs/tools/misc/dbus-map/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/taviso/dbusmap";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/diffoci/default.nix b/pkgs/tools/misc/diffoci/default.nix
index 5d1678a017d39..fe50ac5e5e66f 100644
--- a/pkgs/tools/misc/diffoci/default.nix
+++ b/pkgs/tools/misc/diffoci/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "diffoci";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "reproducible-containers";
     repo = "diffoci";
     rev = "v${version}";
-    hash = "sha256-xmsfqlp/bosCjT83MXkA7uNlPgGYlKXOdnxVhm648zo=";
+    hash = "sha256-Rrwwo1OCE2gn6MGt5XVddb8bJtoN7iAtxzr2MxyHcwk=";
   };
 
-  vendorHash = "sha256-w3/Je8iIT6CEusfIfGv9TAWkePY5TtOQS0rQYH92sAs=";
+  vendorHash = "sha256-18rsa91PiqZv70EK3K6K1l6N2mIpoVpkX29amKCo5cg=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index 3d0b0899dfaf3..f109056cc265c 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fluent-bit";
-  version = "2.1.9";
+  version = "2.1.10";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-G/DYGmZMB1vMJJK6vIWxGqhN8WRNjNXoMn9AY75Gw4M=";
+    hash = "sha256-6uq5eOHx0P2S3WsN0PooNlGQS2ty7DdPsCEgoQsLmRM=";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 9aad1529d162f..0116ee41104e1 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -101,5 +101,6 @@ buildGoModule rec {
     maintainers = with maintainers; [ Br1ght0ne ma27 zowoq ];
     platforms = platforms.unix;
     changelog = "https://github.com/junegunn/fzf/blob/${version}/CHANGELOG.md";
+    mainProgram = "fzf";
   };
 }
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 58056f2f77a3f..dcef5f026270a 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -4,6 +4,8 @@
 , fetchFromGitHub
 , installShellFiles
 , buildPackages
+, testers
+, goreleaser
 }:
 buildGoModule rec {
   pname = "goreleaser";
@@ -37,6 +39,12 @@ buildGoModule rec {
         --zsh  <(${emulator} $out/bin/goreleaser completion zsh)
     '';
 
+  passthru.tests.version = testers.testVersion {
+    package = goreleaser;
+    command = "goreleaser -v";
+    inherit version;
+  };
+
   meta = with lib; {
     description = "Deliver Go binaries as fast and easily as possible";
     homepage = "https://goreleaser.com";
diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix
index c4cb324a2b27f..127d76ad560fa 100644
--- a/pkgs/tools/misc/hdfview/default.nix
+++ b/pkgs/tools/misc/hdfview/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hdfview";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-CRYWGGHCH6jdNUtEW0jv9aU9gKXAs4PnnrZLexCOJDA=";
+    sha256 = "sha256-WcGYceMOB8gCycJSW4KdApy2gIBgTnE/d0PxGZClUqg=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index e37033839c835..420d1ae04edac 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.17.0";
+  version = "1.18.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "hyperfine";
     rev = "v${version}";
-    hash = "sha256-IUjOklkEiy/U2HjjMt1X1uSpIkTAYOPiPQ+70xvvxKA=";
+    hash = "sha256-9YfnCHiG9TDOsEAcrrb0GOxdq39Q+TiltWKwnr3ObAQ=";
   };
 
-  cargoHash = "sha256-VjkcQueBODEADHdWOts2f3Zjar43hi0UXzVhvkK4o8I=";
+  cargoHash = "sha256-E2y/hQNcpW6b/ZJBlsp+2RDH2OgpX4kbn36aBHA5X6U=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/tools/misc/logstash/contrib.nix b/pkgs/tools/misc/logstash/contrib.nix
index d4c88dc32ed48..2d2f6272fddfa 100644
--- a/pkgs/tools/misc/logstash/contrib.nix
+++ b/pkgs/tools/misc/logstash/contrib.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/elasticsearch/logstash-contrib";
     license     = lib.licenses.asl20;
     platforms   = lib.platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/lokalise2-cli/default.nix b/pkgs/tools/misc/lokalise2-cli/default.nix
index 693b656878992..43a6e50b5b366 100644
--- a/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.8";
+  version = "2.6.10";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "sha256-U8XN7cH64ICVxcjmIWBeelOT3qQlGt6MhOPgUWkCPF0=";
+    sha256 = "sha256-jRytFOlyCp8uXOaAgfvjGGFX2IBLKGE5/cQnOed1elE=";
   };
 
-  vendorHash = "sha256-PM3Jjgq6mbM6iVCXRos9UsqqFNaXOqq713GZ2R9tQww=";
+  vendorHash = "sha256-P7AqMSV05UKeiUqWBxCOlLwMJcAtp0lpUC+eoE3JZFM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/mapcidr/default.nix b/pkgs/tools/misc/mapcidr/default.nix
index cbaf2ee51b4ce..00abf2e563051 100644
--- a/pkgs/tools/misc/mapcidr/default.nix
+++ b/pkgs/tools/misc/mapcidr/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "mapcidr";
-  version = "1.1.10";
+  version = "1.1.11";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4VBIcdlK3tHUNQT8FRJuzlUcgM17SSFWYi4zys7zgZU=";
+    hash = "sha256-gi1saAav8VrlssXW8ezLAze2kp1hnATd3RCIZUspEcM=";
   };
 
-  vendorHash = "sha256-HBX8Npd4jy5YXx70GV8h3woM6ArcgMWqu8dybj/wdRU=";
+  vendorHash = "sha256-9mX+EUeLp4zpVHAzdlmrr31vjWjG1VjHwSDwbTxMufM=";
 
   modRoot = ".";
   subPackages = [
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index ec441ec0264fd..dc63dd7a8b55d 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.17.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-nLXHAIR+4w6fDR69fSANBqlD0ZTc7emNIv5QTp+pdYo=";
+    hash = "sha256-ifpPShDI0JNkFXrrZEsQ+bvHMe7AgaZm30dnvsj8vDA=";
   };
 
   vendorHash = "sha256-aFCv6VxHD1bOLhCHXhy4ubik8Z9uvU6AeqcMqIZI2Oo=";
@@ -28,6 +28,7 @@ buildGoModule rec {
     description = "Nice-to-use pager for humans";
     homepage = "https://github.com/walles/moar";
     license = licenses.bsd2WithViews;
+    mainProgram = "moar";
     maintainers = with maintainers; [ foo-dogsquared ];
   };
 }
diff --git a/pkgs/tools/misc/moon-phases/default.nix b/pkgs/tools/misc/moon-phases/default.nix
new file mode 100644
index 0000000000000..c1b58c7cce1ae
--- /dev/null
+++ b/pkgs/tools/misc/moon-phases/default.nix
@@ -0,0 +1,20 @@
+{ lib, fetchCrate, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "moon-phases";
+  version = "0.3.3";
+
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-8ZdtM246aqc49Q3ygMGk51LIzRA8RIdlaistbKUj3yY=";
+  };
+
+  cargoSha256 = "sha256-5JKM+GnigkpuX4qeGQAjDz/X48ZxXtCfYVwGco13YRM=";
+
+  meta = with lib; {
+    description = "Command-line/WM bar tool to display the moon phase at a certain date";
+    homepage = "https://github.com/mirrorwitch/moon-phases";
+    license = licenses.acsl14;
+    maintainers = with maintainers; [ mirrorwitch ];
+  };
+}
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index 9bdf39a52b6c6..93c7456bcb1c5 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -3,24 +3,23 @@
 , fetchFromGitHub
 , gnugrep
 , nix
-, enableFlakes ? null # deprecated
 }:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs:{
   pname = "nix-direnv";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
-    rev = version;
-    sha256 = "sha256-Y9Yf/RJvfoFKS4ptVhPc9X0tQUPWSSxkS11r7wGge+8=";
+    rev = finalAttrs.version;
+    hash = "sha256-h49uz+/YDRwbusiVx6I3HP9P3UZROIOlwjlYYqRjesE=";
   };
 
   # Substitute instead of wrapping because the resulting file is
   # getting sourced, not executed:
   postPatch = ''
     sed -i "1a NIX_BIN_PREFIX=${nix}/bin/" direnvrc
-    substituteInPlace direnvrc --replace "grep" "${gnugrep}/bin/grep"
+    substituteInPlace direnvrc --replace "grep" "${lib.getExe gnugrep}"
   '';
 
   installPhase = ''
@@ -29,11 +28,11 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "A fast, persistent use_nix implementation for direnv";
     homepage    = "https://github.com/nix-community/nix-direnv";
-    license     = licenses.mit;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ mic92 bbenne10 ];
+    license     = lib.licenses.mit;
+    platforms   = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ mic92 bbenne10 ];
   };
-}
+})
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 2d4b244b86376..d91c0cb665af5 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.83.0";
+  version = "0.86.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-e2wcRawTEyK/NwSwd2WUgOnQnAj8Z7DQrrx32ksfHeU=";
+    hash = "sha256-Ucp00OjyPtHA6so/NOzTLtPSuhXwz6A2708w2WIZb/E=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-HZ7aKLVjDMdMuq8IQ/6EgqCXWeYHmrJtf1fJyrLbPuU=";
+  vendorHash = "sha256-DfbG2qrhwVMXYjg2yJ6XlhrL27oPplvWIoP3C/JBKuA=";
 
   # upstream strongly recommends disabling CGO
   # additionally dependencies have had issues when GCO was enabled that weren't caught upstream
diff --git a/pkgs/tools/misc/pgmetrics/default.nix b/pkgs/tools/misc/pgmetrics/default.nix
index 1b6312db12df2..7a24a87ca767c 100644
--- a/pkgs/tools/misc/pgmetrics/default.nix
+++ b/pkgs/tools/misc/pgmetrics/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pgmetrics";
-  version = "1.15.2";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "rapidloop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WzyTLOJo/wTZA9glxO0ovcaADlHV+AKLChWSLJ+uvaQ=";
+    sha256 = "sha256-8pF3E0Zh/SsH6+5iXt1KFwud2ijoisYfcu+QHRM9x9s=";
   };
 
   vendorHash = "sha256-KIMnvGMIipuIFPTSeERtCfvlPuvHvEHdjBJ1TbT2d1s=";
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 0c31eb9e62539..8ba527f0ffc2a 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2023.10";
+  version = "1.2023.11";
   pname = "plantuml";
 
   src = fetchurl {
     url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
-    sha256 = "sha256-/+B16MQ5fzaRS/SjyMgiUsC+8Y7McyuS3IEMRgtY7jQ=";
+    sha256 = "sha256-WYulV/UuFE6xGAJvontHsLKSm7TAtgLrZe4m9WuCSpc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index 236137ff79375..bd06fadee1ee1 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pv";
-  version = "1.7.24";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.gz";
-    sha256 = "sha256-O/Q8WAnI1QBm6urqWhFfZQPFejjBUZdbcQqivuhXtl4=";
+    sha256 = "sha256-XOxPc3gmoO3atHHdO3Wlh70poufPowBo1X8pQ5olH98=";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index dfb0c711f7a60..d031168a6935f 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -4,11 +4,11 @@ let inherit (lib) getDev; in
 
 mkDerivation rec {
   pname = "qt5ct";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-7VhUam5MUN/tG5/2oUjUpGj+m017WycnuWUB3ilVuNc=";
+    sha256 = "sha256-I7dAVEFepBJDKHcu+ab5UIOpuGVp4SgDSj/3XfrYCOk=";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/tools/misc/qt6ct/default.nix b/pkgs/tools/misc/qt6ct/default.nix
index cd7aa9de841f0..c011ae1b78aa0 100644
--- a/pkgs/tools/misc/qt6ct/default.nix
+++ b/pkgs/tools/misc/qt6ct/default.nix
@@ -11,15 +11,15 @@
 let
   inherit (lib) getDev;
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "qt6ct";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "trialuser02";
     repo = "qt6ct";
-    rev = version;
-    sha256 = "BFE5aUgn3uFJWTgd4sUwP2L9RZwwwr5jVtAapA9vYbA=";
+    rev = finalAttrs.version;
+    hash = "sha256-MmN/qPBlsF2mBST+3eYeXaq+7B3b+nTN2hi6CmxrILc=";
   };
 
   nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
@@ -39,4 +39,4 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ Flakebi Scrumplex ];
   };
-}
+})
diff --git a/pkgs/tools/misc/rot8/default.nix b/pkgs/tools/misc/rot8/default.nix
index 5747e72918a31..aa4d925f5aedb 100644
--- a/pkgs/tools/misc/rot8/default.nix
+++ b/pkgs/tools/misc/rot8/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rot8";
-  version = "0.1.5";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "efernau";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-i+VLVA/XKZiFPEeFHR3CpZKi8CWA/tiaZJerciqQHJ0=";
+    hash = "sha256-dHx3vFY0ztyTIlzUi22TYphPD5hvgfHrWaaeoGxnvW0=";
   };
 
-  cargoHash = "sha256-Zz3RK79pMBn9JcpOVHf8vrvQzOJuV7anm136HcTBhJE=";
+  cargoHash = "sha256-KDg6Ggnm6Cl/1fXqNcc7/jRFJ6KTLVGveJ6Fs3NLlHE=";
 
   meta = with lib; {
-    description = "screen rotation daemon for X11 and sway";
+    description = "screen rotation daemon for X11 and wlroots";
     homepage = "https://github.com/efernau/rot8";
     license = licenses.mit;
     maintainers = [ maintainers.smona ];
diff --git a/pkgs/tools/misc/rshim-user-space/default.nix b/pkgs/tools/misc/rshim-user-space/default.nix
index 8c93143aef1a6..79b795f869a3b 100644
--- a/pkgs/tools/misc/rshim-user-space/default.nix
+++ b/pkgs/tools/misc/rshim-user-space/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rshim-user-space";
-  version = "2.0.9";
+  version = "2.0.11";
 
   src = fetchFromGitHub {
     owner = "Mellanox";
     repo = pname;
     rev = "rshim-${version}";
-    hash = "sha256-B85nhZRzcvTqwjfnVAeLNYti4Y/mprJsxBAMd+MwH84=";
+    hash = "sha256-LbAs4IFfYT6OhrtwRXmuQR9rD7ulmmUB20Au5fO8j9w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/rtx/default.nix b/pkgs/tools/misc/rtx/default.nix
index c169f9f28cadc..6e70b3b046a8c 100644
--- a/pkgs/tools/misc/rtx/default.nix
+++ b/pkgs/tools/misc/rtx/default.nix
@@ -10,23 +10,24 @@
 , openssl
 , direnv
 , Security
+, SystemConfiguration
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rtx";
-  version = "2023.9.0";
+  version = "2023.10.1";
 
   src = fetchFromGitHub {
     owner = "jdxcode";
     repo = "rtx";
     rev = "v${version}";
-    hash = "sha256-TH2JC+Cjw+ed1O33QKGq+lonIKlu6pHuY1jtrZh/FMM=";
+    hash = "sha256-E0jBTnfp8asLC2V8TtYSCh6fTxqkFwCMZjsjjBKEN0s=";
   };
 
-  cargoHash = "sha256-zJVCzVgwU9lR3E61w+71eUd7Au9LmJcbHtgLvzTj7r4=";
+  cargoHash = "sha256-n/GxC5wDfhPboynFu8S1f9+kNDVmcKoSHaT96khyi2Q=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
-  buildInputs = [ openssl  ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [ openssl  ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
   postPatch = ''
     patchShebangs --build ./test/data/plugins/**/bin/* ./src/fake_asdf.rs ./src/cli/reshim.rs
diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix
index 1f74fbb0183e5..44f0cb5f17da0 100644
--- a/pkgs/tools/misc/steampipe/default.nix
+++ b/pkgs/tools/misc/steampipe/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.20.11";
+  version = "0.20.12";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    sha256 = "sha256-idMVQyRpWc4ZT9GZvQvShwIY9I9t9MArfih57trhJvc=";
+    sha256 = "sha256-/vcxK/tX4kvDnQCqO8olHZodAbPDDvz1domJZ1WJqPU=";
   };
 
   vendorHash = "sha256-VuUzo+afUazXH7jaR4Qm5Kfr6qiyHqdGLJWS3MX8oOA=";
diff --git a/pkgs/tools/misc/tgpt/default.nix b/pkgs/tools/misc/tgpt/default.nix
index f2e6d7050a1a0..6f9285d5b5656 100644
--- a/pkgs/tools/misc/tgpt/default.nix
+++ b/pkgs/tools/misc/tgpt/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tgpt";
-  version = "1.9.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "aandrew-me";
     repo = "tgpt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kmQvKqrELCL6UdyV8yrwrnjlSYLYIx/SBTKVsqcLng4=";
+    hash = "sha256-WSOsAgWq0ivD5tjrdnRrNoBs/jFjdWGEx32tAtR3JXs=";
   };
 
-  vendorHash = "sha256-2I5JJWxM6aZx0eZu7taUTL11Y/5HIrXYC5aezrTbbsM=";
+  vendorHash = "sha256-HXpSoihk0s218DVCHe9VCGLBggWY8I25sw2qSaiUz4I=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/timidity/configure-compat.patch b/pkgs/tools/misc/timidity/configure-compat.patch
new file mode 100644
index 0000000000000..4368f389e0f86
--- /dev/null
+++ b/pkgs/tools/misc/timidity/configure-compat.patch
@@ -0,0 +1,33 @@
+--- a/configure	2018-08-28 19:33:39.000000000 -0400
++++ b/configure	2023-09-05 19:44:27.311279263 -0400
+@@ -6874,6 +6874,7 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ #include <ctype.h>
++#include <stdlib.h>
+ #if ((' ' & 0x0FF) == 0x020)
+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+@@ -7731,6 +7732,7 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ #include <ctype.h>
++#include <stdlib.h>
+ #if ((' ' & 0x0FF) == 0x020)
+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+@@ -10311,8 +10313,13 @@
+   if test "$cross_compiling" = yes; then
+   ac_cv_func_fork_works=cross
+ else
+-  cat >conftest.$ac_ext <<_ACEOF
++   cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++   cat confdefs.h >>conftest.$ac_ext
++   cat >>conftest.$ac_ext <<_ACEOF
+ /* By Ruediger Kuhlmann. */
++      #include <stdlib.h>
+       #include <sys/types.h>
+       #if HAVE_UNISTD_H
+       # include <unistd.h>
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index d9750b4382562..e88ba3fea3527 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -1,6 +1,14 @@
-{ lib, stdenv, fetchurl
-, pkg-config, buildPackages
-, CoreAudio, alsa-lib, libjack2, ncurses
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, memstreamHook
+, CoreAudio
+, libobjc
+, libjack2
+, ncurses
+, alsa-lib
+, buildPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -12,9 +20,15 @@ stdenv.mkDerivation rec {
     sha256 = "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn";
   };
 
-  patches = [ ./timidity-iA-Oj.patch ];
+  patches = [
+    ./timidity-iA-Oj.patch
+    # Fixes misdetection of features by clang 16. The configure script itself is patched because
+    # it is old and does not work nicely with autoreconfHook.
+    ./configure-compat.patch
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ memstreamHook ];
   buildInputs = [
     libjack2
     ncurses
@@ -22,6 +36,7 @@ stdenv.mkDerivation rec {
     alsa-lib
   ] ++ lib.optionals stdenv.isDarwin [
     CoreAudio
+    libobjc
   ];
 
   configureFlags = [
@@ -36,6 +51,13 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     "--enable-audio=darwin,jack"
     "lib_cv_va_val_copy=no"
+    "timidity_cv_ccoption_rdynamic=yes"
+    # These configure tests fail because of incompatible function pointer conversions.
+    "ac_cv_func_vprintf=yes"
+    "ac_cv_func_popen=yes"
+    "ac_cv_func_vsnprintf=yes"
+    "ac_cv_func_snprintf=yes"
+    "ac_cv_func_open_memstream=yes"
   ];
 
   makeFlags = [
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index 48bb79467cd83..87f36a082b6ad 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "trash-cli";
-  version = "0.23.2.13.2";
+  version = "0.23.9.23";
 
   src = fetchFromGitHub {
     owner = "andreafrancia";
     repo = "trash-cli";
     rev = version;
-    hash = "sha256-TJEi7HKIrfOdb+LLRt2DN5gWdFzUeo6isb59lFLK4bQ=";
+    hash = "sha256-EbW7P9fl7CDA6etOba7qcOtcxB2GkCd+zoi+NW0ZP9c=";
   };
 
   propagatedBuildInputs = with python3Packages; [ psutil six ];
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
index 76c39f665a15c..5b022e8134a57 100644
--- a/pkgs/tools/misc/upterm/default.nix
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "upterm";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "owenthereal";
     repo = "upterm";
     rev = "v${version}";
-    hash = "sha256-wjbptcGy3wOZPm/11El7Xqz6NrR8G19V9zfU5pKFGuk=";
+    hash = "sha256-Ljiy23qZTe81qaRTgrpuAdZqdOT8t8+cTqXLpKo5yFc=";
   };
 
-  vendorHash = null;
+  vendorHash = "sha256-hXmcgLNzVkU3RC3rj9I+/GlXyxbvPFsoFvVSLJTUHMM=";
 
   subPackages = [ "cmd/upterm" "cmd/uptermd" ];
 
diff --git a/pkgs/tools/misc/wakapi/default.nix b/pkgs/tools/misc/wakapi/default.nix
index 95ffa8e8e4b1e..5a68dd7a79554 100644
--- a/pkgs/tools/misc/wakapi/default.nix
+++ b/pkgs/tools/misc/wakapi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wakapi";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "muety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5EUXhKv4cLDaHr6Q2mel3YbVPAYRJd1JtHyWn7kQy8Y=";
+    sha256 = "sha256-r6CTWBsaaYzQE9pe3rj/BQudloKGlkf310r39Y0kYuM=";
   };
 
-  vendorHash = "sha256-rwQeIHJAtnRm5nPQCvgoBabVeyLZyrY3yglCW9+NGwM=";
+  vendorHash = "sha256-uVdjMgQ1zWFKNwTKIHd7O47oekE9tLBh8LgFgI1SATM=";
 
   # Not a go module required by the project, contains development utilities
   excludedPackages = [ "scripts" ];
diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix
index 69061eb15b8ba..f32d0a81a61ef 100644
--- a/pkgs/tools/misc/xsel/default.nix
+++ b/pkgs/tools/misc/xsel/default.nix
@@ -1,24 +1,34 @@
-{ stdenv, lib, fetchFromGitHub, libX11, autoreconfHook }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  autoreconfHook,
+  libX11,
+  libXt
+}:
 
-stdenv.mkDerivation {
-  pname = "xsel-unstable";
-  version = "2020-05-27";
+stdenv.mkDerivation (finalAttrs: {
+  pname = "xsel";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "kfish";
     repo = "xsel";
-    rev = "062e6d373537c60829fa9b5dcddbcd942986b3c3";
-    sha256 = "0fbf80zsc22vcqp59r9fdx4icxhrkv7l3lphw83326jrmkzy6kri";
+    rev = finalAttrs.version;
+    hash = "sha256-F2w/Ad8IWxJNH90/0a9+1M8bLfn1M3m4TH3PNpQmEFI=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ libX11 ];
+  nativeBuildInputs = [pkg-config autoreconfHook];
+  buildInputs = [libX11 libXt];
 
   meta = with lib; {
     description = "Command-line program for getting and setting the contents of the X selection";
     homepage = "http://www.kfish.org/software/xsel";
+    changelog = "https://github.com/kfish/xsel/releases/tag/${finalAttrs.version}";
     license = licenses.mit;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = with maintainers; [cafkafk];
     platforms = lib.platforms.unix;
+    mainProgram = "xsel";
   };
-}
+})
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index ccb30b13af6fb..00fee804206cf 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -22,11 +22,11 @@ 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 = "2023.9.24";
+  version = "2023.10.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-z8+1/8EgE7auS4x6KDp+RimI8bSSg94pHei/vgU7gHM=";
+    hash = "sha256-/IZlepskDPZf7z/2J+Sg3jNeclk2/nDUQCxx3ZdFLzY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index 81610e41cef86..b5240e8becd7c 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "5.2.0";
+  version = "5.2.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = "yubikey-manager";
     rev = version;
-    hash = "sha256-33Y2adUuGIDi5gdenkwZJKKKk2NtcHwLzxy1NXhBa9M=";
+    hash = "sha256-CUe/oB/+Hq9evnLwl8r0k5ObhI3vDt7oX79+20yMfjY=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/assh/default.nix b/pkgs/tools/networking/assh/default.nix
index 44b7551bb5f9f..9d13a323357be 100644
--- a/pkgs/tools/networking/assh/default.nix
+++ b/pkgs/tools/networking/assh/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "assh";
-  version = "2.15.0";
+  version = "2.16.0";
 
   src = fetchFromGitHub {
     repo = "advanced-ssh-config";
     owner = "moul";
     rev = "v${version}";
-    sha256 = "sha256-gti2W1y0iFNyDxKjS7joJn3FkZ9AadYsImu4VEdErS4=";
+    sha256 = "sha256-rvJJZqVSBdaJ154NV6RaxbymsSsHbKnlJDeR6KHQE7M=";
   };
 
-  vendorHash = "sha256-xh/ndjhvSz0atJqOeajAm4nw5/TmMrOdOgTauKAsAcA=";
+  vendorHash = "sha256-L2Uo/jsMtxQClF1UDa7NIUbOm7BflvncNsjqGnCsPKo=";
 
   ldflags = [
     "-s" "-w" "-X moul.io/assh/v2/pkg/version.Version=${version}"
diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix
index f44574fb03647..0f7702acdcc88 100644
--- a/pkgs/tools/networking/biosdevname/default.nix
+++ b/pkgs/tools/networking/biosdevname/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Udev helper for naming devices per BIOS names";
     license = licenses.gpl2;
     platforms = ["x86_64-linux" "i686-linux"];
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/networking/connman/connman/default.nix b/pkgs/tools/networking/connman/connman/default.nix
deleted file mode 100644
index 7697a8efad89d..0000000000000
--- a/pkgs/tools/networking/connman/connman/default.nix
+++ /dev/null
@@ -1,190 +0,0 @@
-{ lib
-, nixosTests
-, stdenv
-, fetchurl
-, fetchpatch
-, pkg-config
-, autoreconfHook
-, file
-, glib
-# always required runtime dependencies
-, dbus
-, libmnl
-, gnutls
-, readline
-# configurable options
-, firewallType ? "iptables" # or "nftables"
-, iptables ? null
-, libnftnl ? null # for nftables
-, dnsType ? "internal" # or "systemd-resolved"
-# optional features which are turned *on* by default
-, enableOpenconnect ? true
-, openconnect ? null
-, enableOpenvpn ? true
-, openvpn ? null
-, enableVpnc ? true
-, vpnc ? true
-, enablePolkit ? true
-, polkit ? null
-, enablePptp ? true
-, pptp ? null
-, ppp ? null
-, enableLoopback ? true
-, enableEthernet ? true
-, enableWireguard ? true
-, enableGadget ? true
-, enableWifi ? true
-, enableBluetooth ? true
-, enableOfono ? true
-, enableDundee ? true
-, enablePacrunner ? true
-, enableNeard ? true
-, enableWispr ? true
-, enableTools ? true
-, enableStats ? true
-, enableClient ? true
-, enableDatafiles ? true
-# optional features which are turned *off* by default
-, enableNetworkManager ? false
-, enableHh2serialGps ? false
-, enableL2tp ? false
-, enableIospm ? false
-, enableTist ? false
-}:
-
-assert lib.asserts.assertOneOf "firewallType" firewallType [ "iptables" "nftables" ];
-assert lib.asserts.assertOneOf "dnsType" dnsType [ "internal" "systemd-resolved" ];
-
-let inherit (lib) optionals; in
-
-stdenv.mkDerivation rec {
-  pname = "connman";
-  version = "1.42";
-  src = fetchurl {
-    url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
-    hash = "sha256-o+a65G/Age8una48qk92Sd6JLD3mIsICg6wMqBQjwqo=";
-  };
-
-  patches = [
-    # simply the middle section of upstream commit a48864a2e5d2a725dfc6eef567108bc13b43857f
-    # dist tarball is broken, hence this patch as a workaround
-    ./create-libppp-compat.h.patch
-  ] ++ optionals stdenv.hostPlatform.isMusl [
-    # Fix Musl build by avoiding a Glibc-only API.
-    (fetchurl {
-      url = "https://git.alpinelinux.org/aports/plain/community/connman/libresolv.patch?id=e393ea84386878cbde3cccadd36a30396e357d1e";
-      hash = "sha256-7Q1bp8rD/gGVYUqnIXqjr9vypR8jlC926p3KYWl9kLw=";
-    })
-  ];
-
-  buildInputs = [
-    glib
-    dbus
-    libmnl
-    gnutls
-    readline
-  ] ++ optionals (enableOpenconnect) [ openconnect ]
-    ++ optionals (firewallType == "iptables") [ iptables ]
-    ++ optionals (firewallType == "nftables") [ libnftnl ]
-    ++ optionals (enablePolkit) [ polkit ]
-    ++ optionals (enablePptp) [ pptp ppp ]
-  ;
-
-  nativeBuildInputs = [
-    pkg-config
-    file
-    autoreconfHook  # as long as we're patching configure.ac
-  ];
-
-  # fix invalid path to 'file'
-  postPatch = ''
-    sed -i "s/\/usr\/bin\/file/file/g" ./configure
-  '';
-
-  configureFlags = [
-    # directories flags
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--with-dbusconfdir=${placeholder "out"}/share"
-    "--with-dbusdatadir=${placeholder "out"}/share"
-    "--with-tmpfilesdir=${placeholder "out"}/lib/tmpfiles.d"
-    "--with-systemdunitdir=${placeholder "out"}/lib/systemd/system"
-    "--with-dns-backend=${dnsType}"
-    "--with-firewall=${firewallType}"
-    # production build flags
-    "--disable-maintainer-mode"
-    "--enable-session-policy-local=builtin"
-    # for building and running tests
-    # "--enable-tests" # installs the tests, we don't want that
-    "--enable-tools"
-  ]
-    ++ optionals (!enableLoopback) [ "--disable-loopback" ]
-    ++ optionals (!enableEthernet) [ "--disable-ethernet" ]
-    ++ optionals (!enableWireguard) [ "--disable-wireguard" ]
-    ++ optionals (!enableGadget) [ "--disable-gadget" ]
-    ++ optionals (!enableWifi) [ "--disable-wifi" ]
-    # enable IWD support for wifi as it doesn't require any new dependencies
-    # and it's easier for the NixOS module to use only one connman package when
-    # IWD is requested
-    ++ optionals (enableWifi) [ "--enable-iwd" ]
-    ++ optionals (!enableBluetooth) [ "--disable-bluetooth" ]
-    ++ optionals (!enableOfono) [ "--disable-ofono" ]
-    ++ optionals (!enableDundee) [ "--disable-dundee" ]
-    ++ optionals (!enablePacrunner) [ "--disable-pacrunner" ]
-    ++ optionals (!enableNeard) [ "--disable-neard" ]
-    ++ optionals (!enableWispr) [ "--disable-wispr" ]
-    ++ optionals (!enableTools) [ "--disable-tools" ]
-    ++ optionals (!enableStats) [ "--disable-stats" ]
-    ++ optionals (!enableClient) [ "--disable-client" ]
-    ++ optionals (!enableDatafiles) [ "--disable-datafiles" ]
-    ++ optionals (enableOpenconnect) [
-      "--enable-openconnect=builtin"
-      "--with-openconnect=${openconnect}/sbin/openconnect"
-    ]
-    ++ optionals (enableOpenvpn) [
-      "--enable-openvpn=builtin"
-      "--with-openvpn=${openvpn}/sbin/openvpn"
-    ]
-    ++ optionals (enableVpnc) [
-      "--enable-vpnc=builtin"
-      "--with-vpnc=${vpnc}/sbin/vpnc"
-    ]
-    ++ optionals (enablePolkit) [
-      "--enable-polkit"
-    ]
-    ++ optionals (enablePptp) [
-      "--enable-pptp"
-      "--with-pptp=${pptp}/sbin/pptp"
-    ]
-    ++ optionals (!enableWireguard) [
-      "--disable-wireguard"
-    ]
-    ++ optionals (enableNetworkManager) [
-      "--enable-nmcompat"
-    ]
-    ++ optionals (enableHh2serialGps) [
-      "--enable-hh2serial-gps"
-    ]
-    ++ optionals (enableL2tp) [
-      "--enable-l2tp"
-    ]
-    ++ optionals (enableIospm) [
-      "--enable-iospm"
-    ]
-    ++ optionals (enableTist) [
-      "--enable-tist"
-    ]
-  ;
-
-  doCheck = true;
-
-  passthru.tests.connman = nixosTests.connman;
-
-  meta = with lib; {
-    description = "A daemon for managing internet connections";
-    homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/";
-    maintainers = with maintainers; [ eclairevoyant ];
-    platforms = platforms.linux;
-    license = licenses.gpl2Only;
-  };
-}
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
deleted file mode 100644
index 4cc9e5e2b3183..0000000000000
--- a/pkgs/tools/networking/connman/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, pkgs }:
-
-lib.makeScope pkgs.newScope (self: with self; {
-
-  # All the defaults
-  connman = callPackage ./connman { };
-
-  connmanFull = connman.override {
-    # TODO: Why is this in `connmanFull` and not the default build? See TODO in
-    # nixos/modules/services/networking/connman.nix (near the assertions)
-    enableNetworkManager = true;
-    enableHh2serialGps = true;
-    enableL2tp = true;
-    enableIospm = true;
-    enableTist = true;
-  };
-
-  connmanMinimal = connman.override {
-    enableOpenconnect = false;
-    enableOpenvpn = false;
-    enableVpnc = false;
-    vpnc = false;
-    enablePolkit = false;
-    enablePptp = false;
-    enableLoopback = false;
-    # enableEthernet = false; # If disabled no ethernet connection can be performed
-    enableWireguard = false;
-    enableGadget = false;
-    # enableWifi = false; # If disabled no WiFi connection can be performed
-    enableBluetooth = false;
-    enableOfono = false;
-    enableDundee = false;
-    enablePacrunner = false;
-    enableNeard = false;
-    enableWispr = false;
-    enableTools = false;
-    enableStats = false;
-    enableClient = false;
-    # enableDatafiles = false; # If disabled, configuration and data files are not installed
-  };
-
-  connman_dmenu = callPackage ./connman_dmenu { };
-
-  connman-gtk = callPackage ./connman-gtk { };
-
-  connman-ncurses = callPackage ./connman-ncurses { };
-
-  connman-notify = callPackage ./connman-notify { };
-})
diff --git a/pkgs/tools/networking/containerlab/default.nix b/pkgs/tools/networking/containerlab/default.nix
index fe59d72397bbd..39982a6ab886f 100644
--- a/pkgs/tools/networking/containerlab/default.nix
+++ b/pkgs/tools/networking/containerlab/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "containerlab";
-  version = "0.45.1";
+  version = "0.46.0";
 
   src = fetchFromGitHub {
     owner = "srl-labs";
     repo = "containerlab";
     rev = "v${version}";
-    hash = "sha256-SjB00hTbY28EsLHAnq5PwtHD9Y2cYTNqu/nSF6smQfE=";
+    hash = "sha256-uBT9whv1qL3yfO6VoeW2SqLIzG11mk+SU09c/xqboM8=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  vendorHash = "sha256-Tkm0BUn1KEFp1EyZu44dueSQlKIbUUrxGK7iT+aTmaQ=";
+  vendorHash = "sha256-mkQR0lZXYe6Dz4PngxF7d7Bkr4R3HmL/imQDLridmlA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/networking/ddns-go/default.nix b/pkgs/tools/networking/ddns-go/default.nix
index 236808b0272c4..1785eae4580cf 100644
--- a/pkgs/tools/networking/ddns-go/default.nix
+++ b/pkgs/tools/networking/ddns-go/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ddns-go";
-  version = "5.6.2";
+  version = "5.6.3";
 
   src = fetchFromGitHub {
     owner = "jeessy2";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5q2QAKi+pw70g2UjavGMECDUOtltwfbQ/EccEg5FVzA=";
+    hash = "sha256-yOi2dowde2hTZOWq1Trpf3tAypA6bD6SawP5geqK7Ms=";
   };
 
-  vendorHash = "sha256-azsXfWa4w3wZaiy9AKy7UPOybikubcJvLsXthYedmbY=";
+  vendorHash = "sha256-e4mmUneFZCsteSrxfSeeky/pFc0sgNs0eRVnZQuG1ZI=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/tools/networking/goodhosts/default.nix b/pkgs/tools/networking/goodhosts/default.nix
new file mode 100644
index 0000000000000..fe24c2c06fd33
--- /dev/null
+++ b/pkgs/tools/networking/goodhosts/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, testers
+}:
+
+buildGoModule rec {
+  pname = "goodhosts";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "goodhosts";
+    repo = "cli";
+    rev = "v${version}";
+    hash = "sha256-VXOMyYM4jS3gYxm3WiKw3uKeC535ppd9iHumPiupGbc=";
+  };
+
+  ldflags = [
+    "-s -w -X main.version=${version}"
+  ];
+
+  postInstall = ''
+    mv $out/bin/cli $out/bin/goodhosts
+  '';
+
+  vendorHash = "sha256-pL1z8cfnzcmX5iMVHQJGXYmzGuf8bp4Txbqoh5wSPWQ=";
+
+  meta = with lib; {
+    description = "A CLI tool for managing hostfiles";
+    license = licenses.mit;
+    homepage = "https://github.com/goodhosts/cli/tree/main";
+    maintainers = with maintainers; [ schinmai-akamai ];
+    mainProgram = "goodhosts";
+  };
+}
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index f8803e3f7999e..7919698f53d20 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.59.0";
+  version = "1.59.1";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-++8QWJJuwGUcm6pKxik6+jqzvXbMx8LHSV5CSgJ8IVo=";
+    hash = "sha256-4bou7oFQOgyxjFqJdmiFT8xEMCsOap9v34W6SPrT4WQ=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/grpcui/default.nix b/pkgs/tools/networking/grpcui/default.nix
index e841556310efd..820b7f202f14a 100644
--- a/pkgs/tools/networking/grpcui/default.nix
+++ b/pkgs/tools/networking/grpcui/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpcui";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9rKZFbRJn/Rv/9vznBujEt0bSCvx9eLKADoYc4pXBeY=";
+    sha256 = "sha256-ssKVgvMO6+7/FQFxbHVTipDFVXZZ/9Ww/kFTqxTgdLQ=";
   };
 
-  vendorHash = "sha256-DTLguUSFgGOF+okHQdFxL944NA+WPWT1zaeu38p1p0M=";
+  vendorHash = "sha256-ui/zaHwZH5zdrcKFXwIrJ3TCLUeONsjSexIHoa6hRH8=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/grpcurl/default.nix b/pkgs/tools/networking/grpcurl/default.nix
index 60406a523e95d..a99f26effc13b 100644
--- a/pkgs/tools/networking/grpcurl/default.nix
+++ b/pkgs/tools/networking/grpcurl/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "grpcurl";
-  version = "1.8.7";
+  version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = "grpcurl";
     rev = "v${version}";
-    sha256 = "sha256-03Uo40kz9CNK3lC91J8smDlviRNQymP95DWmIMwZF/E=";
+    sha256 = "sha256-/GPFUMN6NQAoKOYJ6j9j0GmyEcYtYdOB7B8v2gNpNm8=";
   };
 
   subPackages = [ "cmd/grpcurl" ];
 
-  vendorHash = "sha256-xe3xb1+qa53Xph+CLcUqxJYeD9d4kBaY6SJfc7bhjQY=";
+  vendorHash = "sha256-8mGlmWuWae/NQ1aR0KVj0XS7rqROCs0PBDUkMAKijYU=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/networking/gvproxy/default.nix b/pkgs/tools/networking/gvproxy/default.nix
index d0e831bf1bd85..667aaea275e7b 100644
--- a/pkgs/tools/networking/gvproxy/default.nix
+++ b/pkgs/tools/networking/gvproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gvproxy";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "gvisor-tap-vsock";
     rev = "v${version}";
-    hash = "sha256-BCRUMAM/OeFf4gftYwLrRmeCkRGplYaF9QZ1ZI2YLLY=";
+    hash = "sha256-FEYQ/WRplfUCruJigri4w8F1PS7aNq+m9aZ4/FoIxr4=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/networking/kapp/default.nix b/pkgs/tools/networking/kapp/default.nix
index 8238253636cbe..a00f851c24d14 100644
--- a/pkgs/tools/networking/kapp/default.nix
+++ b/pkgs/tools/networking/kapp/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "kapp";
-  version = "0.58.0";
+  version = "0.59.0";
 
   src = fetchFromGitHub {
-    owner = "vmware-tanzu";
-    repo = "carvel-kapp";
+    owner = "carvel-dev";
+    repo = "kapp";
     rev = "v${version}";
-    sha256 = "sha256-E5QiR4hcO2Ii5qXAlMrw9Yxy8IYqjnonSGiUUyzhMVc=";
+    sha256 = "sha256-I+BXKJvilrYvSi2xevZKFE49emghg19dCpW/bbIcZ8o=";
   };
 
   vendorHash = null;
 
   subPackages = [ "cmd/kapp" ];
 
+  CGO_ENABLED = 0;
+
   ldflags = [
     "-X github.com/vmware-tanzu/carvel-kapp/pkg/kapp/version.Version=${version}"
   ];
@@ -34,7 +36,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "CLI tool that encourages Kubernetes users to manage bulk resources with an application abstraction for grouping";
-    homepage = "https://get-kapp.io";
+    homepage = "https://carvel.dev/kapp/";
     license = licenses.asl20;
     maintainers = with maintainers; [ brodes ];
   };
diff --git a/pkgs/tools/networking/opensnitch/daemon.nix b/pkgs/tools/networking/opensnitch/daemon.nix
index 1d81627bf29c3..98c7f51ba71e8 100644
--- a/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/pkgs/tools/networking/opensnitch/daemon.nix
@@ -27,6 +27,11 @@ buildGoModule rec {
     hash = "sha256-C8Uuz2FC7Zu07ZmFpp+ejpNxkyC3/mM9J2dc5FUKx64=";
   };
 
+  postPatch = ''
+    # Allow configuring Version at build time
+    substituteInPlace daemon/core/version.go --replace "const " "var "
+  '';
+
   modRoot = "daemon";
 
   buildInputs = [
@@ -65,6 +70,8 @@ buildGoModule rec {
       --replace "/bin/mkdir" "${coreutils}/bin/mkdir"
   '';
 
+  ldflags = [ "-s" "-w" "-X github.com/evilsocket/opensnitch/daemon/core.Version=${version}" ];
+
   postInstall = ''
     wrapProgram $out/bin/opensnitchd \
       --prefix PATH : ${lib.makeBinPath [ iptables ]}
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index 2b6ea743fec15..7d01deb36020c 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -45,14 +45,6 @@ stdenv.mkDerivation {
 
     # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
     ./dont_create_privsep_path.patch
-
-    # Pull upstream zlib-1.3 support.
-    # The patch changes configure.ac, uses autoreconfHook.
-    (fetchpatch {
-      name = "zlib-1.3.patch";
-      url = "https://github.com/openssh/openssh-portable/commit/cb4ed12ffc332d1f72d054ed92655b5f1c38f621.patch";
-      hash = "sha256-3Gx0/I2n9/XaWCIefVYtvk5f+VgH6MlhMBse+PMyf34=";
-    })
   ] ++ extraPatches;
 
   postPatch =
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 42f7220da559c..d701ac7b4ae8a 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -5,11 +5,11 @@ in
 {
   openssh = common rec {
     pname = "openssh";
-    version = "9.4p1";
+    version = "9.5p1";
 
     src = fetchurl {
       url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      hash = "sha256-Ngj9kIjbIWPOs+YAyFq3nQ3j0iHlkZLqGSPiMmOGaoU=";
+      hash = "sha256-8Cbnt5un+1QPdRgq+W3IqPHbOV+SK7yfbKYDZyaGCGs=";
     };
 
     extraPatches = [ ./ssh-keysign-8.5.patch ];
@@ -18,12 +18,12 @@ in
 
   openssh_hpn = common rec {
     pname = "openssh-with-hpn";
-    version = "9.4p1";
+    version = "9.5p1";
     extraDesc = " with high performance networking patches";
 
     src = fetchurl {
       url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      hash = "sha256-Ngj9kIjbIWPOs+YAyFq3nQ3j0iHlkZLqGSPiMmOGaoU=";
+      hash = "sha256-8Cbnt5un+1QPdRgq+W3IqPHbOV+SK7yfbKYDZyaGCGs=";
     };
 
     extraPatches = let url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/700625bcd86b74cf3fb9536aeea250d7f8cd1fd5/security/openssh-portable/files/extra-patch-hpn"; in
@@ -58,12 +58,12 @@ in
 
   openssh_gssapi = common rec {
     pname = "openssh-with-gssapi";
-    version = "9.4p1";
+    version = "9.5p1";
     extraDesc = " with GSSAPI support";
 
     src = fetchurl {
       url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      sha256 = "sha256-Ngj9kIjbIWPOs+YAyFq3nQ3j0iHlkZLqGSPiMmOGaoU=";
+      hash = "sha256-8Cbnt5un+1QPdRgq+W3IqPHbOV+SK7yfbKYDZyaGCGs=";
     };
 
     extraPatches = [
diff --git a/pkgs/tools/networking/restish/default.nix b/pkgs/tools/networking/restish/default.nix
index c13c5708b52b1..303d88b235f2b 100644
--- a/pkgs/tools/networking/restish/default.nix
+++ b/pkgs/tools/networking/restish/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "restish";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "danielgtaylor";
     repo = "restish";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DvI1pe4ONuIhSecJOhv6GKRzOYHo+jePqT8oYVvcKnM=";
+    hash = "sha256-zAWlbfZywL8jepgmXBM5lacRv1N/+dBd+9vIavWAyNs=";
   };
 
   vendorHash = "sha256-sUBqeLhpWUu1NfAmFQCKFHm8DQaB8LYRrFexvuF8vC8=";
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index 8aa2896be1d77..d9bea8d5971f4 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Vc7TLkADOlMs4nMRCI2DAd4h40eYhcOP/EzM7uWqZ+A=";
+    hash = "sha256-ZDx9ZiYhqznDU4PvWWBxaK5/fRPW9cnLrzdg5fmTfSA=";
   };
 
-  vendorHash = "sha256-bcjhBAW4/NLQ/l7gmD9169DCYJwDH1j0vtEShJqKRiw=";
+  vendorHash = "sha256-MRGet2P1QLgrm649+if7ROhuPHhXKYp6ACK86LvbFN0=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index 828e3e1ad0c50..6deae44051668 100644
--- a/pkgs/tools/networking/slirp4netns/default.nix
+++ b/pkgs/tools/networking/slirp4netns/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "sha256-Lq3MMIPPEo1yJZ/xE3m9Y/V+cJl17IRkTBVjnr/avHw=";
+    sha256 = "sha256-TQi2Ok58VbKl3iaMygBL16NZukvVkSSmyVpGT2A1IJQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/networking/termscp/default.nix b/pkgs/tools/networking/termscp/default.nix
index e0f0a46bdf5a1..a36066ea7d2b8 100644
--- a/pkgs/tools/networking/termscp/default.nix
+++ b/pkgs/tools/networking/termscp/default.nix
@@ -9,20 +9,21 @@
 , Cocoa
 , Foundation
 , Security
+, samba
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "termscp";
-  version = "0.11.2";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "veeso";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-bQvoTy48eYK369Ei6B8l6F5/pfQGYiHdz3KsQV7Bi9Y=";
+    hash = "sha256-+5s5PskSHZKv1deti5r986qXg8J9APuVXY+Lvq3ki0w=";
   };
 
-  cargoHash = "sha256-/nadstDHzLOrimL+xK7/ldOozz7ZS1nRQmkIhGHK8p8=";
+  cargoHash = "sha256-0go6ZTqhPUwnnE+VIQrbtKm90AWaYsYT/25QrWLMFbU=";
 
   nativeBuildInputs = [
     pkg-config
@@ -31,6 +32,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [
     dbus
     openssl
+    samba
   ] ++ lib.optionals stdenv.isDarwin [
     AppKit
     Cocoa
@@ -49,7 +51,7 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "Terminal tool for file transfer and explorer";
+    description = "A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3/SMB";
     homepage = "https://github.com/veeso/termscp";
     changelog = "https://github.com/veeso/termscp/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
diff --git a/pkgs/tools/networking/tinyproxy/default.nix b/pkgs/tools/networking/tinyproxy/default.nix
index 12c8a0d0447eb..8778b90b2b026 100644
--- a/pkgs/tools/networking/tinyproxy/default.nix
+++ b/pkgs/tools/networking/tinyproxy/default.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , autoreconfHook
 , perl
+, nixosTests
 , withDebug ? false
 }:
 
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook perl ];
 
   configureFlags = lib.optionals withDebug [ "--enable-debug" ]; # Enable debugging support code and methods.
+  passthru.tests = { inherit (nixosTests) tinyproxy; };
 
   meta = with lib; {
     homepage = "https://tinyproxy.github.io/";
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 20c6c5e365259..f9d2e90b58e49 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, perl, gettext, pkg-config, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.18";
+  version = "5.5.19";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    hash = "sha256-KHOKjblyCP1GykQehmxSKf7vP52wRRH6oz9WbE9fbCk=";
+    hash = "sha256-4mFn5cY7ipAU4vOiHC2s69fxYJwShQEQ1eA8t5JvOP0=";
   };
 
   nativeBuildInputs = [ perl gettext pkg-config ];
diff --git a/pkgs/tools/nix/fh/default.nix b/pkgs/tools/nix/fh/default.nix
index 9ee82ba6aa126..1cb74a60dcfab 100644
--- a/pkgs/tools/nix/fh/default.nix
+++ b/pkgs/tools/nix/fh/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fh";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "DeterminateSystems";
     repo = "fh";
     rev = "v${version}";
-    hash = "sha256-DWuGtjwz3cIR1IxJV8Kwm7vn2LijGGuPX8TOcwFvWXc=";
+    hash = "sha256-Pbw1yggqIzmY23DuxrmSSf9IbOy5olAqVWectq97j20=";
   };
 
-  cargoHash = "sha256-vZJRDVraDMSzBpZ8W6EENySJz44dkWdejSuvaYTFs6Q=";
+  cargoHash = "sha256-vr5M2TAty9z/n9wdA/ANnRp7Hq5S3Hpa4dE7mA59Keg=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/nix/nix-output-monitor/generated-package.nix b/pkgs/tools/nix/nix-output-monitor/generated-package.nix
index 8d9ae67ff9c4f..7d993282601ba 100644
--- a/pkgs/tools/nix/nix-output-monitor/generated-package.nix
+++ b/pkgs/tools/nix/nix-output-monitor/generated-package.nix
@@ -38,10 +38,10 @@
 }:
 mkDerivation {
   pname = "nix-output-monitor";
-  version = "2.0.0.6";
+  version = "2.0.0.7";
   src = fetchzip {
-    url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v2.0.0.6.tar.gz";
-    sha256 = "1adxg2bws7fqbmzfna5hr28fh8j10gvf57j6b0xbkhh4hgj4h9xd";
+    url = "https://github.com/maralorn/nix-output-monitor/archive/refs/tags/v2.0.0.7.tar.gz";
+    sha256 = "1b2c9kfz80rv2r1s7h6iikyq3bn32h1fv2yq65wkhg3in7qg49jp";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
index 74676827fb954..60bd420f1548e 100644
--- a/pkgs/tools/package-management/apt/default.nix
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -82,6 +82,6 @@ stdenv.mkDerivation rec {
     changelog = "https://salsa.debian.org/apt-team/apt/-/raw/${version}/debian/changelog";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 3ef1b2d4749c3..1a2d1521f0f32 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -4,7 +4,6 @@
 , cmake
 , gettext
 , pkg-config
-, gpgme
 , libsolv
 , openssl
 , check
@@ -20,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.70.2";
+  version = "0.71.0";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-br3RNqR9/hwvu1V3vG5gFmQCob2Ksz3pPQrBONVOMP0=";
+    hash = "sha256-kRpB80ntb5CbqnWpc3M3i7w06CkstPlJfo2X3WsuME8=";
   };
 
   nativeBuildInputs = [
@@ -37,7 +36,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     check
-    gpgme
     openssl
     json_c
     libsmartcols
diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix
index 80a40c9b995b8..3677b4f1e882d 100644
--- a/pkgs/tools/package-management/nix-eval-jobs/default.nix
+++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -31,6 +31,11 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  # Since this package is intimately tied to a specific Nix release, we
+  # propagate the Nix used for building it to make it easier for users
+  # downstream to reference it.
+  passthru = { inherit nix; };
+
   meta = {
     description = "Hydra's builtin hydra-eval-jobs as a standalone";
     homepage = "https://github.com/nix-community/nix-eval-jobs";
diff --git a/pkgs/tools/security/doas/default.nix b/pkgs/tools/security/doas/default.nix
index ad08cd8056bed..03268bc98479c 100644
--- a/pkgs/tools/security/doas/default.nix
+++ b/pkgs/tools/security/doas/default.nix
@@ -53,6 +53,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Duncaen/OpenDoas";
     license = licenses.isc;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cole-h cstrahan ];
+    maintainers = with maintainers; [ cole-h ];
   };
 }
diff --git a/pkgs/tools/security/dontgo403/default.nix b/pkgs/tools/security/dontgo403/default.nix
index 2fdd35e68fe83..79002c1cfc898 100644
--- a/pkgs/tools/security/dontgo403/default.nix
+++ b/pkgs/tools/security/dontgo403/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dontgo403";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "devploit";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WGI98IUyvcPGD9IbIF1ZWa72Dnork6xE+XoVYUx1zAc=";
+    hash = "sha256-PKI/DqMihhMaIa9OzDKtLIs34TRUtewAbBkx89IXLU4=";
   };
 
   vendorHash = "sha256-IGnTbuaQH8A6aKyahHMd2RyFRh4WxZ3Vx/A9V3uelRg=";
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index ceafa9fdb2577..272caf42e90e7 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.66.0";
+  version = "3.66.3";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-Iw+Rr4VAdZ+DjN3mfXkVHYlnnVOnRkof+O1EoluYjeM=";
+    sha256 = "sha256-zS5nIULnzoOG43nNcVb6MdmKNDcDK75mh3SOMB5BXIY=";
   };
 
   vendorHash = "sha256-FOmaK6S61fkzybpDx6qfi6m4e2IaqBpavaFhEgIvmqw=";
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 61e01daa0fe6e..4d085fb9980a6 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9FDHMhL2vWyS5o04E3nML/pCL+juA87ZAEU6naIPCdc=";
+    sha256 = "sha256-6muoKiryWTGIoy1U3kWjuka0X1+gcrUQOvbuas26H1M=";
     # 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,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorHash = "sha256-dEBHhgy4dyorVbP1TloPTa1h6U/923bYrXX4qiRa/2w=";
+  vendorHash = "sha256-i9RK9kNSB9FOnVbYcHLBHt8KKBQCNsEDONNm1IxgTJc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/gotrue/supabase.nix b/pkgs/tools/security/gotrue/supabase.nix
index 325dbb029aa15..6955f08a2264b 100644
--- a/pkgs/tools/security/gotrue/supabase.nix
+++ b/pkgs/tools/security/gotrue/supabase.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gotrue";
-  version = "2.96.0";
+  version = "2.99.0";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1k8HCix49kuTVEsCeSDcPC2gPpnx7wzro3q53scW568=";
+    hash = "sha256-OUxiAEPX1mWL4td3xdiK9420i4K9pwNdGqch/5T21BY=";
   };
 
   vendorHash = "sha256-r1xJka1ISahaHJOkFwjn/Nrf2EU0iGVosz8PZnH31TE=";
diff --git a/pkgs/tools/security/kubeclarity/default.nix b/pkgs/tools/security/kubeclarity/default.nix
index 2f026b62f6e96..ca4cb1bfb5923 100644
--- a/pkgs/tools/security/kubeclarity/default.nix
+++ b/pkgs/tools/security/kubeclarity/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "kubeclarity";
-  version = "2.21.0";
+  version = "2.21.1";
 
   src = fetchFromGitHub {
     owner = "openclarity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-aTbad1w/8ywBbZKA0PIbY18K1fUikXZ8VLFKsX7JI6g=";
+    hash = "sha256-+kWqw8o5KlVciWIB8cCVkMuiqW0wpIfua5qVgXZG3ww=";
   };
 
-  vendorHash = "sha256-rpP+3x/+e5PxyRL+IR2k3OEOSkm5341oScqRm+EdFUI=";
+  vendorHash = "sha256-kYdKCHqzDbfCGMlTMPSHAQkSLyhkCl/OvV7CF5jdyaY=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/lastpass-cli/default.nix b/pkgs/tools/security/lastpass-cli/default.nix
index 45333391de043..c20157cb41949 100644
--- a/pkgs/tools/security/lastpass-cli/default.nix
+++ b/pkgs/tools/security/lastpass-cli/default.nix
@@ -57,6 +57,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/lastpass/lastpass-cli";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index dee609d5a179d..310fa1b719127 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.36"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.37"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index a81bb3cc7583c..c44c869c7cd39 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 787e303296c1ac456e76b5980a975993c1e24742
-  ref: refs/tags/6.3.36
+  revision: 40ba61c644b1529ec4493ecb59dd5a8e4b3f16c1
+  ref: refs/tags/6.3.37
   specs:
-    metasploit-framework (6.3.36)
+    metasploit-framework (6.3.37)
       actionpack (~> 7.0)
       activerecord (~> 7.0)
       activesupport (~> 7.0)
@@ -35,7 +35,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.148)
+      metasploit-payloads (= 2.0.154)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.26)
       mqtt
@@ -252,7 +252,7 @@ GEM
       activemodel (~> 7.0)
       activesupport (~> 7.0)
       railties (~> 7.0)
-    metasploit-payloads (2.0.148)
+    metasploit-payloads (2.0.154)
     metasploit_data_models (6.0.2)
       activerecord (~> 7.0)
       activesupport (~> 7.0)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index d033b2fe0cd7f..fdc61c0c87746 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.36";
+  version = "6.3.37";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-oHnVIdVeQsPTAQAMInWRKYYiYT7yHG7CZReoTZzH03s=";
+    sha256 = "sha256-veyBJpRycTBuNQocUss6xBOaiImj4EyLv0261UmI7mM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index a2c028f713123..71dc2b4c8d816 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -654,12 +654,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "787e303296c1ac456e76b5980a975993c1e24742";
-      sha256 = "0yykqyf4va0pcp16w77j7rhj51i9j5sj4300079w6hjyslhxayd0";
+      rev = "40ba61c644b1529ec4493ecb59dd5a8e4b3f16c1";
+      sha256 = "0qzfi14xbfjdpy5lrq53i649l4y47b5m470a6mp30wbjjhk83v5x";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.36";
+    version = "6.3.37";
   };
   metasploit-model = {
     groups = ["default"];
@@ -676,10 +676,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iyx853r9j1yr1jm4zawrmlm7sy3a083fv3i594b138qw78rk6hb";
+      sha256 = "0s3iii3y6jhmiymylhpxqcksgm8gwmmm3rhqspmd4n9ab4p4l36s";
       type = "gem";
     };
-    version = "2.0.148";
+    version = "2.0.154";
   };
   metasploit_data_models = {
     groups = ["default"];
diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix
index 439fd1543cf82..38c26a93b4e39 100644
--- a/pkgs/tools/security/mkpasswd/default.nix
+++ b/pkgs/tools/security/mkpasswd/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     homepage = "https://packages.qa.debian.org/w/whois.html";
     description = "Overfeatured front-end to crypt, from the Debian whois package";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ cstrahan fpletz ];
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/nitrokey-app2/default.nix b/pkgs/tools/security/nitrokey-app2/default.nix
new file mode 100644
index 0000000000000..3d35b4d07750c
--- /dev/null
+++ b/pkgs/tools/security/nitrokey-app2/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, python3
+, fetchFromGitHub
+, pynitrokey
+, wrapQtAppsHook
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "nitrokey-app2";
+  version = "2.1.2";
+  pyproject = true;
+
+  disabled = python3.pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Nitrokey";
+    repo = "nitrokey-app2";
+    rev = "v${version}";
+    hash = "sha256-VyhIFNXxH/FohgjhBeZXoQYppP7PEz+ei0qzsWz1xhk=";
+  };
+
+  # https://github.com/Nitrokey/nitrokey-app2/issues/152
+  #
+  # pythonRelaxDepsHook does not work here, because it runs in postBuild and
+  # only modifies the dependencies in the built distribution.
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace "pynitrokey ==" "pynitrokey >="
+  '';
+
+  # The pyproject.toml file seems to be incomplete and does not generate
+  # resources (i.e. run pyrcc5 and pyuic5) but the Makefile does.
+  preBuild = ''
+    make build-ui
+  '';
+
+  nativeBuildInputs = with python3.pkgs; [
+    flit-core
+    pyqt5
+    wrapQtAppsHook
+  ];
+
+  dontWrapQtApps = true;
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pynitrokey
+    pyudev
+    pyqt5
+    pyqt5-stubs
+    qt-material
+  ];
+
+  preFixup = ''
+    wrapQtApp "$out/bin/nitrokeyapp" \
+      --set-default CRYPTOGRAPHY_OPENSSL_NO_LEGACY 1
+  '';
+
+  pythonImportsCheck = [
+    "nitrokeyapp"
+  ];
+
+  meta = with lib; {
+    description = "This application allows to manage Nitrokey 3 devices";
+    homepage = "https://github.com/Nitrokey/nitrokey-app2";
+    changelog = "https://github.com/Nitrokey/nitrokey-app2/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ _999eagle ];
+    mainProgram = "nitrokeyapp";
+  };
+}
diff --git a/pkgs/tools/security/nmap-formatter/default.nix b/pkgs/tools/security/nmap-formatter/default.nix
index a81037da44e41..38e9b3aeedd2b 100644
--- a/pkgs/tools/security/nmap-formatter/default.nix
+++ b/pkgs/tools/security/nmap-formatter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nmap-formatter";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "vdjagilev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i2g+l5XJkBjXMbJwpSirEKCDxO2Ric4CwF3jzue/4+o=";
+    hash = "sha256-Y7BAMJlcu5j8css2F75Bgq90nUGGo/H/kNc5aVwFJew=";
   };
 
-  vendorHash = "sha256-YAsWXbIyeC4uhzRFXX/bZs3cOvEa3k4/ZCoDisUN1Yw=";
+  vendorHash = "sha256-c2n8GlaD6q21gWUqr31UOioZRxO0s0tSpVRKl/YHXZU=";
 
   meta = with lib; {
     description = "Tool that allows you to convert nmap output";
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index 6e533a77b921d..55207b1231f4e 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sslscan";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "rbsec";
     repo = "sslscan";
-    rev = version;
-    sha256 = "sha256-sEWWmfTdzqDoTyERoJUZ1/xqeRFcshc72mXzecij4TI=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-AsOuNJ5adI7/8A6siK4MzLtpBstsU7JxX1d6WWVJHAY=";
   };
 
   buildInputs = [ openssl ];
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Tests SSL/TLS services and discover supported cipher suites";
     homepage = "https://github.com/rbsec/sslscan";
+    changelog = "https://github.com/rbsec/sslscan/blob/${version}/Changelog";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fpletz globin ];
   };
diff --git a/pkgs/tools/security/vals/default.nix b/pkgs/tools/security/vals/default.nix
index cdde5375dc5b8..9282bf7bb9cec 100644
--- a/pkgs/tools/security/vals/default.nix
+++ b/pkgs/tools/security/vals/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vals";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "variantdev";
     repo = pname;
-    sha256 = "sha256-2Wjp1Q7c4CrhCnPTQUyrzVPL89XYOp2bnySQril/RQc=";
+    sha256 = "sha256-6sKwRYbWaKrnMLU+G4/s3CTjUYeovsWttAvk1MnIFPI=";
   };
 
-  vendorHash = "sha256-J0fhxfGDJKZfRWPPockIAUENCPffQlQmwjkgls+ocoE=";
+  vendorHash = "sha256-CwRhtC+Ome/oyTSd8rPpQ3TgBkFb9CM3XRc0k2g2lHU=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
index 38906d2428ea6..ff64d0aec7eb7 100644
--- a/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "1.0.128";
+  version = "1.0.129";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h9Iej7vxMYyWSbDrW2nNTxXvY53dr9MidhLiSGahuNw=";
+    sha256 = "sha256-U6nuPzXvqIn4KqKbPNeCvTg6IbVF6EQ4hDm9SZsre70=";
   };
 
-  cargoHash = "sha256-Toy8xYI9qbqc6C1lehl/Om/xBk2wn0S3mJyU8ZZjE7c=";
+  cargoHash = "sha256-2Uf78T38ot03xgv8nsoJKmHCXbbJgOE4WFhVAOdUcOA=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index f380bf4fd6f6f..5d9286a1c4d1a 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   # Don't forget to update go.d.plugin.nix as well
-  version = "1.42.2";
+  version = "1.42.4";
   pname = "netdata";
 
   src = fetchFromGitHub {
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
     repo = "netdata";
     rev = "v${version}";
     hash = if withCloudUi
-      then "sha256-8L8PhPgNIHvw+Dcx2D6OE8fp2+GEYOc9wEIoPJSqXME="
-      else "sha256-J/pKKxTNoSwvsyVaRsnazQQqu2C8zx1QEAkB+gkR5lU=";
+      then "sha256-MaU9sOQD+Y03M+yoSWt1GuV+DrBlD7+r/Qm2JJ9s8EU="
+      else "sha256-41QntBt0MoO1hAsDb8LhHgvvNMzt9R1ZdgiPaR7NrPU=";
     fetchSubmodules = true;
 
     # Remove v2 dashboard distributed under NCUL1. Make sure an empty
diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix
index aebc633a53073..4fcb7a6d43ce3 100644
--- a/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "netdata-go-plugins";
-  version = "0.54.1";
+  version = "0.56.1";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "go.d.plugin";
     rev = "v${version}";
-    hash = "sha256-3cBgXkvXhSTwQ6qbUbH1nOba5QkjSKtzi2rb+OY06jE=";
+    hash = "sha256-OA//50j7MWCNyQ85DzSkk0kI8XonBOMpEmsIJ7QLbHY=";
   };
 
-  vendorHash = "sha256-DLRcS8wqnwGRLEeMqWj5SfUvE3fz1hty9jItNfmCdRw=";
+  vendorHash = "sha256-1ir6paAz4NyJDPivBrHyiTrNwJMJ00Q4/sWBLBnwqPM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
index 133ce941faa5c..46db1c612ff39 100644
--- a/pkgs/tools/system/nq/default.nix
+++ b/pkgs/tools/system/nq/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/chneukirchen/nq";
     license = licenses.publicDomain;
     platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/system/nsc/default.nix b/pkgs/tools/system/nsc/default.nix
index d69791553d504..c3d0394c658db 100644
--- a/pkgs/tools/system/nsc/default.nix
+++ b/pkgs/tools/system/nsc/default.nix
@@ -39,12 +39,22 @@ buildGoModule rec {
     export HOME=$(mktemp -d)
   '';
 
+  # Tests currently fail on darwin because of a test in nsc which
+  # expects command output to contain a specific path. However
+  # the test strips table formatting from the command output in a naive way
+  # that removes all the table characters, including '-'.
+  # The nix build directory looks something like:
+  # /private/tmp/nix-build-nsc-2.8.1.drv-0/nsc_test2000598938/keys
+  # Then the `-` are removed from the path unintentionally and the test fails.
+  # This should be fixed upstream to avoid mangling the path when
+  # removing the table decorations from the command output.
+  doCheck = !stdenv.isDarwin;
+
   meta = {
     description = "A tool for creating NATS account and user access configurations";
     homepage = "https://github.com/nats-io/nsc";
     license = with lib.licenses; [ asl20 ];
     maintainers = with lib.maintainers; [ cbrewster ];
     mainProgram = "nsc";
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/system/nvitop/default.nix b/pkgs/tools/system/nvitop/default.nix
index 21fa53dc7034d..9cfe26de37326 100644
--- a/pkgs/tools/system/nvitop/default.nix
+++ b/pkgs/tools/system/nvitop/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nvitop";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "XuehaiPan";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-nHJ2m5Q0IWl0nx13iGBkHsHj2YdPS+33kLUBsjbpyuM=";
+    hash = "sha256-DPdKdIqFUozTt5Go3+c7oSv9tZSio486QeSlSfIrBZ4=";
   };
 
   pythonRelaxDeps = [ "nvidia-ml-py" ];
diff --git a/pkgs/tools/system/psensor/default.nix b/pkgs/tools/system/psensor/default.nix
index 6e3ccc45a034c..33749f30be0cb 100644
--- a/pkgs/tools/system/psensor/default.nix
+++ b/pkgs/tools/system/psensor/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = "https://wpitchoune.net/psensor/";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index f93716ff43329..af29e316c278d 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.16.04";
+  version = "0.17.00";
 
   src = fetchFromGitHub {
     owner = "ColinIanKing";
     repo = pname;
     rev = "V${version}";
-    hash = "sha256-Qr1t+xyl0aS2tSB+DyS7oXOkbcJRaSabS6g/qc8hdWc=";
+    hash = "sha256-VChEuxNDQfkJyherlInbFEBGf6djp5zRQYaZB7w7A3s=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/stressapptest/default.nix b/pkgs/tools/system/stressapptest/default.nix
index 9b7eb0a6f3e2b..2a1bc008e18c5 100644
--- a/pkgs/tools/system/stressapptest/default.nix
+++ b/pkgs/tools/system/stressapptest/default.nix
@@ -6,22 +6,25 @@
 
 stdenv.mkDerivation rec {
   pname = "stressapptest";
-  version = "1.0.9";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1qzj6h6adx042rb9aiz916jna269whibvj5ys4p5nwdp17fqh922";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lZpF7PdUwKnV0ha6xkLvi7XYFZQ4Avy0ltlXxukuWjM=";
   };
 
-  buildInputs = [ libaio ];
+  buildInputs = [
+    libaio
+  ];
 
   meta = with lib; {
     description = "Userspace memory and IO stress test tool";
     homepage = "https://github.com/stressapptest/stressapptest";
+    changelog = "https://github.com/stressapptest/stressapptest/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
-    maintainers = with lib.maintainers; [ fab ];
+    maintainers = with maintainers; [ fab ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index 108edfb063088..cb52cbdccb386 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     maintainers = with maintainers; [ nickcao ];
+    mainProgram = "tree";
   };
 }
diff --git a/pkgs/tools/system/xe/default.nix b/pkgs/tools/system/xe/default.nix
index f31cdaab4c5a1..133c7d8736194 100644
--- a/pkgs/tools/system/xe/default.nix
+++ b/pkgs/tools/system/xe/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/chneukirchen/xe";
     license = licenses.publicDomain;
     platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/text/difftastic/Cargo.lock b/pkgs/tools/text/difftastic/Cargo.lock
index 549f575426c48..f381f2979312f 100644
--- a/pkgs/tools/text/difftastic/Cargo.lock
+++ b/pkgs/tools/text/difftastic/Cargo.lock
@@ -237,7 +237,7 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
 
 [[package]]
 name = "difftastic"
-version = "0.51.1"
+version = "0.52.0"
 dependencies = [
  "assert_cmd",
  "bumpalo",
@@ -252,6 +252,7 @@ dependencies = [
  "lazy_static",
  "libc",
  "libmimalloc-sys",
+ "line-numbers",
  "log",
  "mimalloc",
  "owo-colors",
@@ -448,6 +449,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "line-numbers"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793a75315eb63b8699158825bdea85d63eeb850e7543cb834abef3c7b5b53780"
+
+[[package]]
 name = "lock_api"
 version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index 77fa6334f16e7..1db60b38a8dee 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -16,13 +16,13 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.51.1";
+  version = "0.52.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    hash = "sha256-u03UL5QB0mdMTgRtxVe4pgLlCeLx1cG7czo7uBKQI84=";
+    hash = "sha256-ve5oUvclHGgw56UEIuEQ0tSdzad94MfL6qzc2hoB0dw=";
   };
 
   cargoLock = {
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index 040f363fa55d8..35e0fb5e6b967 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr"
     ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes";
 
-  doCheck = true;
+  doCheck = !(stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl);
 
   meta = with lib; {
     homepage = "https://www.gnu.org/software/diffutils/diffutils.html";
diff --git a/pkgs/tools/text/goawk/default.nix b/pkgs/tools/text/goawk/default.nix
index 8db2143f1b792..fc1a2bab79f4d 100644
--- a/pkgs/tools/text/goawk/default.nix
+++ b/pkgs/tools/text/goawk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goawk";
-  version = "1.24.0";
+  version = "1.25.0";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = "goawk";
     rev = "v${version}";
-    hash = "sha256-pce7g0MI23244t5ZK4UDOfQNt1m3tRpCahne0s+NRRE=";
+    hash = "sha256-vxDBtYrfSmYE2mCqhepeLr4u+zLfHxCrYSXGq05CEYQ=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/text/gtree/default.nix b/pkgs/tools/text/gtree/default.nix
index 951bbf4258cc5..022ed0b0f0b6b 100644
--- a/pkgs/tools/text/gtree/default.nix
+++ b/pkgs/tools/text/gtree/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "gtree";
-  version = "1.9.11";
+  version = "1.9.12";
 
   src = fetchFromGitHub {
     owner = "ddddddO";
     repo = "gtree";
     rev = "v${version}";
-    hash = "sha256-mB/Wftq6YB1aZFJaulNfSXEPYjiznA5rc9hsoCehc5A=";
+    hash = "sha256-N4gw2SaNAcQULNxE+v4I+UhfziLH7zLs0cIP5mHGUx0=";
   };
 
-  vendorHash = "sha256-Td2DOMXA/E2ynsAKv+CLuS53pI9Bd4GkWcWBMqHrQ5o=";
+  vendorHash = "sha256-3VNcis7G0k/WTt8APvFaVBoYTo+RhjpnT1cGWhQhXK0=";
 
   subPackages = [
     "cmd/gtree"
diff --git a/pkgs/tools/text/mdbook-i18n-helpers/default.nix b/pkgs/tools/text/mdbook-i18n-helpers/default.nix
index 6e4ef6d01ad14..e3485f46295a0 100644
--- a/pkgs/tools/text/mdbook-i18n-helpers/default.nix
+++ b/pkgs/tools/text/mdbook-i18n-helpers/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-i18n-helpers";
-  version = "0.2.2";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mdbook-i18n-helpers";
     rev = "refs/tags/${version}";
-    hash = "sha256-ea/z5+QAvQVacP2Yxz9hGh8REjsNbp/rfkDV0f9KyPg=";
+    hash = "sha256-TxSALv/uqRFdv4JZ8BCiAlirMcizGRkw0YxMCBVkgo4=";
   };
 
-  cargoHash = "sha256-4Bf6R8sVwJCFiF+j+WePxWy43KuArIuMCzXKc58+TAw=";
+  cargoHash = "sha256-BhaSK2A/z05a75dEx8c4RHKau1HRJabOcQ6/eLvcdio=";
 
   meta = with lib; {
     description = "Helpers for a mdbook i18n workflow based on Gettext";
diff --git a/pkgs/tools/text/mdbook-katex/default.nix b/pkgs/tools/text/mdbook-katex/default.nix
index 35f43ee467031..7be47c0c8d4d7 100644
--- a/pkgs/tools/text/mdbook-katex/default.nix
+++ b/pkgs/tools/text/mdbook-katex/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-katex";
-  version = "0.5.7";
+  version = "0.5.8";
 
   src = fetchCrate {
     inherit pname version;
-    hash = "sha256-yOZTvCuxb2dqH06xgvS2+Vz9Vev0mI/ZEzdL8JPMu8s=";
+    hash = "sha256-YFrl0YR/+lDJW8GjLF0wk0D6Bx9zUxAoAXd9twaxrmM=";
   };
 
-  cargoHash = "sha256-zjBPOEv8jCn48QbK512O3PfLLeozr8ZHkZcfRQSQnvY=";
+  cargoHash = "sha256-wBaek9AQKwPsg9TzBmS0yBtn1G0KCnmxfmGCGCFNWxc=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/txt2tags/default.nix b/pkgs/tools/text/txt2tags/default.nix
index d15eff7f24b86..8ff39ac1ebfed 100644
--- a/pkgs/tools/text/txt2tags/default.nix
+++ b/pkgs/tools/text/txt2tags/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "txt2tags";
-  version = "3.8";
+  version = "3.9";
 
   format = "setuptools";
 
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "txt2tags";
     repo = "txt2tags";
     rev = "refs/tags/${version}";
-    hash = "sha256-urLsA2oeQM0WcKNDgaxKJOgBPGohJT6Zq6y6bEYMTxk=";
+    hash = "sha256-PwPGJJg79ny13gEb1WmgIVHcXQppI/j5mhIyOZjR19k=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index 878f342101ca0..608ec5345aabd 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-wK952anodjsYvJQhM3V6SXZnt1+jbRTfgN+GfuuhPr8=";
+    hash = "sha256-X2tRjQ948fnyCn7vQbpmDqktMfP4A/s7bVfrKDed5nw=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/video/recyclarr/default.nix b/pkgs/tools/video/recyclarr/default.nix
index b07e91a50c019..f3dce87755329 100644
--- a/pkgs/tools/video/recyclarr/default.nix
+++ b/pkgs/tools/video/recyclarr/default.nix
@@ -26,10 +26,10 @@ let
     or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-vexo2zx6trv5Q8JifLQG93ZNaAY6ym0ShI81HjBUqTs=";
-    arm64-linux_hash = "sha256-oLtXFkE8b9dxmTwttjJbBSOhxkwInGLpD+WNjDy1ktM=";
-    x64-osx_hash = "sha256-fVIGBuOhwaWttmAGECVm3i4GPKer37mRq6cBz1BcsBc=";
-    arm64-osx_hash = "sha256-eD74AcnRxFgD9PvoPYTBqI0/7MGCqu1I2sq8L1XrmMQ=";
+    x64-linux_hash = "sha256-4xBT4IuonAQPSPKedecNd6YjoOh6pe3nCXMXpNBWP1g=";
+    arm64-linux_hash = "sha256-4s/W1Xz0M1L6xm79AJy836OhNmW0Z4YoRsc7Qd5EwaM=";
+    x64-osx_hash = "sha256-IQgKbZrINt6K3ezS+XjUEYoDIYtngvo++RTpCk+SeSc=";
+    arm64-osx_hash = "sha256-9vHzGAH+fbn+x3lm3/UuNfd0Fv8s2MPPGSe5VnaASeg=";
   }."${arch}-${os}_hash";
 
   libPath = {
@@ -40,7 +40,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "recyclarr";
-  version = "5.3.1";
+  version = "6.0.1";
 
   src = fetchurl {
     url = "https://github.com/recyclarr/recyclarr/releases/download/v${version}/recyclarr-${os}-${arch}.tar.xz";
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index 64d5022c2de8c..581b7ee70ec21 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -1,9 +1,5 @@
-{ lib, python3, fetchFromGitHub, glibcLocales, docker-compose_1, git }:
+{ lib, python3, fetchFromGitHub, glibcLocales, git }:
 let
-  docker_compose = changeVersion (with localPython.pkgs; docker-compose_1.override {
-    inherit colorama pyyaml six dockerpty docker jsonschema requests websocket-client paramiko;
-  }).overridePythonAttrs "1.25.5" "sha256-ei622Bc/30COUF5vfUl6wLd3OIcZVCvp5JoO/Ud6UMY=";
-
   changeVersion = overrideFunc: version: hash: overrideFunc (oldAttrs: rec {
     inherit version;
     src = oldAttrs.src.override {
@@ -11,26 +7,23 @@ let
     };
   });
 
-  localPython = python3.override
-    {
-      self = localPython;
-      packageOverrides = self: super: {
-        cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "sha256-h2XtBSwGHXTk0Bia3cM9Jo3lRMohmyWdeXdB9yXkItI=";
-        wcwidth = changeVersion super.wcwidth.overridePythonAttrs "0.1.9" "sha256-7nOGKGKhVr93/5KwkDT8SCXdOvnPgbxbNgZo1CXzxfE=";
-        semantic-version = changeVersion super.semantic-version.overridePythonAttrs "2.8.5" "sha256-0sst4FWHYpNGebmhBOguynr0SMn0l00fPuzP9lHfilQ=";
-      };
+  localPython = python3.override {
+    self = localPython;
+    packageOverrides = self: super: {
+      cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "sha256-h2XtBSwGHXTk0Bia3cM9Jo3lRMohmyWdeXdB9yXkItI=";
     };
+  };
 in
 with localPython.pkgs; buildPythonApplication rec {
   pname = "awsebcli";
-  version = "3.20.9";
+  version = "3.20.10";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-elastic-beanstalk-cli";
     rev = "refs/tags/${version}";
-    hash = "sha256-tnBDEeR+SCHb9UT3pTO7ISm4TVICvVfrV5cfz/60YQY=";
+    hash = "sha256-4JZx0iTMyrPHbuS3zlhpiWnenAQO5eSBJbPHUizLhYo=";
   };
 
   postPatch = ''
@@ -60,7 +53,6 @@ with localPython.pkgs; buildPythonApplication rec {
     tabulate
     termcolor
     websocket-client
-    docker_compose
   ];
 
   pythonRelaxDeps = [
diff --git a/pkgs/tools/virtualization/mkosi/default.nix b/pkgs/tools/virtualization/mkosi/default.nix
index 582f32abfa371..1c99d63741a79 100644
--- a/pkgs/tools/virtualization/mkosi/default.nix
+++ b/pkgs/tools/virtualization/mkosi/default.nix
@@ -50,24 +50,16 @@ let
 in
 buildPythonApplication rec {
   pname = "mkosi";
-  version = "17.1";
+  version = "18";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "systemd";
     repo = "mkosi";
     rev = "v${version}";
-    hash = "sha256-v6so6MFOkxPOnPDgAgni517NX4vUnkPd7o4UMSUHL24=";
+    hash = "sha256-bnd2P6lq1XqKed3m4hDYrR9IcdrPaJxNBL2Z6jCruV4=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fix tests. Remove in next release.
-      url = "https://github.com/systemd/mkosi/commit/3e2642c743b2ccb78fd0a99e75993824034f7124.patch";
-      hash = "sha256-x9xb8Pz7l2FA8pfhQd7KqITxbnjjwBUh0676uggcukI=";
-    })
-  ];
-
   # Fix ctypes finding library
   # https://github.com/NixOS/nixpkgs/issues/7307
   postPatch = lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 5ea4c7d943858..fbca1df96c5e9 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -55,6 +55,7 @@ mapAliases ({
 
   ### A ###
 
+  a4term = a4; # Added 2023-10-06
   airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
   alertmanager-bot = throw "alertmanager-bot is broken and has been archived by upstream" ; # Added 2023-07-28
   alsaLib = alsa-lib; # Added 2021-06-09
@@ -129,9 +130,21 @@ mapAliases ({
   chocolateDoom = chocolate-doom; # Added 2023-05-01
   chrome-gnome-shell = gnome-browser-connector; # Added 2022-07-27
   citra = citra-nightly; # added 2022-05-17
+  clang-ocl = throw "'clang-ocl' has been replaced with 'rocmPackages.clang-ocl'"; # Added 2023-10-08
   inherit (libsForQt5.mauiPackages) clip; # added 2022-05-17
+  composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08
   cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
   crispyDoom = crispy-doom; # Added 2023-05-01
+  clasp = clingo; # added 2022-12-22
+  claws-mail-gtk3 = claws-mail; # Added 2021-07-10
+  cntk = throw "'cntk' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-10-09
+  codimd = hedgedoc; # Added 2020-11-29
+  inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17
+  compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
+  concurrencykit = libck; # Added 2021-03
+  connmanPackages = throw "'connmanPackages' was removed and their subpackages/attributes were promoted to top level."; # Added 2023-10-08
+  cups-kyodialog3 = cups-kyodialog; # Added 2022-11-12
+  cvs_fast_export = cvs-fast-export; # Added 2021-06-10
 
   # these are for convenience, not for backward compat and shouldn't expire
   clang5Stdenv = lowPrio llvmPackages_5.stdenv;
@@ -147,19 +160,8 @@ mapAliases ({
   clang15Stdenv = lowPrio llvmPackages_15.stdenv;
   clang16Stdenv = lowPrio llvmPackages_16.stdenv;
 
-  clasp = clingo; # added 2022-12-22
-  claws-mail-gtk3 = claws-mail; # Added 2021-07-10
-  codimd = hedgedoc; # Added 2020-11-29
-  inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17
-  compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
-  concurrencykit = libck; # Added 2021-03
-
-  cups-kyodialog3 = cups-kyodialog; # Added 2022-11-12
-  cvs_fast_export = cvs-fast-export; # Added 2021-06-10
-
   ### D ###
 
-  oroborus = throw "oroborus was removed, because it was abandoned years ago."; #Added 2023-09-10
   dart_stable = dart; # Added 2020-01-15
   dat = nodePackages.dat;
   deadpixi-sam = deadpixi-sam-unstable;
@@ -332,6 +334,18 @@ mapAliases ({
   haxe_3_2 = throw "'haxe_3_2' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15
   haxe_3_4 = throw "'haxe_3_4' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15
   hepmc = throw "'hepmc' has been renamed to/replaced by 'hepmc2'"; # Converted to throw 2023-09-10
+  hip = throw "'hip' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
+  hipcc = throw "'hipcc' has been replaced with 'rocmPackages.hipcc'"; # Added 2023-10-08
+  hipify = throw "'hipify' has been replaced with 'rocmPackages.hipify'"; # Added 2023-10-08
+  hipcub = throw "'hipcub' has been replaced with 'rocmPackages.hipcub'"; # Added 2023-10-08
+  hipsparse = throw "'hipsparse' has been replaced with 'rocmPackages.hipsparse'"; # Added 2023-10-08
+  hipfort = throw "'hipfort' has been replaced with 'rocmPackages.hipfort'"; # Added 2023-10-08
+  hipfft = throw "'hipfft' has been replaced with 'rocmPackages.hipfft'"; # Added 2023-10-08
+  hipsolver = throw "'hipsolver' has been replaced with 'rocmPackages.hipsolver'"; # Added 2023-10-08
+  hipblas = throw "'hipblas' has been replaced with 'rocmPackages.hipblas'"; # Added 2023-10-08
+  hip-amd = throw "'hip-amd' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
+  hip-common = throw "'hip-common' has been replaced with 'rocmPackages.hip-common'"; # Added 2023-10-08
+  hip-nvidia = throw "'hip-nvidia' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
   ht-rust = xh; # Added 2021-02-13
   hydra-unstable = hydra_unstable; # added 2022-05-10
 
@@ -404,6 +418,7 @@ mapAliases ({
   latinmodern-math = lmmath;
   ldgallery = throw "'ldgallery' has been removed from nixpkgs. Use the Flake provided by ldgallery instead"; # Added 2023-07-26
   lfs = dysk; # Added 2023-07-03
+  llvmPackages_rocm = throw "'llvmPackages_rocm' has been replaced with 'rocmPackages.llvm'"; # Added 2023-10-08
   libayatana-indicator-gtk3 = libayatana-indicator; # Added 2022-10-18
   libayatana-appindicator-gtk3 = libayatana-appindicator; # Added 2022-10-18
   libbencodetools = bencodetools; # Added 2022-07-30
@@ -527,6 +542,11 @@ mapAliases ({
   meme = meme-image-generator; # Added 2021-04-21
   mess = throw "'mess' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
   microsoft_gsl = microsoft-gsl; # Added 2023-05-26
+  migraphx = throw "'migraphx' has been replaced with 'rocmPackages.migraphx'"; # Added 2023-10-08
+  miopen = throw "'miopen' has been replaced with 'rocmPackages.miopen'"; # Added 2023-10-08
+  miopengemm = throw "'miopengemm' has been replaced with 'rocmPackages.miopengemm'"; # Added 2023-10-08
+  miopen-hip = throw "'miopen-hip' has been replaced with 'rocmPackages.miopen-hip'"; # Added 2023-10-08
+  miopen-opencl = throw "'miopen-opencl' has been replaced with 'rocmPackages.miopen-opencl'"; # Added 2023-10-08
   mime-types = mailcap; # Added 2022-01-21
   minizip2 = pkgs.minizip-ng; # Added 2022-12-28
   monero = monero-cli; # Added 2021-11-28
@@ -608,11 +628,11 @@ mapAliases ({
   openssl_3_0 = openssl_3; # Added 2022-06-27
   openvpn_24 = throw "openvpn_24 has been removed, because it went EOL. 2.5.x or newer is still available"; # Added 2023-01-23
   orchis = orchis-theme; # Added 2021-06-09
+  oroborus = throw "oroborus was removed, because it was abandoned years ago."; #Added 2023-09-10
   osxfuse = macfuse-stubs; # Added 2021-03-20
 
   ### P ###
 
-
   packet-cli = metal-cli; # Added 2021-10-25
   palemoon = throw "palemoon has been dropped due to python2 being EOL and marked insecure. Use 'palemoon-bin' instead"; # Added 2023-05-18
   paperless = paperless-ngx; # Added 2021-06-06
@@ -704,10 +724,41 @@ mapAliases ({
   radare2-cutter = cutter; # Added 2021-03-30
   rambox-pro = rambox; # Added 2022-12-12
   rarian = throw "rarian has been removed as unused"; # Added 2023-07-05
+  rccl = throw "'rccl' has been replaced with 'rocmPackages.rccl'"; # Added 2023-10-08
+  rdc = throw "'rdc' has been replaced with 'rocmPackages.rdc'"; # Added 2023-10-08
   retroshare06 = retroshare;
   rigsofrods = rigsofrods-bin; # Added 2023-03-22
   ring-daemon = jami-daemon; # Added 2021-10-26
   rockbox_utility = rockbox-utility; # Added 2022-03-17
+  rocalution = throw "'rocalution' has been replaced with 'rocmPackages.rocalution'"; # Added 2023-10-08
+  rocblas = throw "'rocblas' has been replaced with 'rocmPackages.rocblas'"; # Added 2023-10-08
+  rocfft = throw "'rocfft' has been replaced with 'rocmPackages.rocfft'"; # Added 2023-10-08
+  rocprim = throw "'rocprim' has been replaced with 'rocmPackages.rocprim'"; # Added 2023-10-08
+  rocrand = throw "'rocrand' has been replaced with 'rocmPackages.rocrand'"; # Added 2023-10-08
+  rocsparse = throw "'rocsparse' has been replaced with 'rocmPackages.rocsparse'"; # Added 2023-10-08
+  rocthrust = throw "'rocthrust' has been replaced with 'rocmPackages.rocthrust'"; # Added 2023-10-08
+  roctracer = throw "'roctracer' has been replaced with 'rocmPackages.roctracer'"; # Added 2023-10-08
+  rocwmma = throw "'rocwmma' has been replaced with 'rocmPackages.rocwmma'"; # Added 2023-10-08
+  rocclr = throw "'rocclr' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
+  rocdbgapi = throw "'rocdbgapi' has been replaced with 'rocmPackages.rocdbgapi'"; # Added 2023-10-08
+  rocgdb = throw "'rocgdb' has been replaced with 'rocmPackages.rocgdb'"; # Added 2023-10-08
+  rocprofiler = throw "'rocprofiler' has been replaced with 'rocmPackages.rocprofiler'"; # Added 2023-10-08
+  rocsolver = throw "'rocsolver' has been replaced with 'rocmPackages.rocsolver'"; # Added 2023-10-08
+  rocmClangStdenv = throw "'rocmClangStdenv' has been moved to 'rocmPackages' and is no longer public"; # Added 2023-10-08
+  rocmUpdateScript = throw "'rocmUpdateScript' has been moved to 'rocmPackages' and is no longer public"; # Added 2023-10-08
+  rocminfo = throw "'rocminfo' has been replaced with 'rocmPackages.rocminfo'"; # Added 2023-10-08
+  rocmlir = throw "'rocmlir' has been replaced with 'rocmPackages.rocmlir'"; # Added 2023-10-08
+  rocmlir-rock = throw "'rocmlir-rock' has been replaced with 'rocmPackages.rocmlir-rock'"; # Added 2023-10-08
+  rocm-cmake = throw "'rocm-cmake' has been replaced with 'rocmPackages.rocm-cmake'"; # Added 2023-10-08
+  rocm-comgr = throw "'rocm-comgr' has been replaced with 'rocmPackages.rocm-comgr'"; # Added 2023-10-08
+  rocm-core = throw "'rocm-core' has been replaced with 'rocmPackages.rocm-core'"; # Added 2023-10-08
+  rocm-device-libs = throw "'rccl' has been replaced with 'rocmPackages.rocm-device-libs'"; # Added 2023-10-08
+  rocm-opencl-icd = lib.warn "'rocm-opencl-icd' has been replaced with 'rocmPackages.clr.icd'" rocmPackages.clr.icd; # Added 2023-10-08
+  rocm-opencl-runtime = lib.warn "'rocm-opencl-runtime' has been replaced with 'rocmPackages.clr'" rocmPackages.clr; # Added 2023-10-08
+  rocm-runtime = throw "'rocm-runtime' has been replaced with 'rocmPackages.rocm-runtime'"; # Added 2023-10-08
+  rocm-smi = throw "'rocm-smi' has been replaced with 'rocmPackages.rocm-smi'"; # Added 2023-10-08
+  rocm-thunk = throw "'rocm-thunk' has been replaced with 'rocmPackages.rocm-thunk'"; # Added 2023-10-08
+  rocr-debug-agent = throw "'rocr-debug-agent' has been replaced with 'rocmPackages.rocr-debug-agent'"; # Added 2023-10-08
   rome = throw "rome is no longer maintained, consider using biome instead"; # Added 2023-09-12
   rpiboot-unstable = rpiboot; # Added 2021-07-30
   rr-unstable = rr; # Added 2022-09-17
@@ -796,6 +847,7 @@ mapAliases ({
   taro = taproot-assets; # Added 2023-07-04
   tdesktop = telegram-desktop; # Added 2023-04-07
   telegram-cli = throw "telegram-cli was removed because it was broken and abandoned upstream"; # Added 2023-07-28
+  tensile = throw "'tensile' has been replaced with 'rocmPackages.tensile'"; # Added 2023-10-08
   testVersion = testers.testVersion; # Added 2022-04-20
   invalidateFetcherByDrvHash = testers.invalidateFetcherByDrvHash; # Added 2022-05-05
   timescale-prometheus = promscale; # Added 2020-09-29
@@ -815,6 +867,7 @@ mapAliases ({
   uade123 = uade; # Added 2022-07-30
   uberwriter = apostrophe; # Added 2020-04-23
   ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21
+  uhd3_5 = throw "uhd3_5 has been removed, because it was no longer needed"; # Added 2023-10-07
   uhhyou.lv2 = throw "'uhhyou.lv2' has been removed, upstream gone"; # Added 2023-06-21
   unicorn-emu = unicorn; # Added 2020-10-29
   uniffi-bindgen = throw "uniffi-bindgen has been removed since upstream no longer provides a standalone package for the CLI";
@@ -851,6 +904,10 @@ mapAliases ({
   vivaldi-widevine = throw "'vivaldi-widevine' has been renamed to/replaced by 'widevine-cdm'"; # Added 2023-02-25
   vkBasalt = vkbasalt; # Added 2022-11-22
   vte_290 = throw "'vte_290' has been renamed to/replaced by 'vte'"; # Added 2023-01-05
+  varnish72 = throw "varnish 7.2 is EOL. Either use the LTS or upgrade."; # Added 2023-10-09
+  varnish73 = throw "varnish 7.3 is EOL. Either use the LTS or upgrade."; # Added 2023-10-09
+  varnish72Packages = throw "varnish 7.2 is EOL. Either use the LTS or upgrade."; # Added 2023-10-09
+  varnish73Packages = throw "varnish 7.3 is EOL. Either use the LTS or upgrade."; # Added 2023-10-09
   inherit (libsForQt5.mauiPackages) vvave; # added 2022-05-17
 
   ### W ###
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c460de1f2d2cc..e18715d46f455 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -126,9 +126,6 @@ with pkgs;
 
   common-updater-scripts = callPackage ../common-updater/scripts.nix { };
 
-  # vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix {
-  #   inherit (writers) writePython3Bin;
-  # };
   vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix {
     inherit (python3Packages) buildPythonApplication ;
   };
@@ -430,6 +427,8 @@ with pkgs;
 
   catatonit = callPackage ../applications/virtualization/catatonit { };
 
+  catppuccin = callPackage ../data/themes/catppuccin { };
+
   catppuccin-catwalk = callPackage ../development/tools/misc/catppuccin-catwalk { };
 
   catppuccin-gtk = callPackage ../data/themes/catppuccin-gtk { };
@@ -685,6 +684,8 @@ with pkgs;
 
   frugal = callPackage ../development/tools/frugal { };
 
+  frugally-deep = callPackage ../development/libraries/frugally-deep { };
+
   functiontrace-server = callPackage ../development/tools/functiontrace-server { };
 
   gendef = callPackage ../development/tools/gendef { };
@@ -732,6 +733,11 @@ with pkgs;
     inherit (darwin) DarwinTools;
   };
 
+  rtthost = callPackage ../development/tools/rust/rtthost {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+    inherit (darwin) DarwinTools;
+  };
+
   mix2nix = callPackage ../development/tools/mix2nix { };
 
   n98-magerun = callPackage ../development/tools/misc/n98-magerun { };
@@ -1819,6 +1825,8 @@ with pkgs;
 
   godspeed = callPackage ../tools/networking/godspeed { };
 
+  goodhosts = callPackage ../tools/networking/goodhosts { };
+
   goose = callPackage ../tools/misc/goose { };
 
   gp-saml-gui = python3Packages.callPackage ../tools/networking/gp-saml-gui { };
@@ -2490,7 +2498,9 @@ with pkgs;
 
   labctl = callPackage ../tools/networking/labctl { };
 
-  lefthook = callPackage ../applications/version-management/lefthook { };
+  lefthook = callPackage ../applications/version-management/lefthook {
+    buildGoModule = buildGo121Module;
+  };
 
   legit = callPackage ../applications/version-management/legit { };
 
@@ -2615,6 +2625,10 @@ with pkgs;
 
   dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
 
+  dosbox-x = darwin.apple_sdk_11_0.callPackage ../applications/emulators/dosbox-x {
+    inherit (darwin.apple_sdk_11_0.frameworks) AudioUnit Carbon Cocoa;
+  };
+
   duckstation = qt6Packages.callPackage ../applications/emulators/duckstation { };
 
   dynamips = callPackage ../applications/emulators/dynamips { };
@@ -2987,8 +3001,6 @@ with pkgs;
 
   cool-retro-term = libsForQt5.callPackage ../applications/terminal-emulators/cool-retro-term { };
 
-  ctx = callPackage ../applications/terminal-emulators/ctx { };
-
   darklua = callPackage ../development/tools/darklua { };
 
   darktile = callPackage ../applications/terminal-emulators/darktile { };
@@ -5039,8 +5051,6 @@ with pkgs;
 
   dialect = callPackage ../applications/misc/dialect { };
 
-  dialog = callPackage ../tools/misc/dialog { };
-
   dialogbox = libsForQt5.callPackage ../tools/misc/dialogbox { };
 
   dibbler = callPackage ../tools/networking/dibbler { };
@@ -5564,8 +5574,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
-  gmic = callPackage ../tools/graphics/gmic { };
-
   gmic-qt = libsForQt5.callPackage ../tools/graphics/gmic-qt { };
 
   gpg-tui = callPackage ../tools/security/gpg-tui {
@@ -6036,6 +6044,8 @@ with pkgs;
 
   moodle-dl = callPackage ../tools/networking/moodle-dl { };
 
+  moon-phases = callPackage ../tools/misc/moon-phases { };
+
   moonraker = callPackage ../servers/moonraker { };
 
   morsel = callPackage ../tools/text/morsel { };
@@ -6898,17 +6908,38 @@ with pkgs;
 
   conspy = callPackage ../os-specific/linux/conspy { };
 
-  connmanPackages =
-    recurseIntoAttrs (callPackage ../tools/networking/connman { });
-  inherit (connmanPackages)
-    connman
-    connmanFull
-    connmanMinimal
-    connman_dmenu
-    connman-gtk
-    connman-ncurses
-    connman-notify
-  ;
+  connmanFull = connman.override {
+    # TODO: Why is this in `connmanFull` and not the default build? See TODO in
+    # nixos/modules/services/networking/connman.nix (near the assertions)
+    enableNetworkManagerCompatibility = true;
+    enableHh2serialGps = true;
+    enableL2tp = true;
+    enableIospm = true;
+    enableTist = true;
+  };
+
+  connmanMinimal = connman.override {
+    # enableDatafiles = false; # If disabled, configuration and data files are not installed
+    # enableEthernet = false; # If disabled no ethernet connection can be performed
+    # enableWifi = false; # If disabled no WiFi connection can be performed
+    enableBluetooth = false;
+    enableClient = false;
+    enableDundee = false;
+    enableGadget = false;
+    enableLoopback = false;
+    enableNeard = false;
+    enableOfono = false;
+    enableOpenconnect = false;
+    enableOpenvpn = false;
+    enablePacrunner = false;
+    enablePolkit = false;
+    enablePptp = false;
+    enableStats = false;
+    enableTools = false;
+    enableVpnc = false;
+    enableWireguard = false;
+    enableWispr = false;
+  };
 
   convertlit = callPackage ../tools/text/convertlit { };
 
@@ -7650,8 +7681,6 @@ with pkgs;
 
   dvtm-unstable = callPackage ../tools/misc/dvtm/unstable.nix { };
 
-  a4term = callPackage ../tools/misc/a4term { };
-
   erofs-utils = callPackage ../tools/filesystems/erofs-utils { };
 
   e2tools = callPackage ../tools/filesystems/e2tools { };
@@ -7740,6 +7769,9 @@ with pkgs;
 
   rar2fs = callPackage ../tools/filesystems/rar2fs { };
 
+  rocmPackages = rocmPackages_5;
+  rocmPackages_5 = recurseIntoAttrs (callPackage ../development/rocm-modules/5 { });
+
   rune = callPackage ../development/interpreters/rune { };
 
   s9fes = callPackage ../development/interpreters/s9fes { };
@@ -8244,6 +8276,8 @@ with pkgs;
 
   fbcat = callPackage ../tools/misc/fbcat { };
 
+  fbjni = callPackage ../development/libraries/fbjni { };
+
   fbv = callPackage ../tools/graphics/fbv { };
 
   fbvnc = callPackage ../tools/admin/fbvnc { };
@@ -9729,6 +9763,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
+  kdoctor = callPackage ../development/tools/kdoctor { };
+
   kdbplus = pkgsi686Linux.callPackage ../applications/misc/kdbplus { };
 
   kdigger = callPackage ../tools/security/kdigger { };
@@ -10309,6 +10345,8 @@ with pkgs;
 
   keama = callPackage ../tools/networking/keama { };
 
+  ktailctl = libsForQt5.callPackage ../applications/networking/ktailctl {};
+
   iredis = callPackage ../tools/admin/iredis { };
 
   ispell = callPackage ../tools/text/ispell { };
@@ -10646,6 +10684,7 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
   lxcfs = callPackage ../os-specific/linux/lxcfs { };
+
   lxd = callPackage ../tools/admin/lxd/wrapper.nix { };
   lxd-unwrapped = callPackage ../tools/admin/lxd { };
 
@@ -11458,9 +11497,7 @@ with pkgs;
   openfortivpn = callPackage ../tools/networking/openfortivpn { };
 
   opensnitch = callPackage ../tools/networking/opensnitch/daemon.nix {
-    # Build currently fails on Go > 1.18
-    # See https://github.com/evilsocket/opensnitch/issues/851
-    buildGoModule = buildGo118Module;
+    buildGoModule = buildGo121Module;
   };
 
   opensnitch-ui = libsForQt5.callPackage ../tools/networking/opensnitch/ui.nix { };
@@ -11631,6 +11668,8 @@ with pkgs;
 
   opensp = callPackage ../tools/text/sgml/opensp { };
 
+  opentofu = callPackage ../applications/networking/cluster/opentofu { };
+
   opentrack = libsForQt5.callPackage ../applications/misc/opentrack { };
 
   opentracker = callPackage ../applications/networking/p2p/opentracker { };
@@ -12981,8 +13020,6 @@ with pkgs;
 
   scdl = callPackage ../tools/misc/scdl { };
 
-  scdoc = callPackage ../tools/typesetting/scdoc { };
-
   scorecard = callPackage ../tools/security/scorecard { };
 
   scream = callPackage ../applications/audio/scream { };
@@ -13756,7 +13793,14 @@ with pkgs;
   teleport_12 = callPackage ../servers/teleport/12 {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security AppKit;
   };
-  teleport = teleport_12;
+  teleport_13 = callPackage ../servers/teleport/13 {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security AppKit;
+  };
+  teleport_14 = callPackage ../servers/teleport/14 {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security AppKit;
+    buildGoModule = buildGo121Module;
+  };
+  teleport = teleport_14;
 
   telepresence = callPackage ../tools/networking/telepresence {
     pythonPackages = python3Packages;
@@ -14835,11 +14879,11 @@ with pkgs;
   valum = callPackage ../development/web/valum { };
 
   inherit (callPackages ../servers/varnish { })
-    varnish60 varnish72 varnish73;
+    varnish60 varnish74;
   inherit (callPackages ../servers/varnish/packages.nix { })
-    varnish60Packages varnish72Packages varnish73Packages;
+    varnish60Packages varnish74Packages;
 
-  varnishPackages = varnish72Packages;
+  varnishPackages = varnish74Packages;
   varnish = varnishPackages.varnish;
 
   hitch = callPackage ../servers/hitch { };
@@ -15027,8 +15071,6 @@ with pkgs;
 
   xml2 = callPackage ../tools/text/xml/xml2 { };
 
-  xmldiff = python3Packages.callPackage ../tools/text/xml/xmldiff { };
-
   xmlformat = callPackage ../tools/text/xml/xmlformat { };
 
   xmlroff = callPackage ../tools/typesetting/xmlroff { };
@@ -15679,7 +15721,6 @@ with pkgs;
   clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv;
   clang-sierraHack-stdenv = overrideCC stdenv buildPackages.clang-sierraHack;
   libcxxStdenv = if stdenv.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv;
-  rocmClangStdenv = llvmPackages_rocm.rocmClangStdenv;
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -16412,7 +16453,7 @@ with pkgs;
 
   hugs = callPackage ../development/interpreters/hugs { };
 
-  inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19 openjfx20;
+  inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21;
   openjfx = openjfx17;
 
   openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap;
@@ -16447,6 +16488,11 @@ with pkgs;
   jdk20 = openjdk20;
   jdk20_headless = openjdk20_headless;
 
+  openjdk21 = javaPackages.compiler.openjdk21;
+  openjdk21_headless = javaPackages.compiler.openjdk21.headless;
+  jdk21 = openjdk21;
+  jdk21_headless = openjdk21_headless;
+
   /* default JDK */
   jdk = jdk19;
   jdk_headless = jdk19_headless;
@@ -16729,8 +16775,6 @@ with pkgs;
     targetLlvm = targetPackages.llvmPackages_16.llvm or llvmPackages_16.llvm;
   }));
 
-  llvmPackages_rocm = recurseIntoAttrs (callPackage ../development/compilers/llvm/rocm { });
-
   lorri = callPackage ../tools/misc/lorri {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -16915,223 +16959,8 @@ with pkgs;
 
   rml = callPackage ../development/compilers/rml { };
 
-  composable_kernel = callPackage ../development/libraries/composable_kernel {
-    inherit (llvmPackages_rocm) openmp clang-tools-extra;
-    stdenv = rocmClangStdenv;
-  };
-
-  rocprofiler = callPackage ../development/libraries/rocprofiler {
-    stdenv = rocmClangStdenv;
-  };
-
-  clang-ocl = callPackage ../development/libraries/clang-ocl {
-    stdenv = rocmClangStdenv;
-  };
-
   rgxg = callPackage ../tools/text/rgxg { };
 
-  rocclr = callPackage ../development/libraries/rocclr {
-    stdenv = rocmClangStdenv;
-  };
-
-  hip-common = callPackage ../development/compilers/hip-common {
-    inherit (llvmPackages_rocm) llvm;
-    stdenv = rocmClangStdenv;
-  };
-
-  hipcc = callPackage ../development/compilers/hipcc {
-    inherit (llvmPackages_rocm) llvm;
-    stdenv = rocmClangStdenv;
-  };
-
-  hip = callPackage ../development/compilers/hip {
-    inherit (llvmPackages_rocm) llvm;
-    inherit (cudaPackages) cudatoolkit;
-    stdenv = rocmClangStdenv;
-  };
-
-  hip-amd = hip.override {
-    useNVIDIA = false;
-  };
-
-  hip-nvidia = hip.override {
-    useNVIDIA = true;
-  };
-
-  hipify = callPackage ../development/compilers/hipify {
-    stdenv = rocmClangStdenv;
-  };
-
-  hipcub = callPackage ../development/libraries/hipcub {
-    stdenv = rocmClangStdenv;
-  };
-
-  hipsparse = callPackage ../development/libraries/hipsparse {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  hipfort = callPackage ../development/libraries/hipfort {
-    stdenv = rocmClangStdenv;
-  };
-
-  hipfft = callPackage ../development/libraries/hipfft {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  hipsolver = callPackage ../development/libraries/hipsolver {
-    stdenv = rocmClangStdenv;
-  };
-
-  hipblas = callPackage ../development/libraries/hipblas {
-    stdenv = rocmClangStdenv;
-  };
-
-  migraphx = callPackage ../development/libraries/migraphx {
-    inherit (llvmPackages_rocm) clang-tools-extra openmp;
-    stdenv = rocmClangStdenv;
-    rocmlir = rocmlir-rock;
-  };
-
-  rccl = callPackage ../development/libraries/rccl {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-cmake = callPackage ../development/tools/build-managers/rocm-cmake {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-comgr = callPackage ../development/libraries/rocm-comgr {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocalution = callPackage ../development/libraries/rocalution {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-device-libs = callPackage ../development/libraries/rocm-device-libs {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-opencl-icd = callPackage ../development/libraries/rocm-opencl-icd {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocsolver = callPackage ../development/libraries/rocsolver {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-opencl-runtime = callPackage ../development/libraries/rocm-opencl-runtime {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-runtime = callPackage ../development/libraries/rocm-runtime {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-smi = python3Packages.callPackage ../tools/system/rocm-smi {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocm-thunk = callPackage ../development/libraries/rocm-thunk {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocminfo = callPackage ../development/tools/rocminfo {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocmlir = callPackage ../development/libraries/rocmlir {
-    stdenv = rocmClangStdenv;
-  };
-
-  # Best just use GCC here
-  rdc = callPackage ../development/tools/misc/rdc { };
-
-  # Best just use GCC here
-  rocgdb = callPackage ../development/tools/misc/rocgdb {
-    elfutils = elfutils.override { enableDebuginfod = true; };
-  };
-
-  rocdbgapi = callPackage ../development/libraries/rocdbgapi {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocr-debug-agent = callPackage ../development/libraries/rocr-debug-agent {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocmlir-rock = rocmlir.override {
-    buildRockCompiler = true;
-  };
-
-  rocm-core = callPackage ../development/libraries/rocm-core {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocprim = callPackage ../development/libraries/rocprim {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocsparse = callPackage ../development/libraries/rocsparse {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocfft = callPackage ../development/libraries/rocfft {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  rocrand = callPackage ../development/libraries/rocrand {
-    stdenv = rocmClangStdenv;
-  };
-
-  tensile = python3Packages.callPackage ../development/libraries/tensile {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocwmma = callPackage ../development/libraries/rocwmma {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  rocblas = callPackage ../development/libraries/rocblas {
-    inherit (llvmPackages_rocm) openmp;
-    stdenv = rocmClangStdenv;
-  };
-
-  miopengemm = callPackage ../development/libraries/miopengemm {
-    stdenv = rocmClangStdenv;
-  };
-
-  rocthrust = callPackage ../development/libraries/rocthrust {
-    stdenv = rocmClangStdenv;
-  };
-
-  miopen = callPackage ../development/libraries/miopen {
-    inherit (llvmPackages_rocm) llvm clang-tools-extra;
-    stdenv = rocmClangStdenv;
-    rocmlir = rocmlir-rock;
-    boost = boost179.override { enableStatic = true; };
-  };
-
-  miopen-hip = miopen.override {
-    useOpenCL = false;
-  };
-
-  miopen-opencl = miopen.override {
-    useOpenCL = true;
-  };
-
-  rocmUpdateScript = callPackage ../development/rocm-modules/update-script { };
-
-  # Requires GCC
-  roctracer = callPackage ../development/libraries/roctracer {
-    inherit (llvmPackages_rocm) clang;
-  };
-
   rtags = callPackage ../development/tools/rtags {
     inherit (darwin) apple_sdk;
   };
@@ -17676,7 +17505,10 @@ with pkgs;
   zulip-term = callPackage ../applications/networking/instant-messengers/zulip-term { };
 
   zulu8 = callPackage ../development/compilers/zulu/8.nix { };
-  zulu = callPackage ../development/compilers/zulu { };
+  zulu11 = callPackage ../development/compilers/zulu/11.nix { };
+  zulu17 = callPackage ../development/compilers/zulu/17.nix { };
+  zulu21 = callPackage ../development/compilers/zulu/21.nix { };
+  zulu = zulu11;
 
   ### DEVELOPMENT / INTERPRETERS
 
@@ -17903,6 +17735,9 @@ with pkgs;
 
   konf = callPackage ../development/tools/konf { };
 
+  lambda-lisp = callPackage ../development/interpreters/lambda-lisp { };
+  lambda-lisp-blc = lambda-lisp;
+
   lolcode = callPackage ../development/interpreters/lolcode { };
 
   love_0_10 = callPackage ../development/interpreters/love/0.10.nix { };
@@ -18452,7 +18287,7 @@ with pkgs;
   asdf-vm = callPackage ../tools/misc/asdf-vm { };
 
   rtx = callPackage ../tools/misc/rtx {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
   ### DEVELOPMENT / TOOLS
@@ -20417,7 +20252,9 @@ with pkgs;
   terracognita = callPackage ../development/tools/misc/terracognita { };
 
   terraform-lsp = callPackage ../development/tools/misc/terraform-lsp { };
-  terraform-ls = callPackage ../development/tools/misc/terraform-ls { };
+  terraform-ls = callPackage ../development/tools/misc/terraform-ls {
+    buildGoModule = buildGo121Module;
+  };
 
   terraformer = callPackage ../development/tools/misc/terraformer { };
 
@@ -20491,8 +20328,11 @@ with pkgs;
 
   uefi-firmware-parser = callPackage ../development/tools/analysis/uefi-firmware-parser { };
 
-  uhd3_5 = callPackage ../applications/radio/uhd/3.5.nix { };
   uhd = callPackage ../applications/radio/uhd { };
+  uhdMinimal = uhd.override {
+    enableUtils = false;
+    enablePythonApi = false;
+  };
 
   uisp = callPackage ../development/embedded/uisp { };
 
@@ -20935,14 +20775,10 @@ with pkgs;
 
   cddlib = callPackage ../development/libraries/cddlib { };
 
-  cdk = callPackage ../development/libraries/cdk { };
-
   cdk-go = callPackage ../tools/security/cdk-go { };
 
   cdo = callPackage ../development/libraries/cdo { };
 
-  cimg = callPackage  ../development/libraries/cimg { };
-
   cista = callPackage ../development/libraries/cista { };
 
   cjose = callPackage ../development/libraries/cjose { };
@@ -22510,6 +22346,8 @@ with pkgs;
 
   lensfun = callPackage ../development/libraries/lensfun { };
 
+  lesbar = callPackage ../applications/window-managers/lesbar { };
+
   lesstif = callPackage ../development/libraries/lesstif { };
 
   leveldb = callPackage ../development/libraries/leveldb { };
@@ -25825,6 +25663,8 @@ with pkgs;
 
   xsimd = callPackage ../development/libraries/xsimd { };
 
+  xsimd10 = callPackage ../development/libraries/xsimd/10.nix { };
+
   xtensor = callPackage ../development/libraries/xtensor { };
 
   xtl = callPackage ../development/libraries/xtl { };
@@ -27322,6 +27162,7 @@ with pkgs;
   prometheus-nut-exporter = callPackage ../servers/monitoring/prometheus/nut-exporter.nix { };
   prometheus-openldap-exporter = callPackage ../servers/monitoring/prometheus/openldap-exporter.nix { } ;
   prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
+  prometheus-pgbouncer-exporter = callPackage ../servers/monitoring/prometheus/pgbouncer-exporter.nix { };
   prometheus-php-fpm-exporter = callPackage ../servers/monitoring/prometheus/php-fpm-exporter.nix { };
   prometheus-pihole-exporter = callPackage ../servers/monitoring/prometheus/pihole-exporter.nix {  };
   prometheus-postfix-exporter = callPackage ../servers/monitoring/prometheus/postfix-exporter.nix { };
@@ -27567,8 +27408,6 @@ with pkgs;
 
   searx = callPackage ../servers/web-apps/searx { };
 
-  searxng = python3Packages.toPythonModule (callPackage ../servers/web-apps/searxng { });
-
   selfoss = callPackage ../servers/web-apps/selfoss { };
 
   shaarli = callPackage ../servers/web-apps/shaarli { };
@@ -27716,7 +27555,7 @@ with pkgs;
   mapserver = callPackage ../servers/geospatial/mapserver { };
 
   martin = callPackage ../servers/geospatial/martin {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
   mbtileserver = callPackage ../servers/geospatial/mbtileserver { };
@@ -28315,8 +28154,6 @@ with pkgs;
   linux_5_15_hardened = linuxKernel.kernels.linux_5_15_hardened;
   linuxPackages_6_1_hardened = linuxKernel.packages.linux_6_1_hardened;
   linux_6_1_hardened = linuxKernel.kernels.linux_6_1_hardened;
-  linuxPackages_6_4_hardened = linuxKernel.packages.linux_6_4_hardened;
-  linux_6_4_hardened = linuxKernel.kernels.linux_6_4_hardened;
   linuxPackages_6_5_hardened = linuxKernel.packages.linux_6_5_hardened;
   linux_6_5_hardened = linuxKernel.kernels.linux_6_5_hardened;
 
@@ -29067,7 +28904,9 @@ with pkgs;
   uclibc = uclibc-ng;
   uclibcCross = uclibc-ng-cross;
 
-  eudev = callPackage ../os-specific/linux/eudev { util-linux = util-linuxMinimal; };
+  eudev = callPackage ../by-name/eu/eudev/package.nix {
+    util-linux = util-linuxMinimal;
+  };
 
   libudev0-shim = callPackage ../os-specific/linux/libudev0-shim { };
 
@@ -30204,6 +30043,10 @@ with pkgs;
   source-han-sans = sourceHanPackages.sans;
   source-han-serif = sourceHanPackages.serif;
   source-han-mono = sourceHanPackages.mono;
+  source-han-sans-vf-otf = sourceHanPackages.sans-vf-otf;
+  source-han-sans-vf-ttf = sourceHanPackages.sans-vf-ttf;
+  source-han-serif-vf-otf = sourceHanPackages.serif-vf-otf;
+  source-han-serif-vf-ttf = sourceHanPackages.serif-vf-ttf;
 
   spleen = callPackage ../data/fonts/spleen { };
 
@@ -31825,6 +31668,7 @@ with pkgs;
         # So it will not reference python
         enableModTool = false;
       };
+      uhd = uhdMinimal;
       features = {
         gnuradio-companion = false;
         python-support = false;
@@ -31857,6 +31701,7 @@ with pkgs;
         # So it will not reference python
         enableModTool = false;
       };
+      uhd = uhdMinimal;
       features = {
         gnuradio-companion = false;
         python-support = false;
@@ -31888,6 +31733,7 @@ with pkgs;
       volk = volk.override {
         enableModTool = false;
       };
+      uhd = uhdMinimal;
       features = {
         gnuradio-companion = false;
         python-support = false;
@@ -33046,8 +32892,6 @@ with pkgs;
 
   imgp = python3Packages.callPackage ../applications/graphics/imgp { };
 
-  imhex = callPackage ../applications/editors/imhex { };
-
   inframap = callPackage ../applications/networking/cluster/inframap { };
 
   inkcut = libsForQt5.callPackage ../applications/misc/inkcut { };
@@ -35761,6 +35605,10 @@ with pkgs;
 
   sunvox = callPackage ../applications/audio/sunvox { };
 
+  supersonic-wayland = supersonic.override {
+    waylandSupport = true;
+  };
+
   svkbd = callPackage ../applications/accessibility/svkbd { };
 
   swaglyrics = callPackage ../tools/misc/swaglyrics { };
@@ -36006,6 +35854,7 @@ with pkgs;
 
   timidity = callPackage ../tools/misc/timidity {
     inherit (darwin.apple_sdk.frameworks) CoreAudio;
+    inherit (darwin) libobjc;
   };
 
   tint2 = callPackage ../applications/misc/tint2 { };
@@ -36096,7 +35945,9 @@ with pkgs;
   transmission-gtk = transmission.override { enableGTK3 = true; };
   transmission-qt = transmission.override { enableQt = true; };
 
-  transmission_4 = callPackage ../applications/networking/p2p/transmission/4.nix {
+  # Needs macOS >= 10.14.6
+  transmission_4 = darwin.apple_sdk_11_0.callPackage ../applications/networking/p2p/transmission/4.nix {
+    inherit (darwin.apple_sdk_11_0.frameworks) Foundation;
     fmt = fmt_9;
     libutp = libutp_3_4;
   };
@@ -36784,6 +36635,8 @@ with pkgs;
 
   picom = callPackage ../applications/window-managers/picom { };
 
+  picom-allusive = callPackage ../applications/window-managers/picom/picom-allusive.nix { };
+
   picom-jonaburg = callPackage ../applications/window-managers/picom/picom-jonaburg.nix { };
 
   picom-next = callPackage ../applications/window-managers/picom/picom-next.nix { };
@@ -37291,6 +37144,8 @@ with pkgs;
 
   lndconnect = callPackage ../applications/blockchains/lndconnect { };
 
+  lndinit = callPackage ../applications/blockchains/lndinit { };
+
   lndhub-go = callPackage ../applications/blockchains/lndhub-go { };
 
   lndmanage = callPackage ../applications/blockchains/lndmanage { };
@@ -37870,6 +37725,9 @@ with pkgs;
 
   exult = callPackage ../games/exult { };
 
+  fallout-ce = callPackage ../games/fallout-ce/fallout-ce.nix { };
+  fallout2-ce = callPackage ../games/fallout-ce/fallout2-ce.nix { };
+
   flare = callPackage ../games/flare {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -38255,7 +38113,7 @@ with pkgs;
   openloco = pkgsi686Linux.callPackage ../games/openloco { };
 
   openmw = libsForQt5.callPackage ../games/openmw {
-    inherit (darwin.apple_sdk.frameworks) VideoDecodeAcceleration;
+    inherit (darwin.apple_sdk.frameworks) CoreMedia VideoDecodeAcceleration VideoToolbox;
   };
 
   openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { };
@@ -38468,12 +38326,15 @@ with pkgs;
 
   sfrotz = callPackage ../games/sfrotz { };
 
-  sgtpuzzles = callPackage ../games/sgt-puzzles { };
+  sgt-puzzles = callPackage ../games/sgt-puzzles { };
 
-  sgtpuzzles-mobile = callPackage ../games/sgt-puzzles {
+  sgt-puzzles-mobile = callPackage ../games/sgt-puzzles {
     isMobile = true;
   };
 
+  sgtpuzzles = throw "sgtpuzzles has been renamed to sgt-puzzles."; # 2023-10-06
+  sgtpuzzles-mobile = throw "sgtpuzzles-mobile has been renamed to sgt-puzzles-mobile."; # 2023-10-06
+
   shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { };
 
   shticker-book-unwritten = callPackage ../games/shticker-book-unwritten { };
@@ -39398,9 +39259,7 @@ with pkgs;
 
   lie = callPackage ../applications/science/math/LiE { };
 
-  inherit (callPackage ../development/libraries/science/math/magma {
-    inherit (llvmPackages_rocm) openmp;
-  }) magma magma_2_7_2 magma_2_6_2;
+  inherit (callPackage ../development/libraries/science/math/magma { }) magma magma_2_7_2 magma_2_6_2;
 
   magma-cuda = magma.override {
     cudaSupport = true;
@@ -39411,8 +39270,7 @@ with pkgs;
     static = true;
   };
 
-  # TODO:AMD won't compile with anything newer than 2.6.2 -- it fails at the linking stage.
-  magma-hip = magma_2_6_2.override {
+  magma-hip = magma.override {
     cudaSupport = false;
     rocmSupport = true;
   };
@@ -39976,13 +39834,6 @@ with pkgs;
 
   caffeine-ng = callPackage ../tools/X11/caffeine-ng { };
 
-  cntk = callPackage ../applications/science/math/cntk {
-    stdenv = gcc7Stdenv;
-    inherit (linuxPackages) nvidia_x11;
-    opencv3 = opencv3WithoutCuda; # Used only for image loading.
-    inherit (config) cudaSupport;
-  };
-
   dap = callPackage ../applications/science/math/dap { };
 
   ecm = callPackage ../applications/science/math/ecm { };
@@ -40415,10 +40266,6 @@ with pkgs;
 
   dump = callPackage ../tools/backup/dump { };
 
-  dxvk = callPackage ../misc/dxvk { };
-  dxvk_1 = callPackage ../misc/dxvk/dxvk.nix { dxvkVersion = "1.10"; };
-  dxvk_2 = callPackage ../misc/dxvk/dxvk.nix { };
-
   ec2stepshell = callPackage ../tools/security/ec2stepshell { };
 
   ecdsatool = callPackage ../tools/security/ecdsatool { };
@@ -40646,11 +40493,11 @@ with pkgs;
   # Exceptions are versions that we need to keep to allow upgrades from older NixOS releases
   inherit (callPackage ../applications/networking/cluster/kops {})
     mkKops
-    kops_1_25
     kops_1_26
     kops_1_27
+    kops_1_28
     ;
-  kops = kops_1_27;
+  kops = kops_1_28;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -41320,7 +41167,7 @@ with pkgs;
 
   termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py { };
 
-  inherit (callPackage ../applications/networking/cluster/terraform { })
+  inherit (callPackage ../applications/networking/cluster/terraform { buildGoModule = buildGo121Module; })
     mkTerraform
     terraform_1
     terraform_plugins_test
@@ -41851,6 +41698,8 @@ with pkgs;
 
   nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { };
 
+  nitrokey-app2 = libsForQt5.callPackage ../tools/security/nitrokey-app2 { };
+
   fpm2 = callPackage ../tools/security/fpm2 { };
 
   simplenote = callPackage ../applications/misc/simplenote { };
diff --git a/pkgs/top-level/gnuradio-packages.nix b/pkgs/top-level/gnuradio-packages.nix
index 324a061c703e6..08cc259802408 100644
--- a/pkgs/top-level/gnuradio-packages.nix
+++ b/pkgs/top-level/gnuradio-packages.nix
@@ -20,8 +20,10 @@ let
       boost
       volk
       logLib
+      python
     ;
     inherit mkDerivationWith mkDerivation;
+    inherit gnuradio;
   } // lib.optionalAttrs (gnuradio.hasFeature "gr-uhd") {
     inherit (gnuradio) uhd;
   });
@@ -31,9 +33,6 @@ in {
 
   ### Packages
 
-  inherit gnuradio;
-  inherit (gnuradio) python;
-
   osmosdr = callPackage ../development/gnuradio-modules/osmosdr/default.nix { };
 
   ais = callPackage ../development/gnuradio-modules/ais/default.nix { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index c57302ccaa8b8..71d3f7a7869c3 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -27,6 +27,7 @@ let
     "ghc94"
     "ghc96"
     "ghc962"
+    "ghc963"
     "ghcHEAD"
   ];
 
@@ -47,6 +48,7 @@ let
     "ghc946"
     "ghc96"
     "ghc962"
+    "ghc963"
     "ghcHEAD"
   ];
 
@@ -350,7 +352,25 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
       llvmPackages = pkgs.llvmPackages_15;
     };
-    ghc96 = compiler.ghc962;
+    ghc963 = callPackage ../development/compilers/ghc/9.6.3.nix {
+      bootPkgs =
+        # For GHC 9.2 no armv7l bindists are available.
+        if stdenv.hostPlatform.isAarch32 then
+          packages.ghc924
+        else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
+          packages.ghc924
+        else
+          packages.ghc924Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      # Need to use apple's patched xattr until
+      # https://github.com/xattr/xattr/issues/44 and
+      # https://github.com/xattr/xattr/issues/55 are solved.
+      inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
+      # Support range >= 11 && < 16
+      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_15;
+      llvmPackages = pkgs.llvmPackages_15;
+    };
+    ghc96 = compiler.ghc963;
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs =
         # For GHC 9.2 no armv7l bindists are available.
@@ -503,7 +523,12 @@ in {
       ghc = bh.compiler.ghc962;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
     };
-    ghc96 = packages.ghc962;
+    ghc963 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc963;
+      ghc = bh.compiler.ghc963;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.6.x.nix { };
+    };
+    ghc96 = packages.ghc963;
     ghcHEAD = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghcHEAD;
       ghc = bh.compiler.ghcHEAD;
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index 5d938a12e829a..85383eca38e5b 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -8,11 +8,12 @@ let
   openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
   openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { };
   openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20.nix { };
+  openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21.nix { };
 
   mavenfod = pkgs.maven.buildMavenPackage;
 
 in {
-  inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19 openjfx20;
+  inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21;
 
   compiler = let
 
@@ -141,12 +142,12 @@ in {
 
     openjdk8 = mkOpenjdk
       ../development/compilers/openjdk/8.nix
-      ../development/compilers/openjdk/darwin/8.nix
+      ../development/compilers/zulu/8.nix
       { };
 
     openjdk11 = mkOpenjdk
       ../development/compilers/openjdk/11.nix
-      ../development/compilers/openjdk/darwin/11.nix
+      ../development/compilers/zulu/11.nix
       { openjfx = openjfx11; };
 
     openjdk12 = mkOpenjdkLinuxOnly ../development/compilers/openjdk/12.nix {
@@ -172,7 +173,7 @@ in {
 
     openjdk16 = mkOpenjdk
       ../development/compilers/openjdk/16.nix
-      ../development/compilers/openjdk/darwin/16.nix
+      ../development/compilers/zulu/16.nix
       {
         inherit openjdk16-bootstrap;
         openjfx = openjfx15;
@@ -180,7 +181,7 @@ in {
 
     openjdk17 = mkOpenjdk
       ../development/compilers/openjdk/17.nix
-      ../development/compilers/openjdk/darwin/17.nix
+      ../development/compilers/zulu/17.nix
       {
         inherit openjdk17-bootstrap;
         openjfx = openjfx17;
@@ -188,7 +189,7 @@ in {
 
     openjdk18 = mkOpenjdk
       ../development/compilers/openjdk/18.nix
-      ../development/compilers/openjdk/darwin/18.nix
+      ../development/compilers/zulu/18.nix
       {
         inherit openjdk18-bootstrap;
         openjfx = openjfx17;
@@ -196,7 +197,7 @@ in {
 
     openjdk19 = mkOpenjdk
       ../development/compilers/openjdk/19.nix
-      ../development/compilers/openjdk/darwin/19.nix
+      ../development/compilers/zulu/19.nix
       {
         openjdk19-bootstrap = temurin-bin.jdk-19;
         openjfx = openjfx19;
@@ -204,12 +205,20 @@ in {
 
     openjdk20 = mkOpenjdk
       ../development/compilers/openjdk/20.nix
-      ../development/compilers/openjdk/darwin/20.nix
+      ../development/compilers/zulu/20.nix
       {
         openjdk20-bootstrap = temurin-bin.jdk-20;
         openjfx = openjfx20;
       };
 
+    openjdk21 = mkOpenjdk
+      ../development/compilers/openjdk/21.nix
+      ../development/compilers/zulu/21.nix
+      {
+        openjdk21-bootstrap = temurin-bin.jdk-20;
+        openjfx = openjfx21;
+      };
+
     temurin-bin = recurseIntoAttrs (callPackage (
       if stdenv.isLinux
       then ../development/compilers/temurin-bin/jdk-linux.nix
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 7b746286f055b..44b9897ede153 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -170,7 +170,6 @@ in {
       kernelPatches = [
         kernelPatches.bridge_stp_helper
         kernelPatches.request_key_helper
-        kernelPatches.dell_xps_regression
       ];
     };
 
@@ -183,21 +182,11 @@ in {
       ];
     };
 
-    linux_6_4 = callPackage ../os-specific/linux/kernel/mainline.nix {
-      branch = "6.4";
-      kernelPatches = [
-        kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper
-        kernelPatches.dell_xps_regression
-      ];
-    };
-
     linux_6_5 = callPackage ../os-specific/linux/kernel/mainline.nix {
       branch = "6.5";
       kernelPatches = [
         kernelPatches.bridge_stp_helper
         kernelPatches.request_key_helper
-        kernelPatches.dell_xps_regression
       ];
     };
 
@@ -218,9 +207,15 @@ in {
 
     linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix {
       # Pinned on the last version which Kent's commits can be cleany rebased up.
-      kernel = linux_6_4;
-      kernelPatches = linux_6_4.kernelPatches;
-   };
+      kernel = callPackage ../os-specific/linux/kernel/mainline.nix {
+        branch = "6.4";
+      };
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.dell_xps_regression
+      ];
+    };
 
     linux_hardkernel_4_14 = callPackage ../os-specific/linux/kernel/linux-hardkernel-4.14.nix {
       kernelPatches = [
@@ -281,7 +276,6 @@ in {
     linux_5_10_hardened = hardenedKernelFor kernels.linux_5_10 { };
     linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { };
     linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
-    linux_6_4_hardened = hardenedKernelFor kernels.linux_6_4 { };
     linux_6_5_hardened = hardenedKernelFor kernels.linux_6_5 { };
 
   } // lib.optionalAttrs config.allowAliases {
@@ -291,6 +285,7 @@ in {
     linux_6_0 = throw "linux 6.0 was removed because it has reached its end of life upstream";
     linux_6_2 = throw "linux 6.2 was removed because it has reached its end of life upstream";
     linux_6_3 = throw "linux 6.3 was removed because it has reached its end of life upstream";
+    linux_6_4 = throw "linux 6.4 was removed because it has reached its end of life upstream";
 
     linux_xanmod_tt = throw "linux_xanmod_tt was removed because upstream no longer offers this option";
 
@@ -601,7 +596,6 @@ in {
     linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
     linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
     linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
-    linux_6_4 = recurseIntoAttrs (packagesFor kernels.linux_6_4);
     linux_6_5 = recurseIntoAttrs (packagesFor kernels.linux_6_5);
   } // lib.optionalAttrs config.allowAliases {
     linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
@@ -610,6 +604,7 @@ in {
     linux_6_0 = throw "linux 6.0 was removed because it reached its end of life upstream"; # Added 2023-01-20
     linux_6_2 = throw "linux 6.2 was removed because it reached its end of life upstream"; # Added 2023-05-26
     linux_6_3 = throw "linux 6.3 was removed because it reached its end of life upstream"; # Added 2023-07-22
+    linux_6_4 = throw "linux 6.4 was removed because it reached its end of life upstream"; # Added 2023-10-02
   };
 
   rtPackages = {
@@ -641,7 +636,6 @@ in {
     linux_5_10_hardened = recurseIntoAttrs (packagesFor kernels.linux_5_10_hardened);
     linux_5_15_hardened = recurseIntoAttrs (packagesFor kernels.linux_5_15_hardened);
     linux_6_1_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_1_hardened);
-    linux_6_4_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_4_hardened);
     linux_6_5_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_5_hardened);
 
     linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index b626ae261b2d0..67f2c91beabd0 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -4558,6 +4558,22 @@ with self; {
     };
   };
 
+  CPANAudit = buildPerlPackage {
+    pname = "CPAN-Audit";
+    version = "20230309.004";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/CPAN-Audit-20230309.004.tar.gz";
+      hash = "sha256-RzrvktoYTMY1SqiG8QvwRnjvovHpmxZ/o+nvXOGmS14=";
+    };
+    buildInputs = [ CaptureTiny YAMLTiny ];
+    propagatedBuildInputs = [ CPANDistnameInfo IOInteractive JSON ModuleCPANfile ModuleExtractVERSION PerlIOgzip Mojolicious ];
+    meta = {
+      homepage = "https://github.com/briandfoy/cpan-audit";
+      description = "Audit CPAN distributions for known vulnerabilities";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CPANMini = buildPerlPackage {
     pname = "CPAN-Mini";
     version = "1.111016";
@@ -15680,6 +15696,20 @@ with self; {
     };
   };
 
+  ModuleExtractVERSION = buildPerlPackage {
+    pname = "Module-Extract-VERSION";
+    version = "1.116";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Module-Extract-VERSION-1.116.tar.gz";
+      hash = "sha256-QZA6BoUXgoU0X12oVdkluUVO5xCpeV48TDJ7ri9Vdpg=";
+    };
+    meta = {
+      homepage = "https://github.com/briandfoy/module-extract-version";
+      description = "Extract a module version safely";
+      license = lib.licenses.artistic2;
+    };
+  };
+
   ModuleFind = buildPerlPackage {
     pname = "Module-Find";
     version = "0.15";
@@ -16105,6 +16135,21 @@ with self; {
     };
   };
 
+  MojoliciousPluginI18N = buildPerlModule {
+    pname = "Mojolicious-Plugin-I18N";
+    version = "1.6";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-I18N-1.6.tar.gz";
+      hash = "sha256-Mvte+AN9lUt+zr71wbKyS0IKvYKXAjEvStQnlPUrUU0=";
+    };
+    propagatedBuildInputs = [ Mojolicious ];
+    meta = {
+      homepage = "https://github.com/sharifulin/Mojolicious-Plugin-I18N";
+      description = "Internationalization Plugin for Mojolicious";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   MojoliciousPluginMail = buildPerlModule {
     pname = "Mojolicious-Plugin-Mail";
     version = "1.5";
@@ -28188,6 +28233,22 @@ with self; {
     };
   };
 
+  Yancy = buildPerlPackage {
+    pname = "Yancy";
+    version = "1.088";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PR/PREACTION/Yancy-1.088.tar.gz";
+      hash = "sha256-addqs5ilrGiQc0Paisybr9UZ+0x4WrAU7CagUhA2vSo=";
+    };
+    buildInputs = [ FileShareDirInstall ];
+    propagatedBuildInputs = [ ClassMethodModifiers JSONValidator Mojolicious MojoliciousPluginI18N MojoliciousPluginOpenAPI RoleTiny ];
+    meta = {
+      homepage = "http://preaction.me/yancy/";
+      description = "The Best Web Framework Deserves the Best CMS";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   WebMachine = buildPerlPackage {
     pname = "Web-Machine";
     version = "0.17";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index e1f62aa37313a..70c15626d85f8 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -264,6 +264,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     memcached = callPackage ../development/php-packages/memcached { };
 
+    meminfo = callPackage ../development/php-packages/meminfo { };
+
     mongodb = callPackage ../development/php-packages/mongodb {
       inherit (pkgs) darwin;
     };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 74e3d05a3bb2b..a791b8ccd86c8 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -49,6 +49,7 @@ mapAliases ({
   async_generator = async-generator; # added 2023-08-08
   async_stagger = async-stagger; # added 2023-08-08
   asyncio-nats-client = nats-py; # added 2022-02-08
+  atsim_potentials = atsim-potentials; # added 2023-10-08
   awkward0 = throw "awkward0 has been removed, use awkward instead"; # added 2022-12-13
   Babel = babel; # added 2022-05-06
   backports_csv = throw "backports_csv has been removed, since we no longer need to backport to python2"; # added 2023-07-28
@@ -56,6 +57,7 @@ mapAliases ({
   backports_tempfile = throw "backports_tempfile has been removed, since we no longer need to backport to python3.3"; # added 2023-07-28
   backports_unittest-mock = throw "backports_unittest-mock has been removed, since we no longer need to backport to python3.2"; # added 2023-07-28
   backports_weakref = throw "backports_weakref has been removed, since we no longer need to backport to python3.3"; # added 2023-07-28
+  beancount_docverif = beancount-docverif; # added 2023-10-08
   bedup = throw "bedup was removed because it was broken and abandoned upstream"; # added 2023-02-04
   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
   BlinkStick = blinkstick; # added 2023-02-19
@@ -73,6 +75,7 @@ mapAliases ({
   carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18
   cchardet = faust-cchardet; # added 2023-03-02
   class-registry = phx-class-registry; # added 2021-10-05
+  cntk = throw "cntk has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-10-09
   codespell = throw "codespell has been promoted to a top-level attribute"; # Added 2022-10-02
   ColanderAlchemy = colanderalchemy; # added 2023-02-19
   CommonMark = commonmark; # added 2023-02-1
@@ -84,6 +87,7 @@ mapAliases ({
   d2to1 = throw "d2to1 is archived and no longer works with setuptools v68"; # added 2023-07-30
   dask-xgboost = throw "dask-xgboost was removed because its features are available in xgboost"; # added 2022-05-24
   dateutil = python-dateutil; # added 2021-07-03
+  deep_merge = throw "deep_merge has been removed, since it is no longer maintained and may be broken."; # added 2023-10-09
   demjson = throw "demjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   descartes = throw "descartes has been removed, since it is abandoned and broken"; # added 2023-06-21
   detox = throw "detox is no longer maintained, and was broken since may 2019"; # added 2020-07-04
@@ -126,6 +130,7 @@ mapAliases ({
   Fabric = fabric; # addedd 2023-02-19
   face_recognition = face-recognition; # added 2022-10-15
   face_recognition_models = face-recognition-models; # added 2022-10-15
+  factory_boy = factory-boy; # added 2023-10-08
   fake_factory = throw "fake_factory has been removed because it is unused and deprecated by upstream since 2016."; # added 2022-05-30
   faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12
   inherit (super.pkgs) fetchPypi; # added 2023-05-25
@@ -164,6 +169,7 @@ mapAliases ({
   gpyopt = throw "gpyopt was remove because it's been archived upstream"; # added 2023-06-07
   graphite_api = throw "graphite_api was removed, because it is no longer maintained"; # added 2022-07-10
   graphite_beacon = throw "graphite_beacon was removed, because it is no longer maintained"; # added 2022-07-09
+  grappelli_safe = grappelli-safe; # added 2023-10-08
   grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
   ha-av = throw "ha-av was removed, because it is no longer maintained"; # added 2022-04-06
   HAP-python = hap-python; # added 2021-06-01
@@ -217,6 +223,7 @@ mapAliases ({
   mailman-web = throw "Please use pkgs.mailman-web"; # added 2022-04-29
   manticore = throw "manticore has been removed because its dependency wasm no longer builds and is unmaintained"; # added 2023-05-20
   markerlib = throw "markerlib has been removed because it's abandoned since 2013"; # added 2023-05-19
+  memory_profiler = memory-profiler; # added 2023-10-09
   mistune_0_8 = throw "mistune_0_8 was removed because it was outdated and insecure"; # added 2022-08-12
   mistune_2_0 = mistune; # added 2022-08-12
   mox = throw "mox was removed because it is unmaintained"; # added 2023-02-21
@@ -275,8 +282,13 @@ mapAliases ({
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
   PyMVGLive = pymvglive; # added 2023-02-19
   pyqt4 = throw "pyqt4 has been removed, because it depended on the long EOL qt4"; # added 2022-06-09
+  pyramid_beaker = pyramid-beaker; # added 2023-08-23
+  pyramid_chameleon = pyramid-chameleon; # added 2023-08-23
+  pyramid_exclog = pyramid-exclog; # added 2023-08-24
   pyramid_hawkauth = throw "pyramid_hawkauth has been removed because it is no longer maintained"; # added 2023-02-2
   pyramid_jinja2 = pyramid-jinja2; # added 2023-06-06
+  pyramid_mako = pyramid-mako; # added 2023-08-24
+  pyramid_multiauth = pyramid-multiauth; # added 2023-08-24
   pyreadability = readability-lxml; # added 2022-05-24
   pyres = throw "pyres has been removed, since it is abandoned and broken"; # added 2023-06-20
   pyroute2-core = throw "pyroute2 migrated back to a single package scheme in version 0.7.1"; # added 2022-07-16
@@ -407,5 +419,7 @@ mapAliases ({
   zc_buildout_nix = throw "zc_buildout_nix was pinned to a version no longer compatible with other modules";
   zope_broken = throw "zope_broken has been removed because it is obsolete and not needed in zodb>=3.10"; # added 2023-07-26
   zope_component = zope-component; # added 2023-07-28
+  zope_deprecation = zope-deprecation; # added 2023-10-07
   zope_i18nmessageid = zope-i18nmessageid; # added 2023-07-29
+  zope_proxy = zope-proxy; # added 2023-10-07
 })
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a3e8bb1255b9f..6e845f54927d7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -572,6 +572,8 @@ self: super: with self; {
 
   ansiwrap = callPackage ../development/python-modules/ansiwrap { };
 
+  anthemav = callPackage ../development/python-modules/anthemav { };
+
   anthropic = callPackage ../development/python-modules/anthropic { };
 
   antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime {
@@ -616,6 +618,8 @@ self: super: with self; {
 
   appdirs = callPackage ../development/python-modules/appdirs { };
 
+  apple-weatherkit = callPackage ../development/python-modules/apple-weatherkit { };
+
   applicationinsights = callPackage ../development/python-modules/applicationinsights { };
 
   appnope = callPackage ../development/python-modules/appnope { };
@@ -856,7 +860,7 @@ self: super: with self; {
 
   atpublic = callPackage ../development/python-modules/atpublic { };
 
-  atsim_potentials = callPackage ../development/python-modules/atsim_potentials { };
+  atsim-potentials = callPackage ../development/python-modules/atsim-potentials { };
 
   attrdict = callPackage ../development/python-modules/attrdict { };
 
@@ -1295,6 +1299,8 @@ self: super: with self; {
     inherit (pkgs.ocaml-ng.ocamlPackages) bap;
   };
 
+  barectf = callPackage ../development/python-modules/barectf { };
+
   baron = callPackage ../development/python-modules/baron { };
 
   base36 = callPackage ../development/python-modules/base36 { };
@@ -1362,7 +1368,7 @@ self: super: with self; {
 
   beancount-parser = callPackage ../development/python-modules/beancount-parser { };
 
-  beancount_docverif = callPackage ../development/python-modules/beancount_docverif { };
+  beancount-docverif = callPackage ../development/python-modules/beancount-docverif { };
 
   beanstalkc = callPackage ../development/python-modules/beanstalkc { };
 
@@ -2145,8 +2151,6 @@ self: super: with self; {
 
   cmsis-svd = callPackage ../development/python-modules/cmsis-svd { };
 
-  cntk = callPackage ../development/python-modules/cntk { };
-
   cnvkit = callPackage ../development/python-modules/cnvkit { };
 
   co2signal = callPackage ../development/python-modules/co2signal { };
@@ -2653,8 +2657,6 @@ self: super: with self; {
 
   deep-chainmap = callPackage ../development/python-modules/deep-chainmap { };
 
-  deep_merge = callPackage ../development/python-modules/deep_merge { };
-
   deepdiff = callPackage ../development/python-modules/deepdiff { };
 
   deepdish = callPackage ../development/python-modules/deepdish { };
@@ -3551,6 +3553,8 @@ self: super: with self; {
 
   es-client = callPackage ../development/python-modules/es-client { };
 
+  esig = callPackage ../development/python-modules/esig { };
+
   espeak-phonemizer = callPackage ../development/python-modules/espeak-phonemizer { };
 
   esphome-dashboard-api = callPackage ../development/python-modules/esphome-dashboard-api { };
@@ -3712,7 +3716,7 @@ self: super: with self; {
 
   face-recognition-models = callPackage ../development/python-modules/face-recognition/models.nix { };
 
-  factory_boy = callPackage ../development/python-modules/factory_boy { };
+  factory-boy = callPackage ../development/python-modules/factory-boy { };
 
   fairscale = callPackage ../development/python-modules/fairscale { };
 
@@ -3967,6 +3971,8 @@ self: super: with self; {
 
   flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { };
 
+  flask-mysqldb = callPackage ../development/python-modules/flask-mysqldb { };
+
   flask-openid = callPackage ../development/python-modules/flask-openid { };
 
   flask-paginate = callPackage ../development/python-modules/flask-paginate { };
@@ -4685,7 +4691,7 @@ self: super: with self; {
     inherit (pkgs) graphviz;
   };
 
-  grappelli_safe = callPackage ../development/python-modules/grappelli_safe { };
+  grappelli-safe = callPackage ../development/python-modules/grappelli-safe { };
 
   graspologic = callPackage ../development/python-modules/graspologic { };
 
@@ -5204,6 +5210,8 @@ self: super: with self; {
     inherit (pkgs) igraph;
   };
 
+  iisignature = callPackage ../development/python-modules/iisignature { };
+
   ijson = callPackage ../development/python-modules/ijson { };
 
   ilua = callPackage ../development/python-modules/ilua { };
@@ -6363,6 +6371,8 @@ self: super: with self; {
 
   looseversion = callPackage ../development/python-modules/looseversion { };
 
+  loqedapi = callPackage ../development/python-modules/loqedapi { };
+
   losant-rest = callPackage ../development/python-modules/losant-rest { };
 
   lrcalc-python = callPackage ../development/python-modules/lrcalc-python { };
@@ -6467,6 +6477,8 @@ self: super: with self; {
 
   managesieve = callPackage ../development/python-modules/managesieve { };
 
+  mando = callPackage ../development/python-modules/mando { };
+
   mandown = callPackage ../development/python-modules/mandown { };
 
   manhole = callPackage ../development/python-modules/manhole { };
@@ -6648,7 +6660,7 @@ self: super: with self; {
 
   memory-allocator = callPackage ../development/python-modules/memory-allocator { };
 
-  memory_profiler = callPackage ../development/python-modules/memory_profiler { };
+  memory-profiler = callPackage ../development/python-modules/memory-profiler { };
 
   meraki = callPackage ../development/python-modules/meraki { };
 
@@ -8339,7 +8351,7 @@ self: super: with self; {
 
   open-meteo = callPackage ../development/python-modules/open-meteo { };
 
-  openai-triton = callPackage ../development/python-modules/openai-triton { llvmPackages = pkgs.llvmPackages_rocm; };
+  openai-triton = callPackage ../development/python-modules/openai-triton { cudaPackages = pkgs.cudaPackages_12_0; };
 
   openai-triton-bin = callPackage ../development/python-modules/openai-triton/bin.nix { };
 
@@ -9181,6 +9193,8 @@ self: super: with self; {
 
   python-heatclient = callPackage ../development/python-modules/python-heatclient { };
 
+  python-hl7 = callPackage ../development/python-modules/python-hl7 { };
+
   python-ipmi = callPackage ../development/python-modules/python-ipmi { };
 
   python-ipware = callPackage ../development/python-modules/python-ipware { };
@@ -9925,6 +9939,8 @@ self: super: with self; {
 
   pyeclib = callPackage ../development/python-modules/pyeclib { };
 
+  pyecoforest = callPackage ../development/python-modules/pyecoforest { };
+
   pyeconet = callPackage ../development/python-modules/pyeconet { };
 
   pyecowitt = callPackage ../development/python-modules/pyecowitt { };
@@ -10596,6 +10612,8 @@ self: super: with self; {
 
   pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { };
 
+  pyqt5-stubs = callPackage ../development/python-modules/pyqt5-stubs { };
+
   pyqt5_sip = callPackage ../development/python-modules/pyqt/sip.nix { };
 
   pyqt5_with_qtmultimedia = self.pyqt5.override {
@@ -10660,19 +10678,19 @@ self: super: with self; {
 
   pyrainbird = callPackage ../development/python-modules/pyrainbird { };
 
-  pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
+  pyramid-beaker = callPackage ../development/python-modules/pyramid-beaker { };
 
   pyramid = callPackage ../development/python-modules/pyramid { };
 
-  pyramid_chameleon = callPackage ../development/python-modules/pyramid_chameleon { };
+  pyramid-chameleon = callPackage ../development/python-modules/pyramid-chameleon { };
 
-  pyramid_exclog = callPackage ../development/python-modules/pyramid_exclog { };
+  pyramid-exclog = callPackage ../development/python-modules/pyramid-exclog { };
 
   pyramid-jinja2 = callPackage ../development/python-modules/pyramid-jinja2 { };
 
-  pyramid_mako = callPackage ../development/python-modules/pyramid_mako { };
+  pyramid-mako = callPackage ../development/python-modules/pyramid-mako { };
 
-  pyramid_multiauth = callPackage ../development/python-modules/pyramid_multiauth { };
+  pyramid-multiauth = callPackage ../development/python-modules/pyramid-multiauth { };
 
   pyrate-limiter = callPackage ../development/python-modules/pyrate-limiter { };
 
@@ -10780,6 +10798,8 @@ self: super: with self; {
 
   pyserial-asyncio = callPackage ../development/python-modules/pyserial-asyncio { };
 
+  pyserial-asyncio-fast = callPackage ../development/python-modules/pyserial-asyncio-fast { };
+
   pyserial = callPackage ../development/python-modules/pyserial { };
 
   pysftp = callPackage ../development/python-modules/pysftp { };
@@ -11699,6 +11719,8 @@ self: super: with self; {
 
   pywerview = callPackage ../development/python-modules/pywerview { };
 
+  pywfa = callPackage ../development/python-modules/pywfa { };
+
   pywilight = callPackage ../development/python-modules/pywilight { };
 
   pywinrm = callPackage ../development/python-modules/pywinrm { };
@@ -11739,6 +11761,8 @@ self: super: with self; {
 
   pyyaml-include = callPackage ../development/python-modules/pyyaml-include { };
 
+  pyyardian = callPackage ../development/python-modules/pyyardian { };
+
   pyzerproc = callPackage ../development/python-modules/pyzerproc { };
 
   pyzmq = callPackage ../development/python-modules/pyzmq { };
@@ -11815,6 +11839,8 @@ self: super: with self; {
 
   qstylizer = callPackage ../development/python-modules/qstylizer { };
 
+  qt-material = callPackage ../development/python-modules/qt-material { };
+
   qt5reactor = callPackage ../development/python-modules/qt5reactor { };
 
   qt6 = pkgs.qt6.override {
@@ -11888,6 +11914,8 @@ self: super: with self; {
 
   radish-bdd = callPackage ../development/python-modules/radish-bdd { };
 
+  radon = callPackage ../development/python-modules/radon { };
+
   railroad-diagrams = callPackage ../development/python-modules/railroad-diagrams { };
 
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
@@ -12087,6 +12115,8 @@ self: super: with self; {
 
   requests-pkcs12 = callPackage ../development/python-modules/requests-pkcs12 { };
 
+  requests-ratelimiter = callPackage ../development/python-modules/requests-ratelimiter { };
+
   requests-toolbelt = callPackage ../development/python-modules/requests-toolbelt { };
 
   requests-unixsocket = callPackage ../development/python-modules/requests-unixsocket { };
@@ -13185,6 +13215,8 @@ self: super: with self; {
 
   spyse-python = callPackage ../development/python-modules/spyse-python { };
 
+  sqids = callPackage ../development/python-modules/sqids { };
+
   sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
 
   sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
@@ -13257,6 +13289,8 @@ self: super: with self; {
 
   stack-data = callPackage ../development/python-modules/stack-data { };
 
+  stanio = callPackage ../development/python-modules/stanio { };
+
   stanza = callPackage ../development/python-modules/stanza { };
 
   starlette = callPackage ../development/python-modules/starlette {
@@ -13381,6 +13415,8 @@ self: super: with self; {
 
   subzerod = callPackage ../development/python-modules/subzerod { };
 
+  succulent = callPackage ../development/python-modules/succulent { };
+
   sumo = callPackage ../development/python-modules/sumo { };
 
   sumtypes = callPackage ../development/python-modules/sumtypes { };
@@ -13872,7 +13908,6 @@ self: super: with self; {
       else pkgs.magma;
     inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate CoreServices;
     inherit (pkgs.darwin) libobjc;
-    inherit (pkgs.llvmPackages_rocm) openmp;
   };
 
   torch-bin = callPackage ../development/python-modules/torch/bin.nix {
@@ -14145,6 +14180,718 @@ self: super: with self; {
 
   type-infer = callPackage ../development/python-modules/type-infer { };
 
+  types-aiobotocore = callPackage ../development/python-modules/types-aiobotocore { };
+
+  inherit (callPackage ../development/python-modules/types-aiobotocore-packages { })
+
+    types-aiobotocore-accessanalyzer
+
+    types-aiobotocore-account
+
+    types-aiobotocore-acm
+
+    types-aiobotocore-acm-pca
+
+    types-aiobotocore-alexaforbusiness
+
+    types-aiobotocore-amp
+
+    types-aiobotocore-amplify
+
+    types-aiobotocore-amplifybackend
+
+    types-aiobotocore-amplifyuibuilder
+
+    types-aiobotocore-apigateway
+
+    types-aiobotocore-apigatewaymanagementapi
+
+    types-aiobotocore-apigatewayv2
+
+    types-aiobotocore-appconfig
+
+    types-aiobotocore-appconfigdata
+
+    types-aiobotocore-appfabric
+
+    types-aiobotocore-appflow
+
+    types-aiobotocore-appintegrations
+
+    types-aiobotocore-application-autoscaling
+
+    types-aiobotocore-application-insights
+
+    types-aiobotocore-applicationcostprofiler
+
+    types-aiobotocore-appmesh
+
+    types-aiobotocore-apprunner
+
+    types-aiobotocore-appstream
+
+    types-aiobotocore-appsync
+
+    types-aiobotocore-arc-zonal-shift
+
+    types-aiobotocore-athena
+
+    types-aiobotocore-auditmanager
+
+    types-aiobotocore-autoscaling
+
+    types-aiobotocore-autoscaling-plans
+
+    types-aiobotocore-backup
+
+    types-aiobotocore-backup-gateway
+
+    types-aiobotocore-backupstorage
+
+    types-aiobotocore-batch
+
+    types-aiobotocore-billingconductor
+
+    types-aiobotocore-braket
+
+    types-aiobotocore-budgets
+
+    types-aiobotocore-ce
+
+    types-aiobotocore-chime
+
+    types-aiobotocore-chime-sdk-identity
+
+    types-aiobotocore-chime-sdk-media-pipelines
+
+    types-aiobotocore-chime-sdk-meetings
+
+    types-aiobotocore-chime-sdk-messaging
+
+    types-aiobotocore-chime-sdk-voice
+
+    types-aiobotocore-cleanrooms
+
+    types-aiobotocore-cloud9
+
+    types-aiobotocore-cloudcontrol
+
+    types-aiobotocore-clouddirectory
+
+    types-aiobotocore-cloudformation
+
+    types-aiobotocore-cloudfront
+
+    types-aiobotocore-cloudhsm
+
+    types-aiobotocore-cloudhsmv2
+
+    types-aiobotocore-cloudsearch
+
+    types-aiobotocore-cloudsearchdomain
+
+    types-aiobotocore-cloudtrail
+
+    types-aiobotocore-cloudtrail-data
+
+    types-aiobotocore-cloudwatch
+
+    types-aiobotocore-codeartifact
+
+    types-aiobotocore-codebuild
+
+    types-aiobotocore-codecatalyst
+
+    types-aiobotocore-codecommit
+
+    types-aiobotocore-codedeploy
+
+    types-aiobotocore-codeguru-reviewer
+
+    types-aiobotocore-codeguru-security
+
+    types-aiobotocore-codeguruprofiler
+
+    types-aiobotocore-codepipeline
+
+    types-aiobotocore-codestar
+
+    types-aiobotocore-codestar-connections
+
+    types-aiobotocore-codestar-notifications
+
+    types-aiobotocore-cognito-identity
+
+    types-aiobotocore-cognito-idp
+
+    types-aiobotocore-cognito-sync
+
+    types-aiobotocore-comprehend
+
+    types-aiobotocore-comprehendmedical
+
+    types-aiobotocore-compute-optimizer
+
+    types-aiobotocore-config
+
+    types-aiobotocore-connect
+
+    types-aiobotocore-connect-contact-lens
+
+    types-aiobotocore-connectcampaigns
+
+    types-aiobotocore-connectcases
+
+    types-aiobotocore-connectparticipant
+
+    types-aiobotocore-controltower
+
+    types-aiobotocore-cur
+
+    types-aiobotocore-customer-profiles
+
+    types-aiobotocore-databrew
+
+    types-aiobotocore-dataexchange
+
+    types-aiobotocore-datapipeline
+
+    types-aiobotocore-datasync
+
+    types-aiobotocore-dax
+
+    types-aiobotocore-detective
+
+    types-aiobotocore-devicefarm
+
+    types-aiobotocore-devops-guru
+
+    types-aiobotocore-directconnect
+
+    types-aiobotocore-discovery
+
+    types-aiobotocore-dlm
+
+    types-aiobotocore-dms
+
+    types-aiobotocore-docdb
+
+    types-aiobotocore-docdb-elastic
+
+    types-aiobotocore-drs
+
+    types-aiobotocore-ds
+
+    types-aiobotocore-dynamodb
+
+    types-aiobotocore-dynamodbstreams
+
+    types-aiobotocore-ebs
+
+    types-aiobotocore-ec2
+
+    types-aiobotocore-ec2-instance-connect
+
+    types-aiobotocore-ecr
+
+    types-aiobotocore-ecr-public
+
+    types-aiobotocore-ecs
+
+    types-aiobotocore-efs
+
+    types-aiobotocore-eks
+
+    types-aiobotocore-elastic-inference
+
+    types-aiobotocore-elasticache
+
+    types-aiobotocore-elasticbeanstalk
+
+    types-aiobotocore-elastictranscoder
+
+    types-aiobotocore-elb
+
+    types-aiobotocore-elbv2
+
+    types-aiobotocore-emr
+
+    types-aiobotocore-emr-containers
+
+    types-aiobotocore-emr-serverless
+
+    types-aiobotocore-entityresolution
+
+    types-aiobotocore-es
+
+    types-aiobotocore-events
+
+    types-aiobotocore-evidently
+
+    types-aiobotocore-finspace
+
+    types-aiobotocore-finspace-data
+
+    types-aiobotocore-firehose
+
+    types-aiobotocore-fis
+
+    types-aiobotocore-fms
+
+    types-aiobotocore-forecast
+
+    types-aiobotocore-forecastquery
+
+    types-aiobotocore-frauddetector
+
+    types-aiobotocore-fsx
+
+    types-aiobotocore-gamelift
+
+    types-aiobotocore-gamesparks
+
+    types-aiobotocore-glacier
+
+    types-aiobotocore-globalaccelerator
+
+    types-aiobotocore-glue
+
+    types-aiobotocore-grafana
+
+    types-aiobotocore-greengrass
+
+    types-aiobotocore-greengrassv2
+
+    types-aiobotocore-groundstation
+
+    types-aiobotocore-guardduty
+
+    types-aiobotocore-health
+
+    types-aiobotocore-healthlake
+
+    types-aiobotocore-honeycode
+
+    types-aiobotocore-iam
+
+    types-aiobotocore-identitystore
+
+    types-aiobotocore-imagebuilder
+
+    types-aiobotocore-importexport
+
+    types-aiobotocore-inspector
+
+    types-aiobotocore-inspector2
+
+    types-aiobotocore-internetmonitor
+
+    types-aiobotocore-iot
+
+    types-aiobotocore-iot-data
+
+    types-aiobotocore-iot-jobs-data
+
+    types-aiobotocore-iot-roborunner
+
+    types-aiobotocore-iot1click-devices
+
+    types-aiobotocore-iot1click-projects
+
+    types-aiobotocore-iotanalytics
+
+    types-aiobotocore-iotdeviceadvisor
+
+    types-aiobotocore-iotevents
+
+    types-aiobotocore-iotevents-data
+
+    types-aiobotocore-iotfleethub
+
+    types-aiobotocore-iotfleetwise
+
+    types-aiobotocore-iotsecuretunneling
+
+    types-aiobotocore-iotsitewise
+
+    types-aiobotocore-iotthingsgraph
+
+    types-aiobotocore-iottwinmaker
+
+    types-aiobotocore-iotwireless
+
+    types-aiobotocore-ivs
+
+    types-aiobotocore-ivs-realtime
+
+    types-aiobotocore-ivschat
+
+    types-aiobotocore-kafka
+
+    types-aiobotocore-kafkaconnect
+
+    types-aiobotocore-kendra
+
+    types-aiobotocore-kendra-ranking
+
+    types-aiobotocore-keyspaces
+
+    types-aiobotocore-kinesis
+
+    types-aiobotocore-kinesis-video-archived-media
+
+    types-aiobotocore-kinesis-video-media
+
+    types-aiobotocore-kinesis-video-signaling
+
+    types-aiobotocore-kinesis-video-webrtc-storage
+
+    types-aiobotocore-kinesisanalytics
+
+    types-aiobotocore-kinesisanalyticsv2
+
+    types-aiobotocore-kinesisvideo
+
+    types-aiobotocore-kms
+
+    types-aiobotocore-lakeformation
+
+    types-aiobotocore-lambda
+
+    types-aiobotocore-lex-models
+
+    types-aiobotocore-lex-runtime
+
+    types-aiobotocore-lexv2-models
+
+    types-aiobotocore-lexv2-runtime
+
+    types-aiobotocore-license-manager
+
+    types-aiobotocore-license-manager-linux-subscriptions
+
+    types-aiobotocore-license-manager-user-subscriptions
+
+    types-aiobotocore-lightsail
+
+    types-aiobotocore-location
+
+    types-aiobotocore-logs
+
+    types-aiobotocore-lookoutequipment
+
+    types-aiobotocore-lookoutmetrics
+
+    types-aiobotocore-lookoutvision
+
+    types-aiobotocore-m2
+
+    types-aiobotocore-machinelearning
+
+    types-aiobotocore-macie
+
+    types-aiobotocore-macie2
+
+    types-aiobotocore-managedblockchain
+
+    types-aiobotocore-managedblockchain-query
+
+    types-aiobotocore-marketplace-catalog
+
+    types-aiobotocore-marketplace-entitlement
+
+    types-aiobotocore-marketplacecommerceanalytics
+
+    types-aiobotocore-mediaconnect
+
+    types-aiobotocore-mediaconvert
+
+    types-aiobotocore-medialive
+
+    types-aiobotocore-mediapackage
+
+    types-aiobotocore-mediapackage-vod
+
+    types-aiobotocore-mediapackagev2
+
+    types-aiobotocore-mediastore
+
+    types-aiobotocore-mediastore-data
+
+    types-aiobotocore-mediatailor
+
+    types-aiobotocore-medical-imaging
+
+    types-aiobotocore-memorydb
+
+    types-aiobotocore-meteringmarketplace
+
+    types-aiobotocore-mgh
+
+    types-aiobotocore-mgn
+
+    types-aiobotocore-migration-hub-refactor-spaces
+
+    types-aiobotocore-migrationhub-config
+
+    types-aiobotocore-migrationhuborchestrator
+
+    types-aiobotocore-migrationhubstrategy
+
+    types-aiobotocore-mobile
+
+    types-aiobotocore-mq
+
+    types-aiobotocore-mturk
+
+    types-aiobotocore-mwaa
+
+    types-aiobotocore-neptune
+
+    types-aiobotocore-network-firewall
+
+    types-aiobotocore-networkmanager
+
+    types-aiobotocore-nimble
+
+    types-aiobotocore-oam
+
+    types-aiobotocore-omics
+
+    types-aiobotocore-opensearch
+
+    types-aiobotocore-opensearchserverless
+
+    types-aiobotocore-opsworks
+
+    types-aiobotocore-opsworkscm
+
+    types-aiobotocore-organizations
+
+    types-aiobotocore-osis
+
+    types-aiobotocore-outposts
+
+    types-aiobotocore-panorama
+
+    types-aiobotocore-payment-cryptography
+
+    types-aiobotocore-payment-cryptography-data
+
+    types-aiobotocore-personalize
+
+    types-aiobotocore-personalize-events
+
+    types-aiobotocore-personalize-runtime
+
+    types-aiobotocore-pi
+
+    types-aiobotocore-pinpoint
+
+    types-aiobotocore-pinpoint-email
+
+    types-aiobotocore-pinpoint-sms-voice
+
+    types-aiobotocore-pinpoint-sms-voice-v2
+
+    types-aiobotocore-pipes
+
+    types-aiobotocore-polly
+
+    types-aiobotocore-pricing
+
+    types-aiobotocore-privatenetworks
+
+    types-aiobotocore-proton
+
+    types-aiobotocore-qldb
+
+    types-aiobotocore-qldb-session
+
+    types-aiobotocore-quicksight
+
+    types-aiobotocore-ram
+
+    types-aiobotocore-rbin
+
+    types-aiobotocore-rds
+
+    types-aiobotocore-rds-data
+
+    types-aiobotocore-redshift
+
+    types-aiobotocore-redshift-data
+
+    types-aiobotocore-redshift-serverless
+
+    types-aiobotocore-rekognition
+
+    types-aiobotocore-resiliencehub
+
+    types-aiobotocore-resource-explorer-2
+
+    types-aiobotocore-resource-groups
+
+    types-aiobotocore-resourcegroupstaggingapi
+
+    types-aiobotocore-robomaker
+
+    types-aiobotocore-rolesanywhere
+
+    types-aiobotocore-route53
+
+    types-aiobotocore-route53-recovery-cluster
+
+    types-aiobotocore-route53-recovery-control-config
+
+    types-aiobotocore-route53-recovery-readiness
+
+    types-aiobotocore-route53domains
+
+    types-aiobotocore-route53resolver
+
+    types-aiobotocore-rum
+
+    types-aiobotocore-s3
+
+    types-aiobotocore-s3control
+
+    types-aiobotocore-s3outposts
+
+    types-aiobotocore-sagemaker
+
+    types-aiobotocore-sagemaker-a2i-runtime
+
+    types-aiobotocore-sagemaker-edge
+
+    types-aiobotocore-sagemaker-featurestore-runtime
+
+    types-aiobotocore-sagemaker-geospatial
+
+    types-aiobotocore-sagemaker-metrics
+
+    types-aiobotocore-sagemaker-runtime
+
+    types-aiobotocore-savingsplans
+
+    types-aiobotocore-scheduler
+
+    types-aiobotocore-schemas
+
+    types-aiobotocore-sdb
+
+    types-aiobotocore-secretsmanager
+
+    types-aiobotocore-securityhub
+
+    types-aiobotocore-securitylake
+
+    types-aiobotocore-serverlessrepo
+
+    types-aiobotocore-service-quotas
+
+    types-aiobotocore-servicecatalog
+
+    types-aiobotocore-servicecatalog-appregistry
+
+    types-aiobotocore-servicediscovery
+
+    types-aiobotocore-ses
+
+    types-aiobotocore-sesv2
+
+    types-aiobotocore-shield
+
+    types-aiobotocore-signer
+
+    types-aiobotocore-simspaceweaver
+
+    types-aiobotocore-sms
+
+    types-aiobotocore-sms-voice
+
+    types-aiobotocore-snow-device-management
+
+    types-aiobotocore-snowball
+
+    types-aiobotocore-sns
+
+    types-aiobotocore-sqs
+
+    types-aiobotocore-ssm
+
+    types-aiobotocore-ssm-contacts
+
+    types-aiobotocore-ssm-incidents
+
+    types-aiobotocore-ssm-sap
+
+    types-aiobotocore-sso
+
+    types-aiobotocore-sso-admin
+
+    types-aiobotocore-sso-oidc
+
+    types-aiobotocore-stepfunctions
+
+    types-aiobotocore-storagegateway
+
+    types-aiobotocore-sts
+
+    types-aiobotocore-support
+
+    types-aiobotocore-support-app
+
+    types-aiobotocore-swf
+
+    types-aiobotocore-synthetics
+
+    types-aiobotocore-textract
+
+    types-aiobotocore-timestream-query
+
+    types-aiobotocore-timestream-write
+
+    types-aiobotocore-tnb
+
+    types-aiobotocore-transcribe
+
+    types-aiobotocore-transfer
+
+    types-aiobotocore-translate
+
+    types-aiobotocore-verifiedpermissions
+
+    types-aiobotocore-voice-id
+
+    types-aiobotocore-vpc-lattice
+
+    types-aiobotocore-waf
+
+    types-aiobotocore-waf-regional
+
+    types-aiobotocore-wafv2
+
+    types-aiobotocore-wellarchitected
+
+    types-aiobotocore-wisdom
+
+    types-aiobotocore-workdocs
+
+    types-aiobotocore-worklink
+
+    types-aiobotocore-workmail
+
+    types-aiobotocore-workmailmessageflow
+
+    types-aiobotocore-workspaces
+
+    types-aiobotocore-workspaces-web
+
+    types-aiobotocore-xray
+
+  ;
+
   types-appdirs = callPackage ../development/python-modules/types-appdirs { };
 
   types-awscrt = callPackage ../development/python-modules/types-awscrt { };
@@ -15155,7 +15902,7 @@ self: super: with self; {
 
   zope-deferredimport = callPackage ../development/python-modules/zope-deferredimport { };
 
-  zope_deprecation = callPackage ../development/python-modules/zope_deprecation { };
+  zope-deprecation = callPackage ../development/python-modules/zope-deprecation { };
 
   zope_dottedname = callPackage ../development/python-modules/zope_dottedname { };
 
@@ -15175,7 +15922,7 @@ self: super: with self; {
 
   zope_location = callPackage ../development/python-modules/zope_location { };
 
-  zope_proxy = callPackage ../development/python-modules/zope_proxy { };
+  zope-proxy = callPackage ../development/python-modules/zope-proxy { };
 
   zope_schema = callPackage ../development/python-modules/zope_schema { };
 
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 3365032f4188f..3f24254538298 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -71,6 +71,7 @@ let
     ghc945
     ghc946
     ghc962
+    ghc963
   ];
 
   # packagePlatforms applied to `haskell.packages.*`
@@ -493,9 +494,11 @@ let
       ] released;
       hoogle = lib.subtractLists [
         compilerNames.ghc962
+        compilerNames.ghc963
       ] released;
       hlint = lib.subtractLists [
         compilerNames.ghc962
+        compilerNames.ghc963
       ] released;
       hpack = released;
       hsdns = released;
@@ -537,6 +540,7 @@ let
         compilerNames.ghc945
         compilerNames.ghc946
         compilerNames.ghc962
+        compilerNames.ghc963
       ];
       hashable = released;
       primitive = released;
@@ -551,6 +555,7 @@ let
         compilerNames.ghc945
         compilerNames.ghc946
         compilerNames.ghc962
+        compilerNames.ghc963
       ];
     })
     {
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index ad5f351b9c87b..f66179d2e90d4 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -10,9 +10,18 @@
 */
 { nixpkgs ? { outPath = (import ../../lib).cleanSource ../..; revCount = 1234; shortRev = "abcdef"; revision = "0000000000000000000000000000000000000000"; }
 , officialRelease ? false
-  # The platforms for which we build Nixpkgs.
+  # The platform doubles for which we build Nixpkgs.
 , supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]
-, limitedSupportedSystems ? [ "i686-linux" ]
+  # The platform triples for which we build bootstrap tools.
+, bootstrapConfigs ? [
+    "aarch64-apple-darwin"
+    "aarch64-unknown-linux-gnu"
+    "aarch64-unknown-linux-musl"
+    "i686-unknown-linux-gnu"
+    "x86_64-apple-darwin"
+    "x86_64-unknown-linux-gnu"
+    "x86_64-unknown-linux-musl"
+  ]
   # Strip most of attributes when evaluating to spare memory usage
 , scrubJobs ? true
   # Attributes passed to nixpkgs. Don't build packages marked as unfree.
@@ -35,12 +44,10 @@ with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs;
 
 let
 
-  systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems;
-
   supportDarwin = lib.genAttrs [
     "x86_64"
     "aarch64"
-  ] (arch: builtins.elem "${arch}-darwin" systemsWithAnySupport);
+  ] (arch: builtins.elem "${arch}-darwin" supportedSystems);
 
   nonPackageJobs =
     { tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
@@ -113,6 +120,7 @@ let
               jobs.cargo.x86_64-linux
               jobs.go.x86_64-linux
               jobs.linux.x86_64-linux
+              jobs.nix.x86_64-linux
               jobs.pandoc.x86_64-linux
               jobs.python3.x86_64-linux
               # Needed by contributors to test PRs (by inclusion of the PR template)
@@ -125,6 +133,8 @@ let
               jobs.cachix.x86_64-linux
 
               /*
+              TODO: re-add tests; context: https://github.com/NixOS/nixpkgs/commit/36587a587ab191eddd868179d63c82cdd5dee21b
+
               jobs.tests.cc-wrapper.default.x86_64-linux
               jobs.tests.cc-wrapper.gcc7Stdenv.x86_64-linux
               jobs.tests.cc-wrapper.gcc8Stdenv.x86_64-linux
@@ -151,6 +161,7 @@ let
               jobs.go.x86_64-darwin
               jobs.python3.x86_64-darwin
               jobs.nixpkgs-review.x86_64-darwin
+              jobs.nix.x86_64-darwin
               jobs.nix-info.x86_64-darwin
               jobs.nix-info-tested.x86_64-darwin
               jobs.git.x86_64-darwin
@@ -173,25 +184,42 @@ let
               jobs.tests.macOSSierraShared.x86_64-darwin
               jobs.tests.stdenv.hooks.patch-shebangs.x86_64-darwin
               */
+            ]
+            ++ lib.optionals supportDarwin.aarch64 [
+              jobs.stdenv.aarch64-darwin
+              jobs.cargo.aarch64-darwin
+              jobs.cachix.aarch64-darwin
+              jobs.go.aarch64-darwin
+              jobs.python3.aarch64-darwin
+              jobs.nixpkgs-review.aarch64-darwin
+              jobs.nix.aarch64-darwin
+              jobs.nix-info.aarch64-darwin
+              jobs.nix-info-tested.aarch64-darwin
+              jobs.git.aarch64-darwin
+              jobs.mariadb.aarch64-darwin
+              jobs.vim.aarch64-darwin
+              jobs.inkscape.aarch64-darwin
+              jobs.qt5.qtmultimedia.aarch64-darwin
+              /* consider adding tests, as suggested above for x86_64-darwin */
             ];
         };
 
       stdenvBootstrapTools = with lib;
-        genAttrs systemsWithAnySupport (system:
-          if hasSuffix "-linux" system then
+        genAttrs bootstrapConfigs (config:
+          if hasInfix "-linux-" config then
             let
               bootstrap = import ../stdenv/linux/make-bootstrap-tools.nix {
                 pkgs = import ../.. {
-                  localSystem = { inherit system; };
+                  localSystem = { inherit config; };
                 };
               };
             in {
               inherit (bootstrap) dist test;
             }
-          else if hasSuffix "-darwin" system then
+          else if hasSuffix "-darwin" config then
             let
               bootstrap = import ../stdenv/darwin/make-bootstrap-tools.nix {
-                localSystem = { inherit system; };
+                localSystem = { inherit config; };
               };
             in {
               # Lightweight distribution and test
@@ -201,7 +229,7 @@ let
               #inherit (bootstrap.test-pkgs) stdenv;
             }
           else
-            abort "No bootstrap implementation for system: ${system}"
+            abort "No bootstrap implementation for system: ${config}"
         );
     };
 
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index 540610bccbd55..247cbfc21e6c0 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -1,14 +1,14 @@
 {
   actioncable = {
-    dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"];
+    dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "117vxic67jnw6q637kmsb3ryj0x485295pz9a9y4z8xn9bdlsl0z";
+      sha256 = "04byz5614vjb7mzzn8l4ff121m7d7jnr0wa8fl47i3ax8a4hrmrb";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r8ldj2giaz8cn49qkdqn5zc29gbsr5ky4fg6r7ali0yh1xh684l";
+      sha256 = "0kf2zd0m9p8im4f8176qywgacbi33ri517v52qr2qd8gk731knx2";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@@ -27,21 +27,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w6gvj7ybniq89834hqww9rj2xypz9l91f8niwaws2yq1qklymr2";
+      sha256 = "0abw1z8a1rpdkd3mwjsm0x207hvy0kqrp7d23rldvwk9ff5p9g5c";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+    dependencies = ["actionview" "activesupport" "nokogiri" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l319p0gipfgq8bp8dvbv97qqb72rad9zcqn5snhgv20cmpqr69b";
+      sha256 = "0hdcq6d55vs5cdj1rgr13vn10mfwdkphsahiiz4i2j9f3wz8rp7g";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i47r3n2m8qm002gx7c0lx1pv15pr2zy57dm8j38x960rsb655pp";
+      sha256 = "0q6c3jpr8av62bgb1pc8f7xh11kwd41dysi0aychx260glw80llp";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xnpdwj1d8m6c2d90jp9cs50ggiz0jj02ls2h9lg68k4k8mnjbd2";
+      sha256 = "1c6k5d7agz4svnvycdharcffkd5zwrwrl8cmyqn9lrral3lhkiy2";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn1ic7ml75jm0c10s7cm5mvcgfnafj0kjvvjavpjcxgz6lxcqyb";
+      sha256 = "02sawsi5r7pwvg0kmx9i2l9n69nqs406wsxlypbh8cpj8h0aawlk";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -82,43 +82,43 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004w8zaz2g3y6lnrsvlcmljll0m3ndqpgwf0wfscgq6iysibiglm";
+      sha256 = "01jrk2i6vp8jcll65d03mqmp1ibxa0ip7bdg5157fkm5syblzsqw";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   activerecord = {
-    dependencies = ["activemodel" "activesupport"];
+    dependencies = ["activemodel" "activesupport" "timeout"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04wavps80q3pvhvfbmi4gs102y1p6mxbg8xylzvib35b6m92adpj";
+      sha256 = "1lpcbgqbrb3yfk3i66mnxa5i36r0ig9dwzksjbm15i30rndr27p5";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   activestorage = {
-    dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
+    dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d6vm6alsp0g6f3548b615zxbz8l2wrmaikwgsf8kv11wf6swb4c";
+      sha256 = "1g4ic06i3lkinziq6amhczdw0swq54cglb35by2lmfm8g5wkn0cb";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   activesupport = {
-    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5";
+      sha256 = "1xpwx7hw7mgmjk3w3g8bkz5jfapixhgn3ihly0xkpyvgp1shp8h1";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -373,10 +373,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c25gpi6vrv4fvhwfqscjq5pqqg3g3s3vjm6z8xmgbi9bl9m7ws8";
+      sha256 = "1mwcdg1i4126jf2qcsp4mhd1vqzqd8ck08wpyassz1sg0a8yxw4j";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.0";
   };
   cocoapods-acknowledgements = {
     dependencies = ["cocoapods" "redcarpet" "xcodeproj"];
@@ -394,10 +394,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yi4dgl6w6fs35szsxb4z24d7svmqgxyr4ma4hsrcsb2pv4qk3xj";
+      sha256 = "1qxwlsqwg6wa2aa3acf4jvgi3vpxlpdj8qq35jyhkyl16n4hrr1b";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   cocoapods-browser = {
     dependencies = ["cocoapods"];
@@ -436,10 +436,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03hz6i56603j3zlxy9is74bgs88isrnj9y7xc6wakr4c0m238hv9";
+      sha256 = "1g944vch2mllh8lijbfgl0c2kn9gi5vsg9y9v67x0qca5b1bx4id";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.0";
   };
   cocoapods-coverage = {
     dependencies = ["cocoapods-testing" "slather"];
@@ -529,10 +529,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06rvrsb5p4j9pwqg7xzx8kv0v4x3wwjbiw6y2i905qhyqxqrww2l";
+      sha256 = "0216rwc4r0z0a1gvckphn7x9qk7zn00ivc49kv0hgafmrmaf2wy3";
       type = "gem";
     };
-    version = "2.2.4";
+    version = "2.2.5";
   };
   cocoapods-git_url_rewriter = {
     groups = ["default"];
@@ -917,6 +917,17 @@
     };
     version = "2.8.1";
   };
+  drb = {
+    dependencies = ["ruby2_keywords"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h9c2qiam82y3caapa2x157j1lkk9954hrjg3p22hxcsk8fli3vb";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
   e2mmap = {
     groups = ["default"];
     platforms = [];
@@ -1006,31 +1017,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mbkyyadz9vw7mzixi9dks6i6iw033yn2hzwfvnfdvgqq6ywqs4g";
+      sha256 = "104vrqqy6bszbhpvabgz9ra7dm6lnb5jwzwqm2fks0ka44spknyl";
       type = "gem";
     };
-    version = "0.102.0";
+    version = "0.104.0";
   };
   execjs = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd";
+      sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.9.1";
   };
   faraday = {
-    dependencies = ["faraday-net_http" "ruby2_keywords"];
+    dependencies = ["base64" "faraday-net_http" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9";
+      sha256 = "0vn7jwss2v6jhnxvjsiwbs3irjwhbx9zxn4l6fhd4rkcfyxzdnw5";
       type = "gem";
     };
-    version = "2.7.10";
+    version = "2.7.11";
   };
   faraday-net_http = {
     groups = ["default"];
@@ -1047,10 +1058,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
+      sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.3";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1302,10 +1313,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "154svzqlkdq7gslv3p8mfih28gbw4gsj4pd8wr1wpwz6nyzmhh8m";
+      sha256 = "1i6xmglna30galqdsq7iq0pwxxwyrs57ymwmxhash4jhnsk7wk7z";
       type = "gem";
     };
-    version = "6.1.2";
+    version = "6.2.3";
   };
   hashie = {
     groups = ["default"];
@@ -1482,6 +1493,27 @@
     };
     version = "8.0.0";
   };
+  io-console = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  irb = {
+    dependencies = ["rdoc" "reline"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17p6arsklbzh2hvwwr8i4cfrpa7vhk8q88fhickhwmn7m80lxdw7";
+      type = "gem";
+    };
+    version = "1.8.1";
+  };
   jaro_winkler = {
     groups = ["default"];
     platforms = [];
@@ -2229,10 +2261,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
+      sha256 = "0yjv0apysnrhbc70ralinfpcqn9382lxr643swp7a5sdwpa9cyqg";
       type = "gem";
     };
-    version = "3.2023.0808";
+    version = "3.2023.1003";
   };
   mini_magick = {
     groups = ["default"];
@@ -2326,6 +2358,16 @@
     };
     version = "3.0.0";
   };
+  mutex_m = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pkxnp7p44kvs460bbbgjarr7xy1j8kjjmhwkg1kypj9wgmwb6qa";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
   mysql2 = {
     groups = ["default"];
     platforms = [];
@@ -2382,10 +2424,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
+      sha256 = "129h6qs08iyl976zzs96pqbigd82rz89jn3fd71xi0s82q7sl0h0";
       type = "gem";
     };
-    version = "0.3.7";
+    version = "0.4.0";
   };
   net-pop = {
     dependencies = ["net-protocol"];
@@ -2426,10 +2468,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x";
+      sha256 = "1rx3758w0bmbr21s2nsc6llflsrnp50fwdnly3ixra4v53gbhzid";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "0.4.0";
   };
   net-ssh = {
     groups = ["default"];
@@ -2510,10 +2552,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c649921vg2l939z5cc3jwd8p1v49099pdhxfk7sb9qqx5wi5873";
+      sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.2.0";
   };
   optimist = {
     groups = ["default"];
@@ -2553,10 +2595,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hi3jcm9s7hkv35gzgdh3nxs0s9h7kkqwv1x6kalww15msk60fxd";
+      sha256 = "1rqjqv5gk89xdyva8i6lak5hsd97mcrsk4l6bdg94ig98ac55as5";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   pango = {
     dependencies = ["cairo-gobject" "gobject-introspection"];
@@ -2585,10 +2627,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h";
+      sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
       type = "gem";
     };
-    version = "3.2.2.3";
+    version = "3.2.2.4";
   };
   paru = {
     groups = ["default"];
@@ -2726,6 +2768,17 @@
     };
     version = "1.4.0";
   };
+  psych = {
+    dependencies = ["stringio"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz";
+      type = "gem";
+    };
+    version = "5.1.0";
+  };
   public_suffix = {
     groups = ["default"];
     platforms = [];
@@ -2742,10 +2795,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
+      sha256 = "1y8jcw80zcxvdq0id329lzmp5pzx7hpac227d7sgjkblc89s3pfm";
       type = "gem";
     };
-    version = "6.3.1";
+    version = "6.4.0";
   };
   pwntools = {
     dependencies = ["crabstone" "dentaku" "elftools" "keystone-engine" "method_source" "one_gadget" "rainbow" "ruby2ruby" "rubyserial"];
@@ -2789,6 +2842,17 @@
     };
     version = "3.1.0";
   };
+  rack-session = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11w6yd60n8ng1ncs1ajlv42dg08yks09drlsgriydgpcjwz21d40";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   rack-test = {
     dependencies = ["rack"];
     groups = ["default"];
@@ -2800,16 +2864,27 @@
     };
     version = "2.1.0";
   };
+  rackup = {
+    dependencies = ["rack" "webrick"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
   rails = {
     dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rsqin156dawz7gzpy1ijs02afqcr4704vqj56s6yxng3a9ayhwf";
+      sha256 = "0bzzryklzna9lsmf34sj52x1wvb81wxwaiwa95hblan11wng43jk";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "minitest" "nokogiri"];
@@ -2834,15 +2909,15 @@
     version = "1.6.0";
   };
   railties = {
-    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"];
+    dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sfc16zrcn4jgf5xczb08n6prhmqqgg9f0b4mn73zlzg6cwmqchj";
+      sha256 = "0iyjy761sfk238by4br38j5a24bwvfhsr3wjm5yqf4gjw1srr7rx";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.1.0";
   };
   rainbow = {
     groups = ["default"];
@@ -2926,15 +3001,27 @@
     };
     version = "1.8.0";
   };
+  rdoc = {
+    dependencies = ["psych"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm";
+      type = "gem";
+    };
+    version = "6.5.0";
+  };
   re2 = {
+    dependencies = ["mini_portile2"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00yryimbkm1k85n99f81n7cripkmh14459c9pmb7prl9nbiikkqc";
+      sha256 = "13xfrx1wwq7n2qsw449fq8h611n05v400i9dz9k6pdia019hp8q3";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "2.1.3";
   };
   red-colors = {
     dependencies = ["matrix"];
@@ -2996,10 +3083,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i426w3yqd43xi877c1qqkrrr5s1zx2h46g8n738lx1g21sfd684";
+      sha256 = "17mhr1g3lmacrgjndbmrklngy32g55165n53111q70kykx7qjn7j";
       type = "gem";
     };
-    version = "1.9.2";
+    version = "1.10.0";
   };
   regexp_parser = {
     groups = ["default"];
@@ -3011,6 +3098,17 @@
     };
     version = "2.8.1";
   };
+  reline = {
+    dependencies = ["io-console"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0187pj9k7d8kdvzjk6r6mf7z7wy18saxxhn7x7pqc840w6h4s0ja";
+      type = "gem";
+    };
+    version = "0.3.9";
+  };
   rest-client = {
     dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"];
     groups = ["default"];
@@ -3134,10 +3232,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hr8g9pqw3w87a83kqcxpayrx4jmsziharrg4vqw0gr9kksx2dfv";
+      sha256 = "0wgnf17sq22f4f79r44hxbd1w0ivvl89mbjshpzqzd4zk199y8wq";
       type = "gem";
     };
-    version = "1.56.2";
+    version = "1.56.4";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -3156,10 +3254,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v3a2g3wk3aqa0k0zzla10qkxlc625zkj3yf4zcsybs86r5bm4xn";
+      sha256 = "1pzsrnjmrachdjxzl9jpw47cydicn3408vgdg3a4bss4v5r42rjj";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.19.1";
   };
   ruby-graphviz = {
     dependencies = ["rexml"];
@@ -3194,15 +3292,15 @@
     version = "0.8.0";
   };
   ruby-lsp = {
-    dependencies = ["language_server-protocol" "sorbet-runtime" "syntax_tree" "yarp"];
+    dependencies = ["language_server-protocol" "sorbet-runtime" "yarp"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1310xzjad432d18w882q6j9xgwim6fslgrmh78v49xc8py7rszyk";
+      sha256 = "0drw0zbymw9bb2jln5arqk8vw1w0h68bk8h87ppws72695z5r6vb";
       type = "gem";
     };
-    version = "0.9.4";
+    version = "0.11.1";
   };
   ruby-lxc = {
     groups = ["default"];
@@ -3399,10 +3497,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12vybpvczsd7sybvz44h35n5yzwsbp1d3qn743qw5gs6p362f2av";
+      sha256 = "0xxdnal3qh53kvp72ykf6jbcv7m69bjg61h59awp3xbzmdqli7q5";
       type = "gem";
     };
-    version = "5.72.0";
+    version = "5.73.0";
   };
   sequel_pg = {
     dependencies = ["pg" "sequel"];
@@ -3484,10 +3582,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kdigir21jinkkj4q3cjsswix26lmff1rmnwjz2ywc6y9d8ib9ak";
+      sha256 = "1zw9iqvg6a0cri1v1pwymsxw5cjic4vcmi0ziss123d3g175fi3w";
       type = "gem";
     };
-    version = "2.7.4";
+    version = "2.7.5";
   };
   slop = {
     groups = ["default"];
@@ -3535,10 +3633,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dz1h8sjb1rv52673ji0ji95zfy7vfbl6id52p2f3046xk0snjib";
+      sha256 = "12jxz8xwy1mr4yfrdfs2zhf3pigli8bk0pdc5lnf82vdk8vadpmy";
       type = "gem";
     };
-    version = "0.5.11011";
+    version = "0.5.11064";
   };
   sqlite3 = {
     dependencies = ["mini_portile2"];
@@ -3546,10 +3644,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kpxfxpjv5h1is0s9zj7d6grh4bsvr0cf6b976mpamdrc39gw9pv";
+      sha256 = "15415lmz69jbzl6nch4q5l2jxv054676nk6y0vgy0g3iklmjrxvc";
       type = "gem";
     };
-    version = "1.6.5";
+    version = "1.6.6";
+  };
+  stringio = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ix96dxbjqlpymdigb4diwrifr0bq7qhsrng95fkkp18av326nqk";
+      type = "gem";
+    };
+    version = "3.0.8";
   };
   syntax_tree = {
     dependencies = ["prettier_print"];
@@ -3557,10 +3665,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "162m5xhbiq315bncp49ziddws537dv09pqsgrzsrmhhsymhgy0zb";
+      sha256 = "0g9l9acknjr2yz8ynfxbcrwx2ws3wh96pfzdb31g66k08v1022m5";
       type = "gem";
     };
-    version = "6.1.1";
+    version = "6.2.0";
   };
   syntax_tree-haml = {
     dependencies = ["haml" "prettier_print" "syntax_tree"];
@@ -3599,10 +3707,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09p32vp94sa1mbr0if0adf02yzc4ns00lsmpwns2xbkncwpzrqm4";
+      sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.10.3";
   };
   terminal-table = {
     groups = ["default"];
@@ -3639,10 +3747,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7";
+      sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   timeout = {
     groups = ["default"];
@@ -3765,10 +3873,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
+      sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.0";
   };
   uuid4r = {
     groups = ["default"];
@@ -3791,6 +3899,16 @@
     };
     version = "7.0.0";
   };
+  webrick = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r";
+      type = "gem";
+    };
+    version = "1.8.1";
+  };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
     groups = ["default"];
@@ -3828,10 +3946,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s7hxaqd1fi4rlmm2jbrglyvka1r95frlxan61vfcnd8n6pxynpi";
+      sha256 = "176ndahc5fssyx04q176vy6wngs1av4vrsdrkdpjij700hqll8hn";
       type = "gem";
     };
-    version = "1.22.0";
+    version = "1.23.0";
   };
   xctasks = {
     groups = ["default"];
@@ -3858,20 +3976,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bz9lkbcj0q1njggin5g9gi4v15x8qj3dma5vmwibfnf5mzznvx5";
+      sha256 = "1nqmiw4477afgk2n9ily1gvk78hvg7zj24cdah10m8m8va21r9ir";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.12.0";
   };
   zeitwerk = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd";
+      sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn";
       type = "gem";
     };
-    version = "2.6.11";
+    version = "2.6.12";
   };
   zookeeper = {
     groups = ["default"];