about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/flacon/default.nix4
-rw-r--r--pkgs/applications/audio/jmusicbot/default.nix4
-rw-r--r--pkgs/applications/audio/mpg321/default.nix53
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/blockchains/bitcoin-knots/default.nix9
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix13
-rw-r--r--pkgs/applications/blockchains/openethereum/Cargo.lock5476
-rw-r--r--pkgs/applications/blockchains/openethereum/default.nix62
-rw-r--r--pkgs/applications/editors/ed/sources.nix4
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix1280
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix1197
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix554
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json5033
-rw-r--r--pkgs/applications/editors/emacs/make-emacs.nix46
-rw-r--r--pkgs/applications/editors/jetbrains/bin/versions.json176
-rw-r--r--pkgs/applications/editors/jetbrains/plugins/plugins.json138
-rw-r--r--pkgs/applications/editors/kakoune/default.nix28
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/macvim.nix3
-rw-r--r--pkgs/applications/editors/vim/plugins/deprecated.json14
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix666
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix306
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-clap/Cargo.lock1307
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-clap/default.nix4
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json54
-rw-r--r--pkgs/applications/emulators/vbam/default.nix6
-rw-r--r--pkgs/applications/finance/irpf/default.nix6
-rw-r--r--pkgs/applications/gis/zombietrackergps/default.nix74
-rw-r--r--pkgs/applications/graphics/halftone/default.nix6
-rw-r--r--pkgs/applications/graphics/symbolic-preview/default.nix6
-rw-r--r--pkgs/applications/misc/HentaiAtHome/default.nix4
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix2
-rw-r--r--pkgs/applications/misc/electrum/ltc-aiorpcX-version-bump.patch44
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix20
-rw-r--r--pkgs/applications/misc/goldendict-ng/default.nix6
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock10
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix16
-rw-r--r--pkgs/applications/misc/kratos/default.nix30
-rw-r--r--pkgs/applications/misc/onagre/default.nix41
-rw-r--r--pkgs/applications/misc/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix6
-rw-r--r--pkgs/applications/misc/waypaper/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix77
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py5
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix2
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/gatekeeper/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-explore/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubevpn/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/temporal-cli/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock1197
-rw-r--r--pkgs/applications/networking/instant-messengers/flare-signal/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/twitch-tui/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/onionshare/default.nix30
-rw-r--r--pkgs/applications/networking/p2p/xd/default.nix4
-rw-r--r--pkgs/applications/networking/pyload-ng/default.nix8
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix3
-rw-r--r--pkgs/applications/networking/sync/lcsync/default.nix4
-rw-r--r--pkgs/applications/networking/weather/meteo/default.nix2
-rw-r--r--pkgs/applications/networking/xpipe/default.nix4
-rw-r--r--pkgs/applications/office/planify/default.nix4
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix1
-rw-r--r--pkgs/applications/radio/qlog/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/siril/default.nix19
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/science/math/pynac/default.nix18
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix4
-rw-r--r--pkgs/applications/version-management/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-town/default.nix22
-rw-r--r--pkgs/applications/version-management/gitbatch/default.nix9
-rw-r--r--pkgs/applications/video/anilibria-winmaclinux/default.nix4
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix26
-rw-r--r--pkgs/applications/video/kodi/addons/visualization-projectm/default.nix4
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix6
-rw-r--r--pkgs/applications/video/mpv/scripts/evafast.nix3
-rw-r--r--pkgs/applications/video/mpv/scripts/modernx-zydezu.nix9
-rw-r--r--pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix4
-rw-r--r--pkgs/applications/video/pipe-viewer/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix15
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix3
-rw-r--r--pkgs/applications/window-managers/i3/lock-fancy.nix59
-rw-r--r--pkgs/applications/window-managers/jay/default.nix6
-rw-r--r--pkgs/build-support/go/module.nix2
-rw-r--r--pkgs/build-support/go/package.nix2
-rw-r--r--pkgs/build-support/php/builders/v1/build-composer-project.nix8
-rw-r--r--pkgs/by-name/ad/adrs/package.nix26
-rw-r--r--pkgs/by-name/al/alacarte/package.nix70
-rw-r--r--pkgs/by-name/al/alephone/package.nix6
-rw-r--r--pkgs/by-name/ar/ark-pixel-font/package.nix8
-rw-r--r--pkgs/by-name/at/atf/package.nix89
-rw-r--r--pkgs/by-name/at/atlauncher/package.nix4
-rw-r--r--pkgs/by-name/ba/backgroundremover/package.nix10
-rw-r--r--pkgs/by-name/ba/badkeys/package.nix45
-rw-r--r--pkgs/by-name/be/bevelbar/package.nix (renamed from pkgs/tools/X11/bevelbar/default.nix)28
-rw-r--r--pkgs/by-name/bl/bluez/package.nix7
-rw-r--r--pkgs/by-name/ca/catppuccin-sddm-corners/package.nix6
-rw-r--r--pkgs/by-name/co/codeberg-cli/package.nix (renamed from pkgs/applications/version-management/codeberg-cli/default.nix)42
-rw-r--r--pkgs/by-name/cr/criterion/package.nix117
-rw-r--r--pkgs/by-name/cr/criterion/tests/001-version.nix25
-rw-r--r--pkgs/by-name/cr/criterion/tests/test_dummy.c7
-rw-r--r--pkgs/by-name/cr/crunchy-cli/Cargo.lock235
-rw-r--r--pkgs/by-name/cr/crunchy-cli/package.nix4
-rw-r--r--pkgs/by-name/de/devcontainer/package.nix6
-rw-r--r--pkgs/by-name/do/docfd/package.nix4
-rw-r--r--pkgs/by-name/do/dorion/package.nix4
-rw-r--r--pkgs/by-name/dp/dpp/package.nix4
-rw-r--r--pkgs/by-name/du/dualsensectl/package.nix (renamed from pkgs/tools/games/dualsensectl/default.nix)37
-rw-r--r--pkgs/by-name/e1/e1s/package.nix26
-rw-r--r--pkgs/by-name/en/endlessh-go/package.nix (renamed from pkgs/servers/endlessh-go/default.nix)12
-rw-r--r--pkgs/by-name/ff/ff2mpv-rust/Cargo.lock112
-rw-r--r--pkgs/by-name/ff/ff2mpv-rust/package.nix48
-rw-r--r--pkgs/by-name/fr/frankenphp/package.nix3
-rw-r--r--pkgs/by-name/gi/git-instafix/package.nix6
-rw-r--r--pkgs/by-name/gl/glance/package.nix32
-rw-r--r--pkgs/by-name/go/go-judge/package.nix6
-rw-r--r--pkgs/by-name/go/got/package.nix8
-rw-r--r--pkgs/by-name/ha/handheld-daemon/package.nix4
-rw-r--r--pkgs/by-name/ho/hoppscotch/package.nix26
-rw-r--r--pkgs/by-name/ht/httpie-desktop/package.nix23
-rw-r--r--pkgs/by-name/hy/hyprdim/Cargo.lock1213
-rw-r--r--pkgs/by-name/hy/hyprdim/package.nix11
-rw-r--r--pkgs/by-name/hy/hyprland-activewindow/package.nix6
-rw-r--r--pkgs/by-name/in/incus/generic.nix8
-rw-r--r--pkgs/by-name/in/intune-portal/package.nix4
-rw-r--r--pkgs/by-name/ka/katriawm/package.nix35
-rw-r--r--pkgs/by-name/ke/keto/package.nix45
-rw-r--r--pkgs/by-name/ko/kor/package.nix6
-rw-r--r--pkgs/by-name/ky/kyua/kyua-check-hook.sh10
-rw-r--r--pkgs/by-name/ky/kyua/package.nix119
-rw-r--r--pkgs/by-name/li/libiconv-darwin/meson.build303
-rw-r--r--pkgs/by-name/li/libiconv-darwin/meson.options1
-rw-r--r--pkgs/by-name/li/libiconv-darwin/nixpkgs_test.c82
-rw-r--r--pkgs/by-name/li/libiconv-darwin/package.nix95
-rw-r--r--pkgs/by-name/li/live555/package.nix4
-rw-r--r--pkgs/by-name/lu/lutok/package.nix87
-rw-r--r--pkgs/by-name/lx/lxd-unwrapped-lts/package.nix7
-rw-r--r--pkgs/by-name/lx/lxgw-wenkai-tc/package.nix30
-rw-r--r--pkgs/by-name/ma/makejinja/package.nix52
-rw-r--r--pkgs/by-name/ma/mako/package.nix (renamed from pkgs/applications/misc/mako/default.nix)21
-rw-r--r--pkgs/by-name/ma/matugen/package.nix34
-rw-r--r--pkgs/by-name/ma/maxfetch/package.nix39
-rw-r--r--pkgs/by-name/my/mysql84/no-force-outline-atomics.patch24
-rw-r--r--pkgs/by-name/my/mysql84/package.nix78
-rw-r--r--pkgs/by-name/na/namespace-cli/package.nix4
-rw-r--r--pkgs/by-name/ne/neothesia/Cargo.lock (renamed from pkgs/applications/misc/onagre/Cargo.lock)5014
-rw-r--r--pkgs/by-name/ne/neothesia/package.nix70
-rw-r--r--pkgs/by-name/ne/neovim-unwrapped/package.nix2
-rw-r--r--pkgs/by-name/ne/nezha-agent/package.nix4
-rw-r--r--pkgs/by-name/no/novops/package.nix6
-rw-r--r--pkgs/by-name/nr/nrfconnect/package.nix5
-rw-r--r--pkgs/by-name/oh/oh-my-posh/package.nix6
-rw-r--r--pkgs/by-name/on/onagre/package.nix58
-rw-r--r--pkgs/by-name/pa/patch2pr/package.nix6
-rw-r--r--pkgs/by-name/pa/payme/package.nix6
-rw-r--r--pkgs/by-name/po/poethepoet/package.nix4
-rw-r--r--pkgs/by-name/pr/protonplus/package.nix4
-rw-r--r--pkgs/by-name/re/retrospy/package.nix27
-rw-r--r--pkgs/by-name/rh/rHttp/package.nix27
-rw-r--r--pkgs/by-name/ro/rofimoji/package.nix6
-rw-r--r--pkgs/by-name/ry/ryujinx/deps.nix2
-rw-r--r--pkgs/by-name/ry/ryujinx/package.nix6
-rw-r--r--pkgs/by-name/sa/sarasa-gothic/package.nix4
-rw-r--r--pkgs/by-name/sa/sarif-tools/package.nix4
-rw-r--r--pkgs/by-name/sc/scc/package.nix (renamed from pkgs/development/tools/misc/scc/default.nix)18
-rw-r--r--pkgs/by-name/sl/slumber/package.nix8
-rw-r--r--pkgs/by-name/sm/smartgithg/package.nix4
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/.gitignore1
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock527
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml19
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/build.rs30
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/package.nix36
-rw-r--r--pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs2077
-rw-r--r--pkgs/by-name/tk/tkdiff/189.patch71
-rw-r--r--pkgs/by-name/tk/tkdiff/194.patch15
-rw-r--r--pkgs/by-name/tk/tkdiff/package.nix15
-rw-r--r--pkgs/by-name/to/tootik/package.nix6
-rw-r--r--pkgs/by-name/to/torrentstream/deps.nix66
-rw-r--r--pkgs/by-name/to/torrentstream/package.nix28
-rw-r--r--pkgs/by-name/tr/treefmt/package.nix (renamed from pkgs/development/tools/treefmt/default.nix)0
-rw-r--r--pkgs/by-name/tr/treefmt2/package.nix33
-rw-r--r--pkgs/by-name/up/upbound/package.nix6
-rw-r--r--pkgs/by-name/us/usql/package.nix6
-rw-r--r--pkgs/by-name/ux/uxplay/package.nix (renamed from pkgs/servers/uxplay/default.nix)29
-rw-r--r--pkgs/by-name/va/valuta/package.nix65
-rw-r--r--pkgs/by-name/ve/vencord/package.nix2
-rw-r--r--pkgs/by-name/wa/warp-terminal/package.nix2
-rw-r--r--pkgs/by-name/wa/warp-terminal/versions.json8
-rw-r--r--pkgs/by-name/wi/wireguard-vanity-keygen/package.nix6
-rw-r--r--pkgs/by-name/wt/wtfis/package.nix4
-rw-r--r--pkgs/by-name/wt/wttrbar/package.nix6
-rw-r--r--pkgs/by-name/xd/xdg-terminal-exec-mkhl/package.nix27
-rw-r--r--pkgs/by-name/yd/ydotool/package.nix (renamed from pkgs/tools/wayland/ydotool/default.nix)38
-rw-r--r--pkgs/data/fonts/iosevka/default.nix6
-rw-r--r--pkgs/data/icons/kora-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/nordzy-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/unicode-emoji/default.nix8
-rw-r--r--pkgs/data/themes/colloid-gtk-theme/default.nix4
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix6
-rw-r--r--pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix4
-rw-r--r--pkgs/development/compilers/aspectj/default.nix4
-rw-r--r--pkgs/development/compilers/ballerina/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/common/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/nasm/default.nix4
-rw-r--r--pkgs/development/compilers/rust/1_77.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/build-luarocks-package.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/hooks/default.nix13
-rw-r--r--pkgs/development/interpreters/lua-5/hooks/setup-hook.sh54
-rw-r--r--pkgs/development/interpreters/lua-5/interpreter.nix15
-rw-r--r--pkgs/development/interpreters/lua-5/utils.sh54
-rw-r--r--pkgs/development/interpreters/lua-5/wrap-lua.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/wrap.sh2
-rw-r--r--pkgs/development/interpreters/lua-5/wrapper.nix4
-rw-r--r--pkgs/development/interpreters/luajit/default.nix14
-rw-r--r--pkgs/development/libraries/aws-c-auth/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-cal/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-mqtt/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-sdkutils/default.nix4
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/botan/2.0.nix4
-rw-r--r--pkgs/development/libraries/criterion/default.nix50
-rw-r--r--pkgs/development/libraries/gnutls/default.nix17
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix15
-rw-r--r--pkgs/development/libraries/icu/make-icu.nix14
-rw-r--r--pkgs/development/libraries/ldutils/default.nix32
-rw-r--r--pkgs/development/libraries/libaom/default.nix13
-rw-r--r--pkgs/development/libraries/libarchive/default.nix4
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix11
-rw-r--r--pkgs/development/libraries/libiconv/default.nix2
-rw-r--r--pkgs/development/libraries/libmad/default.nix3
-rw-r--r--pkgs/development/libraries/libproxy/default.nix19
-rw-r--r--pkgs/development/libraries/librecast/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix4
-rw-r--r--pkgs/development/libraries/libva/default.nix4
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix13
-rw-r--r--pkgs/development/libraries/libxkbcommon/disable-x11com.patch17
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlb/installed-tests-path.patch3
-rw-r--r--pkgs/development/libraries/mdk-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/nsync/default.nix4
-rw-r--r--pkgs/development/libraries/opensaml-cpp/default.nix7
-rw-r--r--pkgs/development/libraries/openvino/default.nix6
-rw-r--r--pkgs/development/libraries/pcre/default.nix15
-rw-r--r--pkgs/development/libraries/pinocchio/default.nix33
-rw-r--r--pkgs/development/libraries/re2/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/libraries/tpm2-tss/default.nix13
-rw-r--r--pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch475
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix4
-rw-r--r--pkgs/development/libraries/tracker/default.nix4
-rw-r--r--pkgs/development/libraries/vte/default.nix3
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/0.3.nix2
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix2247
-rw-r--r--pkgs/development/lua-modules/overrides.nix31
-rw-r--r--pkgs/development/lua-modules/updater/.flake82
-rwxr-xr-xpkgs/development/lua-modules/updater/updater.py21
-rw-r--r--pkgs/development/misc/brev-cli/default.nix4
-rw-r--r--pkgs/development/misc/resholve/README.md26
-rw-r--r--pkgs/development/misc/resholve/source.nix4
-rw-r--r--pkgs/development/misc/resholve/test.nix116
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/odoc-parser/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/odoc/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/pecu/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/unstrctrd/default.nix8
-rw-r--r--pkgs/development/python-modules/accelerate/default.nix3
-rw-r--r--pkgs/development/python-modules/androidtvremote2/default.nix35
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix5
-rw-r--r--pkgs/development/python-modules/apprise/default.nix8
-rw-r--r--pkgs/development/python-modules/augmax/default.nix20
-rw-r--r--pkgs/development/python-modules/av/default.nix10
-rw-r--r--pkgs/development/python-modules/bdffont/default.nix4
-rw-r--r--pkgs/development/python-modules/cepa/default.nix48
-rw-r--r--pkgs/development/python-modules/chai/default.nix8
-rw-r--r--pkgs/development/python-modules/cloudflare/default.nix4
-rw-r--r--pkgs/development/python-modules/command-runner/default.nix34
-rw-r--r--pkgs/development/python-modules/coordinates/default.nix30
-rw-r--r--pkgs/development/python-modules/cornice/default.nix38
-rw-r--r--pkgs/development/python-modules/dask-yarn/default.nix27
-rw-r--r--pkgs/development/python-modules/dj-rest-auth/default.nix67
-rw-r--r--pkgs/development/python-modules/django/4.nix21
-rw-r--r--pkgs/development/python-modules/docutils/default.nix13
-rw-r--r--pkgs/development/python-modules/drf-spectacular/default.nix74
-rw-r--r--pkgs/development/python-modules/fontbakery/default.nix4
-rw-r--r--pkgs/development/python-modules/fontbakery/tests.nix5
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/gdown/default.nix4
-rw-r--r--pkgs/development/python-modules/gemfileparser/default.nix37
-rw-r--r--pkgs/development/python-modules/gguf/default.nix33
-rw-r--r--pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--pkgs/development/python-modules/hatchling/default.nix4
-rw-r--r--pkgs/development/python-modules/hid/default.nix28
-rw-r--r--pkgs/development/python-modules/hikari-lightbulb/default.nix48
-rw-r--r--pkgs/development/python-modules/hikvision/default.nix34
-rw-r--r--pkgs/development/python-modules/hjson/default.nix35
-rw-r--r--pkgs/development/python-modules/html2text/default.nix24
-rw-r--r--pkgs/development/python-modules/http-parser/default.nix36
-rw-r--r--pkgs/development/python-modules/ical/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix11
-rw-r--r--pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix4
-rw-r--r--pkgs/development/python-modules/keras/default.nix2
-rw-r--r--pkgs/development/python-modules/langchain/default.nix6
-rw-r--r--pkgs/development/python-modules/language-data/default.nix46
-rw-r--r--pkgs/development/python-modules/lockfile/default.nix15
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix56
-rw-r--r--pkgs/development/python-modules/mandown/default.nix6
-rw-r--r--pkgs/development/python-modules/manim-slides/default.nix4
-rw-r--r--pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch26
-rw-r--r--pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch65
-rw-r--r--pkgs/development/python-modules/miasm/default.nix58
-rw-r--r--pkgs/development/python-modules/nanomsg-python/default.nix19
-rw-r--r--pkgs/development/python-modules/nanotime/default.nix25
-rw-r--r--pkgs/development/python-modules/nats-python/default.nix37
-rw-r--r--pkgs/development/python-modules/naturalsort/default.nix24
-rw-r--r--pkgs/development/python-modules/noiseprotocol/default.nix23
-rw-r--r--pkgs/development/python-modules/oemthermostat/default.nix38
-rw-r--r--pkgs/development/python-modules/open-clip-torch/default.nix2
-rw-r--r--pkgs/development/python-modules/openwrt-ubus-rpc/default.nix27
-rw-r--r--pkgs/development/python-modules/optree/default.nix60
-rw-r--r--pkgs/development/python-modules/opuslib/default.nix17
-rw-r--r--pkgs/development/python-modules/pcffont/default.nix44
-rw-r--r--pkgs/development/python-modules/pdm-backend/default.nix12
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pipdeptree/default.nix6
-rw-r--r--pkgs/development/python-modules/pixel-font-builder/default.nix18
-rw-r--r--pkgs/development/python-modules/plantuml-markdown/default.nix4
-rw-r--r--pkgs/development/python-modules/playwright/default.nix2
-rw-r--r--pkgs/development/python-modules/proxy-py/default.nix4
-rw-r--r--pkgs/development/python-modules/psycopg2cffi/default.nix49
-rw-r--r--pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix4
-rw-r--r--pkgs/development/python-modules/pyannote-pipeline/default.nix48
-rw-r--r--pkgs/development/python-modules/pyelftools/default.nix12
-rw-r--r--pkgs/development/python-modules/pyexploitdb/default.nix4
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix6
-rw-r--r--pkgs/development/python-modules/pymilter/default.nix20
-rw-r--r--pkgs/development/python-modules/pynmeagps/default.nix6
-rw-r--r--pkgs/development/python-modules/pynws/default.nix42
-rw-r--r--pkgs/development/python-modules/pysigma-backend-insightidr/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-fixture-config/default.nix29
-rw-r--r--pkgs/development/python-modules/pytest-server-fixtures/default.nix43
-rw-r--r--pkgs/development/python-modules/pytest-shutil/default.nix45
-rw-r--r--pkgs/development/python-modules/pytest-virtualenv/default.nix46
-rw-r--r--pkgs/development/python-modules/pytrydan/default.nix4
-rw-r--r--pkgs/development/python-modules/qtile/default.nix10
-rw-r--r--pkgs/development/python-modules/sacn/default.nix4
-rw-r--r--pkgs/development/python-modules/sarif-tools/default.nix69
-rw-r--r--pkgs/development/python-modules/scalene/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx-intl/default.nix6
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix11
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/tesla-fleet-api/default.nix29
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix5
-rw-r--r--pkgs/development/python-modules/ufo2ft/default.nix2
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix46
-rw-r--r--pkgs/development/python-modules/uxsim/add-qt-plugin-path-to-env.patch24
-rw-r--r--pkgs/development/python-modules/uxsim/default.nix69
-rw-r--r--pkgs/development/python-modules/webdataset/default.nix10
-rw-r--r--pkgs/development/python-modules/wheel/default.nix4
-rw-r--r--pkgs/development/python-modules/woob/default.nix11
-rw-r--r--pkgs/development/tools/algolia-cli/default.nix4
-rw-r--r--pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/confluent-cli/default.nix10
-rw-r--r--pkgs/development/tools/coursier/default.nix4
-rw-r--r--pkgs/development/tools/database/litecli/default.nix4
-rw-r--r--pkgs/development/tools/devpi-server/default.nix8
-rw-r--r--pkgs/development/tools/electron/binary/info.json28
-rw-r--r--pkgs/development/tools/electron/info.json32
-rw-r--r--pkgs/development/tools/fsautocomplete/default.nix8
-rw-r--r--pkgs/development/tools/fsautocomplete/deps.nix34
-rw-r--r--pkgs/development/tools/go-minimock/default.nix6
-rw-r--r--pkgs/development/tools/goconvey/default.nix6
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/lua-language-server/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix12
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix7
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix18
-rw-r--r--pkgs/development/tools/redisinsight/default.nix10
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix6
-rw-r--r--pkgs/development/tools/sqldef/default.nix6
-rw-r--r--pkgs/development/tools/vsce/default.nix4
-rw-r--r--pkgs/development/tools/wgo/default.nix4
-rw-r--r--pkgs/development/tools/yarn-berry/default.nix4
-rw-r--r--pkgs/games/colobot/default.nix4
-rw-r--r--pkgs/games/eduke32/convert-bmp-to-png.diff23
-rw-r--r--pkgs/games/eduke32/default.nix6
-rw-r--r--pkgs/games/extremetuxracer/default.nix4
-rw-r--r--pkgs/games/minecraft-servers/versions.json42
-rw-r--r--pkgs/games/vassal/default.nix4
-rw-r--r--pkgs/kde/generated/sources/frameworks.json6
-rw-r--r--pkgs/misc/drivers/epsonscan2/default.nix14
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix38
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix1
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build9
-rw-r--r--pkgs/os-specific/linux/firmware/linux-firmware/source.nix8
-rw-r--r--pkgs/os-specific/linux/game-devices-udev-rules/default.nix6
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix4
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json4
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix4
-rw-r--r--pkgs/os-specific/linux/mm-tools/default.nix (renamed from pkgs/os-specific/linux/vm-tools/default.nix)4
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix7
-rw-r--r--pkgs/servers/blockbook/default.nix15
-rw-r--r--pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix13
-rw-r--r--pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix20
-rw-r--r--pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix22
-rw-r--r--pkgs/servers/home-assistant/default.nix8
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix13
-rw-r--r--pkgs/servers/jellyfin/disable-warnings.patch38
-rw-r--r--pkgs/servers/jellyfin/nuget-deps.nix316
-rw-r--r--pkgs/servers/jellyfin/web.nix57
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/keycloak/keycloak-metrics-spi/default.nix9
-rw-r--r--pkgs/servers/monitoring/prometheus/graphite-exporter.nix22
-rw-r--r--pkgs/servers/monitoring/prometheus/mysqld-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/process-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix6
-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/readarr/default.nix8
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/sql/dolt/default.nix6
-rw-r--r--pkgs/servers/sql/rqlite/default.nix6
-rw-r--r--pkgs/servers/traefik/default.nix7
-rw-r--r--pkgs/servers/trickster/trickster.nix25
-rw-r--r--pkgs/servers/web-apps/monica/default.nix4
-rw-r--r--pkgs/servers/web-apps/netbox/default.nix4
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix12
-rw-r--r--pkgs/stdenv/darwin/default.nix41
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix38
-rw-r--r--pkgs/tools/admin/lego/default.nix6
-rw-r--r--pkgs/tools/admin/pulsarctl/default.nix26
-rw-r--r--pkgs/tools/admin/pulumi/default.nix57
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix14
-rw-r--r--pkgs/tools/filesystems/go-mtpfs/default.nix6
-rw-r--r--pkgs/tools/graphics/wallutils/default.nix22
-rw-r--r--pkgs/tools/misc/coreutils/default.nix3
-rw-r--r--pkgs/tools/misc/ethtool/default.nix14
-rw-r--r--pkgs/tools/misc/fd/default.nix6
-rw-r--r--pkgs/tools/misc/google-cloud-bigtable-tool/default.nix6
-rw-r--r--pkgs/tools/misc/google-cloud-sql-proxy/default.nix6
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock4
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix4
-rw-r--r--pkgs/tools/misc/infracost/default.nix9
-rw-r--r--pkgs/tools/misc/massren/default.nix6
-rw-r--r--pkgs/tools/misc/mcfly/default.nix6
-rw-r--r--pkgs/tools/misc/octosql/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix6
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix4
-rw-r--r--pkgs/tools/misc/url-parser/default.nix6
-rw-r--r--pkgs/tools/misc/vsh/default.nix4
-rw-r--r--pkgs/tools/misc/wakapi/default.nix6
-rw-r--r--pkgs/tools/misc/wakatime/default.nix7
-rw-r--r--pkgs/tools/networking/cloud-custodian/default.nix4
-rw-r--r--pkgs/tools/networking/corerad/default.nix8
-rw-r--r--pkgs/tools/networking/curl/8.7.1-compression-fix.patch168
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/ip2unix/default.nix11
-rw-r--r--pkgs/tools/networking/memtier-benchmark/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--pkgs/tools/package-management/lix/common.nix286
-rw-r--r--pkgs/tools/package-management/lix/default.nix60
-rw-r--r--pkgs/tools/package-management/lix/doc/default.nix12
-rw-r--r--pkgs/tools/package-management/nix/default.nix10
-rw-r--r--pkgs/tools/security/aide/default.nix4
-rw-r--r--pkgs/tools/security/cdxgen/default.nix6
-rw-r--r--pkgs/tools/security/cnquery/default.nix6
-rw-r--r--pkgs/tools/security/ghidra/build.nix4
-rw-r--r--pkgs/tools/security/pcsclite/default.nix5
-rw-r--r--pkgs/tools/security/semgrep/common.nix12
-rw-r--r--pkgs/tools/security/sherlock/default.nix13
-rw-r--r--pkgs/tools/security/web-eid-app/default.nix4
-rw-r--r--pkgs/tools/security/yara/default.nix9
-rw-r--r--pkgs/tools/system/skeema/default.nix35
-rw-r--r--pkgs/tools/system/throttled/default.nix4
-rw-r--r--pkgs/tools/text/csview/default.nix6
-rw-r--r--pkgs/tools/text/gucci/default.nix17
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/video/lux/default.nix4
-rw-r--r--pkgs/tools/wayland/wl-clipboard/default.nix12
-rw-r--r--pkgs/top-level/aliases.nix6
-rw-r--r--pkgs/top-level/all-packages.nix49
-rw-r--r--pkgs/top-level/darwin-aliases.nix4
-rw-r--r--pkgs/top-level/linux-kernels.nix15
-rw-r--r--pkgs/top-level/lua-packages.nix2
-rw-r--r--pkgs/top-level/php-packages.nix7
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix22
513 files changed, 18470 insertions, 19671 deletions
diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix
index a06efc1c78ea4..811e1d806c607 100644
--- a/pkgs/applications/audio/flacon/default.nix
+++ b/pkgs/applications/audio/flacon/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flacon";
-  version = "11.3.0";
+  version = "11.4.0";
 
   src = fetchFromGitHub {
     owner = "flacon";
     repo = "flacon";
     rev = "v${version}";
-    sha256 = "sha256-jzpD8+zhIbOYgSNsoE1Pay+FiPXtRCd6Zz6HHkzWAkY=";
+    sha256 = "sha256-guIGSKmpinDDfTDSCmcJKWysUPdG/gw5oaKmXqgf53o=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix
index 5caf1a472d57d..3bf4d63eec721 100644
--- a/pkgs/applications/audio/jmusicbot/default.nix
+++ b/pkgs/applications/audio/jmusicbot/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "JMusicBot";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchurl {
     url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar";
-    sha256 = "sha256-JSVrzyCqAp3V5OZ+KJczhWGolPkdaHsPmiqfmhapQMs=";
+    sha256 = "sha256-+0814w4zKNr2TxZ9CS8FxeuTLa71jM+DhrfFvLMFlw0=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
deleted file mode 100644
index e00b6722f38d6..0000000000000
--- a/pkgs/applications/audio/mpg321/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{lib, stdenv, fetchurl, fetchpatch, libao, libmad, libid3tag, zlib, alsa-lib
-# Specify default libao output plugin to use (e.g. "alsa", "pulse" …).
-# If null, it will use the libao system default.
-, defaultAudio ? null
-}:
-
-stdenv.mkDerivation rec {
-  pname = "mpg321";
-  version = "0.3.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/mpg321/${version}/mpg321_${version}.orig.tar.gz";
-    sha256 = "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "CVE-2018-7263.patch";
-      url = "https://sources.debian.org/data/main/m/mpg321/0.3.2-3/debian/patches/handle_illegal_bitrate_value.patch";
-      sha256 = "15simp5fjvm9b024ryfh441rkh2d5bcrizqkzlrh07n9sm7fkw6x";
-    })
-    # Apple defines semun already. Skip redefining it to fix build errors.
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/Homebrew/formula-patches/85fa66a9/mpg321/0.3.2.patch";
-      sha256 = "sha256-qFYpKpE9PZSzOJrnsQINZi6FvUVX0anRyOvlF5eOYqE=";
-    })
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  # Workaround build failure on -fno-common toolchains like upstream
-  # gcc-10. Otherwise build fails as:
-  #   ld: volume.o:/build/mpg321-0.3.2-orig/mpg321.h:119: multiple definition of
-  #     `loop_remaining'; mpg321.o:/build/mpg321-0.3.2-orig/mpg321.h:119: first defined here
-  env.NIX_CFLAGS_COMPILE = "-fcommon";
-
-  configureFlags =
-    [ ("--enable-alsa=" + (if stdenv.isLinux then "yes" else "no")) ]
-    ++ (lib.optional (defaultAudio != null)
-         "--with-default-audio=${defaultAudio}");
-
-  buildInputs = [libao libid3tag libmad zlib]
-    ++ lib.optional stdenv.isLinux alsa-lib;
-
-  installTargets = [ "install" "install-man" ];
-
-  meta = with lib; {
-    description = "Command-line MP3 player";
-    homepage = "https://mpg321.sourceforge.net/";
-    license = licenses.gpl2;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 6958a38f25863..4cb879850b095 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snd";
-  version = "24.2";
+  version = "24.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "sha256-1ngnhOpPaRGH3xmiA7cUfVDqlJM1ZC+XfeSiV8vcdls=";
+    sha256 = "sha256-riy8WrL6jbD4aYnFf9x5DVeYabmty0OCb53jP3iVD9I=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/blockchains/bitcoin-knots/default.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix
index ace8329bb876b..181c14ecd7a93 100644
--- a/pkgs/applications/blockchains/bitcoin-knots/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = if withGui then "bitcoin-knots" else "bitcoind-knots";
-  version = "25.1.knots20231115";
+  version = "26.1.knots20240325";
 
   src = fetchurl {
-    url = "https://bitcoinknots.org/files/25.x/${version}/bitcoin-${version}.tar.gz";
-    sha256 = "b6251beee95cf6701c6ebc443b47fb0e99884880f2661397f964a8828add4002";
+    url = "https://bitcoinknots.org/files/26.x/${version}/bitcoin-${version}.tar.gz";
+    hash = "sha256-PqpePDna2gpCzF2K43N4h6cV5Y9w/e5ZcUvaNEaFaIk=";
   };
 
   nativeBuildInputs =
@@ -40,7 +40,8 @@ stdenv.mkDerivation rec {
     ++ lib.optionals withGui [ wrapQtAppsHook ];
 
   buildInputs = [ boost libevent miniupnpc zeromq zlib ]
-    ++ lib.optionals withWallet [ db48 sqlite ]
+    ++ lib.optionals withWallet [ sqlite ]
+    ++ lib.optionals (withWallet && !stdenv.isDarwin) [ db48 ]
     ++ lib.optionals withGui [ qrencode qtbase qttools ];
 
   configureFlags = [
diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix
index 077ff6b11f45c..d4eef345eb777 100644
--- a/pkgs/applications/blockchains/lnd/default.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
@@ -1,6 +1,7 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
+, go
 , tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" "routerrpc" "monitoring" "kvdb_postgres" "kvdb_etcd" ]
 }:
 
@@ -19,17 +20,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/lncli" "cmd/lnd" ];
 
-  preBuild = let
-    buildVars = {
-      RawTags = lib.concatStringsSep "," tags;
-      GoVersion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')";
-    };
-    buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X github.com/lightningnetwork/lnd/build.${k}=${v}") buildVars);
-  in
-  lib.optionalString (tags != []) ''
-    buildFlagsArray+=("-tags=${lib.concatStringsSep " " tags}")
-    buildFlagsArray+=("-ldflags=${buildVarsFlags}")
-  '';
+  inherit tags;
 
   meta = with lib; {
     description = "Lightning Network Daemon";
diff --git a/pkgs/applications/blockchains/openethereum/Cargo.lock b/pkgs/applications/blockchains/openethereum/Cargo.lock
deleted file mode 100644
index 5f88af6338e7f..0000000000000
--- a/pkgs/applications/blockchains/openethereum/Cargo.lock
+++ /dev/null
@@ -1,5476 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "addr2line"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7"
-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 = "aes"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9"
-dependencies = [
- "aes-soft",
- "aesni",
- "block-cipher-trait",
-]
-
-[[package]]
-name = "aes-ctr"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2e5b0458ea3beae0d1d8c0f3946564f8e10f90646cf78c06b4351052058d1ee"
-dependencies = [
- "aes-soft",
- "aesni",
- "ctr",
- "stream-cipher",
-]
-
-[[package]]
-name = "aes-soft"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d"
-dependencies = [
- "block-cipher-trait",
- "byteorder",
- "opaque-debug",
-]
-
-[[package]]
-name = "aesni"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100"
-dependencies = [
- "block-cipher-trait",
- "opaque-debug",
- "stream-cipher",
-]
-
-[[package]]
-name = "ahash"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29661b60bec623f0586702976ff4d0c9942dcb6723161c2df0eea78455cfedfb"
-dependencies = [
- "const-random",
-]
-
-[[package]]
-name = "ahash"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
-
-[[package]]
-name = "aho-corasick"
-version = "0.6.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ansi_term"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455"
-
-[[package]]
-name = "ansi_term"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-dependencies = [
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "app_dirs"
-version = "1.2.1"
-source = "git+https://github.com/openethereum/app-dirs-rs#0b37f9481ce29e9d5174ad185bca695b206368eb"
-dependencies = [
- "ole32-sys",
- "shell32-sys",
- "winapi 0.2.8",
- "xdg",
-]
-
-[[package]]
-name = "arrayvec"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
-dependencies = [
- "nodrop",
-]
-
-[[package]]
-name = "arrayvec"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
-
-[[package]]
-name = "assert_matches"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5"
-
-[[package]]
-name = "atty"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-dependencies = [
- "libc",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "autocfg"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-
-[[package]]
-name = "autocfg"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
-
-[[package]]
-name = "backtrace"
-version = "0.3.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc"
-dependencies = [
- "addr2line",
- "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"
-checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-dependencies = [
- "byteorder",
- "safemem",
-]
-
-[[package]]
-name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "beef"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736"
-
-[[package]]
-name = "bit-set"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c"
-dependencies = [
- "bit-vec",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f"
-
-[[package]]
-name = "bitflags"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
-
-[[package]]
-name = "bitflags"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-
-[[package]]
-name = "bitvec"
-version = "0.17.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"
-dependencies = [
- "either",
- "radium",
-]
-
-[[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",
-]
-
-[[package]]
-name = "block-cipher-trait"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-modes"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31aa8410095e39fdb732909fb5730a48d5bd7c2e3cd76bd1b07b3dbea130c529"
-dependencies = [
- "block-cipher-trait",
- "block-padding",
-]
-
-[[package]]
-name = "block-padding"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09"
-dependencies = [
- "byte-tools",
-]
-
-[[package]]
-name = "blooms-db"
-version = "0.1.0"
-dependencies = [
- "byteorder",
- "criterion 0.3.0",
- "ethbloom 0.9.2",
- "parking_lot 0.11.1",
- "tempdir",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "bn"
-version = "0.4.4"
-source = "git+https://github.com/paritytech/bn#6079255e65793038b9a6e5292203eab482737cc2"
-dependencies = [
- "byteorder",
- "crunchy 0.2.2",
- "lazy_static",
- "rand 0.5.6",
- "rustc-hex 2.1.0",
-]
-
-[[package]]
-name = "bstr"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d6c2c5b58ab920a4f5aeaaca34b4488074e8cc7596af94e6f8c6ff247c60245"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
- "serde",
-]
-
-[[package]]
-name = "build_const"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
-
-[[package]]
-name = "byte-slice-cast"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"
-
-[[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.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-
-[[package]]
-name = "bytes"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
-dependencies = [
- "byteorder",
- "either",
- "iovec",
-]
-
-[[package]]
-name = "c2-chacha"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
-dependencies = [
- "ppv-lite86",
-]
-
-[[package]]
-name = "cast"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
-
-[[package]]
-name = "cc"
-version = "1.0.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chainspec"
-version = "0.1.0"
-dependencies = [
- "ethjson",
- "serde_json",
-]
-
-[[package]]
-name = "chrono"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
-dependencies = [
- "libc",
- "num-integer",
- "num-traits 0.2.8",
- "time",
-]
-
-[[package]]
-name = "clap"
-version = "2.33.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
-dependencies = [
- "ansi_term 0.11.0",
- "atty",
- "bitflags 1.2.1",
- "strsim 0.8.0",
- "textwrap 0.11.0",
- "unicode-width",
- "vec_map",
-]
-
-[[package]]
-name = "cli-signer"
-version = "1.4.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "futures",
- "parity-rpc",
- "parity-rpc-client",
- "rpassword",
-]
-
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags 1.2.1",
-]
-
-[[package]]
-name = "cmake"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fb25b677f8bf1eb325017cb6bb8452f87969db0fedb4f757b297bee78a7c62"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "common-types"
-version = "0.1.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "ethkey",
- "hex",
- "inflate",
- "keccak-hash",
- "parity-bytes",
- "parity-crypto",
- "parity-util-mem",
- "rlp",
- "rlp_derive",
- "rustc-hex 1.0.0",
- "serde",
- "serde_json",
- "serde_repr",
- "unexpected",
-]
-
-[[package]]
-name = "const-random"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f590d95d011aa80b063ffe3253422ed5aa462af4e9867d43ce8337562bac77c4"
-dependencies = [
- "const-random-macro",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "const-random-macro"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "615f6e27d000a2bffbc7f2f6a8669179378fa27ee4d0a509e985dfc0a7defb40"
-dependencies = [
- "getrandom 0.2.2",
- "lazy_static",
- "proc-macro-hack",
- "tiny-keccak 2.0.2",
-]
-
-[[package]]
-name = "crc"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
-dependencies = [
- "build_const",
-]
-
-[[package]]
-name = "criterion"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0363053954f3e679645fc443321ca128b7b950a6fe288cf5f9335cc22ee58394"
-dependencies = [
- "atty",
- "cast",
- "clap",
- "criterion-plot 0.3.1",
- "csv",
- "itertools 0.8.1",
- "lazy_static",
- "libc",
- "num-traits 0.2.8",
- "rand_core 0.3.1",
- "rand_os 0.1.3",
- "rand_xoshiro 0.1.0",
- "rayon",
- "rayon-core",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938703e165481c8d612ea3479ac8342e5615185db37765162e762ec3523e2fc6"
-dependencies = [
- "atty",
- "cast",
- "clap",
- "criterion-plot 0.4.0",
- "csv",
- "itertools 0.8.1",
- "lazy_static",
- "num-traits 0.2.8",
- "rand_core 0.5.1",
- "rand_os 0.2.2",
- "rand_xoshiro 0.3.1",
- "rayon",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76f9212ddf2f4a9eb2d401635190600656a1f88a932ef53d06e7fa4c7e02fb8e"
-dependencies = [
- "byteorder",
- "cast",
- "itertools 0.8.1",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2"
-dependencies = [
- "cast",
- "itertools 0.8.1",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
-dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils 0.8.6",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils 0.6.6",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils 0.6.6",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
-dependencies = [
- "arrayvec 0.4.12",
- "cfg-if 0.1.10",
- "crossbeam-utils 0.6.6",
- "lazy_static",
- "memoffset",
- "scopeguard 1.1.0",
-]
-
-[[package]]
-name = "crossbeam-queue"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
-dependencies = [
- "crossbeam-utils 0.6.6",
-]
-
-[[package]]
-name = "crossbeam-queue"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
-dependencies = [
- "cfg-if 0.1.10",
- "crossbeam-utils 0.7.2",
- "maybe-uninit",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-dependencies = [
- "cfg-if 0.1.10",
- "lazy_static",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-dependencies = [
- "autocfg 1.0.0",
- "cfg-if 0.1.10",
- "lazy_static",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120"
-dependencies = [
- "cfg-if 1.0.0",
- "lazy_static",
-]
-
-[[package]]
-name = "crunchy"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda"
-
-[[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
-name = "crypto-mac"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
-dependencies = [
- "generic-array",
- "subtle 1.0.0",
-]
-
-[[package]]
-name = "csv"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
-dependencies = [
- "bstr",
- "csv-core",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "csv-core"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "ct-logs"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b4660f8b07a560a88c02d76286edb9f0d5d64e495d2b0f233186155aa51be1f"
-dependencies = [
- "sct",
-]
-
-[[package]]
-name = "ctr"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "022cd691704491df67d25d006fe8eca083098253c4d43516c2206479c58c6736"
-dependencies = [
- "block-cipher-trait",
- "stream-cipher",
-]
-
-[[package]]
-name = "ctrlc"
-version = "1.1.1"
-source = "git+https://github.com/paritytech/rust-ctrlc.git#b523017108bb2d571a7a69bd97bc406e63bc7a9d"
-dependencies = [
- "kernel32-sys",
- "libc",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "derive_more"
-version = "0.99.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "difference"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8"
-
-[[package]]
-name = "digest"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "dir"
-version = "0.1.2"
-dependencies = [
- "app_dirs",
- "ethereum-types 0.9.2",
- "home 0.3.4",
- "journaldb",
-]
-
-[[package]]
-name = "docopt"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
-dependencies = [
- "lazy_static",
- "regex 1.3.9",
- "serde",
- "strsim 0.9.2",
-]
-
-[[package]]
-name = "edit-distance"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
-
-[[package]]
-name = "eip-152"
-version = "0.1.0"
-dependencies = [
- "rustc-hex 2.1.0",
-]
-
-[[package]]
-name = "eip-712"
-version = "0.1.0"
-dependencies = [
- "ethabi 12.0.0",
- "ethereum-types 0.9.2",
- "failure",
- "indexmap",
- "itertools 0.7.11",
- "keccak-hash",
- "lazy_static",
- "logos",
- "regex 1.3.9",
- "rustc-hex 2.1.0",
- "serde",
- "serde_derive",
- "serde_json",
- "validator",
- "validator_derive",
-]
-
-[[package]]
-name = "either"
-version = "1.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
-
-[[package]]
-name = "elastic-array"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "073be79b6538296faf81c631872676600616073817dd9a440c477ad09b408983"
-dependencies = [
- "heapsize",
-]
-
-[[package]]
-name = "enum_primitive"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
-dependencies = [
- "num-traits 0.1.43",
-]
-
-[[package]]
-name = "env_logger"
-version = "0.5.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
-dependencies = [
- "atty",
- "humantime",
- "log",
- "regex 1.3.9",
- "termcolor",
-]
-
-[[package]]
-name = "error-chain"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
-dependencies = [
- "backtrace",
- "version_check",
-]
-
-[[package]]
-name = "eth-secp256k1"
-version = "0.5.7"
-source = "git+https://github.com/paritytech/rust-secp256k1?rev=9791e79f21a5309dcb6e0bd254b1ef88fca2f1f4#9791e79f21a5309dcb6e0bd254b1ef88fca2f1f4"
-dependencies = [
- "arrayvec 0.4.12",
- "cc",
- "cfg-if 0.1.10",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "eth_pairings"
-version = "0.6.0"
-source = "git+https://github.com/matter-labs/eip1962.git?rev=ece6cbabc41948db4200e41f0bfdab7ab94c7af8#ece6cbabc41948db4200e41f0bfdab7ab94c7af8"
-dependencies = [
- "byteorder",
- "eth_pairings_repr_derive",
- "fixed_width_field",
- "fixed_width_group_and_loop",
- "num-bigint 0.2.3",
- "num-traits 0.2.8",
- "once_cell",
- "static_assertions 1.1.0",
-]
-
-[[package]]
-name = "eth_pairings_repr_derive"
-version = "0.2.0"
-source = "git+https://github.com/matter-labs/eip1962.git?rev=ece6cbabc41948db4200e41f0bfdab7ab94c7af8#ece6cbabc41948db4200e41f0bfdab7ab94c7af8"
-dependencies = [
- "byteorder",
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "ethabi"
-version = "11.0.0"
-source = "git+https://github.com/rimrakhimov/ethabi?branch=rimrakhimov/remove-syn-export-span#222e6482ac45d9c01f9e895ade8e439f86dbfc2f"
-dependencies = [
- "ethereum-types 0.9.2",
- "rustc-hex 2.1.0",
- "serde",
- "serde_json",
- "tiny-keccak 1.5.0",
- "uint",
-]
-
-[[package]]
-name = "ethabi"
-version = "12.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "052a565e3de82944527d6d10a465697e6bb92476b772ca7141080c901f6a63c6"
-dependencies = [
- "ethereum-types 0.9.2",
- "rustc-hex 2.1.0",
- "serde",
- "serde_json",
- "tiny-keccak 1.5.0",
- "uint",
-]
-
-[[package]]
-name = "ethabi-contract"
-version = "11.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d4002f1f77d8233685dafd8589efe1c9dfa63e21ca6c11134372acc7f68032"
-
-[[package]]
-name = "ethabi-derive"
-version = "11.0.0"
-source = "git+https://github.com/rimrakhimov/ethabi?branch=rimrakhimov/remove-syn-export-span#222e6482ac45d9c01f9e895ade8e439f86dbfc2f"
-dependencies = [
- "ethabi 11.0.0",
- "heck",
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "ethash"
-version = "1.12.0"
-dependencies = [
- "criterion 0.2.11",
- "crunchy 0.1.6",
- "either",
- "ethereum-types 0.9.2",
- "keccak-hash",
- "log",
- "memmap",
- "parking_lot 0.11.1",
- "primal",
- "rustc-hex 1.0.0",
- "serde_json",
- "tempdir",
- "tiny-keccak 2.0.2",
-]
-
-[[package]]
-name = "ethbloom"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd0584482a6433370908dee84ea13992c2cf39c569600e4dbfafe520bb3b90d1"
-dependencies = [
- "crunchy 0.2.2",
- "fixed-hash 0.4.0",
- "impl-rlp",
- "impl-serde 0.2.3",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "ethbloom"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"
-dependencies = [
- "crunchy 0.2.2",
- "fixed-hash 0.6.1",
- "impl-rlp",
- "impl-serde 0.3.1",
- "tiny-keccak 2.0.2",
-]
-
-[[package]]
-name = "ethcore"
-version = "1.12.0"
-dependencies = [
- "ansi_term 0.10.2",
- "blooms-db",
- "common-types",
- "criterion 0.2.11",
- "crossbeam-channel",
- "crossbeam-utils 0.6.6",
- "derive_more",
- "eip-152",
- "env_logger",
- "error-chain",
- "ethabi 12.0.0",
- "ethabi-contract",
- "ethabi-derive",
- "ethash",
- "ethcore-accounts",
- "ethcore-blockchain",
- "ethcore-bloom-journal",
- "ethcore-builtin",
- "ethcore-call-contract",
- "ethcore-db",
- "ethcore-io",
- "ethcore-miner",
- "ethcore-stratum",
- "ethereum-types 0.9.2",
- "ethjson",
- "ethkey",
- "evm",
- "fetch",
- "globset",
- "hash-db 0.11.0",
- "hex-literal",
- "itertools 0.5.10",
- "journaldb",
- "keccak-hash",
- "keccak-hasher 0.1.1",
- "kvdb",
- "kvdb-memorydb",
- "kvdb-rocksdb",
- "lazy_static",
- "len-caching-lock",
- "log",
- "lru-cache",
- "macros",
- "maplit",
- "memory-cache",
- "memory-db 0.11.0",
- "num_cpus",
- "parity-bytes",
- "parity-crypto",
- "parity-runtime",
- "parity-snappy",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "patricia-trie-ethereum",
- "rand 0.7.3",
- "rand_xorshift 0.2.0",
- "rayon",
- "regex 1.3.9",
- "reth-util",
- "rlp",
- "rlp_compress",
- "rlp_derive",
- "rustc-hex 1.0.0",
- "scopeguard 1.1.0",
- "serde",
- "serde_derive",
- "serde_json",
- "stats",
- "tempdir",
- "tempfile",
- "time-utils",
- "trace-time",
- "trie-db",
- "trie-standardmap",
- "triehash-ethereum",
- "unexpected",
- "using_queue",
- "vm",
- "walkdir",
- "wasm",
-]
-
-[[package]]
-name = "ethcore-accounts"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "ethereum-types 0.9.2",
- "ethkey",
- "ethstore",
- "log",
- "parity-crypto",
- "parking_lot 0.11.1",
- "serde",
- "serde_derive",
- "serde_json",
- "tempdir",
-]
-
-[[package]]
-name = "ethcore-blockchain"
-version = "0.1.0"
-dependencies = [
- "ansi_term 0.11.0",
- "blooms-db",
- "common-types",
- "env_logger",
- "ethcore-db",
- "ethereum-types 0.9.2",
- "ethkey",
- "itertools 0.5.10",
- "keccak-hash",
- "kvdb",
- "kvdb-memorydb",
- "log",
- "parity-bytes",
- "parity-crypto",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "rand 0.7.3",
- "rayon",
- "rlp",
- "rlp_compress",
- "rlp_derive",
- "rustc-hex 1.0.0",
- "stats",
- "tempdir",
- "triehash-ethereum",
-]
-
-[[package]]
-name = "ethcore-bloom-journal"
-version = "0.1.0"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "ethcore-builtin"
-version = "0.1.0"
-dependencies = [
- "bn",
- "byteorder",
- "eip-152",
- "eth_pairings",
- "ethereum-types 0.9.2",
- "ethjson",
- "ethkey",
- "hex-literal",
- "keccak-hash",
- "log",
- "macros",
- "maplit",
- "num",
- "parity-bytes",
- "parity-crypto",
- "rustc-hex 1.0.0",
-]
-
-[[package]]
-name = "ethcore-call-contract"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "ethereum-types 0.9.2",
- "parity-bytes",
-]
-
-[[package]]
-name = "ethcore-db"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "ethereum-types 0.9.2",
- "kvdb",
- "kvdb-memorydb",
- "kvdb-rocksdb",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "rlp",
- "rlp_derive",
- "stats",
-]
-
-[[package]]
-name = "ethcore-io"
-version = "1.12.0"
-dependencies = [
- "crossbeam-deque 0.6.3",
- "fnv",
- "futures",
- "log",
- "mio",
- "num_cpus",
- "parking_lot 0.11.1",
- "slab 0.4.2",
- "time",
- "timer",
- "tokio",
-]
-
-[[package]]
-name = "ethcore-logger"
-version = "1.12.0"
-dependencies = [
- "ansi_term 0.10.2",
- "arrayvec 0.4.12",
- "atty",
- "env_logger",
- "lazy_static",
- "log",
- "parking_lot 0.11.1",
- "regex 1.3.9",
- "time",
-]
-
-[[package]]
-name = "ethcore-miner"
-version = "1.12.0"
-dependencies = [
- "ansi_term 0.10.2",
- "common-types",
- "env_logger",
- "error-chain",
- "ethabi 12.0.0",
- "ethabi-contract",
- "ethabi-derive",
- "ethash",
- "ethcore-call-contract",
- "ethereum-types 0.9.2",
- "ethkey",
- "fetch",
- "futures",
- "hyper 0.12.35",
- "keccak-hash",
- "linked-hash-map",
- "log",
- "parity-crypto",
- "parity-runtime",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "price-info",
- "rlp",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
- "trace-time",
- "txpool",
- "url 2.1.0",
-]
-
-[[package]]
-name = "ethcore-network"
-version = "1.12.0"
-dependencies = [
- "assert_matches",
- "error-chain",
- "ethcore-io",
- "ethereum-types 0.9.2",
- "ethkey",
- "ipnetwork",
- "lazy_static",
- "libc",
- "parity-crypto",
- "parity-snappy",
- "rlp",
- "semver",
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "ethcore-network-devp2p"
-version = "1.12.0"
-dependencies = [
- "ansi_term 0.10.2",
- "assert_matches",
- "bytes",
- "env_logger",
- "error-chain",
- "ethcore-io",
- "ethcore-network",
- "ethereum-types 0.9.2",
- "ethkey",
- "igd",
- "ipnetwork",
- "keccak-hash",
- "libc",
- "log",
- "lru-cache",
- "mio",
- "parity-bytes",
- "parity-crypto",
- "parity-path",
- "parity-snappy",
- "parking_lot 0.11.1",
- "rand 0.7.3",
- "rlp",
- "rust-crypto",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
- "slab 0.2.0",
- "tempdir",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "ethcore-service"
-version = "0.1.0"
-dependencies = [
- "ansi_term 0.10.2",
- "error-chain",
- "ethcore",
- "ethcore-blockchain",
- "ethcore-db",
- "ethcore-io",
- "ethcore-sync",
- "ethereum-types 0.9.2",
- "kvdb",
- "kvdb-rocksdb",
- "log",
- "tempdir",
- "trace-time",
-]
-
-[[package]]
-name = "ethcore-stratum"
-version = "1.12.0"
-dependencies = [
- "env_logger",
- "ethereum-types 0.9.2",
- "jsonrpc-core",
- "jsonrpc-tcp-server",
- "keccak-hash",
- "log",
- "parking_lot 0.11.1",
- "tokio",
- "tokio-io",
-]
-
-[[package]]
-name = "ethcore-sync"
-version = "1.12.0"
-dependencies = [
- "common-types",
- "crossbeam-channel",
- "derive_more",
- "enum_primitive",
- "env_logger",
- "ethcore",
- "ethcore-io",
- "ethcore-miner",
- "ethcore-network",
- "ethcore-network-devp2p",
- "ethereum-forkid",
- "ethereum-types 0.9.2",
- "ethkey",
- "ethstore",
- "fastmap",
- "hash-db 0.11.0",
- "keccak-hash",
- "keccak-hasher 0.1.1",
- "kvdb",
- "kvdb-memorydb",
- "log",
- "macros",
- "parity-bytes",
- "parity-crypto",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "primitive-types 0.7.2",
- "rand 0.7.3",
- "rand_xorshift 0.2.0",
- "rlp",
- "rustc-hex 1.0.0",
- "stats",
- "trace-time",
- "triehash-ethereum",
-]
-
-[[package]]
-name = "ethereum-forkid"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3010d8372e3a76d4e2c44de0a080257ab62b6d108857ee7bd70fe8dfb2815f13"
-dependencies = [
- "crc",
- "ethereum-types 0.9.2",
- "maplit",
- "parity-util-mem",
- "rlp",
- "rlp-derive",
-]
-
-[[package]]
-name = "ethereum-types"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5a7777cb75d9ee2b8d3752634b15e4e4e70d2ef81a227e9d157acfa18592b1"
-dependencies = [
- "ethbloom 0.7.0",
- "fixed-hash 0.4.0",
- "impl-rlp",
- "impl-serde 0.2.3",
- "primitive-types 0.5.1",
- "uint",
-]
-
-[[package]]
-name = "ethereum-types"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473aecff686bd8e7b9db0165cbbb53562376b39bf35b427f0c60446a9e1634b0"
-dependencies = [
- "ethbloom 0.9.2",
- "fixed-hash 0.6.1",
- "impl-rlp",
- "impl-serde 0.3.1",
- "primitive-types 0.7.2",
- "uint",
-]
-
-[[package]]
-name = "ethjson"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "ethereum-types 0.9.2",
- "macros",
- "maplit",
- "parity-crypto",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
-]
-
-[[package]]
-name = "ethkey"
-version = "0.3.0"
-dependencies = [
- "edit-distance",
- "eth-secp256k1",
- "ethereum-types 0.9.2",
- "lazy_static",
- "log",
- "memzero",
- "parity-crypto",
- "parity-wordlist",
- "quick-error",
- "rand 0.7.3",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "ethkey-cli"
-version = "0.1.0"
-dependencies = [
- "docopt",
- "env_logger",
- "ethkey",
- "panic_hook",
- "parity-crypto",
- "parity-wordlist",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "threadpool",
-]
-
-[[package]]
-name = "ethstore"
-version = "0.2.1"
-dependencies = [
- "ethereum-types 0.9.2",
- "ethkey",
- "itertools 0.5.10",
- "lazy_static",
- "libc",
- "log",
- "matches",
- "parity-crypto",
- "parity-wordlist",
- "parking_lot 0.11.1",
- "rand 0.7.3",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
- "smallvec 0.6.13",
- "tempdir",
- "time",
-]
-
-[[package]]
-name = "ethstore-cli"
-version = "0.1.1"
-dependencies = [
- "dir",
- "docopt",
- "env_logger",
- "ethstore",
- "num_cpus",
- "panic_hook",
- "parking_lot 0.11.1",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "tempdir",
-]
-
-[[package]]
-name = "evm"
-version = "0.1.0"
-dependencies = [
- "bit-set",
- "criterion 0.2.11",
- "ethcore-builtin",
- "ethereum-types 0.9.2",
- "hex-literal",
- "keccak-hash",
- "lazy_static",
- "log",
- "memory-cache",
- "num-bigint 0.2.3",
- "parity-bytes",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "rustc-hex 1.0.0",
- "vm",
-]
-
-[[package]]
-name = "evmbin"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "criterion 0.3.0",
- "docopt",
- "env_logger",
- "ethcore",
- "ethereum-types 0.9.2",
- "ethjson",
- "evm",
- "panic_hook",
- "parity-bytes",
- "pretty_assertions",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
- "tempdir",
- "vm",
-]
-
-[[package]]
-name = "failure"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
-dependencies = [
- "backtrace",
- "failure_derive",
-]
-
-[[package]]
-name = "failure_derive"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
- "synstructure",
-]
-
-[[package]]
-name = "fake-fetch"
-version = "0.0.1"
-dependencies = [
- "fetch",
- "futures",
- "hyper 0.12.35",
-]
-
-[[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
-name = "fastmap"
-version = "0.1.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "plain_hasher",
-]
-
-[[package]]
-name = "fdlimit"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1ee15a7050e5580b3712877157068ea713b245b080ff302ae2ca973cfcd9baa"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "fetch"
-version = "0.1.0"
-dependencies = [
- "bytes",
- "futures",
- "http",
- "hyper 0.12.35",
- "hyper-rustls",
- "log",
- "tokio",
- "url 2.1.0",
-]
-
-[[package]]
-name = "fixed-hash"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "516877b7b9a1cc2d0293cbce23cd6203f0edbfd4090e6ca4489fecb5aa73050e"
-dependencies = [
- "byteorder",
- "rand 0.5.6",
- "rustc-hex 2.1.0",
- "static_assertions 0.2.5",
-]
-
-[[package]]
-name = "fixed-hash"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c"
-dependencies = [
- "byteorder",
- "rand 0.7.3",
- "rustc-hex 2.1.0",
- "static_assertions 1.1.0",
-]
-
-[[package]]
-name = "fixed_width_field"
-version = "0.1.0"
-source = "git+https://github.com/matter-labs/eip1962.git?rev=ece6cbabc41948db4200e41f0bfdab7ab94c7af8#ece6cbabc41948db4200e41f0bfdab7ab94c7af8"
-dependencies = [
- "simple_uint",
-]
-
-[[package]]
-name = "fixed_width_group_and_loop"
-version = "0.1.0"
-source = "git+https://github.com/matter-labs/eip1962.git?rev=ece6cbabc41948db4200e41f0bfdab7ab94c7af8#ece6cbabc41948db4200e41f0bfdab7ab94c7af8"
-dependencies = [
- "simple_uint",
-]
-
-[[package]]
-name = "fixedbitset"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d"
-
-[[package]]
-name = "fnv"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
-
-[[package]]
-name = "fs-swap"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921d332c89b3b61a826de38c61ee5b6e02c56806cade1b0e5d81bd71f57a71bb"
-dependencies = [
- "lazy_static",
- "libc",
- "libloading",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
-[[package]]
-name = "fuchsia-zircon"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
-dependencies = [
- "bitflags 1.2.1",
- "fuchsia-zircon-sys",
-]
-
-[[package]]
-name = "fuchsia-zircon-sys"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
-
-[[package]]
-name = "futures"
-version = "0.1.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
-
-[[package]]
-name = "futures-cpupool"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
-dependencies = [
- "futures",
- "num_cpus",
-]
-
-[[package]]
-name = "gcc"
-version = "0.3.55"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-
-[[package]]
-name = "generic-array"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
-dependencies = [
- "typenum",
-]
-
-[[package]]
-name = "getopts"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
-dependencies = [
- "unicode-width",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "wasi 0.7.0",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
-]
-
-[[package]]
-name = "gimli"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
-
-[[package]]
-name = "globset"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ad1da430bd7281dde2576f44c84cc3f0f7b475e7202cd503042dff01a8c8120"
-dependencies = [
- "aho-corasick 0.7.6",
- "bstr",
- "fnv",
- "log",
- "regex 1.3.9",
-]
-
-[[package]]
-name = "h2"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
-dependencies = [
- "byteorder",
- "bytes",
- "fnv",
- "futures",
- "http",
- "indexmap",
- "log",
- "slab 0.4.2",
- "string",
- "tokio-io",
-]
-
-[[package]]
-name = "hamming"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1"
-
-[[package]]
-name = "hash-db"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b03501f6e1a2a97f1618879aba3156f14ca2847faa530c4e28859638bd11483"
-
-[[package]]
-name = "hash-db"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a"
-
-[[package]]
-name = "hash256-std-hasher"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5c13dbac3cc50684760f54af18545c9e80fb75e93a3e586d71ebdc13138f6a4"
-dependencies = [
- "crunchy 0.2.2",
-]
-
-[[package]]
-name = "hash256-std-hasher"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92c171d55b98633f4ed3860808f004099b36c1cc29c42cfc53aa8591b21efcf2"
-dependencies = [
- "crunchy 0.2.2",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead"
-dependencies = [
- "ahash 0.2.19",
- "autocfg 0.1.7",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
-dependencies = [
- "ahash 0.3.8",
- "autocfg 1.0.0",
-]
-
-[[package]]
-name = "heapsize"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461"
-dependencies = [
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "heck"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "hex-literal"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "961de220ec9a91af2e1e5bd80d02109155695e516771762381ef8581317066e0"
-dependencies = [
- "hex-literal-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "hex-literal-impl"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d4c5c844e2fee0bf673d54c2c177f1713b3d2af2ff6e666b49cb7572e6cf42d"
-dependencies = [
- "proc-macro-hack",
-]
-
-[[package]]
-name = "hmac"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
-dependencies = [
- "crypto-mac",
- "digest",
-]
-
-[[package]]
-name = "home"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29302b90cfa76231a757a887d1e3153331a63c7f80b6c75f86366334cbe70708"
-dependencies = [
- "scopeguard 0.3.3",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "home"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
-dependencies = [
- "scopeguard 1.1.0",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "http"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
-dependencies = [
- "bytes",
- "futures",
- "http",
- "tokio-buf",
-]
-
-[[package]]
-name = "httparse"
-version = "1.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
-
-[[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.11.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34a590ca09d341e94cddf8e5af0bbccde205d5fbc2fa3c09dd67c7f85cea59d7"
-dependencies = [
- "base64 0.9.3",
- "bytes",
- "futures",
- "futures-cpupool",
- "httparse",
- "iovec",
- "language-tags",
- "log",
- "mime",
- "net2",
- "percent-encoding 1.0.1",
- "relay",
- "time",
- "tokio-core",
- "tokio-io",
- "tokio-service",
- "unicase",
- "want 0.0.4",
-]
-
-[[package]]
-name = "hyper"
-version = "0.12.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6"
-dependencies = [
- "bytes",
- "futures",
- "futures-cpupool",
- "h2",
- "http",
- "http-body",
- "httparse",
- "iovec",
- "itoa",
- "log",
- "net2",
- "rustc_version",
- "time",
- "tokio",
- "tokio-buf",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-tcp",
- "tokio-threadpool",
- "tokio-timer 0.2.13",
- "want 0.2.0",
-]
-
-[[package]]
-name = "hyper-rustls"
-version = "0.16.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15b66d1bd4864ef036adf2363409caa3acd63ebb4725957b66e621c8a36631a3"
-dependencies = [
- "bytes",
- "ct-logs",
- "futures",
- "hyper 0.12.35",
- "rustls",
- "tokio-io",
- "tokio-rustls",
- "webpki",
- "webpki-roots",
-]
-
-[[package]]
-name = "idna"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "if_chain"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bac95d9aa0624e7b78187d6fb8ab012b41d9f6f54b1bcb61e61c4845f8357ec"
-
-[[package]]
-name = "igd"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8aef7814a769f156ef3a86169a8b04c066e3aebc324f522c159978466e32a1c"
-dependencies = [
- "futures",
- "hyper 0.11.27",
- "rand 0.4.6",
- "regex 0.2.11",
- "tokio-core",
- "tokio-retry",
- "tokio-timer 0.1.2",
- "xml-rs",
- "xmltree",
-]
-
-[[package]]
-name = "impl-codec"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1be51a921b067b0eaca2fad532d9400041561aa922221cc65f95a85641c6bf53"
-dependencies = [
- "parity-scale-codec",
-]
-
-[[package]]
-name = "impl-rlp"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f7a72f11830b52333f36e3b09a288333888bf54380fd0ac0790a3c31ab0f3c5"
-dependencies = [
- "rlp",
-]
-
-[[package]]
-name = "impl-serde"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58e3cae7e99c7ff5a995da2cf78dd0a5383740eda71d98cf7b1910c301ac69b8"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "impl-serde"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b47ca4d2b6931707a55fce5cf66aff80e2178c8b63bbb4ecb5695cbc870ddf6f"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "impl-trait-for-tuples"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef5550a42e3740a0e71f909d4c861056a284060af885ae7aa6242820f920d9d"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
-dependencies = [
- "autocfg 0.1.7",
-]
-
-[[package]]
-name = "inflate"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
-dependencies = [
- "adler32",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
-dependencies = [
- "cfg-if 1.0.0",
-]
-
-[[package]]
-name = "interleaved-ordered"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "141340095b15ed7491bd3d4ced9d20cebfb826174b6bb03386381f62b01e3d77"
-
-[[package]]
-name = "iovec"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "ipnetwork"
-version = "0.12.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70783119ac90828aaba91eae39db32c6c1b8838deea3637e5238efa0130801ab"
-
-[[package]]
-name = "itertools"
-version = "0.5.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4833d6978da405305126af4ac88569b5d71ff758581ce5a987dbfa3755f694fc"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d47946d458e94a1b7bcabbf6521ea7c037062c81f534615abcad76e84d4970d"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87fa75c9dea7b07be3138c49abbb83fd4bea199b5cdc76f9804458edc5da0d6e"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-
-[[package]]
-name = "journaldb"
-version = "0.2.0"
-dependencies = [
- "env_logger",
- "ethcore-db",
- "ethereum-types 0.9.2",
- "fastmap",
- "hash-db 0.11.0",
- "keccak-hash",
- "keccak-hasher 0.1.1",
- "kvdb",
- "kvdb-memorydb",
- "log",
- "memory-db 0.11.0",
- "parity-bytes",
- "parity-util-mem",
- "parking_lot 0.11.1",
- "rlp",
-]
-
-[[package]]
-name = "jsonrpc-core"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b12567a31d48588a65b6cf870081e6ba1d7b2ae353977cb9820d512e69c70"
-dependencies = [
- "futures",
- "log",
- "serde",
- "serde_derive",
- "serde_json",
-]
-
-[[package]]
-name = "jsonrpc-derive"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2cc6ea7f785232d9ca8786a44e9fa698f92149dcdc1acc4aa1fc69c4993d79e"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "jsonrpc-http-server"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9996b26c0c7a59626d0ed6c5ec8bf06218e62ce1474bd2849f9b9fd38a0158c0"
-dependencies = [
- "hyper 0.12.35",
- "jsonrpc-core",
- "jsonrpc-server-utils",
- "log",
- "net2",
- "parking_lot 0.10.2",
- "unicase",
-]
-
-[[package]]
-name = "jsonrpc-ipc-server"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8e8f2278fb2b277175b6e21b23e7ecf30e78daff5ee301d0a2a411d9a821a0a"
-dependencies = [
- "jsonrpc-core",
- "jsonrpc-server-utils",
- "log",
- "parity-tokio-ipc",
- "parking_lot 0.10.2",
- "tokio-service",
-]
-
-[[package]]
-name = "jsonrpc-pubsub"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f389c5cd1f3db258a99296892c21047e21ae73ff4c0e2d39650ea86fe994b4c7"
-dependencies = [
- "jsonrpc-core",
- "log",
- "parking_lot 0.10.2",
- "rand 0.7.3",
- "serde",
-]
-
-[[package]]
-name = "jsonrpc-server-utils"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c623e1895d0d9110cb0ea7736cfff13191ff52335ad33b21bd5c775ea98b27af"
-dependencies = [
- "bytes",
- "globset",
- "jsonrpc-core",
- "lazy_static",
- "log",
- "tokio",
- "tokio-codec",
- "unicase",
-]
-
-[[package]]
-name = "jsonrpc-tcp-server"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b7d4a377ea231ca0d14fe1fb515ca89d6a46a33169efa6bdd5d0e56b9f359fc"
-dependencies = [
- "jsonrpc-core",
- "jsonrpc-server-utils",
- "log",
- "parking_lot 0.10.2",
- "tokio-service",
-]
-
-[[package]]
-name = "jsonrpc-ws-server"
-version = "15.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436a92034d0137ab3e3c64a7a6350b428f31cb4d7d1a89f284bcdbcd98a7bc56"
-dependencies = [
- "jsonrpc-core",
- "jsonrpc-server-utils",
- "log",
- "parity-ws",
- "parking_lot 0.10.2",
- "slab 0.4.2",
-]
-
-[[package]]
-name = "keccak-hash"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f58a51ef3df9398cf2434bea8d4eb61fb748d0feb1571f87388579a120a4c8f"
-dependencies = [
- "primitive-types 0.7.2",
- "tiny-keccak 2.0.2",
-]
-
-[[package]]
-name = "keccak-hasher"
-version = "0.1.1"
-dependencies = [
- "ethereum-types 0.9.2",
- "hash-db 0.11.0",
- "plain_hasher",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "keccak-hasher"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb9d3670023f4c04153d90b8a557a822d1b27ed702bb015a87cf7bffead5b611"
-dependencies = [
- "hash-db 0.11.0",
- "hash256-std-hasher 0.11.0",
- "tiny-keccak 1.5.0",
-]
-
-[[package]]
-name = "keccak-hasher"
-version = "0.15.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711adba9940a039f4374fc5724c0a5eaca84a2d558cce62256bfe26f0dbef05e"
-dependencies = [
- "hash-db 0.15.2",
- "hash256-std-hasher 0.15.2",
- "tiny-keccak 2.0.2",
-]
-
-[[package]]
-name = "kernel32-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "kvdb"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1b2f251f01a7224426abdb2563707d856f7de995d821744fd8fa8e2874f69e3"
-dependencies = [
- "elastic-array",
- "parity-bytes",
-]
-
-[[package]]
-name = "kvdb-memorydb"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45bcdf5eb083602cff61a6f8438dce2a7900d714e893fc48781c39fb119d37aa"
-dependencies = [
- "kvdb",
- "parking_lot 0.6.4",
-]
-
-[[package]]
-name = "kvdb-rocksdb"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5c5f57ad492ecfb9e2a91614ff0204bda82e41f832bebd64cd03ffecb74e02b"
-dependencies = [
- "elastic-array",
- "fs-swap",
- "interleaved-ordered",
- "kvdb",
- "log",
- "num_cpus",
- "parity-rocksdb",
- "parking_lot 0.9.0",
- "regex 1.3.9",
-]
-
-[[package]]
-name = "language-tags"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
-
-[[package]]
-name = "len-caching-lock"
-version = "0.1.1"
-dependencies = [
- "parking_lot 0.11.1",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.89"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "538c092e5586f4cdd7dd8078c4a79220e3e168880218124dcbce860f0ea938c6"
-
-[[package]]
-name = "libloading"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
-dependencies = [
- "cc",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "linked-hash-map"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a"
-
-[[package]]
-name = "local-encoding"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1ceb20f39ff7ae42f3ff9795f3986b1daad821caaa1e1732a0944103a5a1a66"
-dependencies = [
- "kernel32-sys",
- "skeptic",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
-dependencies = [
- "owning_ref",
- "scopeguard 0.3.3",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard 1.1.0",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"
-dependencies = [
- "scopeguard 1.1.0",
-]
-
-[[package]]
-name = "log"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
-dependencies = [
- "cfg-if 0.1.10",
-]
-
-[[package]]
-name = "logos"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "427e2abca5be13136da9afdbf874e6b34ad9001dd70f2b103b083a85daa7b345"
-dependencies = [
- "logos-derive",
-]
-
-[[package]]
-name = "logos-derive"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56a7d287fd2ac3f75b11f19a1c8a874a7d55744bd91f7a1b3e7cf87d4343c36d"
-dependencies = [
- "beef",
- "fnv",
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "regex-syntax 0.6.18",
- "syn 1.0.86",
- "utf8-ranges",
-]
-
-[[package]]
-name = "lru"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c456c123957de3a220cd03786e0d86aa542a88b46029973b542f426da6ef34"
-dependencies = [
- "hashbrown 0.6.3",
-]
-
-[[package]]
-name = "lru-cache"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
-dependencies = [
- "linked-hash-map",
-]
-
-[[package]]
-name = "macros"
-version = "0.1.0"
-
-[[package]]
-name = "maplit"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
-[[package]]
-name = "matches"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
-
-[[package]]
-name = "maybe-uninit"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
-[[package]]
-name = "memchr"
-version = "2.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
-dependencies = [
- "libc",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a85c1a8c329f11437034d7313dca647c79096523533a1c79e86f1d0f657c7cc"
-dependencies = [
- "rustc_version",
-]
-
-[[package]]
-name = "memory-cache"
-version = "0.1.0"
-dependencies = [
- "lru-cache",
- "parity-util-mem",
-]
-
-[[package]]
-name = "memory-db"
-version = "0.11.0"
-dependencies = [
- "criterion 0.2.11",
- "hash-db 0.11.0",
- "keccak-hasher 0.11.0",
- "parity-util-mem",
-]
-
-[[package]]
-name = "memory-db"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94da53143d45f6bad3753f532e56ad57a6a26c0ca6881794583310c7cb4c885f"
-dependencies = [
- "hash-db 0.11.0",
- "heapsize",
-]
-
-[[package]]
-name = "memory_units"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882"
-
-[[package]]
-name = "memzero"
-version = "0.1.0"
-
-[[package]]
-name = "migration-rocksdb"
-version = "0.1.0"
-dependencies = [
- "kvdb",
- "kvdb-rocksdb",
- "log",
- "macros",
- "tempdir",
-]
-
-[[package]]
-name = "mime"
-version = "0.3.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd1d63acd1b78403cc0c325605908475dd9b9a3acbf65ed8bcab97e27014afcf"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
-dependencies = [
- "adler",
- "autocfg 1.0.0",
-]
-
-[[package]]
-name = "mio"
-version = "0.6.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430"
-dependencies = [
- "cfg-if 0.1.10",
- "fuchsia-zircon",
- "fuchsia-zircon-sys",
- "iovec",
- "kernel32-sys",
- "libc",
- "log",
- "miow 0.2.1",
- "net2",
- "slab 0.4.2",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "mio-extras"
-version = "2.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46e73a04c2fa6250b8d802134d56d554a9ec2922bf977777c805ea5def61ce40"
-dependencies = [
- "lazycell",
- "log",
- "mio",
- "slab 0.4.2",
-]
-
-[[package]]
-name = "mio-named-pipes"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5e374eff525ce1c5b7687c4cef63943e7686524a387933ad27ca7ec43779cb3"
-dependencies = [
- "log",
- "mio",
- "miow 0.3.7",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "mio-uds"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
-dependencies = [
- "iovec",
- "libc",
- "mio",
-]
-
-[[package]]
-name = "miow"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
-dependencies = [
- "kernel32-sys",
- "net2",
- "winapi 0.2.8",
- "ws2_32-sys",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "nan-preserving-float"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34d4f00fcc2f4c9efa8cc971db0da9e28290e28e97af47585e48691ef10ff31f"
-
-[[package]]
-name = "net2"
-version = "0.2.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "node-filter"
-version = "1.12.0"
-dependencies = [
- "ethabi 12.0.0",
- "ethabi-contract",
- "ethabi-derive",
- "ethcore",
- "ethcore-io",
- "ethcore-network",
- "ethcore-network-devp2p",
- "ethereum-types 0.9.2",
- "kvdb-memorydb",
- "log",
- "lru-cache",
- "parking_lot 0.11.1",
- "tempdir",
-]
-
-[[package]]
-name = "nodrop"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-
-[[package]]
-name = "num"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
-dependencies = [
- "num-bigint 0.1.44",
- "num-integer",
- "num-iter",
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.1.44"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
-dependencies = [
- "num-integer",
- "num-traits 0.2.8",
- "rand 0.4.6",
- "rustc-serialize",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
-dependencies = [
- "autocfg 0.1.7",
- "num-integer",
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
-dependencies = [
- "autocfg 0.1.7",
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "num-iter"
-version = "0.1.39"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
-dependencies = [
- "autocfg 0.1.7",
- "num-integer",
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.1.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-dependencies = [
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-dependencies = [
- "autocfg 0.1.7",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "155394f924cdddf08149da25bfb932d226b4a593ca7468b08191ff6335941af5"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "number_prefix"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee"
-dependencies = [
- "num-traits 0.2.8",
-]
-
-[[package]]
-name = "object"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"
-
-[[package]]
-name = "oe-rpc-common"
-version = "0.0.0"
-dependencies = [
- "rustc-hex 1.0.0",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "oe-rpc-servers"
-version = "0.0.0"
-dependencies = [
- "jsonrpc-core",
- "jsonrpc-http-server",
- "jsonrpc-ipc-server",
- "jsonrpc-ws-server",
-]
-
-[[package]]
-name = "ole32-sys"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
-
-[[package]]
-name = "openethereum"
-version = "3.3.5"
-dependencies = [
- "ansi_term 0.10.2",
- "atty",
- "blooms-db",
- "clap",
- "cli-signer",
- "common-types",
- "crossbeam-channel",
- "ctrlc",
- "dir",
- "docopt",
- "ethcore",
- "ethcore-accounts",
- "ethcore-blockchain",
- "ethcore-call-contract",
- "ethcore-db",
- "ethcore-io",
- "ethcore-logger",
- "ethcore-miner",
- "ethcore-network",
- "ethcore-service",
- "ethcore-sync",
- "ethereum-types 0.9.2",
- "ethkey",
- "ethstore",
- "fake-fetch",
- "fdlimit",
- "fetch",
- "futures",
- "hyper 0.12.35",
- "ipnetwork",
- "journaldb",
- "jsonrpc-core",
- "keccak-hash",
- "kvdb",
- "kvdb-rocksdb",
- "lazy_static",
- "log",
- "migration-rocksdb",
- "node-filter",
- "num_cpus",
- "number_prefix",
- "oe-rpc-common",
- "oe-rpc-servers",
- "panic_hook",
- "parity-bytes",
- "parity-crypto",
- "parity-daemonize",
- "parity-local-store",
- "parity-path",
- "parity-rpc",
- "parity-runtime",
- "parity-version",
- "parking_lot 0.11.1",
- "pretty_assertions",
- "prometheus",
- "regex 1.3.9",
- "rlp",
- "rpassword",
- "rustc-hex 1.0.0",
- "rustc_version",
- "semver",
- "serde",
- "serde_derive",
- "serde_json",
- "stats",
- "tempdir",
- "term_size",
- "textwrap 0.9.0",
- "toml 0.4.10",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "order-stat"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efa535d5117d3661134dbf1719b6f0ffe06f2375843b13935db186cd094105eb"
-
-[[package]]
-name = "owning_ref"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
-dependencies = [
- "stable_deref_trait",
-]
-
-[[package]]
-name = "panic_hook"
-version = "0.1.0"
-dependencies = [
- "backtrace",
-]
-
-[[package]]
-name = "parity-bytes"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c276d76c5333b8c2579e02d49a06733a55b8282d2d9b13e8d53b6406bd7e30a"
-
-[[package]]
-name = "parity-crypto"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88e15b5e11d7a4829490630a797c537a68c9e864a139f56fe7a1e6a51f0da25d"
-dependencies = [
- "aes",
- "aes-ctr",
- "block-modes",
- "digest",
- "ethereum-types 0.9.2",
- "hmac",
- "lazy_static",
- "pbkdf2",
- "rand 0.7.3",
- "ripemd160",
- "rustc-hex 2.1.0",
- "scrypt",
- "secp256k1",
- "sha2",
- "subtle 2.3.0",
- "tiny-keccak 2.0.2",
- "zeroize",
-]
-
-[[package]]
-name = "parity-daemonize"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69b1910b2793ff52713fca0a4ee92544ebec59ccd218ea74560be6f947b4ca77"
-dependencies = [
- "ansi_term 0.11.0",
- "failure",
- "libc",
- "log",
- "mio",
-]
-
-[[package]]
-name = "parity-local-store"
-version = "0.1.0"
-dependencies = [
- "common-types",
- "ethcore-db",
- "ethcore-io",
- "ethkey",
- "kvdb",
- "kvdb-memorydb",
- "log",
- "parity-crypto",
- "rlp",
- "serde",
- "serde_derive",
- "serde_json",
-]
-
-[[package]]
-name = "parity-path"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b027aab22527061b7005cecf7805e8f42eed94ce89e76bac3a6035394b56627"
-dependencies = [
- "home 0.5.1",
-]
-
-[[package]]
-name = "parity-rocksdb"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d17caf6640e24b70242f3f48615e3f0764f98871e8c7aea25584e29833eb5a8"
-dependencies = [
- "libc",
- "local-encoding",
- "parity-rocksdb-sys",
-]
-
-[[package]]
-name = "parity-rocksdb-sys"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9581e6b8c63f3808500638372ee56faaaffb57c4d349974bff591606b94d5f57"
-dependencies = [
- "cmake",
- "libc",
- "local-encoding",
- "parity-snappy-sys",
-]
-
-[[package]]
-name = "parity-rpc"
-version = "1.12.0"
-dependencies = [
- "ansi_term 0.10.2",
- "common-types",
- "eip-712",
- "ethash",
- "ethcore",
- "ethcore-accounts",
- "ethcore-io",
- "ethcore-logger",
- "ethcore-miner",
- "ethcore-network",
- "ethcore-sync",
- "ethereum-types 0.9.2",
- "ethjson",
- "ethkey",
- "ethstore",
- "fake-fetch",
- "fetch",
- "futures",
- "itertools 0.5.10",
- "jsonrpc-core",
- "jsonrpc-derive",
- "jsonrpc-http-server",
- "jsonrpc-ipc-server",
- "jsonrpc-pubsub",
- "jsonrpc-ws-server",
- "keccak-hash",
- "log",
- "macros",
- "oe-rpc-common",
- "oe-rpc-servers",
- "order-stat",
- "parity-bytes",
- "parity-crypto",
- "parity-runtime",
- "parity-version",
- "parking_lot 0.11.1",
- "pretty_assertions",
- "rand 0.7.3",
- "rand_xorshift 0.2.0",
- "rlp",
- "rustc-hex 1.0.0",
- "serde",
- "serde_derive",
- "serde_json",
- "stats",
- "tempdir",
- "tiny-keccak 1.5.0",
- "tokio-timer 0.1.2",
- "transient-hashmap",
- "txpool",
- "vm",
-]
-
-[[package]]
-name = "parity-rpc-client"
-version = "1.4.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "futures",
- "jsonrpc-core",
- "jsonrpc-ws-server",
- "keccak-hash",
- "log",
- "matches",
- "parity-rpc",
- "parking_lot 0.9.0",
- "serde",
- "serde_json",
- "url 2.1.0",
-]
-
-[[package]]
-name = "parity-runtime"
-version = "0.1.0"
-dependencies = [
- "futures",
- "tokio",
-]
-
-[[package]]
-name = "parity-scale-codec"
-version = "1.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c740e5fbcb6847058b40ac7e5574766c6388f585e184d769910fe0d3a2ca861"
-dependencies = [
- "arrayvec 0.5.1",
- "bitvec",
- "byte-slice-cast",
- "serde",
-]
-
-[[package]]
-name = "parity-snappy"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2c5f9d149b13134b8b354d93a92830efcbee6fe5b73a2e6e540fe70d4dd8a63"
-dependencies = [
- "libc",
- "parity-snappy-sys",
-]
-
-[[package]]
-name = "parity-snappy-sys"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a413d51e5e1927320c9de992998e4a279dffb8c8a7363570198bd8383e66f1b"
-dependencies = [
- "cmake",
- "libc",
-]
-
-[[package]]
-name = "parity-tokio-ipc"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf"
-dependencies = [
- "bytes",
- "futures",
- "libc",
- "log",
- "mio-named-pipes",
- "miow 0.3.7",
- "rand 0.7.3",
- "tokio",
- "tokio-named-pipes",
- "tokio-uds",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "parity-util-mem"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "297ff91fa36aec49ce183484b102f6b75b46776822bd81525bfc4cc9b0dd0f5c"
-dependencies = [
- "cfg-if 0.1.10",
- "ethereum-types 0.9.2",
- "hashbrown 0.8.2",
- "impl-trait-for-tuples",
- "lru",
- "parity-util-mem-derive",
- "parking_lot 0.10.2",
- "primitive-types 0.7.2",
- "smallvec 1.6.1",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "parity-util-mem-derive"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2"
-dependencies = [
- "proc-macro2 1.0.36",
- "syn 1.0.86",
- "synstructure",
-]
-
-[[package]]
-name = "parity-version"
-version = "3.3.5"
-dependencies = [
- "parity-bytes",
- "rlp",
- "rustc_version",
- "target_info",
- "toml 0.4.10",
- "vergen",
-]
-
-[[package]]
-name = "parity-wasm"
-version = "0.31.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "511379a8194230c2395d2f5fa627a5a7e108a9f976656ce723ae68fca4097bfc"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "parity-wordlist"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573d08f0d3bc8a6ffcdac1de2725b5daeed8db26345a9c12d91648e2d6457f3e"
-dependencies = [
- "lazy_static",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "parity-ws"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61"
-dependencies = [
- "byteorder",
- "bytes",
- "httparse",
- "log",
- "mio",
- "mio-extras",
- "rand 0.7.3",
- "sha-1",
- "slab 0.4.2",
- "url 2.1.0",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
-dependencies = [
- "lock_api 0.1.5",
- "parking_lot_core 0.3.1",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.6.2",
- "rustc_version",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.7.2",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
-dependencies = [
- "instant",
- "lock_api 0.4.3",
- "parking_lot_core 0.8.3",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
-dependencies = [
- "libc",
- "rand 0.5.6",
- "rustc_version",
- "smallvec 0.6.13",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
-dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
- "libc",
- "redox_syscall 0.1.56",
- "rustc_version",
- "smallvec 0.6.13",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3"
-dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
- "libc",
- "redox_syscall 0.1.56",
- "smallvec 1.6.1",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
-dependencies = [
- "backtrace",
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "petgraph",
- "redox_syscall 0.2.5",
- "smallvec 1.6.1",
- "thread-id",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "patricia-trie-ethereum"
-version = "0.1.0"
-dependencies = [
- "elastic-array",
- "ethereum-types 0.9.2",
- "hash-db 0.11.0",
- "journaldb",
- "keccak-hash",
- "keccak-hasher 0.1.1",
- "memory-db 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "parity-bytes",
- "rlp",
- "trie-db",
-]
-
-[[package]]
-name = "pbkdf2"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"
-dependencies = [
- "base64 0.9.3",
- "byteorder",
- "crypto-mac",
- "hmac",
- "rand 0.5.6",
- "sha2",
- "subtle 1.0.0",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
-
-[[package]]
-name = "percent-encoding"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "petgraph"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7"
-dependencies = [
- "fixedbitset",
- "indexmap",
-]
-
-[[package]]
-name = "plain_hasher"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f1c24f5061a6a53aaa21b0aaaa2e1beb5271a9ecc8c5bd7ae9ac92969070a2a"
-dependencies = [
- "crunchy 0.2.2",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
-
-[[package]]
-name = "pretty_assertions"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2412f3332a07c7a2a50168988dcc184f32180a9758ad470390e5f55e089f6b6e"
-dependencies = [
- "difference",
-]
-
-[[package]]
-name = "price-info"
-version = "1.12.0"
-dependencies = [
- "fake-fetch",
- "fetch",
- "futures",
- "log",
- "parity-runtime",
- "parking_lot 0.11.1",
- "serde_json",
-]
-
-[[package]]
-name = "primal"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e31b86efadeaeb1235452171a66689682783149a6249ff334a2c5d8218d00a4"
-dependencies = [
- "primal-check",
- "primal-estimate",
- "primal-sieve",
-]
-
-[[package]]
-name = "primal-bit"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686a64e2f50194c64942992af5799e6b6e8775b8f88c607d72ed0a2fd58b9b21"
-dependencies = [
- "hamming",
-]
-
-[[package]]
-name = "primal-check"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e65f96c0a171f887198c274392c99a116ef65aa7f53f3b6d4902f493965c2d1"
-dependencies = [
- "num-integer",
-]
-
-[[package]]
-name = "primal-estimate"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ea4531dde757b56906493c8604641da14607bf9cdaa80fb9c9cabd2429f8d5"
-
-[[package]]
-name = "primal-sieve"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2d6ed369bb4b0273aeeb43f07c105c0117717cbae827b20719438eb2eb798c"
-dependencies = [
- "hamming",
- "primal-bit",
- "primal-estimate",
- "smallvec 0.6.13",
-]
-
-[[package]]
-name = "primitive-types"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83ef7b3b965c0eadcb6838f34f827e1dfb2939bdd5ebd43f9647e009b12b0371"
-dependencies = [
- "fixed-hash 0.4.0",
- "impl-codec",
- "impl-rlp",
- "impl-serde 0.2.3",
- "uint",
-]
-
-[[package]]
-name = "primitive-types"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c55c21c64d0eaa4d7ed885d959ef2d62d9e488c27c0e02d9aa5ce6c877b7d5f8"
-dependencies = [
- "fixed-hash 0.6.1",
- "impl-codec",
- "impl-rlp",
- "impl-serde 0.3.1",
- "uint",
-]
-
-[[package]]
-name = "proc-macro-crate"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e"
-dependencies = [
- "toml 0.5.5",
-]
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
-name = "proc-macro2"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-dependencies = [
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
-dependencies = [
- "unicode-xid 0.2.0",
-]
-
-[[package]]
-name = "prometheus"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd0ced56dee39a6e960c15c74dc48849d614586db2eaada6497477af7c7811cd"
-dependencies = [
- "cfg-if 0.1.10",
- "fnv",
- "lazy_static",
- "protobuf",
- "spin",
- "thiserror",
-]
-
-[[package]]
-name = "protobuf"
-version = "2.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d883f78645c21b7281d21305181aa1f4dd9e9363e7cf2566c93121552cff003e"
-
-[[package]]
-name = "pulldown-cmark"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8361e81576d2e02643b04950e487ec172b687180da65c731c03cf336784e6c07"
-dependencies = [
- "getopts",
-]
-
-[[package]]
-name = "pwasm-utils"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb0dcbddbb600f47a7098d33762a00552c671992171637f5bb310b37fe1f0e4"
-dependencies = [
- "byteorder",
- "log",
- "parity-wasm",
-]
-
-[[package]]
-name = "quick-error"
-version = "1.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
-
-[[package]]
-name = "quote"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
-dependencies = [
- "proc-macro2 0.4.30",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
-dependencies = [
- "proc-macro2 1.0.36",
-]
-
-[[package]]
-name = "radium"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "def50a86306165861203e7f84ecffbbdfdea79f0e51039b33de1e952358c47ac"
-
-[[package]]
-name = "rand"
-version = "0.3.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
-dependencies = [
- "libc",
- "rand 0.4.6",
-]
-
-[[package]]
-name = "rand"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
-dependencies = [
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "rdrand",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "rand"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "rand"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.7",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os 0.1.3",
- "rand_pcg",
- "rand_xorshift 0.1.1",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.13",
- "libc",
- "rand_chacha 0.2.1",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
-dependencies = [
- "c2-chacha",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.13",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[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 = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a788ae3edb696cfcba1c19bfd388cc4b8c21f8a408432b199c072825084da58a"
-dependencies = [
- "getrandom 0.1.13",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77d416b86801d23dde1aa643023b775c3a462efc0ed96443add11546cdf1dca8"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_xoshiro"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03b418169fb9c46533f326efd6eed2576699c44ca92d3052a066214a8d828929"
-dependencies = [
- "byteorder",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_xoshiro"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e18c91676f670f6f0312764c759405f13afb98d5d73819840cf72a518487bff"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rayon"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
-dependencies = [
- "crossbeam-deque 0.7.1",
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
-dependencies = [
- "crossbeam-deque 0.7.1",
- "crossbeam-queue 0.1.2",
- "crossbeam-utils 0.6.6",
- "lazy_static",
- "num_cpus",
-]
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.1.56"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
-dependencies = [
- "bitflags 1.2.1",
-]
-
-[[package]]
-name = "regex"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384"
-dependencies = [
- "aho-corasick 0.6.10",
- "memchr",
- "regex-syntax 0.5.6",
- "thread_local 0.3.6",
- "utf8-ranges",
-]
-
-[[package]]
-name = "regex"
-version = "1.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
-dependencies = [
- "aho-corasick 0.7.6",
- "memchr",
- "regex-syntax 0.6.18",
- "thread_local 1.0.1",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7"
-dependencies = [
- "ucd-util",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
-
-[[package]]
-name = "relay"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
-dependencies = [
- "futures",
-]
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
-dependencies = [
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "reth-util"
-version = "0.1.0"
-source = "git+https://github.com/gnosis/reth.git?rev=573e128#573e128487d5651f301e21faa97fc8e80f91dee8"
-
-[[package]]
-name = "ring"
-version = "0.14.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c"
-dependencies = [
- "cc",
- "lazy_static",
- "libc",
- "spin",
- "untrusted",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "ripemd160"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad5112e0dbbb87577bfbc56c42450235e3012ce336e29c5befd7807bd626da4a"
-dependencies = [
- "block-buffer",
- "digest",
- "opaque-debug",
-]
-
-[[package]]
-name = "rlp"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"
-dependencies = [
- "rustc-hex 2.1.0",
-]
-
-[[package]]
-name = "rlp-derive"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "rlp_compress"
-version = "0.1.0"
-dependencies = [
- "elastic-array",
- "lazy_static",
- "rlp",
-]
-
-[[package]]
-name = "rlp_derive"
-version = "0.1.0"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "rlp",
- "syn 0.15.26",
-]
-
-[[package]]
-name = "rpassword"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b273c91bd242ca03ad6d71c143b6f17a48790e61f21a6c78568fa2b6774a24a4"
-dependencies = [
- "kernel32-sys",
- "libc",
- "rprompt",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "rprompt"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1601f32bc5858aae3cbfa1c645c96c4d820cc5c16be0194f089560c00b6eb625"
-
-[[package]]
-name = "rust-crypto"
-version = "0.2.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
-dependencies = [
- "gcc",
- "libc",
- "rand 0.3.23",
- "rustc-serialize",
- "time",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
-
-[[package]]
-name = "rustc-hex"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ceb8ce7a5e520de349e1fa172baeba4a9e8d5ef06c47471863530bc4972ee1e"
-
-[[package]]
-name = "rustc-hex"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6"
-
-[[package]]
-name = "rustc-serialize"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
-
-[[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustls"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f271e3552cd835fa28c541c34a7e8fdd8cdff09d77fe4eb8f6c42e87a11b096e"
-dependencies = [
- "base64 0.10.1",
- "log",
- "ring",
- "sct",
- "untrusted",
- "webpki",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
-
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
-[[package]]
-name = "same-file"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scoped-tls"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
-
-[[package]]
-name = "scopeguard"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "scrypt"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "656c79d0e90d0ab28ac86bf3c3d10bfbbac91450d3f190113b4e76d9fec3cfdd"
-dependencies = [
- "byte-tools",
- "byteorder",
- "hmac",
- "pbkdf2",
- "sha2",
-]
-
-[[package]]
-name = "sct"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f5adf8fbd58e1b1b52699dc8bed2630faecb6d8c7bee77d009d6bbe4af569b9"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "secp256k1"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2932dc07acd2066ff2e3921a4419606b220ba6cd03a9935123856cc534877056"
-dependencies = [
- "rand 0.6.5",
- "secp256k1-sys",
-]
-
-[[package]]
-name = "secp256k1-sys"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab2c26f0d3552a0f12e639ae8a64afc2e3db9c52fe32f5fc6c289d38519f220"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
- "serde",
-]
-
-[[package]]
-name = "semver-parser"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-
-[[package]]
-name = "serde"
-version = "1.0.102"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c4b39bd9b0b087684013a792c59e3e07a46a01d2322518d8a1104641a0b1be0"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.102"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca13fc1a832f793322228923fbb3aba9f3f44444898f835d31ad1b74fa0a2bf8"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_repr"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
-dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
-]
-
-[[package]]
-name = "sha2"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
-dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
-]
-
-[[package]]
-name = "shell32-sys"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "simple_uint"
-version = "0.1.0"
-source = "git+https://github.com/matter-labs/eip1962.git?rev=ece6cbabc41948db4200e41f0bfdab7ab94c7af8#ece6cbabc41948db4200e41f0bfdab7ab94c7af8"
-dependencies = [
- "byteorder",
- "crunchy 0.2.2",
- "rustc-hex 2.1.0",
- "static_assertions 1.1.0",
-]
-
-[[package]]
-name = "siphasher"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "833011ca526bd88f16778d32c699d325a9ad302fa06381cd66f7be63351d3f6d"
-
-[[package]]
-name = "skeptic"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24ebf8a06f5f8bae61ae5bbc7af7aac4ef6907ae975130faba1199e5fe82256a"
-dependencies = [
- "pulldown-cmark",
- "tempdir",
-]
-
-[[package]]
-name = "slab"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbdd334bd28d328dad1c41b0ea662517883d8880d8533895ef96c8003dec9c4"
-
-[[package]]
-name = "slab"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23"
-
-[[package]]
-name = "slab"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
-
-[[package]]
-name = "smallvec"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
-dependencies = [
- "maybe-uninit",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
-
-[[package]]
-name = "spin"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
-
-[[package]]
-name = "static_assertions"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c19be23126415861cb3a23e501d34a708f7f9b2183c5252d690941c2e69199d5"
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "stats"
-version = "0.1.0"
-dependencies = [
- "log",
- "prometheus",
-]
-
-[[package]]
-name = "stream-cipher"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "string"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
-dependencies = [
- "bytes",
-]
-
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
-[[package]]
-name = "strsim"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
-
-[[package]]
-name = "subtle"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
-
-[[package]]
-name = "subtle"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "343f3f510c2915908f155e94f17220b19ccfacf2a64a2a5d8004f2c3e311e7fd"
-
-[[package]]
-name = "syn"
-version = "0.15.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9"
-dependencies = [
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "unicode-xid 0.1.0",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "unicode-xid 0.2.0",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.12.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "575be94ccb86e8da37efb894a87e2b660be299b41d8ef347f9d6d79fbe61b1ba"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
- "unicode-xid 0.2.0",
-]
-
-[[package]]
-name = "target_info"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c63f48baada5c52e65a29eef93ab4f8982681b67f9e8d29c7b05abcfec2b9ffe"
-
-[[package]]
-name = "tempdir"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
-dependencies = [
- "rand 0.4.6",
- "remove_dir_all",
-]
-
-[[package]]
-name = "tempfile"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "rand 0.7.3",
- "redox_syscall 0.1.56",
- "remove_dir_all",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "term_size"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5b9a66db815dcfd2da92db471106457082577c3c278d4138ab3e3b4e189327"
-dependencies = [
- "kernel32-sys",
- "libc",
- "winapi 0.2.8",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
-dependencies = [
- "wincolor",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693"
-dependencies = [
- "unicode-width",
-]
-
-[[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.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793"
-dependencies = [
- "proc-macro2 1.0.36",
- "quote 1.0.7",
- "syn 1.0.86",
-]
-
-[[package]]
-name = "thread-id"
-version = "3.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7fbf4c9d56b320106cd64fd024dadfa0be7cb4706725fc44a7d7ce952d820c1"
-dependencies = [
- "libc",
- "redox_syscall 0.1.56",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "thread_local"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "threadpool"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
-dependencies = [
- "num_cpus",
-]
-
-[[package]]
-name = "time"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
-dependencies = [
- "libc",
- "redox_syscall 0.1.56",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "time-utils"
-version = "0.1.0"
-
-[[package]]
-name = "timer"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31d42176308937165701f50638db1c31586f183f1aab416268216577aec7306b"
-dependencies = [
- "chrono",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2"
-dependencies = [
- "crunchy 0.2.2",
-]
-
-[[package]]
-name = "tiny-keccak"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
-dependencies = [
- "crunchy 0.2.2",
-]
-
-[[package]]
-name = "tinytemplate"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4574b75faccaacddb9b284faecdf0b544b80b6b294f3d062d325c5726a209c20"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "tokio"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
-dependencies = [
- "bytes",
- "futures",
- "mio",
- "num_cpus",
- "tokio-codec",
- "tokio-current-thread",
- "tokio-executor",
- "tokio-fs",
- "tokio-io",
- "tokio-reactor",
- "tokio-sync",
- "tokio-tcp",
- "tokio-threadpool",
- "tokio-timer 0.2.13",
- "tokio-udp",
- "tokio-uds",
-]
-
-[[package]]
-name = "tokio-buf"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
-dependencies = [
- "bytes",
- "either",
- "futures",
-]
-
-[[package]]
-name = "tokio-codec"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
-dependencies = [
- "bytes",
- "futures",
- "tokio-io",
-]
-
-[[package]]
-name = "tokio-core"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeeffbbb94209023feaef3c196a41cbcdafa06b4a6f893f68779bb5e53796f71"
-dependencies = [
- "bytes",
- "futures",
- "iovec",
- "log",
- "mio",
- "scoped-tls",
- "tokio",
- "tokio-executor",
- "tokio-io",
- "tokio-reactor",
- "tokio-timer 0.2.13",
-]
-
-[[package]]
-name = "tokio-current-thread"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
-dependencies = [
- "futures",
- "tokio-executor",
-]
-
-[[package]]
-name = "tokio-executor"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
-]
-
-[[package]]
-name = "tokio-fs"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fe6dc22b08d6993916647d108a1a7d15b9cd29c4f4496c62b92c45b5041b7af"
-dependencies = [
- "futures",
- "tokio-io",
- "tokio-threadpool",
-]
-
-[[package]]
-name = "tokio-io"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
-dependencies = [
- "bytes",
- "futures",
- "log",
-]
-
-[[package]]
-name = "tokio-named-pipes"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae"
-dependencies = [
- "bytes",
- "futures",
- "mio",
- "mio-named-pipes",
- "tokio",
-]
-
-[[package]]
-name = "tokio-reactor"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log",
- "mio",
- "num_cpus",
- "parking_lot 0.9.0",
- "slab 0.4.2",
- "tokio-executor",
- "tokio-io",
- "tokio-sync",
-]
-
-[[package]]
-name = "tokio-retry"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f05746ae87dca83a2016b4f5dba5b237b897dd12fd324f60afe282112f16969a"
-dependencies = [
- "futures",
- "rand 0.3.23",
- "tokio-core",
- "tokio-service",
-]
-
-[[package]]
-name = "tokio-rustls"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95a199832a67452c60bed18ed951d28d5755ff57b02b3d2d535d9f13a81ea6c9"
-dependencies = [
- "futures",
- "rustls",
- "tokio-io",
- "webpki",
-]
-
-[[package]]
-name = "tokio-service"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162"
-dependencies = [
- "futures",
-]
-
-[[package]]
-name = "tokio-sync"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76"
-dependencies = [
- "fnv",
- "futures",
-]
-
-[[package]]
-name = "tokio-tcp"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
-dependencies = [
- "bytes",
- "futures",
- "iovec",
- "mio",
- "tokio-io",
- "tokio-reactor",
-]
-
-[[package]]
-name = "tokio-threadpool"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
-dependencies = [
- "crossbeam-deque 0.7.1",
- "crossbeam-queue 0.2.3",
- "crossbeam-utils 0.7.2",
- "futures",
- "lazy_static",
- "log",
- "num_cpus",
- "slab 0.4.2",
- "tokio-executor",
-]
-
-[[package]]
-name = "tokio-timer"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6131e780037787ff1b3f8aad9da83bca02438b72277850dd6ad0d455e0e20efc"
-dependencies = [
- "futures",
- "slab 0.3.0",
-]
-
-[[package]]
-name = "tokio-timer"
-version = "0.2.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
-dependencies = [
- "crossbeam-utils 0.7.2",
- "futures",
- "slab 0.4.2",
- "tokio-executor",
-]
-
-[[package]]
-name = "tokio-udp"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f02298505547f73e60f568359ef0d016d5acd6e830ab9bc7c4a5b3403440121b"
-dependencies = [
- "bytes",
- "futures",
- "log",
- "mio",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
-]
-
-[[package]]
-name = "tokio-uds"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037ffc3ba0e12a0ab4aca92e5234e0dedeb48fddf6ccd260f1f150a36a9f2445"
-dependencies = [
- "bytes",
- "futures",
- "iovec",
- "libc",
- "log",
- "mio",
- "mio-uds",
- "tokio-codec",
- "tokio-io",
- "tokio-reactor",
-]
-
-[[package]]
-name = "toml"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "trace-time"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9adf04084eeb9a1ea91be6c3f8ef3df392391c91fc7d8f696d4875f6754e715"
-dependencies = [
- "log",
-]
-
-[[package]]
-name = "transient-hashmap"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aeb4b191d033a35edfce392a38cdcf9790b6cebcb30fa690c312c29da4dc433e"
-
-[[package]]
-name = "trie-db"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7319e28ca295f27359d944a682f7f65b419158bf1590c92cadc0000258d788"
-dependencies = [
- "elastic-array",
- "hash-db 0.11.0",
- "log",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "trie-standardmap"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3161ba520ab28cd8e6b68e1126f1009f6e335339d1a73b978139011703264c8"
-dependencies = [
- "hash-db 0.15.2",
- "keccak-hasher 0.15.3",
-]
-
-[[package]]
-name = "triehash"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92148b4d8d55eff71bc8c9e3c5f714e266c2a05e724dce5405a10deabbf449a8"
-dependencies = [
- "hash-db 0.11.0",
- "rlp",
-]
-
-[[package]]
-name = "triehash-ethereum"
-version = "0.2.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "keccak-hasher 0.1.1",
- "triehash",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2aa4715743892880f70885373966c83d73ef1b0838a664ef0c76fffd35e7c2"
-
-[[package]]
-name = "try-lock"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
-
-[[package]]
-name = "txpool"
-version = "1.0.0-alpha"
-dependencies = [
- "ethereum-types 0.7.0",
- "log",
- "smallvec 0.6.13",
- "trace-time",
-]
-
-[[package]]
-name = "typenum"
-version = "1.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
-
-[[package]]
-name = "ucd-util"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85f514e095d348c279b1e5cd76795082cf15bd59b93207832abe0b1d8fed236"
-
-[[package]]
-name = "uint"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177"
-dependencies = [
- "byteorder",
- "crunchy 0.2.2",
- "rustc-hex 2.1.0",
- "static_assertions 1.1.0",
-]
-
-[[package]]
-name = "unexpected"
-version = "0.1.0"
-
-[[package]]
-name = "unicase"
-version = "2.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e2e6bd1e59e56598518beb94fd6db628ded570326f0a98c679a304bd9f00150"
-dependencies = [
- "version_check",
-]
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-dependencies = [
- "matches",
-]
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
-dependencies = [
- "smallvec 0.6.13",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f5526225fd8b77342d5986ab5f6055552e9c0776193b5b63fd53b46debfad7"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
-
-[[package]]
-name = "unicode-xid"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
-
-[[package]]
-name = "untrusted"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f"
-
-[[package]]
-name = "url"
-version = "1.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-dependencies = [
- "idna 0.1.5",
- "matches",
- "percent-encoding 1.0.1",
-]
-
-[[package]]
-name = "url"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
-dependencies = [
- "idna 0.2.0",
- "matches",
- "percent-encoding 2.1.0",
-]
-
-[[package]]
-name = "using_queue"
-version = "0.1.0"
-
-[[package]]
-name = "utf8-ranges"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba"
-
-[[package]]
-name = "validator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "236a5eda3df2c877872e98dbc55d497d943792e6405d8fc65bd4f8a5e3b53c99"
-dependencies = [
- "idna 0.1.5",
- "lazy_static",
- "regex 1.3.9",
- "serde",
- "serde_derive",
- "serde_json",
- "url 1.7.2",
-]
-
-[[package]]
-name = "validator_derive"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d360d6f5754972c0c1da14fb3d5580daa31aee566e1e45e2f8d3bf5950ecd3e9"
-dependencies = [
- "if_chain",
- "lazy_static",
- "proc-macro2 0.4.30",
- "quote 0.6.13",
- "regex 1.3.9",
- "syn 0.15.26",
- "validator",
-]
-
-[[package]]
-name = "vec_map"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
-
-[[package]]
-name = "vergen"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3365f36c57e5df714a34be40902b27a992eeddb9996eca52d0584611cf885d"
-dependencies = [
- "bitflags 0.7.0",
- "time",
-]
-
-[[package]]
-name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
-[[package]]
-name = "vm"
-version = "0.1.0"
-dependencies = [
- "ethereum-types 0.9.2",
- "ethjson",
- "keccak-hash",
- "parity-bytes",
- "patricia-trie-ethereum",
- "rlp",
-]
-
-[[package]]
-name = "walkdir"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
-dependencies = [
- "same-file",
- "winapi 0.3.8",
- "winapi-util",
-]
-
-[[package]]
-name = "want"
-version = "0.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a05d9d966753fa4b5c8db73fcab5eed4549cfe0e1e4e66911e5564a0085c35d1"
-dependencies = [
- "futures",
- "log",
- "try-lock 0.1.0",
-]
-
-[[package]]
-name = "want"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
-dependencies = [
- "futures",
- "log",
- "try-lock 0.2.2",
-]
-
-[[package]]
-name = "wasi"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-
-[[package]]
-name = "wasi"
-version = "0.10.2+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
-
-[[package]]
-name = "wasm"
-version = "0.1.0"
-dependencies = [
- "byteorder",
- "env_logger",
- "ethereum-types 0.9.2",
- "libc",
- "log",
- "parity-wasm",
- "pwasm-utils",
- "vm",
- "wasmi",
-]
-
-[[package]]
-name = "wasmi"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b4a6d379e9332b1b1f52c5a87f2481c85c7c931d8ec411963dfb8f26b1ec1e3"
-dependencies = [
- "byteorder",
- "memory_units",
- "nan-preserving-float",
- "parity-wasm",
-]
-
-[[package]]
-name = "webpki"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f7e1cd7900a3a6b65a3e8780c51a3e6b59c0e2c55c6dc69578c288d69f7d082"
-dependencies = [
- "ring",
- "untrusted",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c10fa4212003ba19a564f25cd8ab572c6791f99a03cc219c13ed35ccab00de0e"
-dependencies = [
- "untrusted",
- "webpki",
-]
-
-[[package]]
-name = "winapi"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-
-[[package]]
-name = "winapi"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-build"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
-
-[[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.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
-dependencies = [
- "winapi 0.3.8",
-]
-
-[[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 = "wincolor"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
-dependencies = [
- "winapi 0.3.8",
- "winapi-util",
-]
-
-[[package]]
-name = "ws2_32-sys"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-dependencies = [
- "winapi 0.2.8",
- "winapi-build",
-]
-
-[[package]]
-name = "xdg"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57"
-
-[[package]]
-name = "xml-rs"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2"
-dependencies = [
- "bitflags 1.2.1",
-]
-
-[[package]]
-name = "xmltree"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9cfb54ca6b8f17d2377219ce485b134d53561b77e1393c7ea416f543a527431"
-dependencies = [
- "xml-rs",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36"
diff --git a/pkgs/applications/blockchains/openethereum/default.nix b/pkgs/applications/blockchains/openethereum/default.nix
deleted file mode 100644
index a41b9df837513..0000000000000
--- a/pkgs/applications/blockchains/openethereum/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-, cmake
-, openssl
-, pkg-config
-, stdenv
-, systemd
-, darwin
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "openethereum";
-  version = "3.3.5";
-
-  src = fetchFromGitHub {
-    owner = "openethereum";
-    repo = "openethereum";
-    rev = "v${version}";
-    sha256 = "sha256-PpRRoufuZ9fXbLonMAo6qaA/jtJZXW98uM0BEXdJ2oU=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "app_dirs-1.2.1" = "sha256-zn9/b6VUuQ4U7KpN95hWumaKUg+xUdyEBRBngWhHuqA=";
-      "bn-0.4.4" = "sha256-SdlIZwN2AVrq8Ezz0AeLRc+4G/YpqwCpFPS8QqLQ0yU=";
-      "ctrlc-1.1.1" = "sha256-AqJR2B4PnR/fc7N+t2L0zZQ1fYy1GouGKkzupQw8uRQ=";
-      "eth-secp256k1-0.5.7" = "sha256-2ZwY2cODE7AVJ2WBTuHZ01dZXegeNmZHKRUXVemLs1A=";
-      "eth_pairings-0.6.0" = "sha256-2qLyuOArJOH029JKXuyB67p9gggsTRpavW1AO4O93L4=";
-      "ethabi-11.0.0" = "sha256-QVlwdv5iHOhp98rwSZC6b+YFLTdlq3va6YzAZzm8q8Y=";
-      "reth-util-0.1.0" = "sha256-3W8ESWCqEtDuoY2YhB1YVlQXs91XWfuAN2feuv0u6yU=";
-    };
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isLinux [ systemd ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.Security ];
-
-  buildFeatures = [ "final" ];
-
-  # Fix tests by preventing them from writing to /homeless-shelter.
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
-
-  # Exclude some tests that don't work in the sandbox
-  # - Nat test requires network access
-  checkFlags = [ "--skip" "configuration::tests::should_resolve_external_nat_hosts" ];
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Fast, light, robust Ethereum implementation";
-    homepage = "http://parity.io/ethereum";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ akru ];
-    platforms = lib.platforms.unix;
-    mainProgram = "openethereum";
-  };
-}
diff --git a/pkgs/applications/editors/ed/sources.nix b/pkgs/applications/editors/ed/sources.nix
index 77e13da9eb157..de20aa1bf8a7f 100644
--- a/pkgs/applications/editors/ed/sources.nix
+++ b/pkgs/applications/editors/ed/sources.nix
@@ -23,10 +23,10 @@ in
 {
   ed = let
     pname = "ed";
-    version = "1.20.1";
+    version = "1.20.2";
     src = fetchurl {
       url = "mirror://gnu/ed/ed-${version}.tar.lz";
-      hash = "sha256-saRjspehQfmHbEsfzQFHf2Rc3tkhaAkOmjXbKvS6u8o=";
+      hash = "sha256-Zf7HMY9IwsoX8zSsD0cD3v5iA3uxPMI5IN4He1+iRSM=";
     };
   in import ./generic.nix {
     inherit pname version src meta;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
index 797ecd493d219..fd0ec451ec93f 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-generated.nix
@@ -10,7 +10,7 @@
         version = "0.10.0.0.20220911.35841";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ace-window-0.10.0.0.20220911.35841.tar";
-          sha256 = "1q506qdi55rg2c9z3555klsqy5sxqpii11mx69l8x76a33a0j1f4";
+          sha256 = "0xfc1pw7m4vg0xvj40djm7rxqr0405pby3rgl5vyd8ci5kpmmvhs";
         };
         packageRequires = [ avy ];
         meta = {
@@ -25,7 +25,7 @@
         version = "1.11.0.20220924.84123";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ack-1.11.0.20220924.84123.tar";
-          sha256 = "1npl618r6g25mzkibj0x4l31kqws73w9aid6ichm0ql9mi6pry5m";
+          sha256 = "0vic2izviakj6qh2l15jd8qm8yr0h0qhy4r8sx7zdngpi9i14r5v";
         };
         packageRequires = [];
         meta = {
@@ -41,10 +41,10 @@
       elpaBuild {
         pname = "activities";
         ename = "activities";
-        version = "0.8pre0.20240313.183743";
+        version = "0.8pre0.20240328.110921";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/activities-0.8pre0.20240313.183743.tar";
-          sha256 = "1ba85ik0knxrlhw2prwsawin5r86n75qm240qkgkd05xhm7znqnw";
+          url = "https://elpa.gnu.org/devel/activities-0.8pre0.20240328.110921.tar";
+          sha256 = "0b8g9zb0x0hx0fgkrvn0lr7sxakrm931m1mrdzxrg779h8h24025";
         };
         packageRequires = [ emacs persist ];
         meta = {
@@ -65,7 +65,7 @@
         version = "8.1.0.0.20231018.91522";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ada-mode-8.1.0.0.20231018.91522.tar";
-          sha256 = "00ywqyvqvynrskyg0wh2acl6a68f0s2r83w3cmsgxd569phlsrqp";
+          sha256 = "07kd6dj1dbds68qmi4dh4w3fc8l18jyxrfbz4lxb5v9c59hk8c46";
         };
         packageRequires = [ emacs gnat-compiler uniquify-files wisi ];
         meta = {
@@ -82,7 +82,7 @@
         version = "2020.1.0.20201129.190419";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ada-ref-man-2020.1.0.20201129.190419.tar";
-          sha256 = "0pvlfgq4b2a4d7452b3y0ns3saq8497fq9m62pi4ylqnqwjkfy61";
+          sha256 = "0a201fn9xs3vg52vri8aw2p56rsw428hk745m6hja6q5gn6rl0zw";
         };
         packageRequires = [];
         meta = {
@@ -100,7 +100,7 @@
         version = "0.8.0.20240113.95028";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/adaptive-wrap-0.8.0.20240113.95028.tar";
-          sha256 = "1s31ql23mrcarwcp1z4068qsyqcddss8ybr23jpplp3y0faaqmc8";
+          sha256 = "0dj20mmipnik62480cm11rnvsvbc3js2ql5r321kj20g87rz9l2a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -118,7 +118,7 @@
         version = "3.2.0.20240113.95404";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/adjust-parens-3.2.0.20240113.95404.tar";
-          sha256 = "1lnwpir9rnk7c8hhd8w88lk5bx01v757szi9p02hv0i5l3w494r1";
+          sha256 = "0l7s63dfpar2ddiydl43m6ipzc7qghv9k5hfcnj56aj6hs7ibcd2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -136,7 +136,7 @@
         version = "0.1.0.20201220.233221";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/advice-patch-0.1.0.20201220.233221.tar";
-          sha256 = "09ivqir4b5rr1h7mc5g9czr5d9iig10zxvwjnnx12qzqaqwz2yvr";
+          sha256 = "1bca9s6cxpsyvyl0fxqa59x68rpdj44kxcaxmaa0lsy10vgib542";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -154,7 +154,7 @@
         version = "1.7.0.20220417.71805";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/aggressive-completion-1.7.0.20220417.71805.tar";
-          sha256 = "0kizmb64l0dbrgyj0wzbpdxpyr060myval62y5i88an74fvjli60";
+          sha256 = "1nmh9as4m0xjvda1f0hda8s1wk1z973wlfxcfci768y45ffnjn0g";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -172,7 +172,7 @@
         version = "1.10.0.0.20230112.100030";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/aggressive-indent-1.10.0.0.20230112.100030.tar";
-          sha256 = "0jjai48mf0j8b9dcxi9rlrpcpbz2cm2y6iqbi2f7q8012166hvgs";
+          sha256 = "0vp49nz5n82pcds2hxqz0fy5zcmvcrpfd1zgsm1cwyph7vvx7djj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -187,7 +187,7 @@
         version = "0.0.20240117.23316";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/agitate-0.0.20240117.23316.tar";
-          sha256 = "0fa6yjakcws7rj83yyj5d8adq4jdmzp1l5ydz81yw5jyiw5zwrgi";
+          sha256 = "0md795hvmz15bb3vsji4p12g9lm8j34mj9wqq338dhn6zw91n5hi";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -205,7 +205,7 @@
         version = "1.10.0.0.20211231.115425";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ahungry-theme-1.10.0.0.20211231.115425.tar";
-          sha256 = "0irq26pxgv31ak0wrwy1smhfazsc3nvn99ki3zq21h1d31i2xhcr";
+          sha256 = "0iddqqkv9i3d9yajhysl54av91i0gdngxqyn7vvapf1nz3pxzrvz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -223,7 +223,7 @@
         version = "0.0.6.0.20240307.233340";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/aircon-theme-0.0.6.0.20240307.233340.tar";
-          sha256 = "1jw2w80sjglh1fq4psr5nflm20h37ldd5xjlqbmfd46ghmlanb1d";
+          sha256 = "0wlnk169zkb3l7aw8536p6dvlf7qzqdcf0jbmn92w75hy8k7jwjk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -235,10 +235,10 @@
       elpaBuild {
         pname = "all";
         ename = "all";
-        version = "1.0.0.20240113.95556";
+        version = "1.1.0.20240405.133638";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/all-1.0.0.20240113.95556.tar";
-          sha256 = "193hiqxh3hzrm928arcbzbrmja9qn0rs3ka8zb7fra9k2rd214dn";
+          url = "https://elpa.gnu.org/devel/all-1.1.0.20240405.133638.tar";
+          sha256 = "0cybsyr7ksgslwdfnrz8cpymk34f9gz75ahz368rhg926qlxy95j";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -253,7 +253,7 @@
         version = "1.2.0.0.20240117.23410";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/altcaps-1.2.0.0.20240117.23410.tar";
-          sha256 = "1jgl15jyz1xz8541yi3dfwc1k6rb6w469nsnpwmdvl36vnk9f0hq";
+          sha256 = "0ylsxw86h2d8b407rmai174yw4hq4jjcpviz7hq2aj0amvk7p5ml";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -268,7 +268,7 @@
         version = "0.2.0.20240220.181558";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ampc-0.2.0.20240220.181558.tar";
-          sha256 = "0mlf9lggf41rlx6zxjj2kjdy4k11s0kjmxg6qga45r38ynd3am5d";
+          sha256 = "139gqhijy92qnprk25av550zd7165ilsnnmdx4v0v0fnwgxnya7h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -286,7 +286,7 @@
         version = "0.977.0.20221212.221354";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/arbitools-0.977.0.20221212.221354.tar";
-          sha256 = "1fxm44g6ymvzcz784v48c4114kf23h8qylc5fnirla9bk0lhwqpj";
+          sha256 = "0s9w9hfki33bnfgm7yyhhcl0kbpn1ahd5li7nfy409zcb5spz17h";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -303,7 +303,7 @@
         version = "1.13.0.20230911.4520";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ascii-art-to-unicode-1.13.0.20230911.4520.tar";
-          sha256 = "119pwcfrr0x2nyd9w4gpaka408rdivs1l0zw2kk80hq9fccrgm47";
+          sha256 = "10x2svbc9qkrcckwjfsd1rlcqbvapvrb80x8m0p2awffwisr165j";
         };
         packageRequires = [];
         meta = {
@@ -318,7 +318,7 @@
         version = "0.7.0.20240303.95456";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/assess-0.7.0.20240303.95456.tar";
-          sha256 = "0k9n0j5q5l2bwbb7yql8jg9fnqvmk7mgx6dv612hpv9hdsls65h1";
+          sha256 = "0yqiqlgnhqvqc4w9s05csk2h2iwyv1m32wb121v6famfqaicgl12";
         };
         packageRequires = [ emacs m-buffer ];
         meta = {
@@ -333,7 +333,7 @@
         version = "1.9.8.0.20240323.191212";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/async-1.9.8.0.20240323.191212.tar";
-          sha256 = "0w0nqdam98ahvbbbzr3i4z7zx2xfl6h1b3aq53qn8cxwnl1mfnqx";
+          sha256 = "0ji1ai2zx8wly0b0f670v0wij57hrclr4yr6kwiq0ljaqnbm59h3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -341,17 +341,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    auctex = callPackage ({ elpaBuild
-                          , emacs
-                          , fetchurl
-                          , lib }:
+    auctex = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "14.0.4.0.20240317.113904";
+        version = "14.0.4.0.20240427.91120";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/auctex-14.0.4.0.20240317.113904.tar";
-          sha256 = "1iwzym6ygq0wzb96qgbv7530fv3cxykjilbxzxb3la3xhqb93qhs";
+          url = "https://elpa.gnu.org/devel/auctex-14.0.4.0.20240427.91120.tar";
+          sha256 = "1qp2vgmna7fi66qdi4flgvl0l4cpz516klkx2rcd6wixvhyc53rx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -366,7 +363,7 @@
         version = "7.0.20221221.74552";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/aumix-mode-7.0.20221221.74552.tar";
-          sha256 = "0ksihp1qa9n1290qpf7ahxxpbp4q9pwbpvk6ybgjcjdb4pjgfyms";
+          sha256 = "0c3yhk8ir4adv3wy80iywbvl1sm86xssg0j0q4rym50pr4vqx60n";
         };
         packageRequires = [];
         meta = {
@@ -383,7 +380,7 @@
         version = "1.1.4.0.20221221.74656";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/auto-correct-1.1.4.0.20221221.74656.tar";
-          sha256 = "0w9q0ibghmafbwla8wxnfki1fidb476cvsx37v3bs4pvq2kkcphk";
+          sha256 = "10h6b5px4krcwjwhc475al9kcizijsz773zkcijrfi83283l35nc";
         };
         packageRequires = [];
         meta = {
@@ -400,7 +397,7 @@
         version = "0.1.2.0.20230407.82136";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/auto-header-0.1.2.0.20230407.82136.tar";
-          sha256 = "1h455ikypf1sd082r7i59yldm4p794a3w1ya7qfzcwvfhygdzdgz";
+          sha256 = "1dm5nqcvbya9fyj45q6k8ni507prs3ij2q5rhdl9m8vwkq6gf72w";
         };
         packageRequires = [];
         meta = {
@@ -418,7 +415,7 @@
         version = "0.10.10.0.20201215.220815";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/auto-overlays-0.10.10.0.20201215.220815.tar";
-          sha256 = "18lq41am7psh7kbf7yxk5qqhiddjzjqkb1pv0zn0vbps7pka68qh";
+          sha256 = "1gmsli1bil210867x642x4zvhqradl3d4pk4n5ky5g6xp1h36c7w";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -433,10 +430,10 @@
       elpaBuild {
         pname = "autocrypt";
         ename = "autocrypt";
-        version = "0.4.1.0.20230505.70117";
+        version = "0.4.2.0.20240410.70023";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/autocrypt-0.4.1.0.20230505.70117.tar";
-          sha256 = "1g83wm21a56w056bj97ciqalw464ra3bfhp1m66jiw7v06ppgi56";
+          url = "https://elpa.gnu.org/devel/autocrypt-0.4.2.0.20240410.70023.tar";
+          sha256 = "13g6422lcv8bjwcfrkxmw7fi5by1liz2ni6zxf10pr3qcpv6046n";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -451,7 +448,7 @@
         version = "0.5.0.0.20230424.65712";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/avy-0.5.0.0.20230424.65712.tar";
-          sha256 = "08kbfjwjbkbgbkkc51nmcbs9qq1hw8gv1z8h1knry8clvh23k735";
+          sha256 = "1z7d59fif97j12jx9vmk2p91sr01d53gp57gjvqdcdr2lqvdsaz8";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -466,7 +463,7 @@
         version = "3.2.2.4.0.20231023.5901";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bbdb-3.2.2.4.0.20231023.5901.tar";
-          sha256 = "1hvhrbnnhc5hy4szkhsl5fvqlm13kzn5cx4l5sm5pr75xnmcvm08";
+          sha256 = "16m5irp1y9crv13l2qncafys4fscwq2d28ig8hnx4g5bag9bi7j4";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -481,7 +478,7 @@
         version = "1.3.4.0.20220729.220057";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/beacon-1.3.4.0.20220729.220057.tar";
-          sha256 = "0wcc9hw6h1b3p1s506mc7zgjhhcb1bc4wq1bplax62lg2jyxiaks";
+          sha256 = "1dpd3j2aip3zi3ivbszsgrifw43bryx01df868hmrxm1s0vvjhh6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -496,7 +493,7 @@
         version = "1.0.1.0.20240224.51508";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/beframe-1.0.1.0.20240224.51508.tar";
-          sha256 = "1i22lbwck2q80byxd6bd6cba9jj3iqzsj129rb81a221wp91sarj";
+          sha256 = "105axrl2m6x5gc523ai9lna89jf44n2na337brxqn1jflnnpdh43";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -513,7 +510,7 @@
         version = "0.1.3.0.20240218.140135";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bicep-ts-mode-0.1.3.0.20240218.140135.tar";
-          sha256 = "0c6xg1dpz60akcr847x6ydl7riwy9bchww31l14wr1s54zrf76sg";
+          sha256 = "1qa1ws7hvn7ni8qnrzhmwnf8hq2wb3dc36i49vdiv0rf68kci210";
         };
         packageRequires = [];
         meta = {
@@ -531,7 +528,7 @@
         version = "2.4.1.0.20240321.194020";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bind-key-2.4.1.0.20240321.194020.tar";
-          sha256 = "0fjx32brckrmbvcyps45akzhimw93rzi7hy7f8nx0j72nkncavpp";
+          sha256 = "02v2pc830b9vp0rmdxwcxjj36y5x2p8sy381h3c8hsi61pwyqy93";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -546,7 +543,7 @@
         version = "0.3.0.20231213.61103";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/blist-0.3.0.20231213.61103.tar";
-          sha256 = "06h1k2i43pxpa2c394aqznrhf2pj8c7pgjcgs56iz2faar6zri38";
+          sha256 = "01pqf794syngh6v4bym3qzg2rh2gp3z9h6hvpw74nadimfg5pz61";
         };
         packageRequires = [ emacs ilist ];
         meta = {
@@ -565,7 +562,7 @@
         version = "0.3.1.0.20230119.122638";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bluetooth-0.3.1.0.20230119.122638.tar";
-          sha256 = "1wzv7wlpimqiagli02s87i75lj2xb33jld5w9xqnfnks2xvh7srl";
+          sha256 = "1s5vfprs06xf400p01qiwxbcy0y05pbgmp731c8z3zyk5ai4s88g";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -584,7 +581,7 @@
         version = "0.4.5.0.20221205.150230";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bnf-mode-0.4.5.0.20221205.150230.tar";
-          sha256 = "0rlg12z0dxy190c15p09inpnms374xxr5zv3h4gn9ilbb5g5r7d4";
+          sha256 = "0ljzk39ck12hyshm32vbwjx1a87dw7v9v3wmf01cyc7k2i5d8rip";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -596,10 +593,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.1.3.0.20231024.113314";
+        version = "1.1.4.0.20240326.215209";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/boxy-1.1.3.0.20231024.113314.tar";
-          sha256 = "1b5dkjic7spzbkj78m03z00gh8a9f8yv1kkyhnr4gks81jdr1gsn";
+          url = "https://elpa.gnu.org/devel/boxy-1.1.4.0.20240326.215209.tar";
+          sha256 = "077q9xxrsd98r4h9xj4djgiwfw34bjx3w0mhnbip2p57xknjjr46";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -616,10 +613,10 @@
       elpaBuild {
         pname = "boxy-headings";
         ename = "boxy-headings";
-        version = "2.1.4.0.20231024.114002";
+        version = "2.1.5.0.20240326.215829";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/boxy-headings-2.1.4.0.20231024.114002.tar";
-          sha256 = "1fan3pdslmwxkdc8lj7svcjllzjqhnhsma1yjpfhi99dv4b8fyns";
+          url = "https://elpa.gnu.org/devel/boxy-headings-2.1.5.0.20240326.215829.tar";
+          sha256 = "0zh5g1k2nql8jyg9ws0spsbhzwfa28f6qxs9krihp5qgz8kihn2p";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -638,7 +635,7 @@
         version = "1.0.1.0.20231126.221621";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/breadcrumb-1.0.1.0.20231126.221621.tar";
-          sha256 = "0z111vmwdc3lvbnbim8233ck3vm6haq2zx9pjaiimipv36jxkzf3";
+          sha256 = "11qx345ggpm78dcvlrnji50b50wh3cv3i0ihxwxsw55n86kv9x0k";
         };
         packageRequires = [ emacs project ];
         meta = {
@@ -650,10 +647,10 @@
       elpaBuild {
         pname = "brief";
         ename = "brief";
-        version = "5.90.0.20240321.65101";
+        version = "5.91.0.20240401.34715";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/brief-5.90.0.20240321.65101.tar";
-          sha256 = "1z4nww74gaxjjjfg4i9qdk6lwfjnbsc41jq95k0pcj12ilwilg54";
+          url = "https://elpa.gnu.org/devel/brief-5.91.0.20240401.34715.tar";
+          sha256 = "1knpamvbpz92b9zql6p0l7g1p5595l6kns0gw1vfhm7cl37dngyr";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -672,7 +669,7 @@
         version = "0.6.0.20240323.72724";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/buffer-env-0.6.0.20240323.72724.tar";
-          sha256 = "1bdch2ah5c0ikzl2zyfv7hkpbhvkvcdd4ljkzd5zmnwj11fk7ml2";
+          sha256 = "061cbq2pb5wg3jap3l9lbm1axb700aqar9s8vx2zys0hl65klw51";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -691,7 +688,7 @@
         version = "0.4.3.0.20190429.135558";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/buffer-expose-0.4.3.0.20190429.135558.tar";
-          sha256 = "0s11p8dlycv14j94599d33bkp3hhpvjq5a3jrmx9rynamhzvfig9";
+          sha256 = "0f3a064i4a1ylb1ibqmz302h24kymir3zj1d225b7v6r89nam216";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -706,7 +703,7 @@
         version = "0.6.0.20240105.200601";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bufferlo-0.6.0.20240105.200601.tar";
-          sha256 = "1m0740ljllwyyfmjl1jlxrfgj4ndq7zh9lbyi4j2c40xliikgs09";
+          sha256 = "02iqarvq8b2siivbv878f2yzkm5law15idnbi5wv72v5pc2hxrjk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -725,7 +722,7 @@
         version = "1.3.1.0.20201128.92354";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/bug-hunter-1.3.1.0.20201128.92354.tar";
-          sha256 = "0gis7vrjrh0khjl71mb5vsbfhcwph0yv5c11wmwa3jc4n1wgxiq9";
+          sha256 = "1bskf9csg49n4cisl57wv0sa74s6v3wffdxw80m3r2yr0kx01cfs";
         };
         packageRequires = [ cl-lib seq ];
         meta = {
@@ -743,7 +740,7 @@
         version = "0.0.1.0.20230726.134747";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/buildbot-0.0.1.0.20230726.134747.tar";
-          sha256 = "1knkx80fcmxhi8y3ns3vb4zrg8s6la81gr3rbs1v3fss4h1snka1";
+          sha256 = "1z27pfx3h1fad9wiazrkqgfdc1h06g2rlb3cq1zk83hilg64nnjd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -758,7 +755,7 @@
         version = "1.4.1.0.20240208.85735";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/calibre-1.4.1.0.20240208.85735.tar";
-          sha256 = "0b69ymkcahx6bh9ss8zygwfwiffsql370i9pwriv9ypy17nbjxlc";
+          sha256 = "1rbmck8bc28c2rf321606w748nqc5klly6yrm3r8zyviggwd1v2c";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -770,10 +767,10 @@
       elpaBuild {
         pname = "cape";
         ename = "cape";
-        version = "1.4.0.20240315.54216";
+        version = "1.5.0.20240411.220758";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/cape-1.4.0.20240315.54216.tar";
-          sha256 = "0pqr36i8ijq32kf0qxb0hdm0gffakya12jjj4dy0hwan13scq77d";
+          url = "https://elpa.gnu.org/devel/cape-1.5.0.20240411.220758.tar";
+          sha256 = "0mbw0azs2a33ywq1iqqvm2r5pyhpl1qfjkzmqv473n7qm658gkfg";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -791,7 +788,7 @@
         version = "0.3.0.20211123.104430";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/capf-autosuggest-0.3.0.20211123.104430.tar";
-          sha256 = "17ih1lbsiydazwdn8caqnw8fm31yfyq8aqmcyv85y1w8zlnb6x4j";
+          sha256 = "0f16csl2ky8kys3wcv41zqh1l9976gc009pjy21kp6ck0pm0m3kg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -806,7 +803,7 @@
         version = "1.0.0.20221221.74713";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/caps-lock-1.0.0.20221221.74713.tar";
-          sha256 = "1wylgdwfm9pf0fpj53fprn7dknv3ldkf74xibgndh5i8xn11d036";
+          sha256 = "0f8n79yw9zs1cpa8nhqmvw95kj762lv8rzrkj30ybvj1612vl1z9";
         };
         packageRequires = [];
         meta = {
@@ -821,7 +818,7 @@
         version = "1.0.3.0.20221221.74732";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/captain-1.0.3.0.20221221.74732.tar";
-          sha256 = "03zgffj8lbh4y6gg8dr40kxcm8pnllzfy3jbsapmw98ps9qnahi7";
+          sha256 = "0ay26xzbhrxgvslrwcc504k5s0kxk0c8rnps656xz1wl38fbvm5b";
         };
         packageRequires = [];
         meta = {
@@ -836,7 +833,7 @@
         version = "2.0.5.0.20220926.150547";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/chess-2.0.5.0.20220926.150547.tar";
-          sha256 = "0wdyq7a142r57f9qa77gcvdld9mlh3nqjm0jyz8z7xwjz1km395b";
+          sha256 = "16md052m600mmy43fgpcpwl4jz5q67v9w2h3y234ild6sp1qanlj";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -853,7 +850,7 @@
         version = "0.3.0.20221221.74800";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cl-generic-0.3.0.20221221.74800.tar";
-          sha256 = "12yqi7fc59rblh4asf94a4fj8qj873qs20bgjydp2djkrh4xas62";
+          sha256 = "1yhjgcc3rnhi0kf2mgm7yii1pa9hzz0dnfkg393p456rl07q7vqq";
         };
         packageRequires = [];
         meta = {
@@ -868,7 +865,7 @@
         version = "0.7.1.0.20221221.74809";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cl-lib-0.7.1.0.20221221.74809.tar";
-          sha256 = "18wfqbdibz62bisphcw91rpd3jacs7i24lib7l3wg9pf2563p98i";
+          sha256 = "1xig9cma7p5bplnqnxmwh1axxlf813ar69bzyvks09yhg04jikm1";
         };
         packageRequires = [];
         meta = {
@@ -886,7 +883,7 @@
         version = "0.3.0.20190215.154741";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/clipboard-collector-0.3.0.20190215.154741.tar";
-          sha256 = "1hjvwqi089r3wrs5771i1sjgmk63gk9m9a88gxnk99vzvh6r31dq";
+          sha256 = "03y1wivagbsl4f2qgmxcy43pbpvpxhd1d57ihpdvsl2illb6bwlq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -904,7 +901,7 @@
         version = "1.1.0.20221221.74904";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cobol-mode-1.1.0.20221221.74904.tar";
-          sha256 = "1c3axx65bycr44hjy1cw4c9z89l3sqq16d2yk2animms3iwajvl0";
+          sha256 = "0268d848pj3vszspmbcz9923945pzz4kzcd0jcrl7k3dasg3mpka";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -922,7 +919,7 @@
         version = "0.4.0.20231119.213845";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/code-cells-0.4.0.20231119.213845.tar";
-          sha256 = "0wrsp2xrvfp8f20gjw4r6434i4f822hz794mhnz44sn2ggs2mrn2";
+          sha256 = "1i66d234fb9g4aqnpzjz9dn6hs37bq5l1vrk076hib1rb1vm36ir";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -937,10 +934,10 @@
       elpaBuild {
         pname = "comint-mime";
         ename = "comint-mime";
-        version = "0.4.0.20240302.74422";
+        version = "0.4.0.20240426.193136";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/comint-mime-0.4.0.20240302.74422.tar";
-          sha256 = "0zgna6h5v2mgmlkxyxla0faf3xrs13mv62xayyf3ddrhjgk82ggb";
+          url = "https://elpa.gnu.org/devel/comint-mime-0.4.0.20240426.193136.tar";
+          sha256 = "1znk6anr6yxb9jfh3z7702msl011k54z37vbixbdk2bvd7hihcx3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -957,7 +954,7 @@
         version = "0.2.0.20220305.183958";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/compact-docstrings-0.2.0.20220305.183958.tar";
-          sha256 = "0xmhvfrla7la127hkj0jpam0laq495q4gfa3kbw4p3p3m070jxks";
+          sha256 = "024l45bxxkh6x7rd8qcmykxdhdj0yckcf7vzacl7ynzwm9ah7sry";
         };
         packageRequires = [];
         meta = {
@@ -975,7 +972,7 @@
         version = "0.10.2.0.20240311.194338";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/company-0.10.2.0.20240311.194338.tar";
-          sha256 = "159g5aii6bw006hkb49f653zc3lnnxnimg2xmyvwl0rgyk7imfl1";
+          sha256 = "1bmf7xa7pwfmwqrdz3sjnbbaqr472n6f2n8mz5qrzc4y09xl8i0r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -994,7 +991,7 @@
         version = "1.1.0.20221221.74915";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/company-ebdb-1.1.0.20221221.74915.tar";
-          sha256 = "1nh7jwlwd8wji5s3ywzlwj7vyqjn6jllrywi6mjk9bwyg5yhyd8a";
+          sha256 = "1qidrgcm2hdkrbh75rjfzxbmbyvxvyfy4m2kd6lgcx0v494lzvqw";
         };
         packageRequires = [ company ebdb ];
         meta = {
@@ -1013,7 +1010,7 @@
         version = "1.5.1.0.20221227.132907";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/company-math-1.5.1.0.20221227.132907.tar";
-          sha256 = "10jm0vb9z3pkh681vdd2ggi6pvhykghmalgib20pgcnm383kwpcn";
+          sha256 = "070kfw13aw1hfvkdxb83zic44301nawnl57saqwrg6lh0psxpyxv";
         };
         packageRequires = [ company math-symbol-lists ];
         meta = {
@@ -1032,7 +1029,7 @@
         version = "0.2.3.0.20170210.193350";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/company-statistics-0.2.3.0.20170210.193350.tar";
-          sha256 = "140281sy7w5pj3dkidlgi130axrzwh0y8z3ivkpk55bypdaardlw";
+          sha256 = "0fwvaadfr5jlx3021kfjbij9692c2v3l600v2rwqijc563phdfg3";
         };
         packageRequires = [ company emacs ];
         meta = {
@@ -1048,10 +1045,10 @@
       elpaBuild {
         pname = "compat";
         ename = "compat";
-        version = "29.1.4.5.0.20240316.105418";
+        version = "29.1.4.5.0.20240401.110429";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/compat-29.1.4.5.0.20240316.105418.tar";
-          sha256 = "1f0rhf0p2szvqq1ixv7fxn726h3mnc0iqlyal1qzrf46vdsjkf87";
+          url = "https://elpa.gnu.org/devel/compat-29.1.4.5.0.20240401.110429.tar";
+          sha256 = "1mbkvl2fcdcnc8jriwn61z0aim0llg7rgb9rh12rq8djrinw1r5d";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1063,10 +1060,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "1.4.0.20240324.100717";
+        version = "1.5.0.20240420.92954";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/consult-1.4.0.20240324.100717.tar";
-          sha256 = "1dngyxxviml9a4gqr85ah38pb4028wx2cvm8g9h4jp02g4cr7rkc";
+          url = "https://elpa.gnu.org/devel/consult-1.5.0.20240420.92954.tar";
+          sha256 = "1cg72m5aqvh7apdv3j4fhm232168vi0iddx3n9w42jwmhsxxq7fr";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1082,10 +1079,10 @@
       elpaBuild {
         pname = "consult-hoogle";
         ename = "consult-hoogle";
-        version = "0.2.0.0.20240309.142502";
+        version = "0.2.1.0.20240427.131842";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/consult-hoogle-0.2.0.0.20240309.142502.tar";
-          sha256 = "0igkhv7hg4bd6h27j16w2in6d542818ich94fhif4g36xh0jhdw7";
+          url = "https://elpa.gnu.org/devel/consult-hoogle-0.2.1.0.20240427.131842.tar";
+          sha256 = "05rx4kw9w51cbgx8nm1jbi2yv7p70w1yv9np8gmpj7z65gbw7v0m";
         };
         packageRequires = [ emacs haskell-mode ];
         meta = {
@@ -1104,7 +1101,7 @@
         version = "0.8.1.0.20231211.122134";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/consult-recoll-0.8.1.0.20231211.122134.tar";
-          sha256 = "1agx2pv6zp61wr0hbywlr1mqhgrrlkxr48pnbia3iah82s81hqxp";
+          sha256 = "1hpgcqbnvqcd6vzhxqi4axihjyp764hvbggk1skviys2apywk4s1";
         };
         packageRequires = [ consult emacs ];
         meta = {
@@ -1119,10 +1116,10 @@
       elpaBuild {
         pname = "context-coloring";
         ename = "context-coloring";
-        version = "8.1.0.0.20201127.182211";
+        version = "8.1.0.0.20240331.133753";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/context-coloring-8.1.0.0.20201127.182211.tar";
-          sha256 = "0mbj7awrnifn3jb0i9s25535h41pk45fz6n0m5p5nq3jjyhj6z62";
+          url = "https://elpa.gnu.org/devel/context-coloring-8.1.0.0.20240331.133753.tar";
+          sha256 = "1m8c7vccdb868n777rqi8mhjwfbm25q7hbx7x6y145mxmnqr1vgn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1134,10 +1131,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "1.2.0.20240320.91948";
+        version = "1.3.0.20240413.92757";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/corfu-1.2.0.20240320.91948.tar";
-          sha256 = "1gpqqh7f0ywn3mg31psdl7nanl3zqf3bddxz0hs018yp9dhr4d9v";
+          url = "https://elpa.gnu.org/devel/corfu-1.3.0.20240413.92757.tar";
+          sha256 = "0qf5nvg70sb313mv1m1mycipf182lz8c0y2rsacniqzykvqhbv74";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1152,7 +1149,7 @@
         version = "1.6.0.20221015.160420";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/coterm-1.6.0.20221015.160420.tar";
-          sha256 = "0n5694klkdki9q363mknr4qwvr6q28lb6ss27v3pw0mzh91gavzp";
+          sha256 = "1633q3vrqhjfv4ipirirgkpmal5j1rfh6jxkq3sm3qwlg8lgak4s";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1169,10 +1166,10 @@
       elpaBuild {
         pname = "counsel";
         ename = "counsel";
-        version = "0.14.2.0.20240229.151718";
+        version = "0.14.2.0.20240413.191055";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/counsel-0.14.2.0.20240229.151718.tar";
-          sha256 = "0wq8by3bc15cry533ybawzpb6qypnzvq79kpd9h0wrkd1yfbdazz";
+          url = "https://elpa.gnu.org/devel/counsel-0.14.2.0.20240413.191055.tar";
+          sha256 = "14iphwfpmbmg44f1gx54y3ks920z3p86mfvg99h86yy817wb73pl";
         };
         packageRequires = [ emacs ivy swiper ];
         meta = {
@@ -1190,7 +1187,7 @@
         version = "0.17.0.20211211.193556";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cpio-mode-0.17.0.20211211.193556.tar";
-          sha256 = "064yc4hs6ci80a231mlv3688ys9p8z5aabfg2s2ya1kkmpwra4f2";
+          sha256 = "0z9dkdz1s1b7gfd0fgfxjdvbjlwwqwa6q4jjf8kkvvkgwwvqv3yq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1207,7 +1204,7 @@
         version = "1.0.5.0.20230704.131557";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cpupower-1.0.5.0.20230704.131557.tar";
-          sha256 = "03c5lbm9vmgx5m5pmi4a12npmf1v6g7kiryfxx6j2zy1ix9nk4jl";
+          sha256 = "1xls5wjxrx2a193piav0yp0sv1m7jv5zqk46hbxxhfakl3jg5zlq";
         };
         packageRequires = [];
         meta = {
@@ -1222,7 +1219,7 @@
         version = "0.3.5.0.20230213.22302";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/crdt-0.3.5.0.20230213.22302.tar";
-          sha256 = "1hpkxpr88g4lpq7kxb15xhm3gpks5rz4vfdkkrkflh1wm3bpf4ah";
+          sha256 = "0cl97di7s5a1v6widil63pwzywxpcxmhvhp34kqn256czsliv4pw";
         };
         packageRequires = [];
         meta = {
@@ -1237,7 +1234,7 @@
         version = "1.3.6.0.20221221.74923";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/crisp-1.3.6.0.20221221.74923.tar";
-          sha256 = "1jjl6hv0qib5519p5xigbiydz2f2h0fy773abnga7lvzx57rgppi";
+          sha256 = "0kpw81h9n8qwrvmqan9bwj32d4vgsrmma4f0rig04bdx0mxmdzir";
         };
         packageRequires = [];
         meta = {
@@ -1255,7 +1252,7 @@
         version = "2.0.0.0.20221205.181941";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/csharp-mode-2.0.0.0.20221205.181941.tar";
-          sha256 = "0fl1v45apz448pqnz0psi6w4inakdxv54wydc99sjq8l3lm8ldrm";
+          sha256 = "1cmc6b7pwjalzipc2clis2si7d03r0glpgxj7qpvfdp26y1cjabv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1274,7 +1271,7 @@
         version = "1.23.0.20240114.203711";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/csv-mode-1.23.0.20240114.203711.tar";
-          sha256 = "0y6zbqdh5gxhfbh2hfxx9k73h5aaknc041jr84s9ims67iavb17b";
+          sha256 = "0r36dycnc76a5l94ad6p7lkx0f9ma6qmjvnivimgq6man5lw6lxh";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1286,10 +1283,10 @@
       elpaBuild {
         pname = "cursory";
         ename = "cursory";
-        version = "1.0.1.0.20240117.23936";
+        version = "1.0.1.0.20240425.35714";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/cursory-1.0.1.0.20240117.23936.tar";
-          sha256 = "0izi2gz5pgxjgw7jcpgcy9q0gf0pvcvsszhjq9mg157w8sbkfx06";
+          url = "https://elpa.gnu.org/devel/cursory-1.0.1.0.20240425.35714.tar";
+          sha256 = "0bm381nbrnh4j0pq1a53whsbs0mjvznr9mp0ymhxw8w935cvbl72";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1306,7 +1303,7 @@
         version = "0.1.0.20221221.75021";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/cycle-quotes-0.1.0.20221221.75021.tar";
-          sha256 = "07gp0bbwajm44n24wywj7la1jdy9hrid6j9cj0cxhv3gdg3681z2";
+          sha256 = "0igwwbhf1b6c67znik3zphdngddkgai146qcjlkgg1ihr4ajc3pc";
         };
         packageRequires = [];
         meta = {
@@ -1318,10 +1315,10 @@
       elpaBuild {
         pname = "dape";
         ename = "dape";
-        version = "0.9.0.0.20240318.94928";
+        version = "0.10.0.0.20240427.142238";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dape-0.9.0.0.20240318.94928.tar";
-          sha256 = "0f190gkicqqj02irhgcwcjjalh4srbcd9y80src888wp775vwy1x";
+          url = "https://elpa.gnu.org/devel/dape-0.10.0.0.20240427.142238.tar";
+          sha256 = "0d2mn565l5ag023z1yqg5nj0fj0iraf5yifh54pyl6cnz7ipmcj3";
         };
         packageRequires = [ emacs jsonrpc ];
         meta = {
@@ -1336,7 +1333,7 @@
         version = "0.3.0.20200507.173652";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/darkroom-0.3.0.20200507.173652.tar";
-          sha256 = "1njijhakvxqh6ik3krrz3zz97asfxmaxs7dz3wsnkmmcy9x0bbjb";
+          sha256 = "1j57wa2jhpjs6ynda73s0vv4dzyr9jg0lifv7nc8bv79lr4sjab2";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1348,10 +1345,10 @@
       elpaBuild {
         pname = "dash";
         ename = "dash";
-        version = "2.19.1.0.20240216.133446";
+        version = "2.19.1.0.20240405.94636";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dash-2.19.1.0.20240216.133446.tar";
-          sha256 = "0wjx6lxj5svvhifnqffmxqf1li57606v0hv1ixs90275r56294gh";
+          url = "https://elpa.gnu.org/devel/dash-2.19.1.0.20240405.94636.tar";
+          sha256 = "0s1wqxjv1xdhd251zpk52wlglcc5apbhdhld30vmb7c9bq9288xw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1369,7 +1366,7 @@
         version = "0.1.0.20220306.62546";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dbus-codegen-0.1.0.20220306.62546.tar";
-          sha256 = "0s2ax0vqbh69dan5vdgy2dc2qfsfbxk4cqnxwysbhhpc7qqd7ljq";
+          sha256 = "1jg8ibxy79g93b3hl97bpgz90ny5q936k8bjcmxix7hn82wg7a9l";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1384,7 +1381,7 @@
         version = "0.40.0.20240318.175047";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/debbugs-0.40.0.20240318.175047.tar";
-          sha256 = "1vkap2h2041hib1rw3n91z9hs6vfphkgi84257x7b8yj1f0dr2xn";
+          sha256 = "02kb6klsixyxn4a65mgr9m8n1cx68n7zqyym8m14381k0mi8pq0h";
         };
         packageRequires = [ emacs soap-client ];
         meta = {
@@ -1399,7 +1396,7 @@
         version = "1.7.0.20200711.42851";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/delight-1.7.0.20200711.42851.tar";
-          sha256 = "1s22gr05yqirb4dddafw96kq4ifccncypvr09rxmhdf7iv4096dm";
+          sha256 = "1v8yhii0s1rs1c2i7gs2rd98224qhpkybvrks8w5ghq4p3nxrrvw";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -1411,10 +1408,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "2.3.0.0.20240324.175148";
+        version = "2.3.5.0.20240427.91057";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/denote-2.3.0.0.20240324.175148.tar";
-          sha256 = "00bd7470a01dd92nzcw9g7zpff3sy3vzxy13ig6a7gk9i5a8c7zg";
+          url = "https://elpa.gnu.org/devel/denote-2.3.5.0.20240427.91057.tar";
+          sha256 = "0xa0jxd6fbd2ayhaaxn1rnimi35pipgidx9l6v19swal0yk08kf4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1433,7 +1430,7 @@
         version = "1.2.0.0.20230927.131718";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/denote-menu-1.2.0.0.20230927.131718.tar";
-          sha256 = "1hm13sg6sif4620c78vma9qdgkpak0v1k3hfc35c946vzv8399x8";
+          sha256 = "0pq8k2aif60y22sjxs6d4vlf43fqlizs1zlk3wrd1k52sn2dkgxp";
         };
         packageRequires = [ denote emacs ];
         meta = {
@@ -1451,7 +1448,7 @@
         version = "0.10.1.0.20221129.143049";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/detached-0.10.1.0.20221129.143049.tar";
-          sha256 = "0b6b3q5z983744s5k9k771d0hnnbnrx249cqw4nkgplb2zay9zii";
+          sha256 = "0fidhqf1m599v939hv3xsqbkckgk2fm550i7lkh0p961a3v542i8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1463,10 +1460,10 @@
       elpaBuild {
         pname = "devdocs";
         ename = "devdocs";
-        version = "0.6.0.20240323.82337";
+        version = "0.6.1.0.20240329.73808";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/devdocs-0.6.0.20240323.82337.tar";
-          sha256 = "1pdjf4j6wcpz98i50fx11sndqycpalwxips45lgsnjglyc8sa1lr";
+          url = "https://elpa.gnu.org/devel/devdocs-0.6.1.0.20240329.73808.tar";
+          sha256 = "1q4n5r5ki8f7qksr18w273l7qw8c38snn6d842kxwp9zg2417i8x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1484,7 +1481,7 @@
         version = "0.3.0.20240117.132538";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/devicetree-ts-mode-0.3.0.20240117.132538.tar";
-          sha256 = "0zn2fb2lbfizfas5silkahbmrcf508x10746amw79a7mfwap2x90";
+          sha256 = "12jfiv7j0k5sqjbz28nd5x34hpxp76lyl41fl7bvsgiyb06i0gnf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1505,7 +1502,7 @@
         version = "0.17.0.20231015.24654";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dict-tree-0.17.0.20231015.24654.tar";
-          sha256 = "0snnya38i4pl583578rqykr7rj63qlfj6hygxivfpjaw187nqw27";
+          sha256 = "0nij9pkscr6mdjmrq9dlqnks91sd21pn01bsgn4zk918zygnkggj";
         };
         packageRequires = [ emacs heap tNFA trie ];
         meta = {
@@ -1513,14 +1510,18 @@
           license = lib.licenses.free;
         };
       }) {};
-    diff-hl = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    diff-hl = callPackage ({ cl-lib ? null
+                           , elpaBuild
+                           , emacs
+                           , fetchurl
+                           , lib }:
       elpaBuild {
         pname = "diff-hl";
         ename = "diff-hl";
-        version = "1.9.2.0.20240225.11635";
+        version = "1.9.2.0.20240401.235744";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/diff-hl-1.9.2.0.20240225.11635.tar";
-          sha256 = "0g32092z52xmmch8aya1wz9xds93agv4509nvf4zzygg9pr40x0w";
+          url = "https://elpa.gnu.org/devel/diff-hl-1.9.2.0.20240401.235744.tar";
+          sha256 = "1ilmi9a5g2h3xw49kiavr6pwp091i6j3qd7yxyixvw15ygvc6mi8";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1535,7 +1536,7 @@
         version = "1.0.0.20230224.111651";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/diffview-1.0.0.20230224.111651.tar";
-          sha256 = "030lkz0y188frlr8525ka4q26pbrj1rd1i5mn3152wnac3xmzj3q";
+          sha256 = "1shw58jk2dzr8sc9hhfjqjrmwqarvq989ic96zjmhajxvcqcz3ql";
         };
         packageRequires = [];
         meta = {
@@ -1550,7 +1551,7 @@
         version = "0.46.0.20220909.84745";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/diminish-0.46.0.20220909.84745.tar";
-          sha256 = "05yv0gvqcha0404spd200rgfw08zww9r5h2rbmykhq7c7chml542";
+          sha256 = "1d31bk42p1qjhpbr6lin87y18nya1qk9dm37vhhiq5sxajfr5ab9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1569,7 +1570,7 @@
         version = "0.5.2.0.20221221.75108";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dired-du-0.5.2.0.20221221.75108.tar";
-          sha256 = "0hbb6f2ycnn8s5b5wk3zqfwmz56ijgiyggr2rjj3pqvg3hhrdkcx";
+          sha256 = "0h31k45sx47vmk20sn77fzz86gbwiqxrryr091p5s05smrlsfxc2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1584,10 +1585,10 @@
       elpaBuild {
         pname = "dired-duplicates";
         ename = "dired-duplicates";
-        version = "0.3.0.20231114.215046";
+        version = "0.4.0.20240328.201645";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dired-duplicates-0.3.0.20231114.215046.tar";
-          sha256 = "0rla938sj1zig7qcdxybl7qm4x1b0ndpf9xf9ikj0vfdghyg7z2s";
+          url = "https://elpa.gnu.org/devel/dired-duplicates-0.4.0.20240328.201645.tar";
+          sha256 = "0122wxl2sql31s4h7rf7mxz6kv15m77q9bqmixxsgzhfghbia7k7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1605,7 +1606,7 @@
         version = "0.3.1.0.20191229.192948";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dired-git-info-0.3.1.0.20191229.192948.tar";
-          sha256 = "1gkvn9g3nn113qa0fdq3h88fbmjy9498y9zcd5jfyz4kx0iid016";
+          sha256 = "0zq74nynra4cbyb81l3v9w0qrzz057z9abg6c6zjshlrq8kxv5kx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1620,10 +1621,10 @@
       elpaBuild {
         pname = "dired-preview";
         ename = "dired-preview";
-        version = "0.1.1.0.20240312.193205";
+        version = "0.1.1.0.20240425.180328";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/dired-preview-0.1.1.0.20240312.193205.tar";
-          sha256 = "02yi5rxcv8v10zsypsn19i16rakik2ii650drk337h0iqkdwx8ax";
+          url = "https://elpa.gnu.org/devel/dired-preview-0.1.1.0.20240425.180328.tar";
+          sha256 = "1wn8k1wr126nw22sczjrhkxwsjnbhr08ym01sy8d4422wif0l4as";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1641,7 +1642,7 @@
         version = "1.3.3.0.20230920.164444";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/disk-usage-1.3.3.0.20230920.164444.tar";
-          sha256 = "0x0rlvls7csj81cgmmdminq806f4l9rlcz3g45z6rnr1x6d236sh";
+          sha256 = "06vd56yaaz9a6b46g4r6ccasc74pyqls9krj3bcrdayhj34w3mxy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1656,7 +1657,7 @@
         version = "1.5.2.0.20221221.75154";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dismal-1.5.2.0.20221221.75154.tar";
-          sha256 = "011lvc7sxy8waqyirgsbf7p0y1n16zc5srlx0yk22x7q7i28svrp";
+          sha256 = "0nyy9dkafkzxvx60d1bzrn2a1m3n53al3x17r3kf7d2b24gcljbd";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1671,7 +1672,7 @@
         version = "1.1.2.0.20221221.75224";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/djvu-1.1.2.0.20221221.75224.tar";
-          sha256 = "08q6sryvpgl0nx17r3rr2sramgzxgwx9qlwripy1iqcydyz844d1";
+          sha256 = "0iirmzaah0nix14jaj0hnszrdkdsh4wli8hb951l7iw7szkc5fsp";
         };
         packageRequires = [];
         meta = {
@@ -1689,7 +1690,7 @@
         version = "0.1.1.0.20231027.63811";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/do-at-point-0.1.1.0.20231027.63811.tar";
-          sha256 = "0k490g70lv89l87bn79m4bphnkv6vk578qgv1vk64z403wdgvxbv";
+          sha256 = "1cf4inz5805vd9hcrqsmwxjzc8wy7qwwxg9731d03czjxxcvyp0d";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1704,7 +1705,7 @@
         version = "1.2.0.20230409.212954";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/doc-toc-1.2.0.20230409.212954.tar";
-          sha256 = "1y5i6669416llpkpnqnhkckvbwy493gfbcjlq1hh1mwy508bq2va";
+          sha256 = "1gcdkcb1ydgl24jmrnkg1a7kndl7kkvckwf12y5pj2l2idf9ifx8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1719,7 +1720,7 @@
         version = "0.1.0.20221221.75233";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/docbook-0.1.0.20221221.75233.tar";
-          sha256 = "0zp2hhgxi4ab6ijxfinjay34jjbwn36iy1laaxp65cb7dy6k2aas";
+          sha256 = "0r7sjnbj4wgqa2vw57ac28gixw762km0cwas0qhclxizb95nsnz2";
         };
         packageRequires = [];
         meta = {
@@ -1731,10 +1732,10 @@
       elpaBuild {
         pname = "drepl";
         ename = "drepl";
-        version = "0.1.0.20231123.162851";
+        version = "0.2.0.20240421.84519";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/drepl-0.1.0.20231123.162851.tar";
-          sha256 = "10b5xk30vm5d7n3vzv0rafvbqwx4y5l9fhjrrgxh3j57z4v8lw0k";
+          url = "https://elpa.gnu.org/devel/drepl-0.2.0.20240421.84519.tar";
+          sha256 = "1kxxj0dd9yj168gaq89hm1sqajv8p8y7mgpqrxsqbz2hg6p568af";
         };
         packageRequires = [ comint-mime emacs ];
         meta = {
@@ -1749,7 +1750,7 @@
         version = "1.0.0.20221221.75311";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/dts-mode-1.0.0.20221221.75311.tar";
-          sha256 = "0jmvg2gi43iaqq82s1ahzymday7i9gihhv9affjxcs97ydzwzaj2";
+          sha256 = "1bpd6npx70rzh3mb5235g1ydh839bnjag70qp17r0wd2wkj6w0gj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1766,7 +1767,7 @@
         version = "0.2.1.0.20210917.85414";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/easy-escape-0.2.1.0.20210917.85414.tar";
-          sha256 = "08npj12pd9jjmwvzadxxs6ldkyqm40355by1q9xq0wdmnh60lcpg";
+          sha256 = "0hk9244g7hgnan7xd4451qjklfqh5hbkxjl60l32nr19ynw0ygif";
         };
         packageRequires = [];
         meta = {
@@ -1785,7 +1786,7 @@
         version = "0.9.5.0.20220511.55730";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/easy-kill-0.9.5.0.20220511.55730.tar";
-          sha256 = "0lwj2x09a8rmanymk25cgx4wlqlnq9zxwzymc9bsv9pxg0svcira";
+          sha256 = "0il8lhi2j80sz63lnjkayryikcya03zn3z40bnfjbsydpyqj4kzd";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1800,7 +1801,7 @@
         version = "0.8.22.0.20240305.123820";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ebdb-0.8.22.0.20240305.123820.tar";
-          sha256 = "1y680dfqvmbpq75ylgw16jx0p7hyggi12bb1f0c7z0w0y473gdj0";
+          sha256 = "0j6wflmslapq3wr5bg6ql7qamh9k9zzp1xzadkxq3i3124syanfs";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1819,7 +1820,7 @@
         version = "1.0.2.0.20221221.75324";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ebdb-gnorb-1.0.2.0.20221221.75324.tar";
-          sha256 = "1g71ycs0z0ac2011wazfm2caqh5gly82dxj88kcwh4pbcx4p6ywn";
+          sha256 = "0lzsarv0pkdgkj19il0syk7yz6gcfkp0rl3i49rsqb3lpf5b6s5q";
         };
         packageRequires = [ ebdb gnorb ];
         meta = {
@@ -1838,7 +1839,7 @@
         version = "1.3.2.0.20221221.75334";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ebdb-i18n-chn-1.3.2.0.20221221.75334.tar";
-          sha256 = "087fc78fczrmv73nigvxy25x8k69l57v67big5p8kaddp2z756l8";
+          sha256 = "16hna0z08903pkq957cgxk26ihq6j3fab775ickb24zfssjm3l61";
         };
         packageRequires = [ ebdb pyim ];
         meta = {
@@ -1853,7 +1854,7 @@
         version = "2.2.0.20221026.91800";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ediprolog-2.2.0.20221026.91800.tar";
-          sha256 = "0hgqwscykw0030w9vlkrxvid2li93v5z6js829nfmssmqvzibic2";
+          sha256 = "0y2xa0k7sv21yabxkfzxnl0fdnppgcwx5jdnm1zw2j2sbaf9k6ca";
         };
         packageRequires = [];
         meta = {
@@ -1865,10 +1866,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20240309.0.20240309.40750";
+        version = "20240309.0.20240325.4057";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/eev-20240309.0.20240309.40750.tar";
-          sha256 = "03vmfj9ialviza0j1xdrfxrm948qfqsvj95k6xsgx6kr4fh0gy8i";
+          url = "https://elpa.gnu.org/devel/eev-20240309.0.20240325.4057.tar";
+          sha256 = "0h6b69ykrdkzhqkv8b0qjanpfkcw4408kcxlv672h3i660w9jj0j";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1883,10 +1884,10 @@
       elpaBuild {
         pname = "ef-themes";
         ename = "ef-themes";
-        version = "1.6.1.0.20240322.140619";
+        version = "1.6.1.0.20240427.83621";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ef-themes-1.6.1.0.20240322.140619.tar";
-          sha256 = "0zmwx7l3dgjrqwg4nlsjkaiqx95pswpznzzrbzzlkc4aajk9l047";
+          url = "https://elpa.gnu.org/devel/ef-themes-1.6.1.0.20240427.83621.tar";
+          sha256 = "1pjq8yblcmk4mp83bqcnb154rq8dbn8qn6q394wzzwnn6kv08ay2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1908,10 +1909,10 @@
       elpaBuild {
         pname = "eglot";
         ename = "eglot";
-        version = "1.17.0.20240323.73745";
+        version = "1.17.0.20240423.182809";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/eglot-1.17.0.20240323.73745.tar";
-          sha256 = "0g2a6hj6k1z74ymsl568117bql1xalf0pqlckscj8dj1glcn6jq5";
+          url = "https://elpa.gnu.org/devel/eglot-1.17.0.20240423.182809.tar";
+          sha256 = "129ibvdqcv7jablim041x55vm4awyvcjk295nrrffryzbb75fgi9";
         };
         packageRequires = [
           eldoc
@@ -1940,7 +1941,7 @@
         version = "1.12.6.1.0.20221221.75346";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/el-search-1.12.6.1.0.20221221.75346.tar";
-          sha256 = "08r2hw47ijwb7y1amhn49r9l9kh2kv0y631rg4f8xjqfd38msh45";
+          sha256 = "12500xc7aln09kzf3kn6xq7xnphbqzmyz20h0sgpf8f1rvlh2h33";
         };
         packageRequires = [ cl-print emacs stream ];
         meta = {
@@ -1955,7 +1956,7 @@
         version = "1.15.0.0.20240223.120227";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/eldoc-1.15.0.0.20240223.120227.tar";
-          sha256 = "0v9y8qbcxs9dkb9sfgqsnqiz4b1w75hwq3hc24j9jkjkpny7fd4m";
+          sha256 = "1jlvlzd2bvz0xgc8gdlzw655v5qiaihc4wz5k3yqqck6dbmhd8fy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1972,7 +1973,7 @@
         version = "5.0.0.20201201.154407";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/electric-spacing-5.0.0.20201201.154407.tar";
-          sha256 = "1iaw30bxjzxkvnqvcw10vxyjfbxabr0cb04kmwy0ibzh8dim25i0";
+          sha256 = "0ywa68zwci0v6g9nc8czlhvf9872vl262nrxffahc5r7lp1hay8k";
         };
         packageRequires = [];
         meta = {
@@ -1986,10 +1987,10 @@
       elpaBuild {
         pname = "elisp-benchmarks";
         ename = "elisp-benchmarks";
-        version = "1.14.0.20230928.180802";
+        version = "1.14.0.20240404.94558";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/elisp-benchmarks-1.14.0.20230928.180802.tar";
-          sha256 = "0izajmxmbanlwkflp4fr2b8inka8i9p68bh93fvnp062cpk44pfj";
+          url = "https://elpa.gnu.org/devel/elisp-benchmarks-1.14.0.20240404.94558.tar";
+          sha256 = "1lfpwwm9114x7431pc12kppb0mgia1zd4b5pnfpvqyk3159xx40v";
         };
         packageRequires = [];
         meta = {
@@ -1997,19 +1998,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    ellama = callPackage ({ elpaBuild
-                          , emacs
-                          , fetchurl
-                          , lib
-                          , llm
-                          , spinner }:
+    ellama = callPackage ({ elpaBuild, emacs, fetchurl, lib, llm, spinner }:
       elpaBuild {
         pname = "ellama";
         ename = "ellama";
-        version = "0.8.13.0.20240316.161027";
+        version = "0.9.1.0.20240415.73018";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ellama-0.8.13.0.20240316.161027.tar";
-          sha256 = "00pf48z90sirwyrk40p8fy9vi2cckrxismcp1yr8sirifs0wi574";
+          url = "https://elpa.gnu.org/devel/ellama-0.9.1.0.20240415.73018.tar";
+          sha256 = "1fcw0ll24bj32mjjb952in5shnyxz63gdkg80njy89s2bknw1ra1";
         };
         packageRequires = [ emacs llm spinner ];
         meta = {
@@ -2027,7 +2023,7 @@
         version = "1.4.2.0.20231206.152254";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/emacs-gc-stats-1.4.2.0.20231206.152254.tar";
-          sha256 = "047bvpm3sbikr31z3kv3z5fb02vpmrd98qv2zypxdx9rk5yid3pb";
+          sha256 = "08ivfm6m9y4i1w0xmjkbs6b2h7i5q1v2991rjs2w5s9d864yqg2l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2039,10 +2035,10 @@
       elpaBuild {
         pname = "embark";
         ename = "embark";
-        version = "1.0.0.20240323.170519";
+        version = "1.1.0.20240418.225241";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-1.0.0.20240323.170519.tar";
-          sha256 = "0mj762p6pbqciw1jjbn03qmcw7z4nc823ssd42jbx3a5mzvyi3qr";
+          url = "https://elpa.gnu.org/devel/embark-1.1.0.20240418.225241.tar";
+          sha256 = "120wh0r76wnsk5kczdnr5b7029x78fyd8p0h9rl2sbss4ac8wa48";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2060,10 +2056,10 @@
       elpaBuild {
         pname = "embark-consult";
         ename = "embark-consult";
-        version = "1.0.0.20240323.170519";
+        version = "1.1.0.20240418.225241";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/embark-consult-1.0.0.20240323.170519.tar";
-          sha256 = "0ys3v2519vw02c04vyl5jggk9n6nf2hzhb3xr8y635lg2f8chbh9";
+          url = "https://elpa.gnu.org/devel/embark-consult-1.1.0.20240418.225241.tar";
+          sha256 = "09qqwd5p7gasazg0plz1ijq5lgxh26358sia4727rs75pxwlz0zv";
         };
         packageRequires = [ compat consult emacs embark ];
         meta = {
@@ -2085,10 +2081,10 @@
       elpaBuild {
         pname = "ement";
         ename = "ement";
-        version = "0.15pre0.20240319.190705";
+        version = "0.15.0.20240416.101741";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ement-0.15pre0.20240319.190705.tar";
-          sha256 = "1g5bjg9z4k33pfvskv1nkxpzrp197rfwq4mpki74kmr9z7cmspaa";
+          url = "https://elpa.gnu.org/devel/ement-0.15.0.20240416.101741.tar";
+          sha256 = "1fjns4li3cvi3p2jkwxagzs6aj8x9s4zjc1lwpj013d54mflkndp";
         };
         packageRequires = [
           emacs
@@ -2114,10 +2110,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "19.0.20240318.161230";
+        version = "19.0.20240414.193332";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/emms-19.0.20240318.161230.tar";
-          sha256 = "0yk3v3vglv8hl4x9piyis7q783gmbb49sw15zdgjys56plcg2k17";
+          url = "https://elpa.gnu.org/devel/emms-19.0.20240414.193332.tar";
+          sha256 = "03jxpxgrlr1amxix4skfyag5pl6xvls011rcjjx1ka5sjdvnygvp";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -2132,10 +2128,10 @@
       elpaBuild {
         pname = "engrave-faces";
         ename = "engrave-faces";
-        version = "0.3.1.0.20230115.70118";
+        version = "0.3.1.0.20240421.82802";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/engrave-faces-0.3.1.0.20230115.70118.tar";
-          sha256 = "19cg0ksh1v3yhvknpf18q21y0wbhf55ll8p67vvlqaaikwlmbpxz";
+          url = "https://elpa.gnu.org/devel/engrave-faces-0.3.1.0.20240421.82802.tar";
+          sha256 = "0dxj9m9jyvrqhv67m2kkh0akjc7l6h40fvsy20k721zq9xvc6zkl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2150,7 +2146,7 @@
         version = "2.0.0.20171007.121321";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/enwc-2.0.0.20171007.121321.tar";
-          sha256 = "13lj4br2r845zwg491y9f2m5zxi2gj4qkihwcsrnc1ybf3zdlpfy";
+          sha256 = "0c308kd1pinhb1lh2vi40bcnmvzydf1j7sqka9kajhxr0l4kjazb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2167,7 +2163,7 @@
         version = "0.0.1.0.20221221.75416";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/epoch-view-0.0.1.0.20221221.75416.tar";
-          sha256 = "0lhs1i02rl8mb7m56bsmv942pq7dgdp5qjp1zs7flv0zgyi8ip5c";
+          sha256 = "0hd51d441c2w05rx10wpa0rbc94pjwwaqy5mxlgfwnx52jabz15h";
         };
         packageRequires = [];
         meta = {
@@ -2183,10 +2179,10 @@
       elpaBuild {
         pname = "erc";
         ename = "erc";
-        version = "5.6snapshot0.20240323.151032";
+        version = "5.6snapshot0.20240419.135452";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/erc-5.6snapshot0.20240323.151032.tar";
-          sha256 = "1vydh0v3rw44r6y1lfbr4nlxhmbx224idj5s5g4kas6r2pgi0b74";
+          url = "https://elpa.gnu.org/devel/erc-5.6snapshot0.20240419.135452.tar";
+          sha256 = "1yx1k6r6fg77r6h7bvi1v205mnxmw8qjqr96k4dh73a7ik972vmh";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2206,7 +2202,7 @@
         version = "5.16.10.12.0.20240129.80712";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ergoemacs-mode-5.16.10.12.0.20240129.80712.tar";
-          sha256 = "14ydcz8mhq9cy1ivxdyjslh83lxigqcqw8nb1f22g9ksxxxsz9fr";
+          sha256 = "0jsl7yyhbcg1y20lp50r3i3rcxmxq035mks1kwbsnyqmdikby9s3";
         };
         packageRequires = [ cl-lib emacs nadvice ];
         meta = {
@@ -2218,10 +2214,10 @@
       elpaBuild {
         pname = "ess";
         ename = "ess";
-        version = "24.1.1.0.20240311.150545";
+        version = "24.1.1.0.20240426.115232";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ess-24.1.1.0.20240311.150545.tar";
-          sha256 = "0dyyyl7akn50j15asr6msrx704vr4wjfz3a1h7nsxjjaczz0n8kz";
+          url = "https://elpa.gnu.org/devel/ess-24.1.1.0.20240426.115232.tar";
+          sha256 = "1rskraim68fibf568f07r62h14ni45wvzifn21qyfcvv8slb63jd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2245,7 +2241,7 @@
         version = "1.1.2.0.20240219.90343";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/excorporate-1.1.2.0.20240219.90343.tar";
-          sha256 = "1cfpg7i4jvzfi4iak5g9cj7bsvb0zkqh64jkbfrchhk4wxpj0s01";
+          sha256 = "0wm1qx1y9az3fdh81hjccpsw4xxx0p9acz9pfvsyjlywclcycd4i";
         };
         packageRequires = [
           cl-lib
@@ -2271,7 +2267,7 @@
         version = "1.0.0.0.20240119.103925";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/expand-region-1.0.0.0.20240119.103925.tar";
-          sha256 = "147zh74zjzq8qwmrsdjikkiaky7lagjf4jim2mj1rf35lw5z1m5z";
+          sha256 = "16npbi0nryvnrz61ycpdp4s4nb067brkv83ih7fymc0dlmvp1x50";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2286,7 +2282,7 @@
         version = "1.3.1.0.20230915.150818";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/expreg-1.3.1.0.20230915.150818.tar";
-          sha256 = "1wxayvfqc41c2qfqjmf8drzb0q7r5kyfygdl5l4c3idcm8agsim4";
+          sha256 = "11r4vwavax904dxmcpbr2nbycr7096aalblh6pfvjbhb23a0vx7m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2303,7 +2299,7 @@
         version = "0.1.0.20240102.22814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/external-completion-0.1.0.20240102.22814.tar";
-          sha256 = "0azy67n2lb9lcmrcz1k0z8gpx32w8g5xcz9ly73yh5kdfb83227p";
+          sha256 = "0y2lh89zmyrfkdzwxhc7npbbyp97xi1mnr7qdlsnlnw8gllknf27";
         };
         packageRequires = [];
         meta = {
@@ -2315,10 +2311,10 @@
       elpaBuild {
         pname = "exwm";
         ename = "exwm";
-        version = "0.28.0.20240316.164011";
+        version = "0.28.0.20240403.140839";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/exwm-0.28.0.20240316.164011.tar";
-          sha256 = "0kqg4rfwrrd9z714a6k4ldmpq4iqihkx1c2q4fnf82p9616pd88w";
+          url = "https://elpa.gnu.org/devel/exwm-0.28.0.20240403.140839.tar";
+          sha256 = "1hyf2m1inifvxzv6y2wmrfylp9vrb130nj1pvpy169miw2n50vzm";
         };
         packageRequires = [ emacs xelb ];
         meta = {
@@ -2336,7 +2332,7 @@
         version = "1.1.0.20221221.75553";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/f90-interface-browser-1.1.0.20221221.75553.tar";
-          sha256 = "1xbrm524dadmww961m4n2dqi1gplbflfldxwc6cs0cas2cf4ydal";
+          sha256 = "0qv3v3ya8qdgwq0plcc3qbba4n66fqww3sawmqhzssksry39l1yj";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2354,7 +2350,7 @@
         version = "0.2.1.0.20230426.73945";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/face-shift-0.2.1.0.20230426.73945.tar";
-          sha256 = "0h33w6n1sj0g4ji8ckdd9pgxq3gj4kn0mqlazrs82sf32hsjfi5w";
+          sha256 = "0gl9k7g3wsc045dx9mp9ypk084r4j3mhf2a4xn08lzz8z8i9k2rz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2373,7 +2369,7 @@
         version = "0.2.0.0.20240310.203607";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/filechooser-0.2.0.0.20240310.203607.tar";
-          sha256 = "0ra072qdg38y92f73cimwlgcclvfpz4wvrr8wr7i808jv1rdagv7";
+          sha256 = "1hcjnhb3bhk6im5k1mqrlb599jrdg9hxadjhvw31f5l5rjg2636l";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2391,7 +2387,7 @@
         version = "2.12.2.0.20221221.75607";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/filladapt-2.12.2.0.20221221.75607.tar";
-          sha256 = "0izqqh2dlp9p6kbkmn5qp9lbqdf8ps3f38lclc9fm2652mssvddv";
+          sha256 = "11s9n8d4psjs4dbsx2w8hyir5hapz952da5nz3xihli8a0q93mhv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2409,7 +2405,7 @@
         version = "0.9.5.0.20230605.161924";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/firefox-javascript-repl-0.9.5.0.20230605.161924.tar";
-          sha256 = "1fwi01mqyz0mvy27rxz4k97mww02gv6njhb4p7wxj1wrx1xsmm1z";
+          sha256 = "1nfkzx07j3hddai213lia9pixfrrdajrvg7fvlx5js8zxfpvcjx6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2424,7 +2420,7 @@
         version = "0.2.0.20221221.75619";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/flylisp-0.2.0.20221221.75619.tar";
-          sha256 = "0b48wd2isf5nqfgscpd311hwisp9gs77lsinpdrs40swvwnflyfb";
+          sha256 = "110hfk979c664y27qf5af54phm8i4iq5qqk5vygjwd7252nd7i4a";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2432,19 +2428,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    flymake = callPackage ({ eldoc
-                           , elpaBuild
-                           , emacs
-                           , fetchurl
-                           , lib
-                           , project }:
+    flymake = callPackage ({ eldoc, elpaBuild, emacs, fetchurl, lib, project }:
       elpaBuild {
         pname = "flymake";
         ename = "flymake";
-        version = "1.3.7.0.20240223.154540";
+        version = "1.3.7.0.20240422.65418";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/flymake-1.3.7.0.20240223.154540.tar";
-          sha256 = "1z9j0mrka8qznz3d81h1pzns2bn1sswqj2rd8m2drwjzzgaq4j0w";
+          url = "https://elpa.gnu.org/devel/flymake-1.3.7.0.20240422.65418.tar";
+          sha256 = "0gq3x3ssvsccwjajd3w835dd1zvlakj7gxdn6b1fqj46rkyi60vw";
         };
         packageRequires = [ eldoc emacs project ];
         meta = {
@@ -2463,7 +2454,7 @@
         version = "0.1.0.20231030.222337";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/flymake-codespell-0.1.0.20231030.222337.tar";
-          sha256 = "1i4gk9z9yfs9gb9x64n8wzxqy8lb81j422173xxg1lwsirc9a040";
+          sha256 = "1v3a2gg4myav4cs1vj4d5isxhbw9qvryk5r2dx3x19qqmmmm6djz";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2481,7 +2472,7 @@
         version = "0.3.0.0.20230325.160756";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/flymake-proselint-0.3.0.0.20230325.160756.tar";
-          sha256 = "09r9karqm7f8s8wmbfai8nrawpxcn5f7lwpfp5vz1j7w068zn3mi";
+          sha256 = "1p3jpsv6w4hask7bk07dmafwgymbw3xl6i0vx0sjd0i5aa0xs9vz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2496,10 +2487,10 @@
       elpaBuild {
         pname = "fontaine";
         ename = "fontaine";
-        version = "1.0.0.0.20240222.132833";
+        version = "2.0.0.0.20240426.105847";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/fontaine-1.0.0.0.20240222.132833.tar";
-          sha256 = "19smmj7fk5584fwh0yhf0h2h01xv5148rvwc4bcypdsm744rcvfj";
+          url = "https://elpa.gnu.org/devel/fontaine-2.0.0.0.20240426.105847.tar";
+          sha256 = "0h7l5agnzpq8k14c3lr6dkpsh2id9akiqa9z3x88xn440rjbld51";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2516,7 +2507,7 @@
         version = "1.1.0.20221221.75627";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/frame-tabs-1.1.0.20221221.75627.tar";
-          sha256 = "0c9sbfqnl2vmrw9ziaybd7dmzw23a9p5b8nl1g5w4kkwwh7kwl35";
+          sha256 = "08ql56h8h425ngs40m9zpy4ysxlxi74vanlkga42bskzax0ns2cm";
         };
         packageRequires = [];
         meta = {
@@ -2536,7 +2527,7 @@
         version = "0.2.11.0.20201115.95734";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/frog-menu-0.2.11.0.20201115.95734.tar";
-          sha256 = "1rvvkzd639x8rddkbcxwqi6f29y4zybiryvp1is9f68jj6dn3y98";
+          sha256 = "00ihlqq4bxgrp6hdf1b6xhnvp87ilys1ykp0l38cs5lv6a10wvqs";
         };
         packageRequires = [ avy emacs posframe ];
         meta = {
@@ -2551,7 +2542,7 @@
         version = "0.2.1.0.20221212.223608";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/fsm-0.2.1.0.20221212.223608.tar";
-          sha256 = "1q7i32b3kx1cp1yag2mijab36b289hpv1vx7fby8n35agbnqabh8";
+          sha256 = "1zwl1b9sn4imxynada0vf8nxwm49lh8fahxfc35czlbn0w0jqm1k";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2566,7 +2557,7 @@
         version = "1.1.0.20230102.145125";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ftable-1.1.0.20230102.145125.tar";
-          sha256 = "0bhzxrhl87fyv9ynlxp0c3nschpbamkkxzh5gzakdigbm79602ir";
+          sha256 = "0231qjah5s76g8dmnc5zpn6i6lysypf6jvvzmnyyv92lr8arzmfz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2581,7 +2572,7 @@
         version = "0.2.1.0.20201116.225142";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gcmh-0.2.1.0.20201116.225142.tar";
-          sha256 = "1xfpms62svxmvhpdprhb68bsa27m8m8z8wmq3sn42rjf8fi9hrqf";
+          sha256 = "0yb47avdy5f3a2g9cg2028h5agsqpddsbfsc6ncavnxnnyiccj8h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2596,7 +2587,7 @@
         version = "0.9.0.0.20230602.13355";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ggtags-0.9.0.0.20230602.13355.tar";
-          sha256 = "1d8d4shaf3rkan48vpqjc32qms6n90f912wdxsy7nz9fqadv31cz";
+          sha256 = "1krykf1hknczhdhh8rfj4vzcba87q5sjbv0p2y41mcvmmfnhharw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2611,7 +2602,7 @@
         version = "0.6.0.0.20221221.75709";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gited-0.6.0.0.20221221.75709.tar";
-          sha256 = "1pl8chdmnpfby8ap3lirjc837nns5bdgsqms4v86g3acgyz1zd8d";
+          sha256 = "095679pq1lam42zran5qjk3zd4gf908vd5fkq9jppqlilcsqf7zb";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2626,7 +2617,7 @@
         version = "1.1.0.20221221.75729";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gle-mode-1.1.0.20221221.75729.tar";
-          sha256 = "1icjvfrh7j1jp31fhgazai9xdm1s2wk0b3zs3n44km9v2gfy4gcc";
+          sha256 = "1bakvlx4bzz62hibwwm0hmhyzqqzy31xvsg6pw3lh2i028qd1ykx";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2645,7 +2636,7 @@
         version = "1.0.3.0.20230915.165808";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnat-compiler-1.0.3.0.20230915.165808.tar";
-          sha256 = "1za3ihjbramms85r35kz1d3gyyr3kyimd5m7xsmqnrpj3wsrjika";
+          sha256 = "0rm0s33nl9dzghlfsprycr2na412z4vnfc69q2pc6nlazsliz6w0";
         };
         packageRequires = [ emacs wisi ];
         meta = {
@@ -2662,7 +2653,7 @@
         version = "0.1.0.20230924.235858";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnome-c-style-0.1.0.20230924.235858.tar";
-          sha256 = "0zp4dyqm04vk0168s7s972bzxajl0h4d3ywxqw7a6lj3ykjg1ir5";
+          sha256 = "0gij2d1k40yhifr7ad3p465f5lg77cb441pl41mdc0g6v5gipnqf";
         };
         packageRequires = [];
         meta = {
@@ -2677,7 +2668,7 @@
         version = "1.6.11.0.20230108.110132";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnorb-1.6.11.0.20230108.110132.tar";
-          sha256 = "0w14v19idq2njgb80ry0qa7dv9hhj5lg488acxx0pz5cxk606rgh";
+          sha256 = "0jha80xr8pbribp0ki40cydvi35as7v2c2xsy0anh65j9ciym5ag";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2692,7 +2683,7 @@
         version = "1.1.0.20221212.224322";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnu-elpa-1.1.0.20221212.224322.tar";
-          sha256 = "1aglbzgvprqws45xybs7cfajgkgbcl8pk61nqdja7qhgr7a68ymx";
+          sha256 = "0hk9ha7f0721wnsnjazpr970lfa4q03dhpxxffw9qcn1mlvh8qb8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2709,7 +2700,7 @@
         version = "2022.12.0.20221228.123117";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnu-elpa-keyring-update-2022.12.0.20221228.123117.tar";
-          sha256 = "1aa9lwjd4cll6qm5909dg2dgx34sai3w3jg76xjlax3afg4vak2v";
+          sha256 = "18dqjkg9gva5a9967k4gkyjvzhjvh55z2jds7xwgbwczppg8mdz2";
         };
         packageRequires = [];
         meta = {
@@ -2729,7 +2720,7 @@
         version = "3.1.2.0.20230911.4426";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnugo-3.1.2.0.20230911.4426.tar";
-          sha256 = "1fl4zvi5h84qccpym6kaasmv37zbjfj4lc8nq2bqq4ris689y7vj";
+          sha256 = "0pxw1z6inw0ikagcfvi14i83sg6affii277mbyzh5liv655hn9rj";
         };
         packageRequires = [ ascii-art-to-unicode cl-lib xpm ];
         meta = {
@@ -2746,7 +2737,7 @@
         version = "0.5.0.20210503.105756";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gnus-mock-0.5.0.20210503.105756.tar";
-          sha256 = "1p4znd3hzzlxwzxja764vfdy4vb6lf39m6hhvm8knqikq823y26d";
+          sha256 = "1gpjbx9iabrx2b4qinw0chv44g2v1z2ivaiywjzr3vy3h3pp6fga";
         };
         packageRequires = [];
         meta = {
@@ -2761,7 +2752,7 @@
         version = "0.5.0.0.20231030.71342";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gpastel-0.5.0.0.20231030.71342.tar";
-          sha256 = "1vd49mn7xgys0apc7z6s6cs3yygznlyyf4l1hhfrgg5vwfb3c7ry";
+          sha256 = "1d5pj1rk0xv2fww827yplpcll5hy8w9fkcm9c8wf4yi3l6igkmgz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2781,7 +2772,7 @@
         version = "1.0.5.0.20231115.90848";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gpr-mode-1.0.5.0.20231115.90848.tar";
-          sha256 = "1z7v8kwamh217k0lfwcdycj4wnq4dj9lrryppqhjdqb7cj02bmdz";
+          sha256 = "1m768s196027zl402vmfvdzvdl3whbjg5lyfiwjx25d9gfx32351";
         };
         packageRequires = [ emacs gnat-compiler wisi ];
         meta = {
@@ -2801,7 +2792,7 @@
         version = "1.0.4.0.20231018.92052";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/gpr-query-1.0.4.0.20231018.92052.tar";
-          sha256 = "1pk14d88vy0ylgcdymp9pclygpn06n25yhy0hsjs0lrd8zr56a49";
+          sha256 = "0j0p685v1v0byma8x5lpihvfj6hyg30dx8jqa6q0xmm2c6i8cqai";
         };
         packageRequires = [ emacs gnat-compiler wisi ];
         meta = {
@@ -2816,7 +2807,7 @@
         version = "0.1.2.0.20221202.2453";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/graphql-0.1.2.0.20221202.2453.tar";
-          sha256 = "175ss2ln21j0s83fy5yydb05rgsawgc7f8qbahc6ahc1sclppk26";
+          sha256 = "0wh1lnn85nj026iln02b7p5hgrwd3dmqjkv48gc33ypyd4afh31z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2831,10 +2822,10 @@
       elpaBuild {
         pname = "greader";
         ename = "greader";
-        version = "0.9.19.0.20240315.175225";
+        version = "0.9.20.0.20240427.100340";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/greader-0.9.19.0.20240315.175225.tar";
-          sha256 = "1z58dr4zpb2pk10ppjrqr7bxzbji6bgajhv71s6i6802k8il7r32";
+          url = "https://elpa.gnu.org/devel/greader-0.9.20.0.20240427.100340.tar";
+          sha256 = "0g07dvn21g35vx0g7c5dhhwv1pci3jxlpacd9f0iyj42f52yxxhy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2849,7 +2840,7 @@
         version = "1.1.0.20221221.80217";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/greenbar-1.1.0.20221221.80217.tar";
-          sha256 = "1cm2fj2arhgxc5dl6yw03xjyipgk2skaamyy8gybbb4zdglhpd0m";
+          sha256 = "00kch8c0sz5z3cx0likx0pyqp9jxvjd6lkmdcli4zzpc6j1f1a0k";
         };
         packageRequires = [];
         meta = {
@@ -2857,14 +2848,17 @@
           license = lib.licenses.free;
         };
       }) {};
-    gtags-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    gtags-mode = callPackage ({ elpaBuild
+                              , emacs
+                              , fetchurl
+                              , lib }:
       elpaBuild {
         pname = "gtags-mode";
         ename = "gtags-mode";
-        version = "1.1.0.20240313.5421";
+        version = "1.5.0.20240425.21931";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/gtags-mode-1.1.0.20240313.5421.tar";
-          sha256 = "134h3w1gcvncm12yq6ls8xp8587r06vl7qr359rnkvc78sh07c9q";
+          url = "https://elpa.gnu.org/devel/gtags-mode-1.5.0.20240425.21931.tar";
+          sha256 = "13gdalm2n75yifpfy2wsbf47l6q4rklvd4akszn423nmcl9bnb8x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2884,7 +2878,7 @@
         version = "0.0.1.0.20190417.81229";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/guess-language-0.0.1.0.20190417.81229.tar";
-          sha256 = "0xzaq5wm20jkbimg60na2if7zpxlbddqbr9hadg3qqswkg4zp1v7";
+          sha256 = "167cz86pfxxszr57v312m9gb0l9318mvgg2lld6m5ppgzfmxlmnm";
         };
         packageRequires = [ cl-lib emacs nadvice ];
         meta = {
@@ -2899,7 +2893,7 @@
         version = "1.0.0.0.20221012.11633";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/hcel-1.0.0.0.20221012.11633.tar";
-          sha256 = "0hmrb914pilsqvqlw28iy93mkw0h3isyxd0dmw5k3sf9x8zlifh9";
+          sha256 = "03k08w10bvl6fz7nkmv2d7kksphxigw6cwfhfq0kkgxn4l8h37an";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2914,7 +2908,7 @@
         version = "0.5.0.20201214.121301";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/heap-0.5.0.20201214.121301.tar";
-          sha256 = "0i16nc0rc5q2hrqamdqfrf8rzw9msi1a9sad2jq68dlbyv113l6n";
+          sha256 = "0917bfrdiwwmdqmnpy2cg1dn7v5gyl7damwp6ld7sky6v3d113ya";
         };
         packageRequires = [];
         meta = {
@@ -2932,7 +2926,7 @@
         version = "1.2.0.20231107.184113";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/hiddenquote-1.2.0.20231107.184113.tar";
-          sha256 = "0zgnxfcfd78c755rykmbnkvxx5lfpk7z3n8qky0lf3kj2hwas27v";
+          sha256 = "0iy7mxqhph4kmp4a96r141f4dpk5vwiydx9i9gx5c13zzwvy2y7r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2949,7 +2943,7 @@
         version = "0.4.0.20201214.173014";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/highlight-escape-sequences-0.4.0.20201214.173014.tar";
-          sha256 = "1av3fzavy83xjbd52dnql6i95993gyxfhkd1san6c3hi0lcnh3vw";
+          sha256 = "13x8750r3zn9sqbsxliiipk6kfnpg7clmd49niyrh80x9nj4pf72";
         };
         packageRequires = [];
         meta = {
@@ -2967,7 +2961,7 @@
         version = "1.1.1.0.20201201.93957";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/hook-helpers-1.1.1.0.20201201.93957.tar";
-          sha256 = "01iimwwy274kpc0vpy9barfq1rakfrj0d4v3akrzwscnfkxzm1ms";
+          sha256 = "0x3358k5lglnb4yf27c2ybzlsw9jp4n4jh5sizczl9n8g1vxbgkb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2984,7 +2978,7 @@
         version = "0.1.0.20221221.80245";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/html5-schema-0.1.0.20221221.80245.tar";
-          sha256 = "1k3a653n3whprkhc1pc7q1dsc00g2w6923p74ap64ymdv6sx6pw2";
+          sha256 = "15f1nhsgpp0mv8mdrvv0jnscq0j23ggriw2d2dw26sr6lv93w2r4";
         };
         packageRequires = [];
         meta = {
@@ -2999,7 +2993,7 @@
         version = "0.15.0.0.20221030.224757";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/hydra-0.15.0.0.20221030.224757.tar";
-          sha256 = "1ici53s3h7syvzrvz4l5q8790fgfl9wfhdrx2mc0wdhc9jwgxif0";
+          sha256 = "1d8xdxv9j3vb0jkq6bx3f6kbjc990lbmdr78yqchai861hhllmdn";
         };
         packageRequires = [ emacs lv ];
         meta = {
@@ -3014,10 +3008,10 @@
       elpaBuild {
         pname = "hyperbole";
         ename = "hyperbole";
-        version = "9.0.2pre0.20240322.162839";
+        version = "9.0.2pre0.20240420.120926";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20240322.162839.tar";
-          sha256 = "14m1gnkbr9sg8i5bxwar71qs23i3wnqlfwf8cac76ihpminfzz1f";
+          url = "https://elpa.gnu.org/devel/hyperbole-9.0.2pre0.20240420.120926.tar";
+          sha256 = "1mr05p3lhz1xnivl8mqhzdw9qrh0klasjisl75gn14n7l233nir7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3032,7 +3026,7 @@
         version = "0.3.0.20240219.40214";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ilist-0.3.0.20240219.40214.tar";
-          sha256 = "0y8qziqq70qwxffx7fy8b6grbsxh22dmbrgxpx9a8q4zq9257j90";
+          sha256 = "0nxwvnpnyccx384f8ik0z8a74fksvwrmpdzk4wia1x6wdwwvblvs";
         };
         packageRequires = [];
         meta = {
@@ -3050,7 +3044,7 @@
         version = "0.36.0.20230925.194622";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/inspector-0.36.0.20230925.194622.tar";
-          sha256 = "1pn6p9hiar9fsjxxs7wmz2kcfaf31pyhar2wmb3bkm1md98zhirx";
+          sha256 = "1g989zgbhila0f4yca70iwgnqr0zcainji9mps0ywrmlmn270gdv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3065,7 +3059,7 @@
         version = "2.6.0.20211231.163129";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ioccur-2.6.0.20211231.163129.tar";
-          sha256 = "0vgb0p6gb2djrqviq2ifvkkd7zyp094z2jsly52i14j153cvi9pd";
+          sha256 = "0v048d1p95km3jwgs6x805fjg6qfv5pjwdwia1wzl9liqai21v1c";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3083,7 +3077,7 @@
         version = "0.8.0.20240310.84654";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/isearch-mb-0.8.0.20240310.84654.tar";
-          sha256 = "1n1lb1gcifd1m2pk4zgij3gd8500m4jhd6kgzrjy15cci34xlhsf";
+          sha256 = "1rb97ir8nbv7ici8isjcm4bfaxakd6a05yxv9as2wv9xl8fzfhwq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3101,7 +3095,7 @@
         version = "0.1.1.0.20221221.80300";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/iterators-0.1.1.0.20221221.80300.tar";
-          sha256 = "14psdlyar90zhq091w39z2zkfi99x4dq2zrnhnbzwll0sr5q7j7z";
+          sha256 = "10cx933rk7f92jk8q87b69ls3w823fwxnr7i6j0bxpzjx66q15yk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3113,10 +3107,10 @@
       elpaBuild {
         pname = "ivy";
         ename = "ivy";
-        version = "0.14.2.0.20240214.214034";
+        version = "0.14.2.0.20240405.203954";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/ivy-0.14.2.0.20240214.214034.tar";
-          sha256 = "0y7fakcrzwghgg1pvlgbsp1ziidh7vyy22nm0ph4bsq4il16fm9m";
+          url = "https://elpa.gnu.org/devel/ivy-0.14.2.0.20240405.203954.tar";
+          sha256 = "02mkfciafhdc9b41s0kv07l9z77zyq7a2j1ljdiwbmcbkdis028p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3136,7 +3130,7 @@
         version = "0.14.2.0.20240214.214218";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ivy-avy-0.14.2.0.20240214.214218.tar";
-          sha256 = "0qrrvkb6kl83lxikr3ags4mbxi015qy9l34dnjb5580zgcsjvqc8";
+          sha256 = "1i3hrc5pb30qkzzpiza0mff97132b04sglg39mg0ad05hl3sq5dc";
         };
         packageRequires = [ avy emacs ivy ];
         meta = {
@@ -3155,7 +3149,7 @@
         version = "0.3.2.0.20190909.192125";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ivy-explorer-0.3.2.0.20190909.192125.tar";
-          sha256 = "1h4yp4xp5kqirlxhbg425v7fh9zphwkqflvf4qf0xf275w4i8g88";
+          sha256 = "1jvahaswknvaia62cq8bz5lx55fb1c07zr63n7awcp0sajk3ph3z";
         };
         packageRequires = [ emacs ivy ];
         meta = {
@@ -3175,7 +3169,7 @@
         version = "0.14.2.0.20240214.214337";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ivy-hydra-0.14.2.0.20240214.214337.tar";
-          sha256 = "1k719hy80hs0019qza0vcpvgxpfsmkkz6j8hs3bfbpmzg0pj54ph";
+          sha256 = "1paqprwizhavr1kfijfbr0my3ncmw94821d3c9qj1fnjkp3nfj4x";
         };
         packageRequires = [ emacs hydra ivy ];
         meta = {
@@ -3195,7 +3189,7 @@
         version = "0.6.3.0.20211217.23411";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ivy-posframe-0.6.3.0.20211217.23411.tar";
-          sha256 = "1d1yhydqcbdsya7rnkxd2c05p7vd6iixkx814cl9j1k14amvl46w";
+          sha256 = "03v4k7hx2bdxhjghanpmy9r50q9ksmz2xcwypxxhyywlglfk0d69";
         };
         packageRequires = [ emacs ivy posframe ];
         meta = {
@@ -3213,7 +3207,7 @@
         version = "0.0.4.0.20240204.184721";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/jami-bot-0.0.4.0.20240204.184721.tar";
-          sha256 = "0klkzj83cqc1pp2q46067wq3gpxkmgcsb24s9mcccrwsrvqbgm9s";
+          sha256 = "04zdnrah3jypkyx8dl0ns7cjcws5yv4d56ixaa94vjjjvyw9d8mv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3231,7 +3225,7 @@
         version = "0.11.0.0.20231010.221311";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/jarchive-0.11.0.0.20231010.221311.tar";
-          sha256 = "0px6ki34v029i9wif1pzs500gqj1ppaj0zdn96535zk22b137dfn";
+          sha256 = "122qffkbl5in1y1zpphn38kmg49xpvddxzf8im9hcvigf7dik6f5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3246,7 +3240,7 @@
         version = "0.9.1.0.20221221.80314";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/javaimp-0.9.1.0.20221221.80314.tar";
-          sha256 = "07qmxqsp9gbdr7pxv4f8826l50gbwcxs2f5zw3v88h64rgrkll5c";
+          sha256 = "0dj7mzdfj1gvd18mdnf19pv5zljhhada6a5s3bm5drpw12vx5334";
         };
         packageRequires = [];
         meta = {
@@ -3264,7 +3258,7 @@
         version = "1.1.0.20221221.80333";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/jgraph-mode-1.1.0.20221221.80333.tar";
-          sha256 = "1dljzr1f0vdhsrw8wksz4gq1q0vwl0136diwzrxh4hwya97mvsrn";
+          sha256 = "1ddmyxanfnqfmwx3ld25awm4qhwbzavla8xan261nyh4wwnm8hfq";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3276,10 +3270,10 @@
       elpaBuild {
         pname = "jinx";
         ename = "jinx";
-        version = "1.4.0.20240311.82108";
+        version = "1.6.0.20240415.42305";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/jinx-1.4.0.20240311.82108.tar";
-          sha256 = "086231zh82hb2lz66m16hcvc7ncirn4zjx5hc5kmgzdp9aci8k8w";
+          url = "https://elpa.gnu.org/devel/jinx-1.6.0.20240415.42305.tar";
+          sha256 = "12jvkb9nis5kin7ii7aan7b2d8cd5q1f9qpp6g506m18gdi12f48";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3294,7 +3288,7 @@
         version = "0.4.0.20240323.72834";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/jit-spell-0.4.0.20240323.72834.tar";
-          sha256 = "14lqji9qyki7yq1kr1hc1ikcphvk18js3mp1rwx239mh3v079f0n";
+          sha256 = "1as5s3y1hgjzaz2325rayg0xm80wq2frswcxcarywn85gyfbpskn";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3310,10 +3304,10 @@
       elpaBuild {
         pname = "js2-mode";
         ename = "js2-mode";
-        version = "20231224.0.20240310.175505";
+        version = "20231224.0.20240418.608";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/js2-mode-20231224.0.20240310.175505.tar";
-          sha256 = "1q99zwhk0cdlr161zi38sz412y69k7nh8wa6scz5mi4v07vjrr9g";
+          url = "https://elpa.gnu.org/devel/js2-mode-20231224.0.20240418.608.tar";
+          sha256 = "0l0pcq8v2mnig6jb2qamnm3ih37bl0vlknzqkp3vsznlasjm5srj";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3328,7 +3322,7 @@
         version = "0.2.0.20221221.80401";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/json-mode-0.2.0.20221221.80401.tar";
-          sha256 = "10rgam19spjrqfmpvxnhp4akgz1ya6l4kvzdyhavgi03bd8c8gxn";
+          sha256 = "0hr0dqnz3c9bc78k3nnwrhwqhgyjq1qpnjfa7wd9bsla3gfp88hk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3343,10 +3337,10 @@
       elpaBuild {
         pname = "jsonrpc";
         ename = "jsonrpc";
-        version = "1.0.25.0.20240312.132224";
+        version = "1.0.25.0.20240427.91928";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/jsonrpc-1.0.25.0.20240312.132224.tar";
-          sha256 = "12x9i0m655nck41cv6kap814bzdw867wirnqbqyx8q80vmhxar9p";
+          url = "https://elpa.gnu.org/devel/jsonrpc-1.0.25.0.20240427.91928.tar";
+          sha256 = "18x620ayb9bwp2crxn2mibl7arqc4dzhaykmp5lfqibjkx6qmm9i";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3361,7 +3355,7 @@
         version = "3.1.0.20231015.14814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/jumpc-3.1.0.20231015.14814.tar";
-          sha256 = "04qd2n7lsfcxw0j3h27dfp6gkjzlgp6562gwydmqbwfrd87a7qdd";
+          sha256 = "1v8jxyvs0540w6rdsy96a49lb8nhrq4r66mmvc42j8lh7k4nggdw";
         };
         packageRequires = [];
         meta = {
@@ -3380,7 +3374,7 @@
         version = "0.2.2.0.20240321.120430";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/kind-icon-0.2.2.0.20240321.120430.tar";
-          sha256 = "11f82zrdf5fmpbfv076pg55d0pybjv13wyl62pymcgw1i1jjsach";
+          sha256 = "1cwp2cc2qy36s4zz6arfr760a9x77h0cj42q6a0s32l56sddh7ws";
         };
         packageRequires = [ emacs svg-lib ];
         meta = {
@@ -3395,7 +3389,7 @@
         version = "1.1.5.0.20220316.84759";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/kiwix-1.1.5.0.20220316.84759.tar";
-          sha256 = "1w0701chsjxnc19g7qd8aipb9vsncfmccgpkw9w65fcmcr7v0ipf";
+          sha256 = "0pi543y1gzkhi9chzwfmp9is8jnp31wx69m9355afrvxdncq6gna";
         };
         packageRequires = [ emacs request ];
         meta = {
@@ -3410,7 +3404,7 @@
         version = "0.1.0.20221221.80420";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/kmb-0.1.0.20221221.80420.tar";
-          sha256 = "03jgn57h4i3rdfk4qankz3fivrglbxd1y86bm2k7ansdq8a5f7kn";
+          sha256 = "00zqrfh1nqn01azmkd2gy3il48h1sddp6addj9yfq4kwd7ylhym5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3425,7 +3419,7 @@
         version = "1.0.0.20221221.80428";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/landmark-1.0.0.20221221.80428.tar";
-          sha256 = "1jab8b832x4zf6kxfk7n80rc6jhzxsdnmck9jx3asxw9013cc6c8";
+          sha256 = "1rwiysmynp2z4bfynhf9k1zd3y5s6dyp2312vq1rhyifgdd8mivq";
         };
         packageRequires = [];
         meta = {
@@ -3445,7 +3439,7 @@
         version = "1.5.4.0.20230903.170436";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/latex-table-wizard-1.5.4.0.20230903.170436.tar";
-          sha256 = "1k6jcmj26p3xg73044yprj554bihr9gk5j6ip3cphdkm1c6b3663";
+          sha256 = "1y1crsd29fvqabzwzki7jqziarycix6bib0cmxlrfsqs95y7dr5w";
         };
         packageRequires = [ auctex emacs transient ];
         meta = {
@@ -3460,7 +3454,7 @@
         version = "4.5.5.0.20230803.74443";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/leaf-4.5.5.0.20230803.74443.tar";
-          sha256 = "1ixyiy2zq3v0vz1jbazba41x3m3azb6zvpjm0721dakkqv8k7idj";
+          sha256 = "1xkqwkkk3k5k3lg10amh2lvric2xcqd35ad30c0jyvzn9fsxkbn0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3475,7 +3469,7 @@
         version = "0.12.0.20240303.95600";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lentic-0.12.0.20240303.95600.tar";
-          sha256 = "08q7rkf2dxmwllpvm01v9bk7n0zynrqjmrsy3mrg4fnmdm9sw257";
+          sha256 = "0w6fl0yzmh0gd3d5d5049zrx341x0jrj48g265jy4jywdvk621kv";
         };
         packageRequires = [ dash emacs m-buffer ];
         meta = {
@@ -3494,7 +3488,7 @@
         version = "0.2.0.20240314.214448";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lentic-server-0.2.0.20240314.214448.tar";
-          sha256 = "0nv50f4qa98cmj7r8azxbms6wbm1ij3bfld0fk1cqhn5b054ly0b";
+          sha256 = "1mg12bkwsqm4nwwwmpfx3dav583i96dsk5ap5hjiz2ggwwrmrq8h";
         };
         packageRequires = [ lentic web-server ];
         meta = {
@@ -3512,7 +3506,7 @@
         version = "1.0.6.0.20240102.14710";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/let-alist-1.0.6.0.20240102.14710.tar";
-          sha256 = "14iz361gkd307g6zv4syxmy5kfaimrha7a1jhd6cjbf1gzfrnff6";
+          sha256 = "1iyw8kaqgd5kmfzyzcmrnaa40bn6azvhlmsppnvfnwxgslcjgp1p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3527,7 +3521,7 @@
         version = "1.2.0.20240216.82808";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lex-1.2.0.20240216.82808.tar";
-          sha256 = "109sprgslx2gh6frqyhcsczi59bb6298lvrfbn0qjggxsrmc486z";
+          sha256 = "0mh2jk838216mwv6bab28mq9nb5617c5y7s0yqynkz3vkarnnxx1";
         };
         packageRequires = [];
         meta = {
@@ -3542,7 +3536,7 @@
         version = "1.0.0.0.20240117.24849";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lin-1.0.0.0.20240117.24849.tar";
-          sha256 = "06ibnd4r5f6xw0qk8kk2a67dalb8a6yiy2fkvhi4pb59sw9gwrk0";
+          sha256 = "1yjqq1zzv0a7ydhjjh7ycgwd8fzlkvza3m8dm9wa45lqljf5ysim";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3561,10 +3555,10 @@
       elpaBuild {
         pname = "listen";
         ename = "listen";
-        version = "0.9pre0.20240322.72611";
+        version = "0.10pre0.20240419.165028";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/listen-0.9pre0.20240322.72611.tar";
-          sha256 = "0k50isjazhx0hbmxw3s2p2ny56il5ywbsq1bda6av86ifzr1620c";
+          url = "https://elpa.gnu.org/devel/listen-0.10pre0.20240419.165028.tar";
+          sha256 = "1bmjnigb4ly14i3n7wgd0jx4k0g06cf2n3dapfdwlv80bi57x20a";
         };
         packageRequires = [ emacs persist taxy taxy-magit-section transient ];
         meta = {
@@ -3576,10 +3570,10 @@
       elpaBuild {
         pname = "llm";
         ename = "llm";
-        version = "0.12.1.0.20240323.232518";
+        version = "0.12.3.0.20240331.11827";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/llm-0.12.1.0.20240323.232518.tar";
-          sha256 = "16y64vc84f14rcsbgg6cl0c9dc0xi0m2jks30m4l5khya7bkkj0x";
+          url = "https://elpa.gnu.org/devel/llm-0.12.3.0.20240331.11827.tar";
+          sha256 = "0nc9p0cjxzmfrxrir45lj6yyqwpaw30rdgbhw5dl83shnps4fi58";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3594,7 +3588,7 @@
         version = "1.4.0.20230105.113402";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lmc-1.4.0.20230105.113402.tar";
-          sha256 = "0pw31akqdf59y9cxk25y8z5643szd4ybhbcmj91i1k9gkhdqhh1x";
+          sha256 = "0ldwr9gw0bkcj43w5x84qwq2gvv2nr53711wlh42zawh0dyhm8h7";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3612,7 +3606,7 @@
         version = "0.0.5.0.20221221.80456";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/load-dir-0.0.5.0.20221221.80456.tar";
-          sha256 = "1hdyy212iz057q2znp8pb6ns8gyi6f5xbr6kvs02rybsd9wjv40s";
+          sha256 = "00ynwml6xf7341z1w0wz1afh9jc4v8ggc8izy8qcvdiawxc418iq";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3629,7 +3623,7 @@
         version = "1.3.2.0.20230214.53224";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/load-relative-1.3.2.0.20230214.53224.tar";
-          sha256 = "027mlcg38x2yb3j9lnjzfg84fj8hah7sd9nnndf6fkpabi7bbysq";
+          sha256 = "19pkb7xqyllll2pgyqs7bv0qfbv6n9i5qlx9rjzm4ws0c9j464zd";
         };
         packageRequires = [];
         meta = {
@@ -3661,7 +3655,7 @@
         version = "1.2.4.0.20201130.183958";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/loccur-1.2.4.0.20201130.183958.tar";
-          sha256 = "1skpv5pmbkhn5vx2c4dqqx4ds3pj4z2lg6ka0pas9xkijdbfy7v0";
+          sha256 = "1ghig684f2r6dl5czym3d5hqhf72y1hilnhbk95lg890cc0yacir";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3676,7 +3670,7 @@
         version = "1.1.1.0.20240224.55443";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/logos-1.1.1.0.20240224.55443.tar";
-          sha256 = "10z609m2ak37yfbmlgv258j2rsvkq40h5rzmdwk8ibldz3n6ywgd";
+          sha256 = "1zr2g2bj2xkjwj509vijqdqhx1dgmbr73i605677hjw01d2skch3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3691,7 +3685,7 @@
         version = "1.0.0.0.20221125.50733";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/luwak-1.0.0.0.20221125.50733.tar";
-          sha256 = "06kl3c6b7z9wzw44c6l49vnj4k25g4az8lps8q7kd7w7f0cjn3yx";
+          sha256 = "0b4kxq5im8gvg1zg12b8ii62w0vsf3gacimwd603srfc5l1rbvcw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3706,7 +3700,7 @@
         version = "0.15.0.0.20221030.224757";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/lv-0.15.0.0.20221030.224757.tar";
-          sha256 = "0xjizznzwsydwqs2hvcbi8nqcyzvca0w3m48dpi2xwvnm22a7v48";
+          sha256 = "07m1m2rgwnb7916hzdjccnq4is0z7m5mwmvc0f7mpc4h61sa6cdn";
         };
         packageRequires = [];
         meta = {
@@ -3724,7 +3718,7 @@
         version = "0.16.0.20240302.175529";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/m-buffer-0.16.0.20240302.175529.tar";
-          sha256 = "1scjp8f89a7mn7wlw0sgix8hk4dw6lpz0gakvfr7c5mcmm0bzhlr";
+          sha256 = "18lj0gb56xhwrbihijy4p5lyxqvdfcwyabcd30qy1dn4k715v614";
         };
         packageRequires = [ seq ];
         meta = {
@@ -3739,7 +3733,7 @@
         version = "3.3.1.0.20240221.84915";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/map-3.3.1.0.20240221.84915.tar";
-          sha256 = "04zywlimai9v6131ksh3vkp6zlrnx9wr36hr0cg0yh2vhsj09kkm";
+          sha256 = "0cmxxgxi7nsgbx4a94pxhn4y6qddp14crfl2250nk6a1h17zvsnn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3755,10 +3749,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "1.5.0.20240323.201536";
+        version = "1.6.0.20240404.45149";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/marginalia-1.5.0.20240323.201536.tar";
-          sha256 = "11sjdmif14bcl3cn2sn9a20lvyw8qrjqjscwcq0aid0lqwswmvi4";
+          url = "https://elpa.gnu.org/devel/marginalia-1.6.0.20240404.45149.tar";
+          sha256 = "1bqynrmb99691k0cmdn30g780356gff30bd7lirlriraabj19y7h";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3775,7 +3769,7 @@
         version = "0.2.2.0.20221221.80510";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/markchars-0.2.2.0.20221221.80510.tar";
-          sha256 = "0snw8hc65mkmmlaj1x87gwkyrz43qdm5ahnnjh09dad5pfd1s0v0";
+          sha256 = "0f1n1jzhksl5cl5c4n2arqhj2zkwzs8i4yzdz39y2b51x2gi2yav";
         };
         packageRequires = [];
         meta = {
@@ -3792,7 +3786,7 @@
         version = "1.3.0.20220828.204754";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/math-symbol-lists-1.3.0.20220828.204754.tar";
-          sha256 = "11n6lmh9q6j0aamd4wbij0ymdfpdmqm0iqysqvk2vnnq6ly4hw3f";
+          sha256 = "0q038qwcq7lg3a7n451gw80xlwv4hczz3432xcx00hxgvlh744yc";
         };
         packageRequires = [];
         meta = {
@@ -3807,7 +3801,7 @@
         version = "1.0.0.0.20240320.41315";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/mct-1.0.0.0.20240320.41315.tar";
-          sha256 = "062mk5kqivhgvfk81rsa21bqkzk2h3wgfq1prjppndfw8y4cajpb";
+          sha256 = "02rifid9g3q6a92xp1xpkmmm00awhxfk573lbapcl473sjy5dwfp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3824,7 +3818,7 @@
         version = "0.2.0.20201201.223908";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/memory-usage-0.2.0.20201201.223908.tar";
-          sha256 = "1klpmxgkmc9rb8daldllfwvwagg9sc01kq2jp1vq2wsbrvgpai6d";
+          sha256 = "1jybms0756sswwdq8gqc6kpp5m7y971v4yzcmhraykhf32rwf4rq";
         };
         packageRequires = [];
         meta = {
@@ -3839,7 +3833,7 @@
         version = "0.3.0.20221221.80722";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/metar-0.3.0.20221221.80722.tar";
-          sha256 = "18hzsasajy00m4lvb8pqmpipb3a4m3g9mn151vqndd5hnk08wafn";
+          sha256 = "08xcxx9wbjkqf6s1rbsp54f648r8n122k66nfd8ibv9qbd8qvmxq";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3854,7 +3848,7 @@
         version = "0.2.0.20221221.80736";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/midi-kbd-0.2.0.20221221.80736.tar";
-          sha256 = "1ssr8srsdd3f0ijyrx7mcyshb4jdcdi9klm9akablnwzx9z2scm8";
+          sha256 = "0fz9r0y3qdnaq9wi00151xzqh3ygwcfw6yl32cs1vaaxv2czkjai";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3869,7 +3863,7 @@
         version = "1.6.0.20201130.184335";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/mines-1.6.0.20201130.184335.tar";
-          sha256 = "0xcb0faxsqzrjqxj5z3r8b3hyd8czb5vadzy6shfzkp5xk6w0bny";
+          sha256 = "0vl93im89fg72wpcqdhg1x2l4iybznh6gjvpkr1i29y05fsx2aad";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3887,7 +3881,7 @@
         version = "0.5.0.20220921.71345";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/minibuffer-header-0.5.0.20220921.71345.tar";
-          sha256 = "0d3mj2j6bkvci78yx9gidgkig6qvg99zhh3g4z5fqsymyndi1l1w";
+          sha256 = "1s77h5s2abpm75k57zcp1s525qs74sdm6vpzlkvqjz8lpn8zkkp0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3904,7 +3898,7 @@
         version = "0.1.0.20221221.80745";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/minibuffer-line-0.1.0.20221221.80745.tar";
-          sha256 = "1zq1y69wwci8r840ns3izq59hr95b8ncyha0q06gqrv989jamrjw";
+          sha256 = "10gl1lnihawv9dw2rzaydyh8cdgpqgj7y8jsr6hjgqv82hxqyccn";
         };
         packageRequires = [];
         meta = {
@@ -3919,7 +3913,7 @@
         version = "1.4.0.20201201.162630";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/minimap-1.4.0.20201201.162630.tar";
-          sha256 = "1r062v8a4r4d78biz9d3jk5y8w3ahhamr05cnhfwh2aib4byplf1";
+          sha256 = "0h0ydmfinr82j0ifkgwjhc8blg6z2f5k0711fwrcbx8wrgrvfh5v";
         };
         packageRequires = [];
         meta = {
@@ -3938,7 +3932,7 @@
         version = "0.5.11.0.20240222.42825";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/mmm-mode-0.5.11.0.20240222.42825.tar";
-          sha256 = "1bsccf8i48r4zjzg7pqi47n2r09dj8baylw83ksdrzc57n1s90x7";
+          sha256 = "037g19hdya14q7wivdcw8h7wyx8lb8pw5waya3ak435cyfmpg1a7";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3953,10 +3947,10 @@
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "4.4.0.0.20240322.51913";
+        version = "4.4.0.0.20240427.84336";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/modus-themes-4.4.0.0.20240322.51913.tar";
-          sha256 = "1ilblm5hgynihfm60q44fw9njhir1nndz7mhxbbsyhlm42bg30vc";
+          url = "https://elpa.gnu.org/devel/modus-themes-4.4.0.0.20240427.84336.tar";
+          sha256 = "003kzj9s22qyzvavzh9q0x5dh6jg3n8ykvbihkx5hw16ar7cxmgg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3968,10 +3962,10 @@
       elpaBuild {
         pname = "mpdired";
         ename = "mpdired";
-        version = "2pre0.20240319.164728";
+        version = "2pre0.20240414.172616";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/mpdired-2pre0.20240319.164728.tar";
-          sha256 = "18xhxlxzl5kapjzhaqw0zsi5avp2wb0vrxj9rsigsjcr0p09asrd";
+          url = "https://elpa.gnu.org/devel/mpdired-2pre0.20240414.172616.tar";
+          sha256 = "0c7rjws601wh7bxg549hbbfanh5lxwrhrm03ay2ziriswqdrq5ng";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3988,7 +3982,7 @@
         version = "1.14.0.20221221.80812";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/multi-mode-1.14.0.20221221.80812.tar";
-          sha256 = "0054sb4jp1xp6bf0zh42k6blhvlpw5yr38fg5pm5gv8a6iw3gc9x";
+          sha256 = "1r41alsvaab8h5cngy0hjs78shv60qp1g68jppl5qlhd6a7h95ih";
         };
         packageRequires = [];
         meta = {
@@ -4006,7 +4000,7 @@
         version = "1.1.10.0.20220605.120254";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/multishell-1.1.10.0.20220605.120254.tar";
-          sha256 = "1vs9w1v8hqwfhypk0nz7l2n7q1rf7nx2nwlljqn8clx817glqlfm";
+          sha256 = "0pl45mwwgdf505sviyzacalq6kisq0pnh99i1cnclrmjkjy6yxz9";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -4021,7 +4015,7 @@
         version = "3.20.2.0.20240209.184001";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/muse-3.20.2.0.20240209.184001.tar";
-          sha256 = "0jp0qmak49gnx121nkay70dbld26z6jvgc7d1ycgyfl49flqhjb4";
+          sha256 = "1sn5siingpzg4y5wjc3ff2ln98gb7hhvwmhnvhmmqbnb8r459vs0";
         };
         packageRequires = [];
         meta = {
@@ -4036,7 +4030,7 @@
         version = "0.1.0.20221221.80834";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/myers-0.1.0.20221221.80834.tar";
-          sha256 = "1hk1587bni5sn9q91yv43s1i5dvbirbh2md46cx7c9y69bshyaqh";
+          sha256 = "11nwn1nysr09r1701cd3wvkzn01s19l6lla0f33vqm66ahj9yldh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4051,7 +4045,7 @@
         version = "0.4.0.20230111.104526";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nadvice-0.4.0.20230111.104526.tar";
-          sha256 = "0kcgdrcsjf4rqcb9k95amcvx3qx8qx7msnwjy21a87vc0w8gpv3r";
+          sha256 = "0855x3vgp0i6kmi5kf8365xqnj92k9lwqyfn40i59fp4jj3c00kr";
         };
         packageRequires = [];
         meta = {
@@ -4069,7 +4063,7 @@
         version = "1.0.2.0.20230112.95905";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nameless-1.0.2.0.20230112.95905.tar";
-          sha256 = "0a8zjsm75k02ixynd5jxxniyj5yn4gbcvidi03jkk9z3vxr19vi7";
+          sha256 = "1b44w8jkqqsi995a2daw05ks64njlgpkab6m3iy3lx3v8fggjahp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4089,7 +4083,7 @@
         version = "20151201.0.0.20220425.173515";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/names-20151201.0.0.20220425.173515.tar";
-          sha256 = "1rd7v5yvb2d5zxcqmdjg7hmhgd12lhcrg03wm6sd1lq3jw0hbxhr";
+          sha256 = "1s91v83jkwxjl1iqrmjy60rnnqcgzly0z8chp87f7i22fj5gjz4h";
         };
         packageRequires = [ cl-lib emacs nadvice ];
         meta = {
@@ -4107,7 +4101,7 @@
         version = "0.3.0.20230417.100538";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nano-agenda-0.3.0.20230417.100538.tar";
-          sha256 = "1v7dx53zl0mw8ap91kvzwqb4kiikg14dsw3r49n0j5766nc320fv";
+          sha256 = "1fhpic6zimk81a7w6m9hl6iw0vniz3pl775sxyg167ysn5sqsl2y";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4125,7 +4119,7 @@
         version = "1.0.1.0.20240318.92455";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nano-modeline-1.0.1.0.20240318.92455.tar";
-          sha256 = "1ncbyq2753s46aca2kklf5rrgccc1wddbp0qbhcn6v2j1y37c8k5";
+          sha256 = "14n5gmbpnbcrj2h2c12s35pdb93r1hflklpnv0bh5gpla154f6ln";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4143,7 +4137,7 @@
         version = "0.3.4.0.20240319.93238";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nano-theme-0.3.4.0.20240319.93238.tar";
-          sha256 = "0i7zxx2y052bn4ry3pr24zmm846zilcvv2pvkzcd450zp84p39hn";
+          sha256 = "0xh3m9c4wq7zvc634nvfvxyyi0snlb67286znmnfkpgb3j84vshk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4161,7 +4155,7 @@
         version = "1.1.0.20221221.80909";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nftables-mode-1.1.0.20221221.80909.tar";
-          sha256 = "11a38dgnnvzsh6k7l8n1fzkn8ma4mj3sv17r2614g4jjkmwkaz0i";
+          sha256 = "149qz88wlapln0b8d9mcmj630vyh2ha65hqb46yrf08fch992cpx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4179,7 +4173,7 @@
         version = "1.5.0.20221215.152407";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nhexl-mode-1.5.0.20221215.152407.tar";
-          sha256 = "10jxk0n8x8lr7chfnr562gmyfmcsh25xc1vsqw802c0y3l8z3jw1";
+          sha256 = "0bdw6lycm1hclz3qzckcpnssrd4i52051dzbs87f9sv6f6v31373";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4194,7 +4188,7 @@
         version = "1.9.0.20221221.80940";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/nlinum-1.9.0.20221221.80940.tar";
-          sha256 = "1vifq3rlh9zwrqq0zkhdqv1g2pzgndyxjdr21xis6kxdc50s59l1";
+          sha256 = "15kw7r8lz9nb5s0rzgdlj1s1kl1l6nxzr7kmwv5i7b1xhpnyn7xn";
         };
         packageRequires = [];
         meta = {
@@ -4208,10 +4202,10 @@
       elpaBuild {
         pname = "notes-mode";
         ename = "notes-mode";
-        version = "1.30.0.20201201.121157";
+        version = "1.31.0.20240402.80928";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/notes-mode-1.30.0.20201201.121157.tar";
-          sha256 = "0jliwzbmn89qfjfd096sa5gia52mqvivg8kif41mrmczbhzgqp6a";
+          url = "https://elpa.gnu.org/devel/notes-mode-1.31.0.20240402.80928.tar";
+          sha256 = "1kiki1b6bx3nn1xgbnh0xnwnhx5wkn0zzlk6jfsks5npj2a4h88g";
         };
         packageRequires = [];
         meta = {
@@ -4229,7 +4223,7 @@
         version = "1.1.0.0.20240117.25556";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/notmuch-indicator-1.1.0.0.20240117.25556.tar";
-          sha256 = "0vcpak68jggjwlwx9qjfp72hidh95lvrivlws1l5mmdcnynqjxyp";
+          sha256 = "003pq429x6yjqv4hw7ryigqmpzrk5frwmlk1ar35z9n83xsnl128";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4244,7 +4238,7 @@
         version = "2.1.0.0.20240102.22814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ntlm-2.1.0.0.20240102.22814.tar";
-          sha256 = "0fxv4s5adajf9v8jg5i6w47xbm0v2qlvab8fa8jsnyi8ilxh1afc";
+          sha256 = "0wr9bhxxdkpfvwla97xrd77dv3321apq1gmcpqadyjvxl44c0km7";
         };
         packageRequires = [];
         meta = {
@@ -4259,7 +4253,7 @@
         version = "1.5.0.20221221.81242";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/num3-mode-1.5.0.20221221.81242.tar";
-          sha256 = "0pwlklfmz0brsq2l4zkvmg18hryc9cszsbyn0ky9n8nz0m9nfxsw";
+          sha256 = "076m1lh9ma1wzavirmy7dq7nsl410n03yf7vq4ljxvbkw801sig7";
         };
         packageRequires = [];
         meta = {
@@ -4274,7 +4268,7 @@
         version = "0.16.0.20221221.81302";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/oauth2-0.16.0.20221221.81302.tar";
-          sha256 = "1hxmwsb56m73qr4nqfh32bhbd8b0bl5yfccsk754sjywpn1wnlpq";
+          sha256 = "1imdggvj98db8cs0s2qx72ifavi6h3flym70zm2g1w8v2fmcq8dj";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -4291,7 +4285,7 @@
         version = "1.0.0.20230908.121002";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ob-asymptote-1.0.0.20230908.121002.tar";
-          sha256 = "0gldqmldbwa1rsfyzv9h1sl8za6i0k9j3lkar5capl5qs1c0lib1";
+          sha256 = "1lpv4rf7qf1yvpm4j3wiajdk72lgl4gk8qgwflzyq9yvmksakdvp";
         };
         packageRequires = [];
         meta = {
@@ -4306,7 +4300,7 @@
         version = "1.0.0.20210211.73431";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ob-haxe-1.0.0.20210211.73431.tar";
-          sha256 = "18i9wmchnaz0hnh1bb3sydawxrcxqy1gfp150i69p0miwsfmz7ip";
+          sha256 = "148bly2nf0r64q2cfm0hd6i26bxaans7aj52nv4gb5qxsiqng0ly";
         };
         packageRequires = [];
         meta = {
@@ -4321,7 +4315,7 @@
         version = "0.8.3.0.20201002.84752";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/objed-0.8.3.0.20201002.84752.tar";
-          sha256 = "1ar3i58cb55958dnj88bxa5wnmlz4dnfh76m7nf0kf5sld71l0vf";
+          sha256 = "1fjcl2gm4675l430rdr2lihsj13n24pi9zwjfqvsm4bnqbx9ywiz";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -4333,10 +4327,10 @@
       elpaBuild {
         pname = "omn-mode";
         ename = "omn-mode";
-        version = "1.2.0.20221221.81322";
+        version = "1.3.0.20240326.173146";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/omn-mode-1.2.0.20221221.81322.tar";
-          sha256 = "0bpp3aj93srdmqbh33k36q9762dzzagymh1rxca2axdfb7q7xsa2";
+          url = "https://elpa.gnu.org/devel/omn-mode-1.3.0.20240326.173146.tar";
+          sha256 = "1iyh0xqm9aag92vj44l4ymrjc0gnn41gckk1l96605cfkwr5m6qa";
         };
         packageRequires = [];
         meta = {
@@ -4354,7 +4348,7 @@
         version = "1.3.3.0.20201127.191411";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/on-screen-1.3.3.0.20201127.191411.tar";
-          sha256 = "123kq277vcm4backwdpmnmkkqiplnnbpf62ppn5cg8zl09r87cl6";
+          sha256 = "1dak8rb89mkdpv3xc2h0kpn09i4l42iavslvkhy2vxj0qq6c1r9p";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -4372,7 +4366,7 @@
         version = "1.0.1.0.20230325.141904";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/openpgp-1.0.1.0.20230325.141904.tar";
-          sha256 = "1zpdxm8s7kd936klrsyf72g7my4ffci74cc9gwasgff4r383f000";
+          sha256 = "012svyzmr4rwi2a1v99klyjnwrrfqz8jd053f9xjfm44payfafkg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4380,17 +4374,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    orderless = callPackage ({ elpaBuild
-                             , emacs
-                             , fetchurl
-                             , lib }:
+    orderless = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "orderless";
         ename = "orderless";
-        version = "1.1.0.20240320.163827";
+        version = "1.1.0.20240401.95916";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/orderless-1.1.0.20240320.163827.tar";
-          sha256 = "1iffr6y533z310c47jig8fbg6vyv9a6vlrwn5v4rg0vb3m0i1ah7";
+          url = "https://elpa.gnu.org/devel/orderless-1.1.0.20240401.95916.tar";
+          sha256 = "0w2n1b65hj642a36i6022kmzwgwlb72aicfc6hj3b7rk5zsjg0hc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4402,10 +4393,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.7pre0.20240324.161811";
+        version = "9.7pre0.20240426.150943";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-9.7pre0.20240324.161811.tar";
-          sha256 = "02c2zy96ipzyl6abn375zkvsybfbs3067mnv70xrgjhfrd02yfbr";
+          url = "https://elpa.gnu.org/devel/org-9.7pre0.20240426.150943.tar";
+          sha256 = "0n7d6zrwvrism7blfdri19mvrhcc71cga7qwbvpnq0a9mamv1ypy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4421,10 +4412,10 @@
       elpaBuild {
         pname = "org-contacts";
         ename = "org-contacts";
-        version = "1.1.0.20230227.141730";
+        version = "1.1.0.20240410.112834";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-contacts-1.1.0.20230227.141730.tar";
-          sha256 = "0y78hwcranqdlm9lip623v5qaj15gv335lnxaakxra9dfri703fm";
+          url = "https://elpa.gnu.org/devel/org-contacts-1.1.0.20240410.112834.tar";
+          sha256 = "0mns2fkzn1yc968k2nc4y5gys1m7dbcj67mdb8vfj54iwdkw316z";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4444,7 +4435,7 @@
         version = "1.1.2.0.20200902.94459";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/org-edna-1.1.2.0.20200902.94459.tar";
-          sha256 = "0s7485x4dblrz2gnnd9qxaq3jph16z5ylp1na3b0mi60v0ibnwa4";
+          sha256 = "043pb34ai8rj515zgbw5nq5x3mkiyqcnk25787qc3mbddi9n9hwq";
         };
         packageRequires = [ emacs org seq ];
         meta = {
@@ -4463,7 +4454,7 @@
         version = "0.0.5.0.20240204.184749";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/org-jami-bot-0.0.5.0.20240204.184749.tar";
-          sha256 = "0gs0f9xdgfylgrdgcxm13m4dw526ps47kqwggdz8y2x94p54p1ny";
+          sha256 = "1zl9xblhppqwddizf7s7l9d4qzcr8d6vgvjwmiw4wvb4lpyba9r4";
         };
         packageRequires = [ emacs jami-bot ];
         meta = {
@@ -4479,10 +4470,10 @@
       elpaBuild {
         pname = "org-modern";
         ename = "org-modern";
-        version = "1.2.0.20240316.110902";
+        version = "1.2.0.20240327.153104";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-modern-1.2.0.20240316.110902.tar";
-          sha256 = "1jxq281qpr8if9np3qsg8gccg08yzi7szq0vz5v8yy7q4lc27wz2";
+          url = "https://elpa.gnu.org/devel/org-modern-1.2.0.20240327.153104.tar";
+          sha256 = "0gkkcvjbjyr5h8idafc0lppjwdr84y860800ns7z894i89iy01li";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -4500,7 +4491,7 @@
         version = "0.1.1.0.20231016.93952";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/org-notify-0.1.1.0.20231016.93952.tar";
-          sha256 = "1bf7q55c63rxwsbbiyqb1z33jbhx04qi6qxx6jnfva6fz0v63ag2";
+          sha256 = "0pxm5pbmsf965daf3y7v5x6ca8ddi2a9d4lm04ky3113zz5ay95d";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4517,10 +4508,10 @@
       elpaBuild {
         pname = "org-real";
         ename = "org-real";
-        version = "1.0.7.0.20231024.111108";
+        version = "1.0.8.0.20240328.105118";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-real-1.0.7.0.20231024.111108.tar";
-          sha256 = "199900lvg5jxfspp1papx0aj88vm6addlyv7zhp8bc2f5a9igg21";
+          url = "https://elpa.gnu.org/devel/org-real-1.0.8.0.20240328.105118.tar";
+          sha256 = "018bhg886mhv5wzvahvi36bpmh6lpgfahs2dxcrhlb5jqaf8kj50";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -4536,10 +4527,10 @@
       elpaBuild {
         pname = "org-remark";
         ename = "org-remark";
-        version = "1.2.1.0.20240323.220226";
+        version = "1.2.2.0.20240325.201734";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-remark-1.2.1.0.20240323.220226.tar";
-          sha256 = "0vw0arm7jhzrxwfjyqj65xicbr6020k106vb7zaw1iyvwq64fid7";
+          url = "https://elpa.gnu.org/devel/org-remark-1.2.2.0.20240325.201734.tar";
+          sha256 = "1m5fwry6854w1iv6pahvqgyakws31d82l8f14k585rdxx2n8fwzb";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4555,10 +4546,10 @@
       elpaBuild {
         pname = "org-transclusion";
         ename = "org-transclusion";
-        version = "1.3.2.0.20240222.204851";
+        version = "1.3.2.0.20240420.151651";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/org-transclusion-1.3.2.0.20240222.204851.tar";
-          sha256 = "0gbdhgz0bg6a4zy60wn39f2x4xyag32yxrkcaixsgpcrc3358c0y";
+          url = "https://elpa.gnu.org/devel/org-transclusion-1.3.2.0.20240420.151651.tar";
+          sha256 = "0izvaxis7yc2zfxff3dzsc27r8s4kl65x97rjxhz0cp3iqfsb91x";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4577,7 +4568,7 @@
         version = "0.1.4.0.20220312.90634";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/org-translate-0.1.4.0.20220312.90634.tar";
-          sha256 = "1lgnr4swyh1irq7q8x6di1kmglr1h4ph864mz3491pxks9y0hxjx";
+          sha256 = "1fq0h0q5nh92dc9vgp7nmqyz2nl0byd2v6vl5k2lk3rlmbx7jnkz";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4595,7 +4586,7 @@
         version = "1.14.0.20240111.181530";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/orgalist-1.14.0.20240111.181530.tar";
-          sha256 = "10cn1p5cwgkivbydpgfrnna5f2qy8vs7j1wl0hky3iyfya1wi24g";
+          sha256 = "05nbkphk3ii3ibfap9y9ss3w0g3qzl6qiynflib1dhbk2v222z3x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4610,7 +4601,7 @@
         version = "0.4.0.20221221.81343";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/osc-0.4.0.20221221.81343.tar";
-          sha256 = "1q4sd2pf492gyqhdrkj7qn4zh1x3jhwb1mxgs811k28fl16hanqh";
+          sha256 = "0mlyszhc2nbf5p4jnc6wlq8iipzmy9ymvbszq13myza410nd9xqh";
         };
         packageRequires = [];
         meta = {
@@ -4625,7 +4616,7 @@
         version = "1.3.0.20240122.225511";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/osm-1.3.0.20240122.225511.tar";
-          sha256 = "0b0sdf7n9i4a7jl9xy51g50s04rvjqwvl02adc0cfalang9mk2la";
+          sha256 = "0xddnwrnypqz5l4swwbi5k9qdlv260fyq766vpg31r86z92q7r24";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -4643,7 +4634,7 @@
         version = "1.0.6.0.20221221.81352";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/other-frame-window-1.0.6.0.20221221.81352.tar";
-          sha256 = "1w0lqbrgjkf5l7n1zrqlbldznhzb1xshhdg68mxydq97rhbl1msg";
+          sha256 = "11fdg3nl1w4vm46477kwk6d6vz769q726iz5cwknbvjzj8an994s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4658,7 +4649,7 @@
         version = "4.3.0.0.20240216.43949";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pabbrev-4.3.0.0.20240216.43949.tar";
-          sha256 = "08sbsr0dgw1yrfbsfcj9zslwiwvzafmdpflmj5g2bcmlx2jvck9h";
+          sha256 = "0lkqg6qv06ayianrxs9mivy8pny7hzr0743mlaa20adgk681v1s4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4673,7 +4664,7 @@
         version = "1.1.3.0.20190227.204125";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/paced-1.1.3.0.20190227.204125.tar";
-          sha256 = "09ain2dq42j6bvvchddr077z9dbsmx09qg88yklqi3pc4rc7f3rv";
+          sha256 = "1ykjmv45kkfa569m8hpvya8a7wvkqrg9nbz28sbxmx79abm1bmmi";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -4688,7 +4679,7 @@
         version = "0.1.3.0.20180729.171626";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/parsec-0.1.3.0.20180729.171626.tar";
-          sha256 = "1icrhga35n6nvwa8dy939cc2cc1phvqh27xr1blqdxgcyyzm9ava";
+          sha256 = "0lhcj6cjgkq9ha85n0hqcm0ik7avfzw9f8zcklyivwn2bx80r7r7";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -4706,7 +4697,7 @@
         version = "0.2.1.0.20240220.204114";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/parser-generator-0.2.1.0.20240220.204114.tar";
-          sha256 = "08apzsgqxld3z2cpxhhygh2wj3mvs4pqxib6gfw4jliipkkrk1k6";
+          sha256 = "1yb3wv183xii4rvj7asccg9cgkv061vprakcpdq99fgc9zdx0maq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4724,7 +4715,7 @@
         version = "1.0.0.20221221.81414";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/path-iterator-1.0.0.20221221.81414.tar";
-          sha256 = "12ap8ij593dkba4kahqwzvpd9d62894z4hlplwz0c59qpy90lyxb";
+          sha256 = "1ln9l9x6bj1sp7shc2iafn11yji6lsgm4fm1ji1kfp3my1zhqc40";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4739,7 +4730,7 @@
         version = "1.0.1.0.20221221.81502";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/peg-1.0.1.0.20221221.81502.tar";
-          sha256 = "1m5wl30zdq6fxllxkqblil6r1dqqsprdnqvlxivka6f0khbc6wdk";
+          sha256 = "0gc41pf2gy01bmjgx09c1kifi6pkhcm8jrbdx1ncblhix76ia4q4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4757,7 +4748,7 @@
         version = "0.81.0.20230805.210315";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/perl-doc-0.81.0.20230805.210315.tar";
-          sha256 = "0p4vryw3by2g9kqmmdn6vi01cqgj5pwgfjcimivcxvq7vzvdafz0";
+          sha256 = "0n129rcmn827payv0aqg8iz7dc7wg4rm27hvvw1wwj2k5x5vnd6r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4772,7 +4763,7 @@
         version = "0.6.0.20240114.52348";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/persist-0.6.0.20240114.52348.tar";
-          sha256 = "0jml2w7l44l9dkr0bxvfw90a57p3iyya24n0ic6083c10mgnjs89";
+          sha256 = "1k4m2zmcb4l3q39qnx3kfl2wsm4380ih3mf0lc54g9l77fw4rfxr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4787,7 +4778,7 @@
         version = "0.0.20240322.152749";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/phpinspect-0.0.20240322.152749.tar";
-          sha256 = "1cm8m3zvqd000zv88md4qnrjlq29x8kl1zsivb1k4q6b0rxpva4g";
+          sha256 = "0060s1p60cqq0llx5m41iwqj1bxl98c444kyhfvdvx3c7z5dapmp";
         };
         packageRequires = [ compat ];
         meta = {
@@ -4802,10 +4793,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.48.0.20240215.72135";
+        version = "0.4.49.0.20240424.65247";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/phps-mode-0.4.48.0.20240215.72135.tar";
-          sha256 = "1rizb13l60d6mjg5fdpqgks2q2lihxhbhbhlcdvnc3l6gdgvzq0r";
+          url = "https://elpa.gnu.org/devel/phps-mode-0.4.49.0.20240424.65247.tar";
+          sha256 = "03xz1ig3zsbwixa4hkh7g9ihjxlw2jmzydqldkvjsyv1yhyyf2j4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4820,7 +4811,7 @@
         version = "0.1.0.20231126.141402";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pinentry-0.1.0.20231126.141402.tar";
-          sha256 = "1dc6sd80jrwv2sl679fycd4b3ss7n5c252vy61mv8alpn4vr4jdd";
+          sha256 = "056h9zfbk4mfpvfpli2kr48i5cdcrf73v15id0dk762iy7iz38af";
         };
         packageRequires = [];
         meta = {
@@ -4832,10 +4823,10 @@
       elpaBuild {
         pname = "plz";
         ename = "plz";
-        version = "0.8pre0.20240114.34705";
+        version = "0.8.0.20240425.201348";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/plz-0.8pre0.20240114.34705.tar";
-          sha256 = "06wb543xci5h26cpazdwxgb6haf03yrmx7iwb5d2ja4rv50cirl3";
+          url = "https://elpa.gnu.org/devel/plz-0.8.0.20240425.201348.tar";
+          sha256 = "00kprdnnz584fa2r8mkn4wzyk4fyxgn5d22z6s5c6lag0il1bjvc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4850,7 +4841,7 @@
         version = "0.1.0.20231101.73512";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/plz-see-0.1.0.20231101.73512.tar";
-          sha256 = "1nqlv1ww8ba2a40bg3riv5w1sgj8cmhx6bldyzcgs88cpjjkia79";
+          sha256 = "09ibjvd9wvndrygnfq0jic7m9bk6v490rk1k3b4qjvv5xfvsvvhq";
         };
         packageRequires = [ emacs plz ];
         meta = {
@@ -4865,7 +4856,7 @@
         version = "3.2.0.20230517.100500";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/poke-3.2.0.20230517.100500.tar";
-          sha256 = "0y5qrnqlhvvynvd1fknl0xp9d8bq55bnn2ms6lpbr0sd7ixh24qq";
+          sha256 = "0p12szh563vynl7h9j55v7373g43fhmsy03iibvnywaira4arw5l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4882,7 +4873,7 @@
         version = "3.1.0.20231014.222558";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/poke-mode-3.1.0.20231014.222558.tar";
-          sha256 = "0n73viyn9wia6qpbjilipf69lrmv11avznpbl6cmry3rryzdyn38";
+          sha256 = "1aqw9rn17n7ywnys6dlwykrf63l4kgapqsk1fay5qjj0y1nkq167";
         };
         packageRequires = [];
         meta = {
@@ -4897,7 +4888,7 @@
         version = "0.2.0.20221221.81510";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/poker-0.2.0.20221221.81510.tar";
-          sha256 = "048i3l2z7pkxaphmb731cks0bw3w07arnpls2smm4dv51js14g5j";
+          sha256 = "14xc4jpkpy88drijp19znfhlyv61p2fx2l3zqsqbl3br2xwxy219";
         };
         packageRequires = [];
         meta = {
@@ -4915,7 +4906,7 @@
         version = "0.2.2.0.20230317.121821";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/polymode-0.2.2.0.20230317.121821.tar";
-          sha256 = "129k592y80jixsff2h0bjvn1z1mcl9lwl4gc2sk1fg3vdq6984ng";
+          sha256 = "17dl20fzn15km0d2ypsrzij247yjr3nx5lk1sn5hwr3dvsapvagz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4930,7 +4921,7 @@
         version = "0.4.6.0.20240323.172152";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/popper-0.4.6.0.20240323.172152.tar";
-          sha256 = "14k8shc3w1kc8yz3i1rm02qdyjkxbyyypl2phm9650dvwhwxibxg";
+          sha256 = "1avpaza4w7hav5x7wz6jvk0gacxas11cdlpggx9chjlp0klns0v2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4945,10 +4936,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.4.2.0.20230714.22752";
+        version = "1.4.3.0.20240426.60433";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/posframe-1.4.2.0.20230714.22752.tar";
-          sha256 = "0v3g4z36gm87z4ar7r4q86alscl6r64wd7y3wf55ngbhb84fh02r";
+          url = "https://elpa.gnu.org/devel/posframe-1.4.3.0.20240426.60433.tar";
+          sha256 = "1j5l16z765wz5qs1x49vpkmj1cbxbsa69wlrf19r4qc7b6gijzm5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4963,7 +4954,7 @@
         version = "0.2.0.20240317.135839";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pq-0.2.0.20240317.135839.tar";
-          sha256 = "0hfngsg0hqqrkm55q0ds09bprbpf7km7ry0s4y2lmvyybfaszkla";
+          sha256 = "0hva6d8iqqdvnllm7cssxrmn21alcb2aa4d6874bqdfqjij2hw1z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4980,7 +4971,7 @@
         version = "0.0.20221212.225529";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/prefixed-core-0.0.20221212.225529.tar";
-          sha256 = "10a58xidv1b9yz8bps4ihhx5fl4w337695jmm66dpmphjvmr0hi4";
+          sha256 = "1b9bikccig8l96fal97lv6gajjip6qmbkx21y0pndfbw2kaamic4";
         };
         packageRequires = [];
         meta = {
@@ -4996,10 +4987,10 @@
       elpaBuild {
         pname = "project";
         ename = "project";
-        version = "0.10.0.0.20240315.22845";
+        version = "0.10.0.0.20240415.22959";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/project-0.10.0.0.20240315.22845.tar";
-          sha256 = "0l0aqa5xyj1wj3wxvbvyjx32cjq405dkp10fmy9ydb80a44l8jyw";
+          url = "https://elpa.gnu.org/devel/project-0.10.0.0.20240415.22959.tar";
+          sha256 = "0clz75455r6pzjcj9jbpqgi201plmm4094nz7s19xmq1ifll9pzy";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -5014,7 +5005,7 @@
         version = "1.3.5.0.20221229.184738";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/psgml-1.3.5.0.20221229.184738.tar";
-          sha256 = "055dpaylampjl53vby2b2lvmyfgjqjy64mpda6inmbc93jd3rq90";
+          sha256 = "1zdfdzbadrbj6g4k2q7w5yvxvblpwn4mkihmnmag7jym66r4wmnb";
         };
         packageRequires = [];
         meta = {
@@ -5029,7 +5020,7 @@
         version = "1.1.0.20221221.81719";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pspp-mode-1.1.0.20221221.81719.tar";
-          sha256 = "0awha64p3dyqpahsyr7dbhkprq3mizv239g6q4jiws6laqk54gqz";
+          sha256 = "010qckmc85wc4i7k1rmhffcdbpxpvs6p5qxdvr6g3ws00c1a3j4l";
         };
         packageRequires = [];
         meta = {
@@ -5044,7 +5035,7 @@
         version = "1.0.1.0.20240117.25720";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pulsar-1.0.1.0.20240117.25720.tar";
-          sha256 = "1cqm3ap285gfpbvlk6lckc09ypw2vzv0z1r157pqbaffqqca9vi5";
+          sha256 = "09qq4cribybn86s6dz77rbmazzl3c88305brkiza2pn2cg10g8xw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5056,10 +5047,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "5.3.3.0.20230908.3908";
+        version = "5.3.3.0.20240407.80210";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/pyim-5.3.3.0.20230908.3908.tar";
-          sha256 = "1x9bm67h6314zwd25kjrh5c59icf6v6y7vr0n5k05zvcr7mhw98z";
+          url = "https://elpa.gnu.org/devel/pyim-5.3.3.0.20240407.80210.tar";
+          sha256 = "1vk0q0wczr9yiwm89kljdlsil7plr2z0cr5sw48fxy4dzgjdjkfb";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -5076,7 +5067,7 @@
         version = "0.5.4.0.20220614.110824";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/pyim-basedict-0.5.4.0.20220614.110824.tar";
-          sha256 = "0bf6fwjid16xhdyxaj229xra94qv5zaqwajqccd0y32bpw3ldf9f";
+          sha256 = "0md12ysqcmz737vcs8wh561zl8s98w04cgzs69pbdnzzxas7iy2j";
         };
         packageRequires = [];
         meta = {
@@ -5088,10 +5079,10 @@
       elpaBuild {
         pname = "python";
         ename = "python";
-        version = "0.28.0.20240314.140956";
+        version = "0.28.0.20240427.62346";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/python-0.28.0.20240314.140956.tar";
-          sha256 = "1ikh9qj1dd7002wxfgppngja32yw81i799ymsxwgrypy3xidxxpa";
+          url = "https://elpa.gnu.org/devel/python-0.28.0.20240427.62346.tar";
+          sha256 = "1knzsgi2g40b9ba5s81653h913mlsh71y83b8qc71v9l16lgy1fg";
         };
         packageRequires = [ compat emacs seq ];
         meta = {
@@ -5108,7 +5099,7 @@
         version = "0.1.0.20221221.81727";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/quarter-plane-0.1.0.20221221.81727.tar";
-          sha256 = "17ahmyi0jih6jxplw5lpw50yq2rji8y7irgpxsd65xxj3fzydjrr";
+          sha256 = "1s0fl9sxjhv0sl5ikvkhdnddjg1n2hzw0a64xcvm8859dk77fmy8";
         };
         packageRequires = [];
         meta = {
@@ -5123,7 +5114,7 @@
         version = "0.2.0.20210306.173709";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/queue-0.2.0.20210306.173709.tar";
-          sha256 = "0sp42hjqdhyc3jayjrn2zrcz4rqn3ww9yqhq9nl8rwxh9b9xk4x4";
+          sha256 = "09iicl5fdpli6jnvdj0h8cwj7wqqmxnfzdd57vfjdq09v3sjkljs";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5140,7 +5131,7 @@
         version = "1.0.6.0.20231215.171141";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rainbow-mode-1.0.6.0.20231215.171141.tar";
-          sha256 = "0j74lyl90wddqn2hg2pgji48gvgh1kg56jksrhfr29ykdp6rfzf0";
+          sha256 = "0qr0yl8fszrrdnl8x3d8lnndr5s9g3bf708qilb3f6i5ahkqhq7l";
         };
         packageRequires = [];
         meta = {
@@ -5155,7 +5146,7 @@
         version = "0.1.0.20201128.182847";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rbit-0.1.0.20201128.182847.tar";
-          sha256 = "0n16yy2qbgiv1ykzhga62j8w8dwawb1b8z7qq7mkpxwbyd44c1i3";
+          sha256 = "1ajjfkih0dji2mdsvcpdzmb32nv20niryl8x17ki1016302qfvdj";
         };
         packageRequires = [];
         meta = {
@@ -5173,7 +5164,7 @@
         version = "0.4.5.0.20230414.195045";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rcirc-color-0.4.5.0.20230414.195045.tar";
-          sha256 = "0d0q5nvndpzxl0f8q6ahbia2j4mk4k9h1krw09n44i7jg45277v4";
+          sha256 = "1amlzg7njbmk1kbb569ygx2az7vd7py89z9aq9cmf5rm15hjsm59";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5190,7 +5181,7 @@
         version = "1.1.0.20221221.81818";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rcirc-menu-1.1.0.20221221.81818.tar";
-          sha256 = "08cqb3p76qanii46vvpn31ngz4zjqwfplnrfwdlg12pnhz75fx0m";
+          sha256 = "0gd19rzqgqb9w5cfpr1rz719k5z1rfkn8480b0h1zkvgpgmdrzbx";
         };
         packageRequires = [];
         meta = {
@@ -5205,10 +5196,10 @@
       elpaBuild {
         pname = "rcirc-sqlite";
         ename = "rcirc-sqlite";
-        version = "0.1.4.0.20240226.165830";
+        version = "1.0.1.0.20240422.191938";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/rcirc-sqlite-0.1.4.0.20240226.165830.tar";
-          sha256 = "1j16p0i9yyv229f4jcq10vwld01yda6gdv7n5a0ap0xk5qhaj67k";
+          url = "https://elpa.gnu.org/devel/rcirc-sqlite-1.0.1.0.20240422.191938.tar";
+          sha256 = "1nspv7qgwzjpy9jsgh3m75iimy8piicimv9r82ahm5vrpaxkwg3p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5229,7 +5220,7 @@
         version = "1.5.1.0.20231113.141045";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-1.5.1.0.20231113.141045.tar";
-          sha256 = "1lidmlrsg0jax0mmsxgpjk70x4i4vhiv5ira744rj7m3w0mwgmrw";
+          sha256 = "1nvmpbnx31fdi2ps243xx6cnvhmyv9n1kvb98ydnxydmalxs4iva";
         };
         packageRequires = [ emacs load-relative loc-changes test-simple ];
         meta = {
@@ -5249,7 +5240,7 @@
         version = "1.0.0.0.20231216.160636";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-ipdb-1.0.0.0.20231216.160636.tar";
-          sha256 = "1ih8dg1fm9bwg33zg353zzsnb84qc5p16flnj1rx9wyvblzx0v0q";
+          sha256 = "1s08gngzq18bgxdc6qpsg7j9wjqq842wj5bki2l8jgyqpin6g3h5";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -5269,7 +5260,7 @@
         version = "1.0.0.0.20200722.72030";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-jdb-1.0.0.0.20200722.72030.tar";
-          sha256 = "1dmgw2bdwh20wr4yi66aamj48pkzmaz3ilhdx68qsirw5n48qg83";
+          sha256 = "1vh4x50gcy5i9v9pisn0swmv0ighksn8ni68pdwxkns5ka99qqi6";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -5289,7 +5280,7 @@
         version = "1.0.2.0.20230319.171320";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-lldb-1.0.2.0.20230319.171320.tar";
-          sha256 = "15azvxwq861i6j61sj0240mxdq725wbln1wpim5pn45wzqh56zmv";
+          sha256 = "0isnyflg507qngv8xjw8zwzwh4qy0d3c123d5rirwbissjcfxmrs";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -5310,7 +5301,7 @@
         version = "1.0.0.0.20190525.123417";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-node-debug-1.0.0.0.20190525.123417.tar";
-          sha256 = "1w4n28pv65yzkz8lzn3sicz4il7gx4gxwgzwc6sp21yhb05kfz09";
+          sha256 = "1s5zav3d0xdj0jggw3znfzb43d9jrnzaafk51wiachh7j673gjjv";
         };
         packageRequires = [ cl-lib emacs load-relative realgud ];
         meta = {
@@ -5331,7 +5322,7 @@
         version = "1.0.0.0.20190526.154549";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-node-inspect-1.0.0.0.20190526.154549.tar";
-          sha256 = "1ds40vq756b8vkc7yqacrgm72jj09kq92dprqlmr215r7s8fdglk";
+          sha256 = "0hss16d3avyisdxp1xhzjqn2kd9xc3vkqg4ynsgvxampzli78fw9";
         };
         packageRequires = [ cl-lib emacs load-relative realgud ];
         meta = {
@@ -5351,7 +5342,7 @@
         version = "1.0.1.0.20210513.183733";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-trepan-ni-1.0.1.0.20210513.183733.tar";
-          sha256 = "1gly5hvndc0hg1dfn9b12hbxa0wnlbz8zw9jzjzz5kj2d0fzjswx";
+          sha256 = "0p7sc7g1nwg1hyvgx5mzs2qpjnrayp7brw720kzxfxnxdfj7p0gj";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -5371,7 +5362,7 @@
         version = "1.0.1.0.20230322.184556";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/realgud-trepan-xpy-1.0.1.0.20230322.184556.tar";
-          sha256 = "01h2v8jy0dl1xf7k938iinwkfb4zxrfr73z9s6jc59rrbybsqvha";
+          sha256 = "0m9pwqbkhwkm9fys7rs2lapydkinh4v7q3q3j8b0qb0nl8qcni7i";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -5389,7 +5380,7 @@
         version = "1.9.3.0.20231120.221944";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rec-mode-1.9.3.0.20231120.221944.tar";
-          sha256 = "1k5ncn93vffa4yf84c1ri57lb1sfc9b5czvwvsiijlgci2795j91";
+          sha256 = "1vi5fkxfjfq7z0dc3vhdknzw8id5a1fm0zaxr3y09np7z6n3iv7z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5406,7 +5397,7 @@
         version = "0.1.0.20221212.230034";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/register-list-0.1.0.20221212.230034.tar";
-          sha256 = "1b0099yhvjd69xvcdvn65nx49xay06n2qzafw6fnn7qi22nbvah7";
+          sha256 = "02qc5ll26br1smx5d0ci3wm0s4hdj8sw72xdapn5bql5509n75dx";
         };
         packageRequires = [];
         meta = {
@@ -5418,10 +5409,10 @@
       elpaBuild {
         pname = "relint";
         ename = "relint";
-        version = "1.24.0.20240123.121000";
+        version = "1.24.0.20240401.74454";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/relint-1.24.0.20240123.121000.tar";
-          sha256 = "11482r6h8b0n2ga74mi57nhf9zym2ignii6gfdivrlw8bgmnl1jx";
+          url = "https://elpa.gnu.org/devel/relint-1.24.0.20240401.74454.tar";
+          sha256 = "07q0571ks81al09xl1ms52rznp6y7scvlnh2ax1nj67f3jmikzcd";
         };
         packageRequires = [ emacs xr ];
         meta = {
@@ -5439,7 +5430,7 @@
         version = "1.2.4.0.20240108.130348";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/repology-1.2.4.0.20240108.130348.tar";
-          sha256 = "1w1aisspx5zvj1a2hmnnd93wra1kjizid7sr8kqkwsyva5c03wvd";
+          sha256 = "1ybr0zn647sb6gfqrm6ahdkx3q30j2b0gaab335nkc7jqx1ba565";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5457,7 +5448,7 @@
         version = "1.0.3.0.20190419.83620";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rich-minority-1.0.3.0.20190419.83620.tar";
-          sha256 = "08xdd9gmay0xi2dzk08n30asfzqkhxqfrlvs099pxdd0klgsz60m";
+          sha256 = "0kx516s0kv8ni3w408hb9bpnig83bv4m1l7b5lhdigmp8zvqm8jm";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5472,7 +5463,7 @@
         version = "0.3.0.20221221.81910";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rnc-mode-0.3.0.20221221.81910.tar";
-          sha256 = "1jyi7z0y31c994x9l6pv2j4bkc7m1lrhzk92xdvar003zvll32q9";
+          sha256 = "1rdz1g440sjzxcqc4p2s0vv525ala4k470ddn4h9ghljnncqbady";
         };
         packageRequires = [];
         meta = {
@@ -5489,7 +5480,7 @@
         version = "7.0.20240306.83828";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rt-liberation-7.0.20240306.83828.tar";
-          sha256 = "1bykgygci149vn2s722xg5bn0kp6srjb8mf5rygvy5h32lfdc4r9";
+          sha256 = "1gz0hiwl8qqf1adxwgr8ly98pymqjrl3jjfly5r182l3rwp82gsh";
         };
         packageRequires = [];
         meta = {
@@ -5506,7 +5497,7 @@
         version = "0.4.3.0.20230205.12506";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ruby-end-0.4.3.0.20230205.12506.tar";
-          sha256 = "0l2dbpmhimqb8q5zjjmrf0lriwff4vwwrsba61fiyd3lzk0v0hl2";
+          sha256 = "0cr18s311c986gwx12f6fmnqwyqb4fh7j6h8m2cgp767vn4aqwxl";
         };
         packageRequires = [];
         meta = {
@@ -5527,7 +5518,7 @@
         version = "0.3.2.0.20221212.230154";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/rudel-0.3.2.0.20221212.230154.tar";
-          sha256 = "1q3a4j14ww5wjyxr8b7ksqcckvm8cx44jy9sl117s7g9if48yn03";
+          sha256 = "0lcdc0gdqkl4disr9rwn1dmziwaiwnsyhfwvf02vrgpabd7dq95w";
         };
         packageRequires = [ cl-generic cl-lib cl-print emacs ];
         meta = {
@@ -5542,7 +5533,7 @@
         version = "0.2.0.20220223.202624";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/satchel-0.2.0.20220223.202624.tar";
-          sha256 = "0akcfjfw69r504qkcwr81vrxjhvkpmf19vy9d0dzlgc9v5m3p1h1";
+          sha256 = "1x558csdfahlp459m4bb827yayrzgisaijzbpxbl1pjhq595585d";
         };
         packageRequires = [ emacs project ];
         meta = {
@@ -5557,7 +5548,7 @@
         version = "0.2.0.20210104.105054";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/scanner-0.2.0.20210104.105054.tar";
-          sha256 = "1az7rg4n744ya0ba9fcggqhm3mjhpzwzhygyracsx7n5gry5slgv";
+          sha256 = "1ah74y9ragw3kycqwgxkmnxrzl7s2n43cjpw6r25hmbyzjnhdppm";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -5574,7 +5565,7 @@
         version = "1.0.0.20221221.81959";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/scroll-restore-1.0.0.20221221.81959.tar";
-          sha256 = "08x45fk4m4pg33rdy911hhmnp5kvx2l1dq94s108nk5wznbzx578";
+          sha256 = "04xhshjm5fr5q85srmjhvm20l0zljgbdsy1f3g3lczgzqrwvyg9f";
         };
         packageRequires = [];
         meta = {
@@ -5589,7 +5580,7 @@
         version = "1.1.0.20230721.154631";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sed-mode-1.1.0.20230721.154631.tar";
-          sha256 = "1mp4xyca7g29vn5c7dl3dw3ng9n5kiryvdgrmqrha13ppyqqzd5x";
+          sha256 = "1gb7m8w5v0ay8mcm7alyixsnmndivd24467v58rkj0bpf7bmfa5v";
         };
         packageRequires = [];
         meta = {
@@ -5604,7 +5595,7 @@
         version = "2.24.0.20240201.135317";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/seq-2.24.0.20240201.135317.tar";
-          sha256 = "15lmvz72pq94bf10rk7m327lrvk9680wjfx07289w7qcqq98k1y9";
+          sha256 = "0plr9pbvzd5cfivj90n0jm920hp2x1giy9889pr8x5bqqnba6j66";
         };
         packageRequires = [];
         meta = {
@@ -5616,10 +5607,10 @@
       elpaBuild {
         pname = "setup";
         ename = "setup";
-        version = "1.3.2.0.20240201.73543";
+        version = "1.4.0.0.20240413.75454";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/setup-1.3.2.0.20240201.73543.tar";
-          sha256 = "1rrms6x9jrd4zbm2km7db86j0ak1cmdblrja1dcc089p9pff7l90";
+          url = "https://elpa.gnu.org/devel/setup-1.4.0.0.20240413.75454.tar";
+          sha256 = "1ryxa0991mzvx2ai4bkmjxnikpnalmr4gdggakfg8i8ag65149rn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5636,7 +5627,7 @@
         version = "1.0.0.0.20221212.230255";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/shelisp-1.0.0.0.20221212.230255.tar";
-          sha256 = "0n673afq17fp3h3chs0acszv72dkqj9yd5x2ll6jgkyk74dka0fm";
+          sha256 = "0kk24mkmm4imf7gsr7xihj3xf2y9mgy61gpyql0wms1vlmkl0mwk";
         };
         packageRequires = [];
         meta = {
@@ -5654,7 +5645,7 @@
         version = "2.4.2.0.20240313.182825";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/shell-command+-2.4.2.0.20240313.182825.tar";
-          sha256 = "06yffzhfjgbqr4nsk1f098qmr72818n8466i2g75j03vmzacbzgd";
+          sha256 = "17rqdk23w41dl44imrk6b7p3r4g0ldppj84hp7s6w7amx6fia7ah";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5671,7 +5662,7 @@
         version = "0.0.20221221.82030";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/shell-quasiquote-0.0.20221221.82030.tar";
-          sha256 = "1mvz4y9jkkp96cf0ppmpzdzh86q1xrhx6yb9l93941qm33j0z4p8";
+          sha256 = "0g2yq64yyim35lvxify65kq3y49qrvgri7jyl9rgz8999gb3h8dj";
         };
         packageRequires = [];
         meta = {
@@ -5686,7 +5677,7 @@
         version = "0.1.0.20221221.82050";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/shen-mode-0.1.0.20221221.82050.tar";
-          sha256 = "1r0kgk46hk2dk0923az6g44bmikrb2dxn9p5v4a9r1680yfgf0bn";
+          sha256 = "17ygb1c0x52n3cnmvaacrcf7m6qdjxdqaw1pn7lg3899kl45dh3r";
         };
         packageRequires = [];
         meta = {
@@ -5703,7 +5694,7 @@
         version = "7.1.8.0.20221221.82114";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sisu-mode-7.1.8.0.20221221.82114.tar";
-          sha256 = "18l11bvwp57gjh4v5w6pdslqbdc250hidrj5nlm4p5rfll5647ri";
+          sha256 = "1cyynn3sk8wxfhiz5q0lqwq07kqy67s2rvjql62880in5m5r2jpa";
         };
         packageRequires = [];
         meta = {
@@ -5721,7 +5712,7 @@
         version = "0.1.2.0.20240308.82403";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/site-lisp-0.1.2.0.20240308.82403.tar";
-          sha256 = "0hc811pinqr9swg9764aibyfar33n8nk733pzfgn70rdyxszl9h5";
+          sha256 = "0c9r5pp2lr4wmpcfa8qz0xvq1vhzyhvnn14kawjarhx9p5mvgdq1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5738,7 +5729,7 @@
         version = "1.0.4.0.20230420.122954";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sketch-mode-1.0.4.0.20230420.122954.tar";
-          sha256 = "1vyzwrph9ifqbwlqprglk1fnlx9hnxm0caq9bxk9az8h021zzzha";
+          sha256 = "0ssh1v49h94gvchpynvjcsw80swpcdw541zxxhxm5zi6gsnyhnjd";
         };
         packageRequires = [];
         meta = {
@@ -5756,7 +5747,7 @@
         version = "1.2.0.0.20221221.82156";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/slime-volleyball-1.2.0.0.20221221.82156.tar";
-          sha256 = "0ys6r0vg43x0hdfc9kl2s8djk8zd4253x93prhbcakpsa7p4jb5v";
+          sha256 = "015qpac86km7czpqr2f7xpjlkwbq9s4z9jl0dnr8b2bzh0iwqiik";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5764,16 +5755,14 @@
           license = lib.licenses.free;
         };
       }) {};
-    sm-c-mode = callPackage ({ elpaBuild
-                             , fetchurl
-                             , lib }:
+    sm-c-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "sm-c-mode";
         ename = "sm-c-mode";
-        version = "1.1.0.20240101.165603";
+        version = "1.2.0.20240404.93144";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/sm-c-mode-1.1.0.20240101.165603.tar";
-          sha256 = "00nh3fr57la0zj36c47rwjdkc7a3imvpc5jqh4pg98zn12mi1jdz";
+          url = "https://elpa.gnu.org/devel/sm-c-mode-1.2.0.20240404.93144.tar";
+          sha256 = "1xbkdvhxaffk6csav2ivbrqv85rkb4arnsslp2ji13alkm5hx1zx";
         };
         packageRequires = [];
         meta = {
@@ -5790,7 +5779,7 @@
         version = "4.0.0.20221221.82225";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/smalltalk-mode-4.0.0.20221221.82225.tar";
-          sha256 = "0na04h27bxy6mqdx7mp5ys4bjvpmxfp19nh40jh6j584dchb8y3k";
+          sha256 = "1qk0z1gddw7fidvj429ivjwnxb4f5g074r531nmpvmy2l7srchd9";
         };
         packageRequires = [];
         meta = {
@@ -5808,7 +5797,7 @@
         version = "0.1.1.0.20221221.82231";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/smart-yank-0.1.1.0.20221221.82231.tar";
-          sha256 = "1dhnzvw3igrzp12lcbqp9dpmzidawhyc9a5ryyp29qxqh539c2qm";
+          sha256 = "17w9ybfvdsnsy1vf1mg7a4428rna49i2yfifrp20srj8c0dapwzd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5823,7 +5812,7 @@
         version = "6.12.0.20230411.5343";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sml-mode-6.12.0.20230411.5343.tar";
-          sha256 = "0qq1naxx7hhfi5q78vnw0s9vw6aign8kb08vlcj45xz4sp2w4nlj";
+          sha256 = "1a7n0lvrjq4xnn0cr6qwgh7l54m95mf2nxwv1rplair4r8si8y0d";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5838,7 +5827,7 @@
         version = "1.1.2.0.20240102.22814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/so-long-1.1.2.0.20240102.22814.tar";
-          sha256 = "0865xyx76pq2i0fgqm31vh79alrqqbp6pqzcmadlaxd8jhfck6yq";
+          sha256 = "0fq1c34jlp9jc3zz4rrf9zz6mww0ydm3lh0zrfy3qgssj248ghmy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5857,7 +5846,7 @@
         version = "3.2.3.0.20240102.22814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/soap-client-3.2.3.0.20240102.22814.tar";
-          sha256 = "1mjrb4nsphab8mf5cjjph4dy12v1mzr0x6kxkddp5dwdlpyprn7s";
+          sha256 = "084svzsb2rrqxvb76qxnwdj64kn364dqgbgdpymqngihngyr88fb";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5876,7 +5865,7 @@
         version = "1.4.9.0.20220928.185052";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sokoban-1.4.9.0.20220928.185052.tar";
-          sha256 = "19df4wdhrpn1rb927jg131hjwackaldra1rvxaq31zfd3rlj4dp8";
+          sha256 = "1d3s1v81mvfjcq5bbf0338ldxgl2rymqb3vqqw7drbics4jq5fc0";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5891,7 +5880,7 @@
         version = "1.6.2.0.20220909.50328";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sotlisp-1.6.2.0.20220909.50328.tar";
-          sha256 = "14jlvdhncm7fp5ajnzp931gbpnqg97ysiis0ajwkmwan3mmxlv89";
+          sha256 = "1g48ahiwdipk4ckynqipsfradd1qafg59s10jkbpkp3wvfmxi5sf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5909,7 +5898,7 @@
         version = "0.4.1.0.20240311.74539";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/spacious-padding-0.4.1.0.20240311.74539.tar";
-          sha256 = "1alvy1am8fjlj0wlmzbpvjjgjcln25v0dc19rbwfgwm8pzbq2apn";
+          sha256 = "1xgnplcvp73fpyi9rx5wbn0hjbcv65vlrb7dqkgjc0chaivp4dgm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5924,7 +5913,7 @@
         version = "1.7.4.0.20220915.94959";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/spinner-1.7.4.0.20220915.94959.tar";
-          sha256 = "0n5xmq7iay11pxlj5av4wnx477jz48ac87838pppks9mmsaj24a7";
+          sha256 = "1110bxj7vgai0wgsqbd9917k72xmalyfy0rlwqp46azg02ljam6j";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5941,7 +5930,7 @@
         version = "0.2.0.20221221.82329";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sql-beeline-0.2.0.20221221.82329.tar";
-          sha256 = "0lfn5nvv2xns1l71as5vvsiyspn1d50rh9ki2sihhjs6rx8mprnw";
+          sha256 = "0qfw9q5isyjywlm2fyaazci24jza6h4s50i0zmjk35j6spyxwffs";
         };
         packageRequires = [];
         meta = {
@@ -5959,7 +5948,7 @@
         version = "0.2.2.0.20221221.82336";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sql-cassandra-0.2.2.0.20221221.82336.tar";
-          sha256 = "1daljwlbs6ng64rcmpgzf5ac8diaapraqwc7j2f3v6z6rw261f97";
+          sha256 = "1rl2bdjyglzssm00zdfqidd9j7jzizxaq60bclqa5dsz80zsd6aq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5977,7 +5966,7 @@
         version = "1.7.0.20240323.40057";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sql-indent-1.7.0.20240323.40057.tar";
-          sha256 = "1gvb4inym802zjx721l7qwwmvahaqaw0v1qkm3kl36nqcx7ykp52";
+          sha256 = "0zrsglgw2zjxn9810r022kanvfj0zrhvr696yxlnvd05f9hv9bpp";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5992,7 +5981,7 @@
         version = "0.0.20221221.82351";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sql-smie-0.0.20221221.82351.tar";
-          sha256 = "0pl47qr62gxjnwhf5ryc9xkbf75pr8fvqzi050c1g17jxjmbjfqa";
+          sha256 = "05jv2k9gswwwyi19da8d5f176lb81qmnf94dvghyzh272v9iwvkr";
         };
         packageRequires = [];
         meta = {
@@ -6007,7 +5996,7 @@
         version = "0.4.0.20231117.115741";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/srht-0.4.0.20231117.115741.tar";
-          sha256 = "0az2gkxqhg8dlvjmcqjgz3p82mzc2j881j72pwzc79dyv3akd2aq";
+          sha256 = "03wyfx0zhgfpbhwyxrbd6mj0465m82910l77r12gsg1vbk78l4l0";
         };
         packageRequires = [ emacs plz transient ];
         meta = {
@@ -6025,7 +6014,7 @@
         version = "3.1.16.0.20230702.92809";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ssh-deploy-3.1.16.0.20230702.92809.tar";
-          sha256 = "1kbwvfkz74q8qfk6735hhi1mwdijvgrhqvwjfnfv8x8sr73yldkp";
+          sha256 = "0zjkc1gb3hpknx8012crcbdy3w1w597qk8qajhpaijhjhispm507";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6040,10 +6029,10 @@
       elpaBuild {
         pname = "standard-themes";
         ename = "standard-themes";
-        version = "2.0.1.0.20240226.81513";
+        version = "2.0.1.0.20240427.84421";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/standard-themes-2.0.1.0.20240226.81513.tar";
-          sha256 = "1c4rqg59823syxd9izz8spi54yf0p2984vnpkk7r1kklzfszglmf";
+          url = "https://elpa.gnu.org/devel/standard-themes-2.0.1.0.20240427.84421.tar";
+          sha256 = "09vmyjm148r1ajxlsrdqrgi988a2px5dn5z9k0l3lg88a38rxgz6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6058,7 +6047,7 @@
         version = "2.3.0.0.20230908.74447";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/stream-2.3.0.0.20230908.74447.tar";
-          sha256 = "1qpnns7miz4yj2qhjifm6xpbxwd4v0p360jdqdrvvbxl08cs49va";
+          sha256 = "1zfw7plnlsijs8aw5726adjwd65g1x3xs4vcs3rcc2ybv8cz886s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6076,7 +6065,7 @@
         version = "0.2.1.0.20240117.30048";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/substitute-0.2.1.0.20240117.30048.tar";
-          sha256 = "1sprpnbbar0nwx3nx5rh7pfaxs7x105370zwbiz1xp7gm8w11lwy";
+          sha256 = "1vkjg3w12r7j3dl5jx5wha412lknns37535vjd4x6xgk2rs3yvh0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6091,7 +6080,7 @@
         version = "1.1.0.20240102.22814";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/svg-1.1.0.20240102.22814.tar";
-          sha256 = "0yrh958hw3g0yc5gbqpnzqa37wkv0z6s824vg4mmbq5qqmzj4sqq";
+          sha256 = "1ddz3zadwmm4am2ywwmrqj2a56kr73i45q7svjmgnljgvvs267b3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6106,7 +6095,7 @@
         version = "1.2.0.20221221.82408";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/svg-clock-1.2.0.20221221.82408.tar";
-          sha256 = "1ymg49fkacpay624dr0b5ggha68j83qlcca7jnidmm1v6cxq753j";
+          sha256 = "15fshgjqv3995f2339rwvjw9vyiqz2lfs9h80gkmssha7fdfw3qx";
         };
         packageRequires = [ emacs svg ];
         meta = {
@@ -6121,7 +6110,7 @@
         version = "0.3.0.20240219.161327";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/svg-lib-0.3.0.20240219.161327.tar";
-          sha256 = "1nc5ld90pklqwai4waimv41466ph2n5pr2myx1s2s5afq3m2fc0y";
+          sha256 = "1qycnhjinmn1smajsniz34kv7jkl4gycjhsl6mxxjhq0432cw2fc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6140,7 +6129,7 @@
         version = "0.3.2.0.20240122.120925";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/svg-tag-mode-0.3.2.0.20240122.120925.tar";
-          sha256 = "0p4vfrq3p32j4w4qksqll9wmcc4mgi42qdxwg9gny7jjbvpnvk62";
+          sha256 = "17qixxhy889l2v17pw3b2qrk2g6x4a7yfh0bzxfhlizq10sy24hz";
         };
         packageRequires = [ emacs svg-lib ];
         meta = {
@@ -6156,10 +6145,10 @@
       elpaBuild {
         pname = "swiper";
         ename = "swiper";
-        version = "0.14.2.0.20240214.214428";
+        version = "0.14.2.0.20240405.204232";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/swiper-0.14.2.0.20240214.214428.tar";
-          sha256 = "15hncb6g90k3zc2scvammfc8hnw2p38xcn6c0d3vzfiqg12jlp6x";
+          url = "https://elpa.gnu.org/devel/swiper-0.14.2.0.20240405.204232.tar";
+          sha256 = "1b5dn8v6rm6m7b2agdxf50jkmrfx6ac8fnwyqabr3zzcshpl6ixm";
         };
         packageRequires = [ emacs ivy ];
         meta = {
@@ -6178,7 +6167,7 @@
         version = "1.3.0.20230411.180529";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/switchy-window-1.3.0.20230411.180529.tar";
-          sha256 = "1x2y6rgbkj11c53kxybz3xslbaszm3pr6xzsx4s17sq1w4vv6dc4";
+          sha256 = "1h3jib0qr8wj3xk3qha5yrw2vqhidnqhj4jhw2smrfk61vyfs83b";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6196,7 +6185,7 @@
         version = "1.0.0.0.20240117.30132";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/sxhkdrc-mode-1.0.0.0.20240117.30132.tar";
-          sha256 = "0ys8nchp6ic6wivsgkd97z6v17mdszpldbz4n2bzl3aphhvfy5nf";
+          sha256 = "0sbp6n6j7m0q4gj2x02q2f7ncwsji5jgy6d113n6qfain5ffj0fs";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6214,7 +6203,7 @@
         version = "1.0.13.0.20230908.453";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/system-packages-1.0.13.0.20230908.453.tar";
-          sha256 = "1b7k3z9pnjzfzm903w4llyjda1j74fg5r10xh2n02hjfnlv0yh64";
+          sha256 = "0qh4z6sik94hkms5nfharx2y8np2a1a2r9yrf8lw6xihdnd7bfcv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6229,7 +6218,7 @@
         version = "0.0.20221221.82418";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/systemd-0.0.20221221.82418.tar";
-          sha256 = "0df7y6ymx7gwlksa79h36ds6ap0c6mdnvw4nlj5qr54r2ri2rv1z";
+          sha256 = "1ir3y4w2x1cl24zy66yym5rlpffgrcs10x4sxhb2sgg5k4d88scn";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -6237,16 +6226,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    tNFA = callPackage ({ elpaBuild, fetchurl, lib, queue }:
+    tNFA = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, queue }:
       elpaBuild {
         pname = "tNFA";
         ename = "tNFA";
-        version = "0.1.1.0.20170804.211606";
+        version = "0.1.1.0.20240405.140856";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/tNFA-0.1.1.0.20170804.211606.tar";
-          sha256 = "0h282s6lkpsxvjgajfraj9dbj3ac1amg3s0q3d6knr1xfwhi29zz";
+          url = "https://elpa.gnu.org/devel/tNFA-0.1.1.0.20240405.140856.tar";
+          sha256 = "0m2lh50bz56j5gdpjvan0sksgnlb3cszb28q69xni88hajacn4aw";
         };
-        packageRequires = [ queue ];
+        packageRequires = [ cl-lib queue ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/tNFA.html";
           license = lib.licenses.free;
@@ -6259,7 +6248,7 @@
         version = "0.1.0.20230920.103516";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tam-0.1.0.20230920.103516.tar";
-          sha256 = "1asfy9kflslpmci639pjcb8pr9ndb4as1075lvy9xfk74lif4zx6";
+          sha256 = "01w1vwb1ajmbk90c79wc0dc367sy5b5qdf471zr0xinajfv47709";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6274,7 +6263,7 @@
         version = "0.10.1.0.20220919.160646";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/taxy-0.10.1.0.20220919.160646.tar";
-          sha256 = "03f3rwj01jqfz9pyr2wnd1qkg8165276l1pqlcdyaw7idvd4fc2i";
+          sha256 = "0bld0sjni4ipbllrjnlwk5419454ac5s3mf6imw91z4ddk46vp18";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6294,7 +6283,7 @@
         version = "0.13.0.20240124.3519";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/taxy-magit-section-0.13.0.20240124.3519.tar";
-          sha256 = "1zr1rbmfmhqq94rahas4gqk31ma0ym9p5p8f3i0h7z6ghby8y6xp";
+          sha256 = "1z1cypw7g5vs8vrm1mjvfzxaasr8nz89w1br9dhk8wshyy4kmgf3";
         };
         packageRequires = [ emacs magit-section taxy ];
         meta = {
@@ -6312,7 +6301,7 @@
         version = "1.5.0.20160804.124501";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/temp-buffer-browse-1.5.0.20160804.124501.tar";
-          sha256 = "060pbrrb33n5ghmyhblkl0paqj4m3g4028nwz65zxbd7irrj0fxz";
+          sha256 = "0jw3fjbnbbrsz54hmg4rhcwrl0ag7h6873n2kdph3gjds29d8jxp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6327,7 +6316,7 @@
         version = "1.1.0.20240216.154335";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tempel-1.1.0.20240216.154335.tar";
-          sha256 = "1zr32jc41shq73n9sl7hx8z3z49pwhvhwmnp6x4rjchvdn7xanyl";
+          sha256 = "14zraddmfxnz7bzr9m2qk38hqy3bmd8ypq5x7ni8xapc6lyqd0pm";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6345,7 +6334,7 @@
         version = "1.3.0.0.20230916.123447";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/test-simple-1.3.0.0.20230916.123447.tar";
-          sha256 = "0wd0br7bc2lis9iy3ilnwjiav971rp0n8iad60b2n2jdhcdwbk6s";
+          sha256 = "1xbf63qg17va0qwq2mkg12jg1fk6wwrs43jjzxxccx28h6d205il";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -6363,7 +6352,7 @@
         version = "0.1.2.0.20240105.165329";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/theme-buffet-0.1.2.0.20240105.165329.tar";
-          sha256 = "1wd5nxypm2fy10lm8xy2ch9rmsrfmn1ang0br7yj5rjws2q833r6";
+          sha256 = "1p1vmyl2cdm6vk45884jhrxjgd53mdch4wfkd1hx269v76zl58pa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6382,7 +6371,7 @@
         version = "1.4.2.0.20221221.82440";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/timerfunctions-1.4.2.0.20221221.82440.tar";
-          sha256 = "1bsqyf7v7ngk1pwxk4cgf35r019bnbvx6wrs3l1fvgmw1zgkqkqv";
+          sha256 = "08spli0dfi882wrjcxjgk3zl4g4b5rlrvpyjmkgkzq6ix5z7w80j";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -6397,7 +6386,7 @@
         version = "0.2.1.0.20220910.192941";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tiny-0.2.1.0.20220910.192941.tar";
-          sha256 = "17wp68apkd57g4sm7lvr6iv527rkb8x3smz2lqns6yggrg64c1j2";
+          sha256 = "04ybgq2ppzjpindwgypsp4sb0hmzq5k7sg9niyp18dxkj0nv1l7n";
         };
         packageRequires = [];
         meta = {
@@ -6412,7 +6401,7 @@
         version = "0.4.0.0.20240117.30342";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tmr-0.4.0.0.20240117.30342.tar";
-          sha256 = "11n8xqah46j83b1bdghns6dm1wr9bfgi4hqab6as54rf6xiqlaiq";
+          sha256 = "0sxxc9q97b64rl4kcp0zimlvsvxmdr447vmf8a9f74pddg1djvbw";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6427,7 +6416,7 @@
         version = "0.4.3.0.20220511.213722";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tomelr-0.4.3.0.20220511.213722.tar";
-          sha256 = "15rx89phls3hk0f2rfwpzb7igzyjvaiqasn9yvhwrmpq92dpd6hn";
+          sha256 = "0vjhbz8lfhk84kgm8vd9lfn9qx60g40j7n3kx7iadk0p4842fpaa";
         };
         packageRequires = [ emacs map seq ];
         meta = {
@@ -6445,7 +6434,7 @@
         version = "0.3.1.0.20230106.94110";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/topspace-0.3.1.0.20230106.94110.tar";
-          sha256 = "188q0jw3frbk6y37qxrq17dx3lfrwcac501z90cq8px6d0j3aq4k";
+          sha256 = "179k6d4v4lw66gpb2lmf1zcz6ww1fr3ys0x992wd1r7mvlc070s8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6453,17 +6442,32 @@
           license = lib.licenses.free;
         };
       }) {};
-    tramp = callPackage ({ elpaBuild
-                         , emacs
-                         , fetchurl
-                         , lib }:
+    track-changes = callPackage ({ elpaBuild
+                                 , emacs
+                                 , fetchurl
+                                 , lib }:
+      elpaBuild {
+        pname = "track-changes";
+        ename = "track-changes";
+        version = "1.1.0.20240419.221900";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/devel/track-changes-1.1.0.20240419.221900.tar";
+          sha256 = "16xvkp3fq89jbf87phk6yl9cbfmmgb8r376hh08kwrsmbpaz6bd2";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/track-changes.html";
+          license = lib.licenses.free;
+        };
+      }) {};
+    tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.6.2.2.0.20240228.151226";
+        version = "2.6.3.0.20240331.120258";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/tramp-2.6.2.2.0.20240228.151226.tar";
-          sha256 = "0cv1mwksfcggsyv38kmldcxb702mv7kl4f5l20ilkypsl8ryjfyy";
+          url = "https://elpa.gnu.org/devel/tramp-2.6.3.0.20240331.120258.tar";
+          sha256 = "07358iw3skm59qjry7qggj2rggbdbghmw0yrbdpyabrqmdfv3li8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6481,7 +6485,7 @@
         version = "1.0.1.0.20220923.120957";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tramp-nspawn-1.0.1.0.20220923.120957.tar";
-          sha256 = "11pjgxxyx5gx8xqj8nd8blg0998m57n3s7ydg17z4flfpizbycck";
+          sha256 = "0mpr7d5vgfwsafbmj8lqc1k563b7qnjz1zq73rl8rb2km5jxczhn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6499,7 +6503,7 @@
         version = "0.2.0.20221221.82451";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tramp-theme-0.2.0.20221221.82451.tar";
-          sha256 = "1bjfxs20gicn71q8lznmxj4665hv8vc5spj19jkvvhm16r7nh7mp";
+          sha256 = "0x7wa17f2pnhd6nv7p2m5pafqqgpfp9n773qcmyxkawi4l5bp5d3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6516,7 +6520,7 @@
         version = "1.5.2.0.20221221.82457";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/transcribe-1.5.2.0.20221221.82457.tar";
-          sha256 = "0a5ld8ylsp4ahw4blxchbsynhr8ph651a1lhs0nrx6j2fh85jxqh";
+          sha256 = "12xw9vxzqfr3pis49apdzc5bg0n30wfx0xa9kycdbcpda88f3z6h";
         };
         packageRequires = [];
         meta = {
@@ -6533,10 +6537,10 @@
       elpaBuild {
         pname = "transient";
         ename = "transient";
-        version = "0.6.0.0.20240321.220938";
+        version = "0.6.0.0.20240414.135949";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/transient-0.6.0.0.20240321.220938.tar";
-          sha256 = "0ircfdybzzjxalcfcmd889b41c647fqdwybylri52hz3wh13iix4";
+          url = "https://elpa.gnu.org/devel/transient-0.6.0.0.20240414.135949.tar";
+          sha256 = "1rf1zszrfd02n4ky8n72sqzwb3zk16j92plflfc2wdrzaw9k2mmr";
         };
         packageRequires = [ compat emacs seq ];
         meta = {
@@ -6554,7 +6558,7 @@
         version = "1.0.0.20220410.130412";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/transient-cycles-1.0.0.20220410.130412.tar";
-          sha256 = "19pxd5s4ms9izj22v5abar7g12pn72vh870pmgh80d6kd8l9ifam";
+          sha256 = "1rmgmlbjig866gr5jr89mv8ikvpf0p0pcgpa236nmiw3j6jsywa8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6573,7 +6577,7 @@
         version = "0.4.0.20240322.113138";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/tree-inspector-0.4.0.20240322.113138.tar";
-          sha256 = "0ic17jzzj5mqzdpg6hvwyas9s70jpqgfc96azmmb3mhpvs6xwak2";
+          sha256 = "15k30zdbr8cr88z00dn2jfnybrhkmp769pc361v9n4mdgapwmiap";
         };
         packageRequires = [ emacs treeview ];
         meta = {
@@ -6588,7 +6592,7 @@
         version = "0.6.0.20231015.13107";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/trie-0.6.0.20231015.13107.tar";
-          sha256 = "00qghzzm9584vigfijkgghbnn9yqnlqddqv8khbn5k13zbrslbcv";
+          sha256 = "0kwz7b7y90yq676r09h4w0wbrm61030sw6mqhrcq9130s107lbkx";
         };
         packageRequires = [ heap tNFA ];
         meta = {
@@ -6607,7 +6611,7 @@
         version = "0.3.5.0.20240201.233852";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/triples-0.3.5.0.20240201.233852.tar";
-          sha256 = "0fbm6f5xxixmmi1fywada5k1kgbh8ab0vsick8l0d1g5pm33c4x7";
+          sha256 = "1hw0pgd87cack1ya76bckwjbxxyr4fd8gkp5ngkvjl8l8yhvvrpi";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -6622,7 +6626,7 @@
         version = "1.0.1.0.20230730.150555";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/typo-1.0.1.0.20230730.150555.tar";
-          sha256 = "1fsv4jka06bgp6b39g9y28npbrb1i1rxvyamy95qw10nlsnw1130";
+          sha256 = "0cjn2lh0949kc6c9fxknzg2fyb4p3iwic2a9md5yxpdl42j24fvw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6640,7 +6644,7 @@
         version = "1.0.3.0.20230604.111559";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ulisp-repl-1.0.3.0.20230604.111559.tar";
-          sha256 = "1lay2sqi2ncwvrzs39wjd9fl66vsnxis9q6g7cyjqi4y667jg62s";
+          sha256 = "0b6yvlwikgkkfqklrhbcs0p6y349b6700x78n77xf0kkgv7mca1i";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6659,7 +6663,7 @@
         version = "0.8.2.0.20220312.180415";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/undo-tree-0.8.2.0.20220312.180415.tar";
-          sha256 = "0ldvyaim7n8gs8775fv9a0q6lp67ynkapj82pnqywniqy2p2vr1m";
+          sha256 = "1gm5108p4qv7v4dqpxkd3zb2h5w8nsz0xjbxzxpkvykqp982g030";
         };
         packageRequires = [ emacs queue ];
         meta = {
@@ -6676,7 +6680,7 @@
         version = "0.3.0.20221212.230830";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/uni-confusables-0.3.0.20221212.230830.tar";
-          sha256 = "0xa7byw8b371wm35g0250mz7xvcgbdms1x32grwqp4zhm9dh7jg8";
+          sha256 = "15kc12zih2d6lazcqgiaq9jc5zgznnhaywh7ibflwc6siqvwxzvg";
         };
         packageRequires = [];
         meta = {
@@ -6694,7 +6698,7 @@
         version = "1.0.4.0.20221221.82507";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/uniquify-files-1.0.4.0.20221221.82507.tar";
-          sha256 = "1hhf0zb85y1p1a54y8jq6jzlmdgd23rja2pp461lwf0i1wkfjibq";
+          sha256 = "0zn7z3y7f7hw4144ssa398455091qrg238wp9fr53l2rxpdkdkwf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6714,7 +6718,7 @@
         version = "0.4.2snapshot0.20240310.204507";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/urgrep-0.4.2snapshot0.20240310.204507.tar";
-          sha256 = "0pzicsyp8p2cbyy77l0fj7kzi7amc5xqyj6a6in1jvgc52wzg532";
+          sha256 = "173ql2ng8blfw4y7nbfgjmzpgvw0xabb1sk2c1mis6k36ali851w";
         };
         packageRequires = [ compat emacs project ];
         meta = {
@@ -6734,7 +6738,7 @@
         version = "2.0.5.0.20231024.31412";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/url-http-ntlm-2.0.5.0.20231024.31412.tar";
-          sha256 = "0vr04yr4ywxvh7c6s447bsa5v148ny3lvx54bpd60qf5cp92z1zw";
+          sha256 = "1crjiq72fcpzw4nlrm8nh3q2llvxc7bgjqq6vr6ma055d0m6xrsd";
         };
         packageRequires = [ cl-lib nadvice ntlm ];
         meta = {
@@ -6751,7 +6755,7 @@
         version = "0.8.3.0.20230510.175959";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/url-http-oauth-0.8.3.0.20230510.175959.tar";
-          sha256 = "02ml5wsqzzwxaf779hkgbbdjp7hvf6x43cr1j2aciw2hn29ikbcg";
+          sha256 = "00shj8zvjvdy7gh29sx08m3cn9lyivjlzmzll0i2zy9389i1l360";
         };
         packageRequires = [];
         meta = {
@@ -6766,7 +6770,7 @@
         version = "0.9.0.20231222.161107";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/url-scgi-0.9.0.20231222.161107.tar";
-          sha256 = "101z2rmfbl5g88lwbf3p3r5wrnfxl6vqw836rjnybfxpl0m89862";
+          sha256 = "1dgi0r0igwsk3mx6b7mvd6xz7dmb545g2394s0wh9kkjhlkyd5b3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6782,10 +6786,10 @@
       elpaBuild {
         pname = "use-package";
         ename = "use-package";
-        version = "2.4.5.0.20240113.53615";
+        version = "2.4.5.0.20240330.124921";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/use-package-2.4.5.0.20240113.53615.tar";
-          sha256 = "17c7q2y8lf37gvzxzqhbpr2szkkfnam5yagsqmrv8h0b5cnmnrlq";
+          url = "https://elpa.gnu.org/devel/use-package-2.4.5.0.20240330.124921.tar";
+          sha256 = "0jc1389g63bsy2w2fkw332vpwqrm5xci8skqf7mkg39y8nj2j0fw";
         };
         packageRequires = [ bind-key emacs ];
         meta = {
@@ -6805,7 +6809,7 @@
         version = "1.0.4.0.20180215.204244";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/validate-1.0.4.0.20180215.204244.tar";
-          sha256 = "0mmfwv5g4661r300d8lj907ynkdhjddvm5nca3s5zq7zv4ii0sd0";
+          sha256 = "1hayzx6x2xqfzg84ik5n5x84ixmwc0kc8h7f0796d4rfiljl4y3c";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -6820,7 +6824,7 @@
         version = "3.1.1.0.20210501.211155";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/valign-3.1.1.0.20210501.211155.tar";
-          sha256 = "1k9kqfbcc3glwn3n9l4hfflzqwl144r4zrxgprha3ya04y9ka91x";
+          sha256 = "1w5by0y4552c2qlm708b3523fp9sgizd0zxrwk2k1v6qwh04pa67";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6839,7 +6843,7 @@
         version = "1.1.0.0.20220825.144758";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vc-backup-1.1.0.0.20220825.144758.tar";
-          sha256 = "1mrk1f9ajdpdkqmwwha4qw4d8dxxbx3k7la31z118j04g8x5lqh4";
+          sha256 = "1jd3mv5467vy3ddrrhsv6nwsmyksqls5zhnb8hjb6imrhsylprbv";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6854,7 +6858,7 @@
         version = "1.2.0.20230129.104658";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vc-got-1.2.0.20230129.104658.tar";
-          sha256 = "0r3jny1yhl9swrpbif46mjx6c2c84pwnh4byffasmgdamic9w5w8";
+          sha256 = "0dwigmr1rm8a80ngx25jrqlgnbdj51db6avmyg3v7avhkyg5x455";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6872,7 +6876,7 @@
         version = "1.14.1.0.20230605.161947";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vc-hgcmd-1.14.1.0.20230605.161947.tar";
-          sha256 = "0mv2n5xhilq5vc0k4iahk3fs0skdcshvmdyynqyy6ii764zmmg87";
+          sha256 = "1qrrbr7qgbsc00mrbslaa0k6n3dnighw5dq3mx1hlgz0flm623gi";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6887,7 +6891,7 @@
         version = "0.2.2.0.20230718.145809";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vcard-0.2.2.0.20230718.145809.tar";
-          sha256 = "0b3pxl03kjdyi70hnnf5sb2jvrkhnk0srsn2gr555y9kfbgzwwj1";
+          sha256 = "14rc6glk0wyfjymiv2h5db0cxpl7j8i7h3xlm5bhvgiab00vhk6x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6902,7 +6906,7 @@
         version = "1.1.0.20201127.191542";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vcl-mode-1.1.0.20201127.191542.tar";
-          sha256 = "0ps87hxxm99wilc3ylv9i4b0035lg5i5df0i491m10z3x02i503p";
+          sha256 = "1fjf37s5yfivjbagw7m83y7z5i3dfzqnhcaga7r092v9jvkabw51";
         };
         packageRequires = [];
         meta = {
@@ -6917,7 +6921,7 @@
         version = "0.2.4.0.20230620.220116";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vdiff-0.2.4.0.20230620.220116.tar";
-          sha256 = "17767yyim333xwgzn3kb2l58z1w4wh55s45a5y1jv12ilfi08cnq";
+          sha256 = "1974s441i7hvz6jly2xzndrfpp94nidhkb6gjgfk9f5lml1z17n1";
         };
         packageRequires = [ emacs hydra ];
         meta = {
@@ -6934,7 +6938,7 @@
         version = "2024.3.1.121933719.0.20240314.104026";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/verilog-mode-2024.3.1.121933719.0.20240314.104026.tar";
-          sha256 = "14v14yn6lcpjxldmzl9wymikxzli4mpvy9xsa0pvq0dlj0d30xgw";
+          sha256 = "1fk5jl9897jbzg4dqf1mhdk7dmjmcqxpb1v2sv9ni06bh25rn6z8";
         };
         packageRequires = [];
         meta = {
@@ -6946,10 +6950,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "1.7.0.20240322.111445";
+        version = "1.8.0.20240424.195903";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/vertico-1.7.0.20240322.111445.tar";
-          sha256 = "1v4c3h9qv1mr4dwirzh5r6vvkbxhxqw4cq245vla0ljgl9bhsm86";
+          url = "https://elpa.gnu.org/devel/vertico-1.8.0.20240424.195903.tar";
+          sha256 = "0yhk9cp3qlan2vci31an1d3c4mqz2ckbs7xhs12qk6vich66yshk";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6969,7 +6973,7 @@
         version = "0.7.7.0.20240202.84736";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vertico-posframe-0.7.7.0.20240202.84736.tar";
-          sha256 = "0nx5lqkss2ya06c95apbmdii2rnidbhnywzyqs2mr2fyvlv1azwp";
+          sha256 = "02kwhyhvcjpnq5wskhydjf0v2qbk4dfp8x4nvsxfh31jfvxqvn8k";
         };
         packageRequires = [ emacs posframe vertico ];
         meta = {
@@ -6984,7 +6988,7 @@
         version = "1.0.0.20221221.82600";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vigenere-1.0.0.20221221.82600.tar";
-          sha256 = "1snis37kp1zabydrwsvb7fh15ps4cs2vhn80xhxj4dcyp597q44v";
+          sha256 = "03zkmvx6cs5s0plbafb40pxs0rqx1vz12ql03zlx21h0zwgynqwf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7002,7 +7006,7 @@
         version = "1.2.0.20221221.82606";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/visual-filename-abbrev-1.2.0.20221221.82606.tar";
-          sha256 = "1jq6c1fzm6r73j6g2m7in6cly3pm9zyqldc67paqldalhg9kfda5";
+          sha256 = "1lb02jpljj2l1qkmn2pmbvw910nrpg9bsz6yfqfccyppvnmrv788";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7016,10 +7020,10 @@
       elpaBuild {
         pname = "visual-fill";
         ename = "visual-fill";
-        version = "0.1.0.20201201.173845";
+        version = "0.2.0.20240424.95324";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/visual-fill-0.1.0.20201201.173845.tar";
-          sha256 = "10wf6w2mjmhj7blxh76j0k0czjv4ww307pa99vp9xgcg63pcbbp6";
+          url = "https://elpa.gnu.org/devel/visual-fill-0.2.0.20240424.95324.tar";
+          sha256 = "1vgfa29gl4rh6gx08r1imlabznrlmx21p41ns62w9lxi6y8hzf8y";
         };
         packageRequires = [];
         meta = {
@@ -7034,7 +7038,7 @@
         version = "1.7.2.0.20231016.224412";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/vlf-1.7.2.0.20231016.224412.tar";
-          sha256 = "01r9li0pqypm37j0qh0aj29xvljvbcngsws0cc8bi1f8s9zlrnmw";
+          sha256 = "1smcw9x38cl7pnxdzy8ycx6g80yb5k0qd7x1520wzbp1g31dsar1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7046,10 +7050,10 @@
       elpaBuild {
         pname = "vundo";
         ename = "vundo";
-        version = "2.2.0.0.20240219.110913";
+        version = "2.3.0.0.20240425.211317";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/vundo-2.2.0.0.20240219.110913.tar";
-          sha256 = "0y9b8029f9apx0nii968smr4dsiqr3ms3vs929par7h0ab6fcbb8";
+          url = "https://elpa.gnu.org/devel/vundo-2.3.0.0.20240425.211317.tar";
+          sha256 = "0dif9f3s3igpfi0r4dgzy14g8m6xf1g6lqyc0gfzf40n301iw4kz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7066,7 +7070,7 @@
         version = "2021.0.20220101.81620";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/wcheck-mode-2021.0.20220101.81620.tar";
-          sha256 = "0bk9w274k0rfmlxv5m9mxqy7ab8zdzk0sw4baqh73hvn8z3li8sp";
+          sha256 = "15785pi3fgfdi3adsa4lhsbdqw6bnfcm44apxpfixqfx56d3xh8m";
         };
         packageRequires = [];
         meta = {
@@ -7081,7 +7085,7 @@
         version = "0.2.1.0.20201202.220257";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/wconf-0.2.1.0.20201202.220257.tar";
-          sha256 = "06ghn72l2fwn0ys2iakgw1xqalip31yi0449c26rad8gaz6y7vxl";
+          sha256 = "0nnf2jak4hjzj2m2v44ymnyvsgiyzz49nnz48j3cpiw7vpb79ibh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7100,7 +7104,7 @@
         version = "0.1.2.0.20210811.22503";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/web-server-0.1.2.0.20210811.22503.tar";
-          sha256 = "0pvmlv74hy7ybnl0014ml7c314an2vc2z6fkizw06zr27x22jpvl";
+          sha256 = "1d2ij23gswvg41xgdg51m2prqn1f9lcwb2rb9rh3s9p6skj14y9b";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -7118,7 +7122,7 @@
         version = "1.1.2.0.20210605.74155";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/webfeeder-1.1.2.0.20210605.74155.tar";
-          sha256 = "0716x9a83wv41p3hz4qllrrv2w5jrw4xvb2fhi8kxaxrjhq989d9";
+          sha256 = "1xcaycimshijmyq071i5qch3idjfl3g4sws9ig97a9hx3m5wfi53";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7136,7 +7140,7 @@
         version = "1.15.0.20230808.230535";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/websocket-1.15.0.20230808.230535.tar";
-          sha256 = "1li62x00jirf3z0llx262j6galpsvbcrq4daybnfkskmj4br5lhp";
+          sha256 = "15xry8bv9vcc470j3an5ks9z2hg7ia4nl7x4xvqb77rpbkq53rb9";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -7151,10 +7155,10 @@
       elpaBuild {
         pname = "which-key";
         ename = "which-key";
-        version = "3.6.0.0.20240312.163350";
+        version = "3.6.0.0.20240423.92028";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/which-key-3.6.0.0.20240312.163350.tar";
-          sha256 = "09mjn8ms7yhy93b3klqhvwvk2ipk4fx6l9s7446m7fxjdylgbj6a";
+          url = "https://elpa.gnu.org/devel/which-key-3.6.0.0.20240423.92028.tar";
+          sha256 = "0bx47186nrsfbjcfci7qfx3s874q4wvys6imkr4k0i9mmfnchvaa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7172,7 +7176,7 @@
         version = "3.0.2.0.20240314.125442";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/window-commander-3.0.2.0.20240314.125442.tar";
-          sha256 = "1bjamqhn8nkqxmak1xfxriwqjhb0bdj7ldcg6r24rral0f0crwhm";
+          sha256 = "082fwi8basfddwvi5yjgvdbf0f7xh58kmbvshnpim143pyxzgi9q";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7190,7 +7194,7 @@
         version = "0.0.1.0.20200212.91532";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/windower-0.0.1.0.20200212.91532.tar";
-          sha256 = "0005r5xgi7h7i0lbdxbsfs7hvdx4isan6df283xflxs0qv3hwpql";
+          sha256 = "1s9kq9256x8chayqfcczxfcdb67pk6752xg7v6ixb9f3ad590ls2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7207,7 +7211,7 @@
         version = "0.1.0.20221221.82616";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/windresize-0.1.0.20221221.82616.tar";
-          sha256 = "16s4vxzjcjl5ahpfwzrr4z59mq0w0vb56ip3r5ky13xs3p5q2xl8";
+          sha256 = "0hgfyhz3jx4yhxspvh8zb4s852j8iwijrg7d4madr1p9rm2g3pjq";
         };
         packageRequires = [];
         meta = {
@@ -7222,7 +7226,7 @@
         version = "4.3.2.0.20240313.173240";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/wisi-4.3.2.0.20240313.173240.tar";
-          sha256 = "0cd7y0wg52yz8bp74m9p9wnw4zhsgks61znxxm8y0mjxxac4g188";
+          sha256 = "01i5r77ndxy76gby6v4j25w4pf6kmqaxagya29b9gnrnw07m8n5b";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -7242,7 +7246,7 @@
         version = "1.3.0.0.20231023.83923";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/wisitoken-grammar-mode-1.3.0.0.20231023.83923.tar";
-          sha256 = "17kgrwm1jr1dxaprgay60jmgg5bfhmyrngzy0qfia6zs7w43bscx";
+          sha256 = "0ai5s1sgy0wk8hc84w7da65p30ldk514n2h6hqa71f9ia5jbd0j8";
         };
         packageRequires = [ emacs mmm-mode wisi ];
         meta = {
@@ -7257,7 +7261,7 @@
         version = "1.1.0.20221221.82918";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/wpuzzle-1.1.0.20221221.82918.tar";
-          sha256 = "16mdd7cyzbhipr934cps8qjpgsr9wwnrd81yaca356wq0cwafhvb";
+          sha256 = "0ky8n0xjxsw4a684g3l8imbrfsvbc9nq1i8gi1y384qjvvjqxaxv";
         };
         packageRequires = [];
         meta = {
@@ -7271,10 +7275,10 @@
       elpaBuild {
         pname = "wrap-search";
         ename = "wrap-search";
-        version = "4.12.10.0.20231002.184917";
+        version = "4.14.11.0.20240427.191832";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/wrap-search-4.12.10.0.20231002.184917.tar";
-          sha256 = "0svxaqjalqny3q3xbkn60zni30m2r9wyfqhjlxx9zxyf05d1dypg";
+          url = "https://elpa.gnu.org/devel/wrap-search-4.14.11.0.20240427.191832.tar";
+          sha256 = "0286jkxhzn6x2jbvwlrknni3fdf9h2a2mi96kkasy91bph3snx2a";
         };
         packageRequires = [];
         meta = {
@@ -7289,7 +7293,7 @@
         version = "1.11.0.20221221.82941";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/xclip-1.11.0.20221221.82941.tar";
-          sha256 = "09dkxgd3bcn8pfw441jq73k49l6m467w89l2xwzb2zb24qpd78ic";
+          sha256 = "18l69h1vg98fd35hsbbzdlhgmilyj192g9vr34kkwzj0r6bak4l2";
         };
         packageRequires = [];
         meta = {
@@ -7304,7 +7308,7 @@
         version = "3.3.0.20230913.220528";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/xeft-3.3.0.20230913.220528.tar";
-          sha256 = "14kc375vxz6hi6i6fyamkhhjggzsx8bh57cpsqanihg45x3vcwdk";
+          sha256 = "1zpm678nmnfs7vwirjil35nfwjkhr83f6pmn43lcdzrcz6y7nxn1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7316,10 +7320,10 @@
       elpaBuild {
         pname = "xelb";
         ename = "xelb";
-        version = "0.18.0.20240212.225455";
+        version = "0.18.0.20240415.160551";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/xelb-0.18.0.20240212.225455.tar";
-          sha256 = "0mr6rrg7jbxrb60qzmngvs5nkx7kxk8cpw0sm9i4yrwypfihffgz";
+          url = "https://elpa.gnu.org/devel/xelb-0.18.0.20240415.160551.tar";
+          sha256 = "13bvf0k39bdwh8xr2m096idx371xqdxh2x0g9kh6y65hc80l1k1x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7334,7 +7338,7 @@
         version = "1.0.5.0.20230911.4618";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/xpm-1.0.5.0.20230911.4618.tar";
-          sha256 = "0895r691nffqf728s4f124yjl97wwrfi9n7wlpxv9yrmry5c7256";
+          sha256 = "0ymby7wqz6bmn4kcl0if0ybhafba139pgmzifvk00bh7r0s5gsz9";
         };
         packageRequires = [ cl-lib queue ];
         meta = {
@@ -7346,10 +7350,10 @@
       elpaBuild {
         pname = "xr";
         ename = "xr";
-        version = "1.25.0.20240123.121048";
+        version = "1.25.0.20240401.74532";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/xr-1.25.0.20240123.121048.tar";
-          sha256 = "0ishimhmmkkdzrx9pqq9y9j9n1h1vms49kfksg42mq6fahbc1hyn";
+          url = "https://elpa.gnu.org/devel/xr-1.25.0.20240401.74532.tar";
+          sha256 = "0q9s706dz52mfnjhc9b5km7756zsx9ws4nlc607i1v71hhz2k3lg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7361,10 +7365,10 @@
       elpaBuild {
         pname = "xref";
         ename = "xref";
-        version = "1.6.3.0.20240102.22814";
+        version = "1.6.3.0.20240328.32323";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/xref-1.6.3.0.20240102.22814.tar";
-          sha256 = "1rnns4xhkcim2xa8fchf3bzydj7b4pksglivwikhmdwxkrsx0acx";
+          url = "https://elpa.gnu.org/devel/xref-1.6.3.0.20240328.32323.tar";
+          sha256 = "04rxbfzvz4z3q04r3817vrkx7w6kspdmpyl30h9v37vmwyxw722j";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7382,7 +7386,7 @@
         version = "0.2.0.0.20231225.162837";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/xref-union-0.2.0.0.20231225.162837.tar";
-          sha256 = "1gfvd23d0ysrvricvcpqgbji705ibwpz3jcnk8lxiz890y4rs2vw";
+          sha256 = "0is4r12r30drq1msa5143bgnwam1kgbf2iia30fbqv0l0rhvqd9x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -7398,10 +7402,10 @@
       elpaBuild {
         pname = "yasnippet";
         ename = "yasnippet";
-        version = "0.14.1.0.20240308.31533";
+        version = "0.14.1.0.20240406.91451";
         src = fetchurl {
-          url = "https://elpa.gnu.org/devel/yasnippet-0.14.1.0.20240308.31533.tar";
-          sha256 = "0n67qgrnjxv5vb1brc545b4jyan7adx4r8478mw3686ia014l1kh";
+          url = "https://elpa.gnu.org/devel/yasnippet-0.14.1.0.20240406.91451.tar";
+          sha256 = "02nkjbn2kgq2x1kbbmqygwqzrdy48nhizsy734n3gm8fnp4p5kxp";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -7419,7 +7423,7 @@
         version = "1.0.2.0.20221221.83103";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/yasnippet-classic-snippets-1.0.2.0.20221221.83103.tar";
-          sha256 = "1gy67f796pvaqckhbb9p05pn7f7d70ps7z0f1bg35156m3dfj7ff";
+          sha256 = "01066fmg42031naaqpy1ls8xw8k2hq02sib43smx20wdbqak6gx7";
         };
         packageRequires = [ yasnippet ];
         meta = {
@@ -7436,7 +7440,7 @@
         version = "2023.6.11.0.20231018.110342";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/zones-2023.6.11.0.20231018.110342.tar";
-          sha256 = "1hd4jlmy50050d1pr1r7civwv908ildpywr2525znhhh9nd29b9p";
+          sha256 = "0gyla7n7znzhxfdwb9jmxkijvidpxvqs9p68dbaiyk86daq2pxzm";
         };
         packageRequires = [];
         meta = {
@@ -7451,7 +7455,7 @@
         version = "1.0.6.0.20230617.194317";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/ztree-1.0.6.0.20230617.194317.tar";
-          sha256 = "1sgii6lf06dqhld67vhac1319nbjrrd9npm2z8aysxg6hs26hfab";
+          sha256 = "1zh6qdzalvikb48dc0pk3rnk7jvknx07dkrggc259q61jdp3pj1m";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -7466,7 +7470,7 @@
         version = "0.4.0.0.20230524.131806";
         src = fetchurl {
           url = "https://elpa.gnu.org/devel/zuul-0.4.0.0.20230524.131806.tar";
-          sha256 = "0yand8b9givmwr8b3y8da4qwxq2j0kjyfzigwydf0lmc96nix777";
+          sha256 = "1pvfi8dp5i6h7z35h91408pz8bsval35sd7dk02v0hr6znln0pvb";
         };
         packageRequires = [ emacs project ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index ec8e192397a2a..88d511c6a3841 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -7,7 +7,7 @@
         version = "0.10.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ace-window-0.10.0.tar";
-          sha256 = "1kfyf7za4zc41gf0k3rq8byvwkw7q5pxnyynh5i0gv686zrzak1i";
+          sha256 = "1sdzk1hgi3axqqbxf6aq1v5j3d8bybkz40dk8zqn49xxxfmzbdv4";
         };
         packageRequires = [ avy ];
         meta = {
@@ -22,7 +22,7 @@
         version = "1.11";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ack-1.11.tar";
-          sha256 = "0fsi3lgfkyv9gxwcs0q5c9fawksz6x0pqarjagcndnd7jlbxjw7z";
+          sha256 = "1ji02v3qis5sx7hpaaxksgh2jqxzzilagz6z33kjb1lds1sq4z2c";
         };
         packageRequires = [];
         meta = {
@@ -37,7 +37,7 @@
         version = "0.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/activities-0.7.tar";
-          sha256 = "17vwbblcwayf1lqfvc64s606cyv1pyh094i3d8fz0k5ivgfp6ybi";
+          sha256 = "1775cdk9hv257m6l7icg247fc36g7lwgjg8iivj52m6qg7p7cz9g";
         };
         packageRequires = [ emacs persist ];
         meta = {
@@ -58,7 +58,7 @@
         version = "8.1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ada-mode-8.1.0.tar";
-          sha256 = "1nfqm173gbk6483xgdkmxp5nb8biihq1623058gbl0dfwn0p9njh";
+          sha256 = "10k514al716qjx3qg1m4k1rnf70fa73vrmmx3pp75zrw1d0db9y6";
         };
         packageRequires = [ emacs gnat-compiler uniquify-files wisi ];
         meta = {
@@ -73,7 +73,7 @@
         version = "2020.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ada-ref-man-2020.1.tar";
-          sha256 = "1g4brb9g2spd55issyqldfc4azwilbrz8kh8sl0lka2kn42l3qqc";
+          sha256 = "0ijgl9lnmn8n3pllgh3apl2shbl38f3fxn8z5yy4q6pqqx0vr3fn";
         };
         packageRequires = [];
         meta = {
@@ -88,7 +88,7 @@
         version = "0.8";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/adaptive-wrap-0.8.tar";
-          sha256 = "1gs1pqzywvvw4prj63vpj8abh8h14pjky11xfl23pgpk9l3ldrb0";
+          sha256 = "1dz5mi21v2wqh969m3xggxbzq3qf78hps418rzl73bb57l837qp8";
         };
         packageRequires = [];
         meta = {
@@ -103,7 +103,7 @@
         version = "3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/adjust-parens-3.2.tar";
-          sha256 = "01l8bgfqgbkh5p9r8mc5pqizg0sgr7bl6x7x657gm0qjnwmfwai5";
+          sha256 = "1gdlykg7ix3833s40152p1ji4r1ycp18niqjr1f994y4ydqxq8yl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -117,8 +117,8 @@
         ename = "advice-patch";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/advice-patch-0.1.el";
-          sha256 = "0mb7linzsnf72vzkn9h6w2i2b0h92h6qzkapyrv61vh5a67k1m0s";
+          url = "https://elpa.gnu.org/packages/advice-patch-0.1.tar";
+          sha256 = "0km891648k257k4d6hbrv6jyz9663kww8gfarvzf9lv8i4qa5scp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -133,7 +133,7 @@
         version = "1.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/aggressive-completion-1.7.tar";
-          sha256 = "1rpy53kh19ljjr2xgna716jynajjpgkkjgcl3gzryxsmky8mwbfl";
+          sha256 = "0d388w0yjpjzhqlar9fjrxsjxma09j8as6758sswv01r084gpdbk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -148,7 +148,7 @@
         version = "1.10.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/aggressive-indent-1.10.0.tar";
-          sha256 = "166jk1z0vw481lfi3gbg7f9vsgwfv8fiyxpkfphgvgcmf5phv4q1";
+          sha256 = "1c27g9qhqc4bh96bkxdcjbrhiwi7kzki1l4yhxvyvwwarisl6c7b";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -163,7 +163,7 @@
         version = "1.10.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ahungry-theme-1.10.0.tar";
-          sha256 = "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm";
+          sha256 = "16k6wm1qss5bk45askhq5vswrqsjic5dijpkgnmwgvm8xsdlvni6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -178,7 +178,7 @@
         version = "0.0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/aircon-theme-0.0.6.tar";
-          sha256 = "09yjjx9gy1x2i8xk7jlblzk6gkx7cgglb0pwxbl8n6aj19ba40nd";
+          sha256 = "0dcnlk3q95bcghlwj8ii40xxhspnfbqcr9mvj1v3adl1s623fyp0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -186,16 +186,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    all = callPackage ({ elpaBuild, fetchurl, lib }:
+    all = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "all";
         ename = "all";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/all-1.0.el";
-          sha256 = "17h4cp0xnh08szh3snbmn1mqq2smgqkn45bq7v0cpsxq1i301hi3";
+          url = "https://elpa.gnu.org/packages/all-1.1.tar";
+          sha256 = "067c5ynklw1inbjwd1l6dkbpx3vw487qv39y7mdl55a6nqx7hgk4";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/all.html";
           license = lib.licenses.free;
@@ -208,7 +208,7 @@
         version = "1.2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/altcaps-1.2.0.tar";
-          sha256 = "0pfd3j8x2ayqnvg418qcm4rkxjvm5qm2ks9xsw4irv04452zhahc";
+          sha256 = "1smqvq21jparnph03kyyzm47rv5kia6bna1m1pf8ibpkph64rykw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -222,8 +222,8 @@
         ename = "ampc";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ampc-0.2.el";
-          sha256 = "1pdy5mvi6h8m7qjnxiy217fgcp9w91375hq29bacfgh7bix56jlr";
+          url = "https://elpa.gnu.org/packages/ampc-0.2.tar";
+          sha256 = "17l2c5hr7cq0vf4qc8s2adwlhqp74glc4v909h0jcavrnbn8yn80";
         };
         packageRequires = [];
         meta = {
@@ -237,8 +237,8 @@
         ename = "arbitools";
         version = "0.977";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/arbitools-0.977.el";
-          sha256 = "0nvdy14lqvy2ca4vw2qlr2kg2vv4y4sr8sa7kqrpf8cg7k9q3mbv";
+          url = "https://elpa.gnu.org/packages/arbitools-0.977.tar";
+          sha256 = "0s5dpprx24fxm0qk8nzm39c16ydiq97wzz3l7zi69r3l9wf31rb3";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -252,8 +252,8 @@
         ename = "ascii-art-to-unicode";
         version = "1.13";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ascii-art-to-unicode-1.13.el";
-          sha256 = "1c0jva3amhl9c5xc5yzdpi58c8m1djym4ccj31z6wmakq7npy07p";
+          url = "https://elpa.gnu.org/packages/ascii-art-to-unicode-1.13.tar";
+          sha256 = "0qlh8zi691gz7s1ayp1x5ga3sj3rfy79y21r6hqf696mrkgpz1d8";
         };
         packageRequires = [];
         meta = {
@@ -268,7 +268,7 @@
         version = "0.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/assess-0.7.tar";
-          sha256 = "0ixs6ab5j12q69bn9h423a6c7mpc7r5spf6m039x3rl14yc04cy4";
+          sha256 = "1wka2idr63bn8fgh0cz4lf21jvlhkr895y0xnh3syp9vrss5hzsp";
         };
         packageRequires = [ emacs m-buffer ];
         meta = {
@@ -283,7 +283,7 @@
         version = "1.9.8";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/async-1.9.8.tar";
-          sha256 = "00x22dh96vhyvgailxm3mv2jqhwlb6lisrjv10m8vpkmlk5mhnwb";
+          sha256 = "0m9w7f8rgpcljsv2p6a9gwqx12whf66mbjranwwzacn98rwchh4v";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -298,7 +298,7 @@
         version = "14.0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/auctex-14.0.4.tar";
-          sha256 = "03w6qs4f0ksb8f54zsx189775w3wdyfaqg3dwn20a77y5cvisk52";
+          sha256 = "14rfv7xlwdqp42dilmpg11d58q8pzw15fv01hq80iv9kyzsfvxd7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -312,8 +312,8 @@
         ename = "aumix-mode";
         version = "7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/aumix-mode-7.el";
-          sha256 = "0qyjw2g3pzcxqdg1cpp889nmb524jxqq32dz7b7cg2m903lv5gmv";
+          url = "https://elpa.gnu.org/packages/aumix-mode-7.tar";
+          sha256 = "08baz31hm0nhikqg5h294kg5m4qkiayjhirhb57v57g5722jfk3m";
         };
         packageRequires = [];
         meta = {
@@ -327,8 +327,8 @@
         ename = "auto-correct";
         version = "1.1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auto-correct-1.1.4.el";
-          sha256 = "1ml35l6lk4sf51sh6cal1ylsn61iddz0s01wwly199i3nim0qnw8";
+          url = "https://elpa.gnu.org/packages/auto-correct-1.1.4.tar";
+          sha256 = "05ky3qxbvxrkywpqj6syl7ll6za74fhjzrcia6wdmxsnjya5qbf1";
         };
         packageRequires = [];
         meta = {
@@ -343,7 +343,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/auto-header-0.1.2.tar";
-          sha256 = "0rk7xq7bzgaxdyw7j3vjnishf2pyzs84xamq4blgbb93n0f4nlfj";
+          sha256 = "0p22bpdy29i7ff8rzjh1qzvj4d8igl36gs1981kmds4qz23qn447";
         };
         packageRequires = [];
         meta = {
@@ -358,7 +358,7 @@
         version = "0.10.10";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/auto-overlays-0.10.10.tar";
-          sha256 = "0wln6b4j3pd3mhx6sx0bnz74c4n6fidmkg77cqfpxs4j5l1zjp2z";
+          sha256 = "0jn7lk8vzdrf0flxwwx295z0mrghd3lyspfadwz35c6kygvy8078";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -370,10 +370,10 @@
       elpaBuild {
         pname = "autocrypt";
         ename = "autocrypt";
-        version = "0.4.1";
+        version = "0.4.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/autocrypt-0.4.1.tar";
-          sha256 = "1r2b1nyw2ai58br3kh4r5rpy450njz7rcccbmcwxsyfgiz4wbqy8";
+          url = "https://elpa.gnu.org/packages/autocrypt-0.4.2.tar";
+          sha256 = "0mc4vb6x7qzn29dg9m05zgli6mwh9cj4vc5n6hvarzkn9lxl6mr3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -403,7 +403,7 @@
         version = "3.2.2.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/bbdb-3.2.2.4.tar";
-          sha256 = "13i8ggknc29sny16rq126q0ssz26m3fam0zpdhlsm05pa8dydd7p";
+          sha256 = "1ymjydf54z3rbkxk4irvan5s8lc8wdhk01691741vfznx0nsc4a2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -418,7 +418,7 @@
         version = "1.3.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/beacon-1.3.4.tar";
-          sha256 = "1fy76c2x0xpnx7wfpsxfawdlrspan4dbj2157k9sa62i6a1c8f21";
+          sha256 = "1hxb6vyvpppj7yzphknmh8m4a1h89lg6jr98g4d62k0laxazvdza";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -433,7 +433,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/beframe-1.0.1.tar";
-          sha256 = "0j4ks5i67ck1cid6whvwq564s94xb0q5fchb006wzbniy1inwcna";
+          sha256 = "1p8zglpdcss0p307i4h2zpqbsiipmgmk0a2fx6j9w3lx0zgaf2xj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -448,7 +448,7 @@
         version = "0.1.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/bicep-ts-mode-0.1.3.tar";
-          sha256 = "1di4pkk682kl46acdq44d1xykzqnvayhd84rwf71rj3q252di5a6";
+          sha256 = "02377gsdnfvvydjw014p2y6y74nd5zfh1ghq5l9ayq0ilvv8fmx7";
         };
         packageRequires = [];
         meta = {
@@ -478,7 +478,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/blist-0.3.tar";
-          sha256 = "1cqvj6jjkch4xivdn2vyxz38amm6w403hnrfx0hhknbwxq5k8swp";
+          sha256 = "1p10d9q14px19m3vajqmm71lmnbxxsc7qczgq11vhg485c20y3va";
         };
         packageRequires = [ emacs ilist ];
         meta = {
@@ -493,7 +493,7 @@
         version = "0.3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/bluetooth-0.3.1.tar";
-          sha256 = "1p10kcim5wqnbj2kiqv6hgjkzznaa48qysnnf8ym90mylsczr70z";
+          sha256 = "1yjqjm6cis6bq18li63hbhc4qzki3486xvdjkzs2gj4chc1yw1x4";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -508,7 +508,7 @@
         version = "0.4.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/bnf-mode-0.4.5.tar";
-          sha256 = "0bj5ffqi54cdrraj5bp4v2cpbxjzly1p467dx1hzrlwv2b1svy2y";
+          sha256 = "1x6km8rhhb5bkas3yfmjfpyxlhyxkqnzviw1pqlq88c95j88h3d4";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -520,10 +520,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.1.3";
+        version = "1.1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-1.1.3.tar";
-          sha256 = "1z153lccj6rgix9kj5xk8xzdc44ixq8flia7ppjxpj7c0slr3sm2";
+          url = "https://elpa.gnu.org/packages/boxy-1.1.4.tar";
+          sha256 = "0mwj1qc626f1iaq5iaqm1f4iwyz91hzqhzfk5f53gsqka7yz2fnf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -535,10 +535,10 @@
       elpaBuild {
         pname = "boxy-headings";
         ename = "boxy-headings";
-        version = "2.1.4";
+        version = "2.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.4.tar";
-          sha256 = "101kiw10p0sd8j8px16zsw57my7h2f1anhnwj678z22hxhs8vla7";
+          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.5.tar";
+          sha256 = "0w3cy2r8iqsb79r33lllj08v719hq0xniq5pbr9sl8kn2raxcjhr";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -553,7 +553,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/breadcrumb-1.0.1.tar";
-          sha256 = "0yqsyk8j0r1na2gybil64fb928dq7liwnk5xj18j9z8vgkdm0z0y";
+          sha256 = "1s69a2z183mla4d4b5pcsswbwa3hjvsg1xj7r3hdw6j841b0l9dw";
         };
         packageRequires = [ emacs project ];
         meta = {
@@ -565,10 +565,10 @@
       elpaBuild {
         pname = "brief";
         ename = "brief";
-        version = "5.90";
+        version = "5.91";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/brief-5.90.tar";
-          sha256 = "18v0qf3aj14sh6njrrjdahzaghsqy50hdjrwl3k1m7x2jqvzxd1z";
+          url = "https://elpa.gnu.org/packages/brief-5.91.tar";
+          sha256 = "106xm23045l3ds5q04s7c6wa00ffv7rw495cjqp99nzqvvbmivcb";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -583,7 +583,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/buffer-env-0.6.tar";
-          sha256 = "08li070s2s64lifgzns0z6xjk1qyaik56d6sbdp3gsyghc1sx7rn";
+          sha256 = "08qaw4y1sszhh97ih13vfrm0r1nn1k410f2wwvffvncxhqgxz5lv";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -601,8 +601,8 @@
         ename = "buffer-expose";
         version = "0.4.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/buffer-expose-0.4.3.el";
-          sha256 = "1blpvan31mvqhzal16sdn564jnfnn7xsfn8zb65ijndh23drljwd";
+          url = "https://elpa.gnu.org/packages/buffer-expose-0.4.3.tar";
+          sha256 = "1ymjjjrbknp3hdfwd8zyzfrsn5n267245ffmplm7yk2s34kgxr0n";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -617,7 +617,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/bufferlo-0.6.tar";
-          sha256 = "0q942zsxv27gvkx3b391yzshh58l2xd75y04rqyqk269q0cdhqff";
+          sha256 = "0gvg1mag8ngjmjl4d6zr99k7mq368l1m6dxy9mk6icgxm3sqr1yk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -647,7 +647,7 @@
         version = "0.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/buildbot-0.0.1.tar";
-          sha256 = "0glvybvjgwbx3dnr09w9y65v2ic080a4zhs88893amvfw29ig4lx";
+          sha256 = "056jakpyslizsp8sik5f7m90dpcga8y38hb5rh1yfa7k1xwcrrk2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -662,7 +662,7 @@
         version = "1.4.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/calibre-1.4.1.tar";
-          sha256 = "1wjz4d2hrhwcd9ljngygacxm28ddgwndp9krz5cxhjz2dkhs1pgb";
+          sha256 = "1ak05y3cmmwpg8bijkwl97kvfxhxh9xxc74askyafc50n0jvaq87";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -674,10 +674,10 @@
       elpaBuild {
         pname = "cape";
         ename = "cape";
-        version = "1.4";
+        version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/cape-1.4.tar";
-          sha256 = "1y0b0lx6qb27x3d0yn3gxykfir07cw4w5jkkw3ff8x1ak6wrf4zv";
+          url = "https://elpa.gnu.org/packages/cape-1.5.tar";
+          sha256 = "1kg5a2x23gmdcv8kwzmz8qjfr05r9rfzwb7cj38ambpqpppxl7ij";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -692,7 +692,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/capf-autosuggest-0.3.tar";
-          sha256 = "05abnvg84248pbqr2hdkyxr1q1qlgsf4nji23nw41bfly795ikpm";
+          sha256 = "18cwiv227m8y1xqvsnjrzgd6f6kvvih742h8y38pphljssl109fk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -706,8 +706,8 @@
         ename = "caps-lock";
         version = "1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/caps-lock-1.0.el";
-          sha256 = "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva";
+          url = "https://elpa.gnu.org/packages/caps-lock-1.0.tar";
+          sha256 = "1yy4kjc1zlpzkam0jj8h3v5h23wyv1yfvwj2drknn59d8amc1h4y";
         };
         packageRequires = [];
         meta = {
@@ -721,8 +721,8 @@
         ename = "captain";
         version = "1.0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/captain-1.0.3.el";
-          sha256 = "02b4s4pfnwfwc3xgh4g96wrqll37m35dc2x09pjwkdjxglki7045";
+          url = "https://elpa.gnu.org/packages/captain-1.0.3.tar";
+          sha256 = "0l8z8bqk705jdl7gvd2x7nhs0z6gn3swk5yzp3mnhjcfda6whz8l";
         };
         packageRequires = [];
         meta = {
@@ -737,7 +737,7 @@
         version = "2.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/chess-2.0.5.tar";
-          sha256 = "1a4iwjdh6k348df6qywjws9z9f862d62m0b2sz57z4xhywiyxpr7";
+          sha256 = "0dgmp7ymjyb5pa93n05s0d4ql7wk98r9s4f9w35yahgqk9xvqclj";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -751,8 +751,8 @@
         ename = "cl-generic";
         version = "0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/cl-generic-0.3.el";
-          sha256 = "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq";
+          url = "https://elpa.gnu.org/packages/cl-generic-0.3.tar";
+          sha256 = "0dqn484xb25ifiqd9hqdrs954c74akrf95llx23b2kzf051pqh1k";
         };
         packageRequires = [];
         meta = {
@@ -767,7 +767,7 @@
         version = "0.7.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cl-lib-0.7.1.tar";
-          sha256 = "1pnsm335wi1lkg7vi0lnqxajm12rvyakzd5iccxhipbk3gz3r6my";
+          sha256 = "1wpdg2zwhzxv4bkx9ldiwd16l6244wakv8yphrws4mnymkxvf2q1";
         };
         packageRequires = [];
         meta = {
@@ -782,7 +782,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/clipboard-collector-0.3.tar";
-          sha256 = "09zxbivmc1zhcj8ksac2a0qpqh74rrx2slnj6cwz1n1nixn19743";
+          sha256 = "0v70f9pljq3jar3d1vpaj48nhrg90jzsvqcbzgv54989w8rvvcd6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -797,7 +797,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cobol-mode-1.1.tar";
-          sha256 = "1ivp0pghrkflhr2md34a6a86gwns867bnl30nqzwq8m4qc5xqjra";
+          sha256 = "0aicx6vvhgn0fvikbq74vnvvwh228pxdqf52sbiffhzgb7pkbvcj";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -812,7 +812,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/code-cells-0.4.tar";
-          sha256 = "0a7m6d5slz2zarbk54900cihs5071i63qdz4yj8n7j3zfz28x5kg";
+          sha256 = "0kxpnydxlj8pqh54c4c80jlyc6jcplf89bkh3jmm509fmyr7sf20";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -827,7 +827,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/comint-mime-0.4.tar";
-          sha256 = "1wgr1dq3qdnsvziylcqaiwhjafdqph4jrnq4cp0lcr1j796vp1dz";
+          sha256 = "13vi973p0ahpvssv5m1pb63f2wkca0lz0nw3nsj6p4s3jzp46npa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -841,8 +841,8 @@
         ename = "compact-docstrings";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/compact-docstrings-0.2.el";
-          sha256 = "0qcxvcwpl263fs1zd6gmbqliwlpkw012p5ba6y05fpm9p10v600h";
+          url = "https://elpa.gnu.org/packages/compact-docstrings-0.2.tar";
+          sha256 = "00fjhfysjyqigkg0icxlqw6imzhjk5xhlxmxxs1jiafhn55dbcpj";
         };
         packageRequires = [];
         meta = {
@@ -857,7 +857,7 @@
         version = "0.10.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/company-0.10.2.tar";
-          sha256 = "0j2qrnx2w2al4f2n37b89q0pkabh5ccv00gsknvgaylhy0za5gq9";
+          sha256 = "1708cqrcw26y8z7inm4nzbn2y8gkan5nv5bjzc4ry8zhqz94sxkz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -871,8 +871,8 @@
         ename = "company-ebdb";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/company-ebdb-1.1.el";
-          sha256 = "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9";
+          url = "https://elpa.gnu.org/packages/company-ebdb-1.1.tar";
+          sha256 = "1ym0r7y90n4d6grd4l02rxk096gsjmw9j81slig0pq1ky33rb6ks";
         };
         packageRequires = [ company ebdb ];
         meta = {
@@ -891,7 +891,7 @@
         version = "1.5.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/company-math-1.5.1.tar";
-          sha256 = "1inib2ywb4ycr9hxgrzyffqi0jnrpjsn52bkwlsqyzgfxr5n4qsw";
+          sha256 = "16ya3yscxxmz9agi0nc5pi43wkfv45lh1zd89yqfc7zcw02nsnld";
         };
         packageRequires = [ company math-symbol-lists ];
         meta = {
@@ -910,7 +910,7 @@
         version = "0.2.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/company-statistics-0.2.3.tar";
-          sha256 = "0780xp09f739jys469x4fqpgj1lysi8gnhiaz0735jib07lmh4ww";
+          sha256 = "1gfwhgv7q9d3xjgaim25diyd6jfl9w3j07qrssphcrdxv0q24d14";
         };
         packageRequires = [ company emacs ];
         meta = {
@@ -925,7 +925,7 @@
         version = "29.1.4.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/compat-29.1.4.5.tar";
-          sha256 = "191cjzrw9xm5bvcf8s1yr9hdcn9i02789xfd8pz33lk65s0rq413";
+          sha256 = "0i57hs3ak5y0fsfdwg87ib64ny0ar1nk67f5dy2qrm8x3i0h086s";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -937,10 +937,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "1.4";
+        version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-1.4.tar";
-          sha256 = "1vxc9i4jwnq4q8svgqjzn6nqqjzh3b6gp81iyfcr5n2122y0aq1y";
+          url = "https://elpa.gnu.org/packages/consult-1.5.tar";
+          sha256 = "1gx4cjrcaq5dn3rrd2dm30jz07zrnddf0y33qi0dmiqlsyg7l9qw";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -956,10 +956,10 @@
       elpaBuild {
         pname = "consult-hoogle";
         ename = "consult-hoogle";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-hoogle-0.2.0.tar";
-          sha256 = "1wzd7i7sfd1l8fkfgfaj5vyc9nx9aycfr4yp5yxg1mr6fz8m2rmz";
+          url = "https://elpa.gnu.org/packages/consult-hoogle-0.2.1.tar";
+          sha256 = "15am29sn0qx6yn8xcmdafzh1ijph10yd65cphcax02yx782hv6pr";
         };
         packageRequires = [ emacs haskell-mode ];
         meta = {
@@ -974,7 +974,7 @@
         version = "0.8.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/consult-recoll-0.8.1.tar";
-          sha256 = "0z2vlnv0q6hzvj6hk2a5flhp1gmm71c65j8nrpk4a18aq5gir213";
+          sha256 = "1zdmkq9cjb6kb0hf3ngm07r3mhrjal27x34i1bm7ri3089wbsp8v";
         };
         packageRequires = [ consult emacs ];
         meta = {
@@ -989,7 +989,7 @@
         version = "8.1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/context-coloring-8.1.0.tar";
-          sha256 = "01wm36qgxsg7lgdxkn7avzfmxcpilsmvfwz3s7y04i0sdrsjvzp4";
+          sha256 = "0mqdl34g493pps85ckin5i3iz8kwlqkcwjvsf2sj4nldjvvfk1ng";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1001,10 +1001,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-1.2.tar";
-          sha256 = "1yy4lqbkj8hkvbzaw5wrjqxwp2afhgwjyvmqncils37hvyih4rwl";
+          url = "https://elpa.gnu.org/packages/corfu-1.3.tar";
+          sha256 = "13y0dws1k4682v039ab6b0xxqlg7anknscqs20bmj8lfm2z48znx";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1019,7 +1019,7 @@
         version = "1.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/coterm-1.6.tar";
-          sha256 = "0ikfm1acdsckflv1hcy9lmssyac2099x2yybhvb6vkghcgy99p00";
+          sha256 = "0kgsg99dggirz6asyppwx1ydc0jh62xd1bfhnm2hyby5qkqz1yvk";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1034,7 +1034,7 @@
         version = "0.14.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/counsel-0.14.2.tar";
-          sha256 = "13119alyzr2xipk3jra3iawplqkqgvv0gdcm4yd527z592b0s7f0";
+          sha256 = "10jajfl2vhqj2awy991kqrf1hcsj8nkvn760cbxjsm2lhzvqqhj3";
         };
         packageRequires = [ emacs ivy swiper ];
         meta = {
@@ -1042,16 +1042,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    cpio-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    cpio-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "cpio-mode";
         ename = "cpio-mode";
         version = "0.17";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cpio-mode-0.17.tar";
-          sha256 = "144ajbxmz6amb2234a278c9sl4zg69ndswb8vk0mcq8y9s2abm1x";
+          sha256 = "13jay5c36svq2r78gwp7d1slpkkzrx749q28554mxd855fr6pvaj";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [];
         meta = {
           homepage = "https://elpa.gnu.org/packages/cpio-mode.html";
           license = lib.licenses.free;
@@ -1064,7 +1064,7 @@
         version = "1.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cpupower-1.0.5.tar";
-          sha256 = "1hg5jwdkxl6mx145wwdmnhc8k3z3srvpm757kppj1ybmvjbpxx0y";
+          sha256 = "155fhf38p95a5ws6jzpczw0z03zwbsqzdwj50v3grjivyp74pddz";
         };
         packageRequires = [];
         meta = {
@@ -1079,7 +1079,7 @@
         version = "0.3.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/crdt-0.3.5.tar";
-          sha256 = "0pir9ap8lryrw12slgg4v30bzjphc37r6p0fw36larlh9wp8jj5z";
+          sha256 = "038qivbw02h1i98ym0fwx72x05gm0j4h93a54v1l7g25drm5zm83";
         };
         packageRequires = [];
         meta = {
@@ -1093,8 +1093,8 @@
         ename = "crisp";
         version = "1.3.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/crisp-1.3.6.el";
-          sha256 = "0jf4668h0mzh8han2vbvpzz8m02b8rsbdrj0ddar30w5i6v2f8kz";
+          url = "https://elpa.gnu.org/packages/crisp-1.3.6.tar";
+          sha256 = "0am7gwadjp0nwlvf7y4sp9brbm0234k55bnxfv44lkwdf502mq8y";
         };
         packageRequires = [];
         meta = {
@@ -1109,7 +1109,7 @@
         version = "2.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/csharp-mode-2.0.0.tar";
-          sha256 = "16b9zp6psf32ds9kk7vwf57xppz2jvbk4wpr7mqbn75bx3qvl44m";
+          sha256 = "1jjxq5vkqq2v8rkcm2ygggpg355aqmrl2hdhh1xma3jlnj5carnf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1124,7 +1124,7 @@
         version = "1.23";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/csv-mode-1.23.tar";
-          sha256 = "0bdx56bn5aw0xjqgqhx2ccrrns3si04zy9ya755jz7n1djqn3mcz";
+          sha256 = "0b5qcxdp7y78mfgcvh9plfc0l5qbwsvrj1bswyimrzg210zhk4zm";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1139,7 +1139,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cursory-1.0.1.tar";
-          sha256 = "0m6q7x5144l2q582gdaqgirvgy30ljd1qyjf82l3v1jkc5qf9wfr";
+          sha256 = "09ddn7rlmznq833nsm6s6zhzrq94lrbmm1vln43hax9yf784pqbr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1154,7 +1154,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/cycle-quotes-0.1.tar";
-          sha256 = "0aa6ykblgb6anqmi4qxakbvyrq9v02skgayhfb2qddffiww404ka";
+          sha256 = "1glf8sd3gqp9qbd238vxd3aprdz93f887893xji3ybqli36i2xs1";
         };
         packageRequires = [];
         meta = {
@@ -1166,10 +1166,10 @@
       elpaBuild {
         pname = "dape";
         ename = "dape";
-        version = "0.9.0";
+        version = "0.10.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dape-0.9.0.tar";
-          sha256 = "13xvl24l8lr64ndc8rk1dxdgsbvwxhn90844xkdzl7qs8i3hyw1l";
+          url = "https://elpa.gnu.org/packages/dape-0.10.0.tar";
+          sha256 = "1x6mbis4vmghp3vf4pxyzdp68nnrraw9ayx3gzbp1bvcmr62qdig";
         };
         packageRequires = [ emacs jsonrpc ];
         meta = {
@@ -1183,8 +1183,8 @@
         ename = "darkroom";
         version = "0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/darkroom-0.3.el";
-          sha256 = "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86";
+          url = "https://elpa.gnu.org/packages/darkroom-0.3.tar";
+          sha256 = "0gxixkai8awc77vzckwljmyapdnxw5j9ajxmlr8rq42994gjr4fm";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1199,7 +1199,7 @@
         version = "2.19.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dash-2.19.1.tar";
-          sha256 = "0c11lm7wpgmqk8zbdcpmyas12ylml5yhp99mj9h1wqqw0p33xaiw";
+          sha256 = "1c7yibfikkwlip8zh4kiamh3kljil3hyl250g8fkxpdyhljjdk6m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1213,8 +1213,8 @@
         ename = "dbus-codegen";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dbus-codegen-0.1.el";
-          sha256 = "1gi7jc6rn6hlgh01zfwb7cczb5hi3c05wlnzw6akj1h9kai1lmzw";
+          url = "https://elpa.gnu.org/packages/dbus-codegen-0.1.tar";
+          sha256 = "0d3sbqs5r8578629inx8nhqvx0kshf41d00c8dpc75v4b2vx0h6w";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1229,7 +1229,7 @@
         version = "0.40";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/debbugs-0.40.tar";
-          sha256 = "0yfl9gd23xnfk3iwiq26brd7fg9ikhd201lw4awng0rdh0fddxwd";
+          sha256 = "1agms2il38lgz02g4fswil9x5j1xwpl8kvhbd48jcx57nq18a7bl";
         };
         packageRequires = [ emacs soap-client ];
         meta = {
@@ -1243,8 +1243,8 @@
         ename = "delight";
         version = "1.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/delight-1.7.el";
-          sha256 = "0pihsghrf9xnd1kqlq48qmjcmp5ra95wwwgrb3l8m1wagmmc0bi1";
+          url = "https://elpa.gnu.org/packages/delight-1.7.tar";
+          sha256 = "1j7srr0i7s9hcny45m8zmj33nl9g6zi55cbkdzzlbx6si2rqwwlj";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -1256,10 +1256,10 @@
       elpaBuild {
         pname = "denote";
         ename = "denote";
-        version = "2.3.0";
+        version = "2.3.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/denote-2.3.0.tar";
-          sha256 = "0h6pdn9w1ggyrmfniqvy307wnlf49n05asa2z5wqxvj6mnvjza1y";
+          url = "https://elpa.gnu.org/packages/denote-2.3.5.tar";
+          sha256 = "1l8nlr8q7c51j2f528a0568pa3ywfv8pr47fzpd6pk2scc0y372b";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1274,7 +1274,7 @@
         version = "1.2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/denote-menu-1.2.0.tar";
-          sha256 = "1zm68bz6hya360g5zvs4r5naznykamgzqxhvfhpfyxb70hsnmx5w";
+          sha256 = "042avabc97wgkz85x40dq7rmv4h9n5kmq935lrg9s20klbs9axs1";
         };
         packageRequires = [ denote emacs ];
         meta = {
@@ -1289,7 +1289,7 @@
         version = "0.10.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/detached-0.10.1.tar";
-          sha256 = "1qfcxhzd3gc66kq58k77cvxy18cr371c40z3n4w4m4ngxmpk96hi";
+          sha256 = "0w6xgidi0g1pc13xfm8hcgmc7i2h5brj443cykwgvr5wkqnpmp9m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1301,10 +1301,10 @@
       elpaBuild {
         pname = "devdocs";
         ename = "devdocs";
-        version = "0.6";
+        version = "0.6.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/devdocs-0.6.tar";
-          sha256 = "17av2l61mr4y8la4cqiq1dnaznni4xirr5k3wdix1jzl3q1apypy";
+          url = "https://elpa.gnu.org/packages/devdocs-0.6.1.tar";
+          sha256 = "04m3jd3wymrsdlb1i7z6dz9pf1q8q38ihkbn3jisdca6xkk9jd6p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1319,7 +1319,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/devicetree-ts-mode-0.3.tar";
-          sha256 = "1vhk9b0aa9w6yalv0d712dc9d7pmcgbg5b4baggc7dyaa5n6ilkn";
+          sha256 = "06j385pvlhd7hp9isqp5gcf378m8p6578q6nz81r8dx93ymaak79";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1340,7 +1340,7 @@
         version = "0.17";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dict-tree-0.17.tar";
-          sha256 = "0f9vj6kr8q9mfd522svwy3wmzsl5lc4y2p8ggwmckn88dpz79w02";
+          sha256 = "0p4j0m3b9i38l4rcgzdps95wqk27zz156d4q73vq054kpcphrfpp";
         };
         packageRequires = [ emacs heap tNFA trie ];
         meta = {
@@ -1355,7 +1355,7 @@
         version = "1.9.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/diff-hl-1.9.2.tar";
-          sha256 = "1avpqwrxhbx8zxwghc8714rcdfhc15b5chq2ixb366ml8xdmvhck";
+          sha256 = "0skla012qw55qhzykgrk3zk5x76dfsj11kq8q2msyrq3jxcbyq6p";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1385,7 +1385,7 @@
         version = "0.46";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/diminish-0.46.tar";
-          sha256 = "17lsm5khp7cqrva13kn252ab57lw28sibf14615wdjvfqwlwwha4";
+          sha256 = "1xqd6ldxl93l281ncddik1lfxjngi2drq61mv7v18r756c7bqr5r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1400,7 +1400,7 @@
         version = "0.5.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dired-du-0.5.2.tar";
-          sha256 = "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1";
+          sha256 = "066yjy9vdbf20adcqdcknk5b0ml18fy2bm9gkgcp0qfg37yy1yjg";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1412,10 +1412,10 @@
       elpaBuild {
         pname = "dired-duplicates";
         ename = "dired-duplicates";
-        version = "0.3";
+        version = "0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dired-duplicates-0.3.tar";
-          sha256 = "1b9drjkbs9anqil274jrn031agpkir9mhs96l2ylm13n8imx9msl";
+          url = "https://elpa.gnu.org/packages/dired-duplicates-0.4.tar";
+          sha256 = "1srih47bq7szg6n3qlz4yzzcijg79p8xpwmi5c4v9xscl94nnc4z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1429,8 +1429,8 @@
         ename = "dired-git-info";
         version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dired-git-info-0.3.1.el";
-          sha256 = "1kd0rpw7l32wvwi7q8s0inx4bc66xrl7hkllnlicyczsnzw2z52z";
+          url = "https://elpa.gnu.org/packages/dired-git-info-0.3.1.tar";
+          sha256 = "0rryvlbqx1j48wafja15yc39jd0fzgz9i6bzmq9jpql3w9445772";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1445,7 +1445,7 @@
         version = "0.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dired-preview-0.1.1.tar";
-          sha256 = "1qmrh0sd9s908xkxz5vfhq956ynrx6k2bx8lddmdp8ci8xkw6wmh";
+          sha256 = "08c9bvsdb7w9ggav9yrpz12nf9zlq4h1zq8ssdf9pwrx2nzy06p7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1459,8 +1459,8 @@
         ename = "disk-usage";
         version = "1.3.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/disk-usage-1.3.3.el";
-          sha256 = "0h1jwznd41gi0vg830ilfgm01q05zknikzahwasm9cizwm2wyizj";
+          url = "https://elpa.gnu.org/packages/disk-usage-1.3.3.tar";
+          sha256 = "02i7i7mrn6ky3lzhcadvq7wlznd0b2ay107h2b3yh4wwwxjxymyg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1468,16 +1468,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    dismal = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "dismal";
         ename = "dismal";
         version = "1.5.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dismal-1.5.2.tar";
-          sha256 = "0pl5cnziilm4ps1xzh1fa8irazn7vcp9nsxnxcvjqbkflpcpq5c7";
+          sha256 = "1706m5ya6q0jf8mzfkqn47aqd7ygm88fm7pvzbd4cry30mjs5vki";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ cl-lib ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/dismal.html";
           license = lib.licenses.free;
@@ -1490,7 +1490,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/djvu-1.1.2.tar";
-          sha256 = "0i7xwgg2fxndy81lnng6fh9iknals8xvx4f1nmxq7c099bzwb57c";
+          sha256 = "0z74aicvy680m1d6v5zk5pcpkd310jqqdxadpjcbnjcybzp1zisq";
         };
         packageRequires = [];
         meta = {
@@ -1505,7 +1505,7 @@
         version = "0.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/do-at-point-0.1.1.tar";
-          sha256 = "0y58a0x0pfk52h1cz930sbwr9y6nzy9g8f3935pk34dj2jf92rsj";
+          sha256 = "1lqnarb9jiig85j3dv37jsqkmmfbcwb52i2akimzf9r57pypiylk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1520,7 +1520,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/doc-toc-1.2.tar";
-          sha256 = "0vz2jyqgx0sf3mhxnnm0fl395a9mcd9fg661pp3mz0pywpl3ymax";
+          sha256 = "09xwa0xgnzlaff0j5zy3kam6spcnw0npppc3gf6ka5bizbk4dq99";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1534,8 +1534,8 @@
         ename = "docbook";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/docbook-0.1.el";
-          sha256 = "01x0g8dhw65mzp9mk6qhx9p2bsvkw96hz1awrrf2ji17sp8hd1v6";
+          url = "https://elpa.gnu.org/packages/docbook-0.1.tar";
+          sha256 = "1kn71kpyb1maww414zgpc1ccgb02mmaiaix06jyqhf75hfxms2lv";
         };
         packageRequires = [];
         meta = {
@@ -1547,10 +1547,10 @@
       elpaBuild {
         pname = "drepl";
         ename = "drepl";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/drepl-0.1.tar";
-          sha256 = "0lx94kcxgp8s13w7hz9857r9baqfswvj7vc9frjq4crc4ps7fi7r";
+          url = "https://elpa.gnu.org/packages/drepl-0.2.tar";
+          sha256 = "1vf61d6iihpnr3h4cyxksd64qj8rw2a9ihjm3krvjmigxr2r6awx";
         };
         packageRequires = [ comint-mime emacs ];
         meta = {
@@ -1565,7 +1565,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/dts-mode-1.0.tar";
-          sha256 = "0ihwqkv1ddysjgxh01vpayv3ia0vx55ny8ym0mi5b4iz95idj60s";
+          sha256 = "16ads9xjbqgmgwzj63anhc6yb1j79qpcnxjafqrzdih1p5j7hrr9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1580,7 +1580,7 @@
         version = "0.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/easy-escape-0.2.1.tar";
-          sha256 = "19blpwka440y6r08hzzaz61gb24jr6a046pai2j1a3jg6x9fr3j5";
+          sha256 = "0mwam1a7sl90aqgz6mj3zm0w1dq15b5jpxmwxv21xs1imyv696ci";
         };
         packageRequires = [];
         meta = {
@@ -1595,7 +1595,7 @@
         version = "0.9.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/easy-kill-0.9.5.tar";
-          sha256 = "0h8rzd23sgkj3vxnyhis9iyq8n3xqp9x1mvxlm61s6wwj9j398j6";
+          sha256 = "1nwhqidy5zq6j867b21zng5ppb7n56drnhn3wjs7hjmkf23r63qy";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1610,7 +1610,7 @@
         version = "0.8.22";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ebdb-0.8.22.tar";
-          sha256 = "12sydb2lm571096gpb8r0jpg19wiqpl52rcnrhkvzlhzxgg18pg5";
+          sha256 = "0nmrhjk2ddml115ibsy8j4crw5hzq9fa94v8y41iyj9h3gf8irzc";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1624,8 +1624,8 @@
         ename = "ebdb-gnorb";
         version = "1.0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-gnorb-1.0.2.el";
-          sha256 = "0bma7mqilp3lfgv0z2mk6nnqzh1nn1prkz2aiwrs4hxwydmda13i";
+          url = "https://elpa.gnu.org/packages/ebdb-gnorb-1.0.2.tar";
+          sha256 = "1kwcrg268vmskls9p4ccs6ybdip30cb4fw3xzq11gqjch1nssh18";
         };
         packageRequires = [ ebdb gnorb ];
         meta = {
@@ -1640,7 +1640,7 @@
         version = "1.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.2.tar";
-          sha256 = "06ii9xi2y157vfbhx75mn80ash22d1xgcyp9kzz1s0lkxwlv74zj";
+          sha256 = "1qyia40z6ssvnlpra116avakyf81vqn42860ny21g0zsl99a58j2";
         };
         packageRequires = [ ebdb pyim ];
         meta = {
@@ -1655,7 +1655,7 @@
         version = "2.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ediprolog-2.2.tar";
-          sha256 = "021jm5zdxrjg7xcja18vgc2v52rk17xi1k7xxw8q802nmixhy0js";
+          sha256 = "13g8y51lvdphi1v6rdca36c0r9v35lldx5979yrccsf07h0hw5gm";
         };
         packageRequires = [];
         meta = {
@@ -1670,7 +1670,7 @@
         version = "20240309";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/eev-20240309.tar";
-          sha256 = "0j9hz5raxrk3d2ashbsp9yvi04d5ap0chb4lpljr4pbh2lnyjr4h";
+          sha256 = "0nn6jdc37n2nx3i97ljl5a37dwxv5qx12ar15yr702hbsgaxyfa5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1685,7 +1685,7 @@
         version = "1.6.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ef-themes-1.6.1.tar";
-          sha256 = "1ms0rqivxdsbx7jv6d5h1khvm4ghml152ab831chg4z77apmq1ga";
+          sha256 = "0wkiqjnqnxwzskpxam44qxxz13fbpgnf17c1qrin8ad8i9b49bvq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1710,7 +1710,7 @@
         version = "1.17";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/eglot-1.17.tar";
-          sha256 = "1can988d7qdn0dj4wg8adjz1s9j5yin8bcp7ylhq1pr327d5flky";
+          sha256 = "1cnx522wb49f1dkm80sigz3kvzrblmq5b1lnfyq9wdnh6zdm4l00";
         };
         packageRequires = [
           eldoc
@@ -1739,7 +1739,7 @@
         version = "1.12.6.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/el-search-1.12.6.1.tar";
-          sha256 = "150f4rirg107hmzpv8ifa32k2mgf07smbf9z44ln5rh8n17xwqah";
+          sha256 = "1vq8cp2icpl8vkc9r8brzbn0mpaj03mnvdz1bdqn8nqrzc3w0h24";
         };
         packageRequires = [ cl-print emacs stream ];
         meta = {
@@ -1754,7 +1754,7 @@
         version = "1.15.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/eldoc-1.15.0.tar";
-          sha256 = "1wn7q2f19lfdc3b639ffhbmsglnm3zc6rvgyc6amqwnpc2n2gkdl";
+          sha256 = "05fgk3y2rp0xrm3x0xmf9fm72l442y7ydxxg3xk006d9cq06h8kz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1768,8 +1768,8 @@
         ename = "electric-spacing";
         version = "5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/electric-spacing-5.0.el";
-          sha256 = "1jk6v84z0n8jljzsz4wk7rgzh7drpfvxf4bp6xis8gapnd3ycfyv";
+          url = "https://elpa.gnu.org/packages/electric-spacing-5.0.tar";
+          sha256 = "1gr35nri25ycxr0wwkypky8zv43nnfrilx4jaj66mb9jsyix6smi";
         };
         packageRequires = [];
         meta = {
@@ -1784,7 +1784,7 @@
         version = "1.14";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.14.tar";
-          sha256 = "1n9p4kl4d5rcbjgl8yifv0nqnrzxsx937fm0d2j589gg28rzlqpb";
+          sha256 = "050wja4axngnxggfxhg4b4lcbf1q674zr933r9qkc3ww731f42qa";
         };
         packageRequires = [];
         meta = {
@@ -1796,10 +1796,10 @@
       elpaBuild {
         pname = "ellama";
         ename = "ellama";
-        version = "0.8.13";
+        version = "0.9.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ellama-0.8.13.tar";
-          sha256 = "012j3rnvwj8ajyjdlgdx6nrs773i71dyl5brs0jgx010jibzmafi";
+          url = "https://elpa.gnu.org/packages/ellama-0.9.1.tar";
+          sha256 = "1kyylhavqa2wsgjgqybg25aiz0fyw4njpady2k2xhry5jw9i78vs";
         };
         packageRequires = [ emacs llm spinner ];
         meta = {
@@ -1814,7 +1814,7 @@
         version = "1.4.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/emacs-gc-stats-1.4.2.tar";
-          sha256 = "19wb4s7bm9fhkbjw28fi5pkxzqnkc7wrx338vgrrzyaficblkcps";
+          sha256 = "055ma32r92ksjnqy8xbzv0a79r7aap12h61dj860781fapfnifa3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1826,10 +1826,10 @@
       elpaBuild {
         pname = "embark";
         ename = "embark";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/embark-1.0.tar";
-          sha256 = "01kgln4hvy0hfga7syjvrdvwwalx93pq0s2na0qyvy44rsszlwwh";
+          url = "https://elpa.gnu.org/packages/embark-1.1.tar";
+          sha256 = "074ggh7dkr5jdkwcndl6znhkq48jmc62rp7mc6vjidr6yxf8d1rn";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1847,10 +1847,10 @@
       elpaBuild {
         pname = "embark-consult";
         ename = "embark-consult";
-        version = "1.0";
+        version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/embark-consult-1.0.tar";
-          sha256 = "18zbaanza8vvrmk3gbj0glijyxgb4qd7yzc46lv9fr7xr4l58jqc";
+          url = "https://elpa.gnu.org/packages/embark-consult-1.1.tar";
+          sha256 = "06yh6w4zgvvkfllmcr0szsgjrfhh9rpjwgmcrf6h2gai2ps9xdqr";
         };
         packageRequires = [ compat consult emacs embark ];
         meta = {
@@ -1872,10 +1872,10 @@
       elpaBuild {
         pname = "ement";
         ename = "ement";
-        version = "0.14";
+        version = "0.15";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ement-0.14.tar";
-          sha256 = "02ay594byrlwkcl85drxn82fgvlzf11l9rl4hbk9phz9axy2mgyw";
+          url = "https://elpa.gnu.org/packages/ement-0.15.tar";
+          sha256 = "0mphkvmsmrfyr3prr5a2x6ijr27z96ixpaxs9871kn7f1x0brn5r";
         };
         packageRequires = [
           emacs
@@ -1904,7 +1904,7 @@
         version = "19";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/emms-19.tar";
-          sha256 = "13c884s92ddn52psgkaz3zvb94g23gq41dbidpx7x4gzdhd9qqxm";
+          sha256 = "1k0hybw826f2hlw8m0aihkydlkdzjsgvrfibpsqrxxcn9d7zxwjd";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1919,7 +1919,7 @@
         version = "0.3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/engrave-faces-0.3.1.tar";
-          sha256 = "1q4sjl2rvcfwcirm32nmi53258ln71yhh1dgszlxwknm38a14v3i";
+          sha256 = "0nl5wx61192dqd0191dvaszgjc7b2adrxsyc75f529fcyrfwgqfa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1934,7 +1934,7 @@
         version = "2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/enwc-2.0.tar";
-          sha256 = "17w35b06am5n19nlq00ni5w3jvys9i7swyw4glb7081d2jbij2mn";
+          sha256 = "0y8154ykrashgg0bina5ambdrxw2qpimycvjldrk9d67hrccfh3m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1984,7 +1984,7 @@
         version = "5.16.10.12";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ergoemacs-mode-5.16.10.12.tar";
-          sha256 = "1zfzjmi30lllrbyzicmp11c9lpa82g57wi134q9bajvzn9ryx4jr";
+          sha256 = "0s4lwb76c67npbcnvbxdawnj02zkc85sbm392lym1qccjmj9d02f";
         };
         packageRequires = [ cl-lib emacs undo-tree ];
         meta = {
@@ -1999,7 +1999,7 @@
         version = "24.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ess-24.1.1.tar";
-          sha256 = "1gy1yp6svr8agv38rikmfcji570n80c8jqssrcrrgrq3a2k9j34h";
+          sha256 = "11hn571q8vpjy1kx8d1hn8mm2sna0ar1q2z4vmb6rwqi9wsda6a0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2023,7 +2023,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/excorporate-1.1.2.tar";
-          sha256 = "11w53idm7m20jhmwnj9wiqiv6fzydjrgy2s3mp36barlj3xq0l0z";
+          sha256 = "111wvkn0ks7syfgf1cydq5s0kymha0j280xvnp09zcfbj706yhbw";
         };
         packageRequires = [
           cl-lib
@@ -2046,7 +2046,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/expand-region-1.0.0.tar";
-          sha256 = "04xwdcxahymppcyvkfh2bn2f4fs4f8z27kycva67i6qldhashq7y";
+          sha256 = "1rjx7w4gss8sbsjaljraa6cjpb57kdpx9zxmr30kbifb5lp511rd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2061,7 +2061,7 @@
         version = "1.3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/expreg-1.3.1.tar";
-          sha256 = "13s3hq6nfnv4md2z704ad1axqnir0drz9vvhvisrlp2lis16xzik";
+          sha256 = "12msng4ypmw6s3pja66kkjxkbadla0fxmak1r3drxiihpwmh5zm6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2076,7 +2076,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/external-completion-0.1.tar";
-          sha256 = "12pddwp5jby2icshj77w4kwxv75zi00jdxw18f721d7zx3l7q668";
+          sha256 = "1bw2kvz7zf1s60d37j31krakryc1kpyial2idjy6ac6w7n1h0jzc";
         };
         packageRequires = [];
         meta = {
@@ -2091,7 +2091,7 @@
         version = "0.28";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/exwm-0.28.tar";
-          sha256 = "00h5awqazk807zxvb02a9dp8gd5ifi3y1kcwmr1czk6kdmkjx32l";
+          sha256 = "11j1ciyrnzkbcb7ffgs670mxqd1xbxf41c6jwnwwqjfzmqhsm0m4";
         };
         packageRequires = [ xelb ];
         meta = {
@@ -2121,7 +2121,7 @@
         version = "0.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/face-shift-0.2.1.tar";
-          sha256 = "115959sgy7jivb5534rkm5mbqpjayfci9wpzx75p7cjsn02hfi0p";
+          sha256 = "14sbafkxr7kmv6sd5rw7d7hcsh0hhx92wkh6arfbchxad8jzimr6";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2136,7 +2136,7 @@
         version = "0.2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/filechooser-0.2.0.tar";
-          sha256 = "1pl6n6d6gymdm0gx0nz96hwps8v1s2zpqph41d0h5hdvsvxacx6w";
+          sha256 = "1fjf8bmdrrrgbv4sgx4nry5pl8plg9kyzyfd038985v3dsqasi9q";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2150,8 +2150,8 @@
         ename = "filladapt";
         version = "2.12.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/filladapt-2.12.2.el";
-          sha256 = "1cxyxfdjg1dsmn1jrl6b7xy03xr42fb6vyggh27s4dk417ils6yg";
+          url = "https://elpa.gnu.org/packages/filladapt-2.12.2.tar";
+          sha256 = "0nmgw6v2krxn5palddqj1jzqxrajhpyq9v2x9lw12cdcldm9ab4k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2169,7 +2169,7 @@
         version = "0.9.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/firefox-javascript-repl-0.9.5.tar";
-          sha256 = "0ml59kiigqnss84az1c8hp87bmcs9dngz01ly63x47wfym2af8mi";
+          sha256 = "07qmp6hfzgljrl9gkwy673xk67b3bgxq4kkw2kzr8ma4a7lx7a8l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2177,16 +2177,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    flylisp = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    flylisp = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "flylisp";
         ename = "flylisp";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/flylisp-0.2.el";
-          sha256 = "0hh09qy1xwlv52lsh49nr11h4lk8qlmk06b669q494d79hxyv4v6";
+          url = "https://elpa.gnu.org/packages/flylisp-0.2.tar";
+          sha256 = "1agny4hc75xc8a9f339bynsazmxw8ccvyb03qx1d6nvwh9d7v1b9";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [];
         meta = {
           homepage = "https://elpa.gnu.org/packages/flylisp.html";
           license = lib.licenses.free;
@@ -2199,7 +2199,7 @@
         version = "1.3.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/flymake-1.3.7.tar";
-          sha256 = "07n72y77q1vqvz1rv36jq1cxdp1brp572plvsi2g6mizif5y531z";
+          sha256 = "15ikzdqyh77cgx94jaigfrrzfvwvpca8s2120gi82i9aaiypr7jl";
         };
         packageRequires = [ eldoc emacs project ];
         meta = {
@@ -2218,7 +2218,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/flymake-codespell-0.1.tar";
-          sha256 = "0r1g0imh9azy1yf0naxif80vmzrjvn5dx3lcrlpj70xb86wzliym";
+          sha256 = "1x1bmdjmdaciknd702z54002bi1a5n51vvn9g7j6rnzjc1dxw97f";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2233,7 +2233,7 @@
         version = "0.3.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/flymake-proselint-0.3.0.tar";
-          sha256 = "1x1hp06hggywmpbimyw4cg0cyg7g9v39r552ypivq9pvz94kmkp0";
+          sha256 = "0bq7nc1qiqwxi848xy7wg1ig8k38nmq1w13xws10scjvndlbcjpl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2245,10 +2245,10 @@
       elpaBuild {
         pname = "fontaine";
         ename = "fontaine";
-        version = "1.0.0";
+        version = "2.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/fontaine-1.0.0.tar";
-          sha256 = "1p34d84z87s2zsfxdc18bjpif21fdixfzv2k4b9g4i0pcr94nc4v";
+          url = "https://elpa.gnu.org/packages/fontaine-2.0.0.tar";
+          sha256 = "1h3hsqfx16ff0s776xvnafrlmj0m0r66hjra1mq2j55ahvh0aavk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2262,8 +2262,8 @@
         ename = "frame-tabs";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/frame-tabs-1.1.el";
-          sha256 = "0fx9zc7mvyl703k7sjjcvffm2qw42ncr7r3d4fm0h45p9pi83svz";
+          url = "https://elpa.gnu.org/packages/frame-tabs-1.1.tar";
+          sha256 = "1a7hklir19inai68azgyfiw1bzq5z57kkp33lj6qbxxvfcqvw62w";
         };
         packageRequires = [];
         meta = {
@@ -2277,8 +2277,8 @@
         ename = "frog-menu";
         version = "0.2.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/frog-menu-0.2.11.el";
-          sha256 = "06iw11z61fd0g4w3562k3smcmzaq3nivvvc6gzm8y8k5pcrqzdff";
+          url = "https://elpa.gnu.org/packages/frog-menu-0.2.11.tar";
+          sha256 = "1iwyg9z8i03p9kkz6vhv00bzsqrsgl4xqqh08icial29c80q939l";
         };
         packageRequires = [ avy emacs posframe ];
         meta = {
@@ -2292,8 +2292,8 @@
         ename = "fsm";
         version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/fsm-0.2.1.el";
-          sha256 = "1jyxyqdbfl8nv7c50q0sg3w5p7whp1sqgi7w921k5hfar4d11qqp";
+          url = "https://elpa.gnu.org/packages/fsm-0.2.1.tar";
+          sha256 = "0kvm16077bn6bpbyw3k5935fhiq86ry2j1zcx9sj7dvb9w737qz4";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2308,7 +2308,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ftable-1.1.tar";
-          sha256 = "0ww2kl5gb2dkkz0dxinjjnd3qafr31qjcqp1x10r3vcfbp9cfy4b";
+          sha256 = "052vqw8892wv8lh5slm90gcvfk7ws5sgl1mzbdi4d3sy4kc4q48h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2322,8 +2322,8 @@
         ename = "gcmh";
         version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gcmh-0.2.1.el";
-          sha256 = "0a51bkkfdj3x26yalvk7v35rxbl3m1wk6n0f33zhrhl6i5fsrfin";
+          url = "https://elpa.gnu.org/packages/gcmh-0.2.1.tar";
+          sha256 = "030w493ilmc7w13jizwqsc33a424qjgicy1yxvlmy08yipnw3587";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2338,7 +2338,7 @@
         version = "0.9.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ggtags-0.9.0.tar";
-          sha256 = "0p79x9g94jynl83ndvqp9349vhgkzxzhnc517r8hn44iqxqf6ghg";
+          sha256 = "02gj8ghkk35clyscbvp1p1nlhmgm5h9g2cy4mavnfmx7jikmr4m3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2353,7 +2353,7 @@
         version = "0.6.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gited-0.6.0.tar";
-          sha256 = "187asqrxfpxv53hhnrcid1sy46vcy07qx5yqgnrczi54jpcc57j5";
+          sha256 = "1s2h6y1adh28pvm3h5bivfja2nqnzm8w9sfza894pxf96kwk3pg2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2367,8 +2367,8 @@
         ename = "gle-mode";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gle-mode-1.1.el";
-          sha256 = "0p9glalhkf8i4486pjwvrb9z4lqxl6jcqfk6jrjl6b1xi72xmdi0";
+          url = "https://elpa.gnu.org/packages/gle-mode-1.1.tar";
+          sha256 = "12vbif4b4j87z7fg18dlcmzmbs2fp1g8bgsk5rch9h6dblg72prq";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2383,7 +2383,7 @@
         version = "1.0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnat-compiler-1.0.3.tar";
-          sha256 = "1l5j3br5yrhp3ic0va666ar636hywfd8vssxma3gc858zb9qbzw2";
+          sha256 = "1chydgswab2m81m3kbd31b1akyw4v1c9468wlfxpg2yydy8fc7vs";
         };
         packageRequires = [ emacs wisi ];
         meta = {
@@ -2413,7 +2413,7 @@
         version = "1.6.11";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnorb-1.6.11.tar";
-          sha256 = "0724i8p1hywgbfk0czxvrcwlwigj8r7x6ww0ap3k2sg90531ymws";
+          sha256 = "1y0xpbifb8dm8hd5i9g8jph4jm76wviphszl5x3zi6w053jpss9b";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2428,7 +2428,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnu-elpa-1.1.tar";
-          sha256 = "0b0law1xwwqa42wb09b3w73psq2kx16lkiwxjxl0sshjcmarhv8r";
+          sha256 = "01cw1r5y86q1aardpvcwvwq161invrzxd0kv4qqi5agaff2nbp26";
         };
         packageRequires = [];
         meta = {
@@ -2445,7 +2445,7 @@
         version = "2022.12";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnu-elpa-keyring-update-2022.12.tar";
-          sha256 = "1kij50xw5km14x44zjsfc1cdkz4xq79nv7hgfjsz3pgypq672z5z";
+          sha256 = "0pabqsfw0d9knfigpcsrwfw7qrf2vlg9h0i582212gsqd7snlnxb";
         };
         packageRequires = [];
         meta = {
@@ -2465,7 +2465,7 @@
         version = "3.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnugo-3.1.2.tar";
-          sha256 = "138gzdyi8scqimvs49da66j8f5a43bhgpasn1bxzdj2zffwlwp6g";
+          sha256 = "0wingn5v4wa1xgsgmqqls28cifnff8mvm098kn8clw42mxr40257";
         };
         packageRequires = [ ascii-art-to-unicode cl-lib xpm ];
         meta = {
@@ -2480,7 +2480,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gnus-mock-0.5.tar";
-          sha256 = "1lyh1brb68zaasnw2brymsspcyl3jxmnvbvpvrqfxhhl3fq9nbv1";
+          sha256 = "1yl624wzs4kw45zpnxh04dxn1kkpb6c2jl3i0sm1bijyhm303l4h";
         };
         packageRequires = [];
         meta = {
@@ -2494,8 +2494,8 @@
         ename = "gpastel";
         version = "0.5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gpastel-0.5.0.el";
-          sha256 = "1wky6047071vgyyw2m929nbwg4d9qqp1mjqwk7a5rs8hfr4xqxfw";
+          url = "https://elpa.gnu.org/packages/gpastel-0.5.0.tar";
+          sha256 = "12y1ysgnqjvsdp5gal90mp2wplif7rq1cj61393l6gf3pgv6jkzc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2515,7 +2515,7 @@
         version = "1.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gpr-mode-1.0.5.tar";
-          sha256 = "1ksafa4nfd4n1kdxpjk6i59l5rxfdmcqjkkpmmc8w402xka0vwn4";
+          sha256 = "1qdk2pkdxggfhj8gm39jb2b29g0gbw50vgil6rv3z0q7nlhpm2fp";
         };
         packageRequires = [ emacs gnat-compiler wisi ];
         meta = {
@@ -2535,7 +2535,7 @@
         version = "1.0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/gpr-query-1.0.4.tar";
-          sha256 = "0a6wrkjqszqq4d0a1amrp7yx4w2hwjbyy7qxd40k9n1vdp7jbzri";
+          sha256 = "1y283x549w544x37lmh25n19agyah2iz0b052hx8br4rnjdd9ii3";
         };
         packageRequires = [ emacs gnat-compiler wisi ];
         meta = {
@@ -2550,7 +2550,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/graphql-0.1.2.tar";
-          sha256 = "1mzgz4piszm0v18gdn63xb46zqd1r17fkh24rw863i0p1achl21m";
+          sha256 = "1blpsj6sav3z9gj733cccdhpdnyvnvxp48z1hnjh0f0fl5avvkix";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2562,10 +2562,10 @@
       elpaBuild {
         pname = "greader";
         ename = "greader";
-        version = "0.9.19";
+        version = "0.9.20";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/greader-0.9.19.tar";
-          sha256 = "1d04d1shzb505qs2mf7387dvl56pwlwh4b349s5fq2prwqrq71l7";
+          url = "https://elpa.gnu.org/packages/greader-0.9.20.tar";
+          sha256 = "11n88xmr2qa5as5kpy4yy616nlh08nw5rkcbgmf9skgka3g1hmip";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2579,8 +2579,8 @@
         ename = "greenbar";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/greenbar-1.1.el";
-          sha256 = "01ixv3489zdx2b67zqad6h7g8cpnzpzrvvkqyx7csqyrfx0qy27n";
+          url = "https://elpa.gnu.org/packages/greenbar-1.1.tar";
+          sha256 = "14azd170xq602fy4mcc770x5063rvpms8ilbzzn8kwyfvmijlbbx";
         };
         packageRequires = [];
         meta = {
@@ -2592,10 +2592,10 @@
       elpaBuild {
         pname = "gtags-mode";
         ename = "gtags-mode";
-        version = "1.1";
+        version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gtags-mode-1.1.tar";
-          sha256 = "0fgs6iqrivmyxfkjl6hxxs3zfjkkdas61z34q08qfjgw0ixz188h";
+          url = "https://elpa.gnu.org/packages/gtags-mode-1.5.tar";
+          sha256 = "15jmynzm2xrvb410vka3jzzdcxbsm3vkihz27yzym708jb0bd8ji";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2630,7 +2630,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/hcel-1.0.0.tar";
-          sha256 = "1j6snbyi710qnxr68mbmj1v2i6gqf6znd872fkjkyj85pg3iibia";
+          sha256 = "1pm3d0nz2mpf667jkjlmlidh203i4d4gk0n8xd3r66bzwc4l042b";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2644,8 +2644,8 @@
         ename = "heap";
         version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/heap-0.5.el";
-          sha256 = "13qv0w3fi87c85jcy7lv359r6rpsgnp5zzs2f2zq4dl3540wzrxg";
+          url = "https://elpa.gnu.org/packages/heap-0.5.tar";
+          sha256 = "1q42v9mzmlhl4pr3wr94nsis7a9977f35w0qsyx2r982kwgmbndw";
         };
         packageRequires = [];
         meta = {
@@ -2660,7 +2660,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/hiddenquote-1.2.tar";
-          sha256 = "1ssfy1ha5a1pakihmkifry200k7z1mxcgl4w9pwvp7wmzbkv2zql";
+          sha256 = "051aqiq77n487lnsxxwa8q0vyzk6m2fwi3l7xwvrl49p5xpia6zr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2676,8 +2676,8 @@
         ename = "highlight-escape-sequences";
         version = "0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/highlight-escape-sequences-0.4.el";
-          sha256 = "1z8r9rnppn7iy7xv4kprfsqxday16h7c471i7rkyi3rv3l0pfxd0";
+          url = "https://elpa.gnu.org/packages/highlight-escape-sequences-0.4.tar";
+          sha256 = "1gs662vvvzrqdlb1z73jf6wykjzs1jskcdksk8akqmply4sjvbpr";
         };
         packageRequires = [];
         meta = {
@@ -2707,7 +2707,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/html5-schema-0.1.tar";
-          sha256 = "19k1jal6j64zq78w8h0lw7cljivmp2jzs5sa1ppc0mqkpn2hyq1i";
+          sha256 = "018zvdjhdrkcy8yrsqqqikhl6drmqm1fs0y50m8q8vx42p0cyi1p";
         };
         packageRequires = [];
         meta = {
@@ -2722,7 +2722,7 @@
         version = "0.15.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/hydra-0.15.0.tar";
-          sha256 = "1mppx20920kfq97wd7mkrn4bcmm46k5m8wqm49asd54w701iq3n1";
+          sha256 = "082wdr2nsfz8jhh7ic4nq4labz0pq8lcdwnxdmw79ppm20p2jipk";
         };
         packageRequires = [ cl-lib lv ];
         meta = {
@@ -2737,7 +2737,7 @@
         version = "9.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/hyperbole-9.0.1.tar";
-          sha256 = "0a7py2dvszh0rf2smbmm8msjrc8vbbvlqnsqw0m2l12v8vllmxnb";
+          sha256 = "0gjscqa0zagbymm6wfilvc8g68f8myv90ryd8kqfcpy81fh4dhiz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2752,7 +2752,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ilist-0.3.tar";
-          sha256 = "1gg77fnk2ky5z5153axszs43a9npb1xg56ik23rz45xl9hg7v8as";
+          sha256 = "01a522sqx7j5m6b1k8xn71963igm93cd7ms1aawh1v2wmb09vbhm";
         };
         packageRequires = [];
         meta = {
@@ -2767,7 +2767,7 @@
         version = "0.36";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/inspector-0.36.tar";
-          sha256 = "139w0qc99grd6yzxkpfblgddnbza02mh4hhcpbjgsm4bwdxq8az0";
+          sha256 = "0hbh4a71w4yxicn7v7v492i7iv0ncv5sxwwsbwknbl9ixm482h2z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2782,7 +2782,7 @@
         version = "2.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ioccur-2.6.tar";
-          sha256 = "0k7nr73gmd0z5zqkwdacvfsmyflri3f15a15zpr7va28pnxqzsdk";
+          sha256 = "0xyx5xd46n5x078k7pv022h84xmxv7fkh31ddib872bmnirhk6ln";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2797,7 +2797,7 @@
         version = "0.8";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/isearch-mb-0.8.tar";
-          sha256 = "06241rwz01z4ysgmizczq12zl0cc6xvfyds48glzk1jp82zp4adp";
+          sha256 = "1b4929vr5gib406p51zcvq1ysmzvnz6bs1lqwjp517kzp6r4gc5y";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2811,8 +2811,8 @@
         ename = "iterators";
         version = "0.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/iterators-0.1.1.el";
-          sha256 = "1r2cz2n6cr6wal5pqiqi5pn28pams639czgrvd60xcqmlr3li3g5";
+          url = "https://elpa.gnu.org/packages/iterators-0.1.1.tar";
+          sha256 = "1xcqvj9dail1irvj2nbfx9x106mcav104pp89jz2diamrky6ja49";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2827,7 +2827,7 @@
         version = "0.14.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ivy-0.14.2.tar";
-          sha256 = "1zjksh0jvxyqhzgwmh9i26gaip6c04q400xckh730r2gjs287pjj";
+          sha256 = "1h9gfkkcw9nfw85m0mh08qfmi2y0jkvdk54qx0iy5p04ysmhs6k1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2842,7 +2842,7 @@
         version = "0.14.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ivy-avy-0.14.2.tar";
-          sha256 = "0vdrfn2i078567lklhxfhzq2cjplfpawyq2rzpdpww0fzz6fi426";
+          sha256 = "12s5z3h8bpa6vdk7f54i2dy18hd3p782pq3x6mkclkvlxijv7d11";
         };
         packageRequires = [ avy emacs ivy ];
         meta = {
@@ -2856,8 +2856,8 @@
         ename = "ivy-explorer";
         version = "0.3.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ivy-explorer-0.3.2.el";
-          sha256 = "0q9gy9w22hnq30bfmnpqknk0qc1rcbjcybpjgb8hnlldvcci95l7";
+          url = "https://elpa.gnu.org/packages/ivy-explorer-0.3.2.tar";
+          sha256 = "0wv7gp2kznc6f6g9ky1gvq72i78ihp582kyks82h13w25rvh6f0a";
         };
         packageRequires = [ emacs ivy ];
         meta = {
@@ -2872,7 +2872,7 @@
         version = "0.14.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ivy-hydra-0.14.2.tar";
-          sha256 = "10qav0rvgc5bnlazjiwnv9dlk6hivl4acif0zq2f0qqgld9nh528";
+          sha256 = "1p08rpj3ac2rwjcqbzkq9r5pmc1d9ci7s9bl0qv5cj5r8wpl69mx";
         };
         packageRequires = [ emacs hydra ivy ];
         meta = {
@@ -2892,7 +2892,7 @@
         version = "0.6.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ivy-posframe-0.6.3.tar";
-          sha256 = "0b498qzaydjrhplx4d7zcrs883dlrhfiz812sv4m3pmhfwifcchh";
+          sha256 = "027lbddg4rc44jpvxsqyw9n9pi1bnsssfislg2il3hbr86v88va9";
         };
         packageRequires = [ emacs ivy posframe ];
         meta = {
@@ -2907,7 +2907,7 @@
         version = "0.0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jami-bot-0.0.4.tar";
-          sha256 = "1gspzqxznqskc008bcix2fyg1brr3xzxzbqx18q4cy4mz0vm8h1b";
+          sha256 = "1dp4k5y7qy793m3fyxvkk57bfy42kac2w5wvy7zqzd4lckm0a93z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2922,7 +2922,7 @@
         version = "0.11.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jarchive-0.11.0.tar";
-          sha256 = "1hn0lyszm667a54j95v2ppddz4g89cp8byj9pd3k1gha2rplm9d8";
+          sha256 = "17klpdrv74hgpwnhknbihg90j6sbikf4j62lq0vbfv3s7r0a0gb8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2937,7 +2937,7 @@
         version = "0.9.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/javaimp-0.9.1.tar";
-          sha256 = "106wn53z39fcna3sv4p0idmjg9lg5lijm5hyb4lbibp4s5yh2y3b";
+          sha256 = "1gy7qys9mzpgbqm5798fncmblmi32b350q51ccsyydq67yh69s3z";
         };
         packageRequires = [];
         meta = {
@@ -2951,8 +2951,8 @@
         ename = "jgraph-mode";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/jgraph-mode-1.1.el";
-          sha256 = "0479irjz5r79x6ngl3lfkl1gqsmvcw8kn6285sm6nkn66m1dfs8l";
+          url = "https://elpa.gnu.org/packages/jgraph-mode-1.1.tar";
+          sha256 = "1ryxbszp15dy2chch2irqy7rmcspfjw717w4rd0vxjpwvgkjgiql";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2964,10 +2964,10 @@
       elpaBuild {
         pname = "jinx";
         ename = "jinx";
-        version = "1.4";
+        version = "1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/jinx-1.4.tar";
-          sha256 = "1vv85pbhcpwjvd3iwnr8ksjpbydrsk7m3zm34hcbybg703yk2nl7";
+          url = "https://elpa.gnu.org/packages/jinx-1.6.tar";
+          sha256 = "0jy2g587930d4jqi4asrci3411bby9j6wrxczyskacvjs41vqyip";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2982,7 +2982,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jit-spell-0.4.tar";
-          sha256 = "1p83spcq52l7k63p56y3w5r3kl49wbrs4abynwn25ikhkd4wl8x3";
+          sha256 = "0p9nf2n0x6c6xl32aczghzipx8n5aq7a1x6r2s78xvpwr299k998";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2997,7 +2997,7 @@
         version = "20231224";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/js2-mode-20231224.tar";
-          sha256 = "1yc7rs748dwpbxy2bqxfspinfiay28qh8l0fly1k76fhk159rwj4";
+          sha256 = "023z76zxh5q6g26x7qlgf9476lj95sj84d5s3aqhy6xyskkyyg6c";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3011,8 +3011,8 @@
         ename = "json-mode";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/json-mode-0.2.el";
-          sha256 = "16ph6v9snvlmclg9shnyck86dqvlj4lf8205dhqx4l8vmhfy3d14";
+          url = "https://elpa.gnu.org/packages/json-mode-0.2.tar";
+          sha256 = "1ix8nq9rjfgbq8vzzjp179j2wa11il0ys8fjjy9gnlqwk6lnk86h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3027,7 +3027,7 @@
         version = "1.0.25";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jsonrpc-1.0.25.tar";
-          sha256 = "0hlc70xlm3a53il7k24s6s25dhnd09l2454r5qkpfnjdz9p5ih6f";
+          sha256 = "18f0g8j1rd2fpa707w6fll6ryj7mg6hbcy2pc3xff2a4ps8zv12b";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3042,7 +3042,7 @@
         version = "3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jumpc-3.1.tar";
-          sha256 = "04wqajw4i7sslsw8cwqbw30kbwwf9qlqxjm17v0bsxh5sp27y1jc";
+          sha256 = "1c6wzwrr1ydpn5ah5xnk159xcn4v1gv5rjm4iyfj83dss2ygirzp";
         };
         packageRequires = [];
         meta = {
@@ -3057,7 +3057,7 @@
         version = "0.2.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/kind-icon-0.2.2.tar";
-          sha256 = "1jpc4izbi5ajqqrvvfp5yqfmljaw2mq06ym36d4p2cxkz95vcmi7";
+          sha256 = "1zafx7rvfyahb7zzl2n9gpb2lc8x3k0bkcap2fl0n54aw4j98i69";
         };
         packageRequires = [ emacs svg-lib ];
         meta = {
@@ -3072,7 +3072,7 @@
         version = "1.1.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/kiwix-1.1.5.tar";
-          sha256 = "17k4aa8s9m24c572qvl5a481iw9ny6wmd5yrg47iv4d2lb2i13h2";
+          sha256 = "1krmlyfjs8b7ibixbmv41vhg1gm7prck6lpp61v17fgig92a9k2s";
         };
         packageRequires = [ emacs request ];
         meta = {
@@ -3086,8 +3086,8 @@
         ename = "kmb";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/kmb-0.1.el";
-          sha256 = "1wjfk28illfd5bkka3rlhhq59r0pad9zik1njlxym0ha8kbhzsj8";
+          url = "https://elpa.gnu.org/packages/kmb-0.1.tar";
+          sha256 = "12klfmdjjlyjvrzz3rx8dmamnag1fwljhs05jqwd0dv4a2q11gg5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3101,8 +3101,8 @@
         ename = "landmark";
         version = "1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/landmark-1.0.el";
-          sha256 = "0mz1l9zc1nvggjhg4jcly8ncw38xkprlrha8l8vfl9k9rg7s1dv4";
+          url = "https://elpa.gnu.org/packages/landmark-1.0.tar";
+          sha256 = "1nnmnvyfjmkk5ddw4q24py1bqzykr29klip61n16bqpr39v56gpg";
         };
         packageRequires = [];
         meta = {
@@ -3122,7 +3122,7 @@
         version = "1.5.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/latex-table-wizard-1.5.4.tar";
-          sha256 = "1vmwx7g79chcr6hrzdjh1ndpnqy8qn52n03789dhmxxr1ji7nk0i";
+          sha256 = "1999kh5yi0cg1k0al3np3zi2qhrmcpzxqsfvwg0mgrg3mww4gqlw";
         };
         packageRequires = [ auctex emacs transient ];
         meta = {
@@ -3137,7 +3137,7 @@
         version = "4.5.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/leaf-4.5.5.tar";
-          sha256 = "1rdbrf84ijapiqhq72gy8r5xgk54sf0jy31pgd3w4rl1wywh5cas";
+          sha256 = "1nvpl9ffma0ybbr7vlpcj7q33ja17zrswvl91bqljlmb4lb5121m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3152,7 +3152,7 @@
         version = "0.12";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/lentic-0.12.tar";
-          sha256 = "15sb126sq5aw3n09vqydmsl1l5svfar70iz42hnqi783cpw1lh0m";
+          sha256 = "0pszjhgy9dlk3h5gc8wnlklgl30ha3ig9bpmw2j1ps713vklfms7";
         };
         packageRequires = [ dash emacs m-buffer ];
         meta = {
@@ -3171,7 +3171,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/lentic-server-0.2.tar";
-          sha256 = "1vifs91r4rm57rka8by50f8zg5pr2hjqwbdz28mbbxhkj3war6s5";
+          sha256 = "1r0jcfylvhlihwm6pm4f8pzvsmnlspfkph1hgi5qjkv311045244";
         };
         packageRequires = [ lentic web-server ];
         meta = {
@@ -3185,8 +3185,8 @@
         ename = "let-alist";
         version = "1.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/let-alist-1.0.6.el";
-          sha256 = "0szj7vnjzz4zci5fvz7xqgcpi4pzdyyf4qi2s8xar2hi7v3yaawr";
+          url = "https://elpa.gnu.org/packages/let-alist-1.0.6.tar";
+          sha256 = "1fk1yl2cg4gxcn02n2gki289dgi3lv56n0akkm2h7dhhbgfr6gqm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3201,7 +3201,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/lex-1.2.tar";
-          sha256 = "03g5lm6gyh4k8l4iccdl9z0qinr46fkpqlwdw0gdfj9d0b782mbs";
+          sha256 = "1pqjrlw558l4z4k40jmli8lmcqlzddhkr0mfm38rbycp7ghdr4zx";
         };
         packageRequires = [];
         meta = {
@@ -3216,7 +3216,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/lin-1.0.0.tar";
-          sha256 = "0b090g2l8mvm3b6k7s31v9lw48qjcvcif2p201wlqgipddm6s180";
+          sha256 = "1yxvpgh3sbw0d0zkjfgbhjc2bziqvkyj7fgwcl3814q7hh8m4146";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3235,10 +3235,10 @@
       elpaBuild {
         pname = "listen";
         ename = "listen";
-        version = "0.8";
+        version = "0.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/listen-0.8.tar";
-          sha256 = "1vj9fsyp5v1qh87asj23k625080x6c8mgkas4933lrz7l2g7h1y2";
+          url = "https://elpa.gnu.org/packages/listen-0.9.tar";
+          sha256 = "1g1sv8fs8vl93fah7liaqzgwvc4b1chasx5151ayizz4q2qgwwbp";
         };
         packageRequires = [ emacs persist taxy taxy-magit-section transient ];
         meta = {
@@ -3250,10 +3250,10 @@
       elpaBuild {
         pname = "llm";
         ename = "llm";
-        version = "0.12.1";
+        version = "0.12.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/llm-0.12.1.tar";
-          sha256 = "11z56fqp0y13jmvm2611xyqsz41k01rsqdjvrzvbf33n56vsw713";
+          url = "https://elpa.gnu.org/packages/llm-0.12.3.tar";
+          sha256 = "19c3i8jfhvc0zqha2mlynk16ws4wgc1hdjrp7gp290bacvr560vg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3261,31 +3261,31 @@
           license = lib.licenses.free;
         };
       }) {};
-    lmc = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    lmc = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "lmc";
         ename = "lmc";
         version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/lmc-1.4.el";
-          sha256 = "0fm4sclx9gg0d0615smz105x320sk45y4ivpjk3nbc67c5l0sh2h";
+          url = "https://elpa.gnu.org/packages/lmc-1.4.tar";
+          sha256 = "0c8sd741a7imn1im4j17m99bs6zmppndsxpn23k33lmcqj1rfhsk";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [];
         meta = {
           homepage = "https://elpa.gnu.org/packages/lmc.html";
           license = lib.licenses.free;
         };
       }) {};
-    load-dir = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
+    load-dir = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "load-dir";
         ename = "load-dir";
         version = "0.0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/load-dir-0.0.5.el";
-          sha256 = "1575ipn155nzzb5yghblxc7v1vpq4i16w1ff7y56qw2498ligpc5";
+          url = "https://elpa.gnu.org/packages/load-dir-0.0.5.tar";
+          sha256 = "1yxnckd7s4alkaddfs672g0jnsxir7c70crnm6rsc5vhmw6310nx";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [];
         meta = {
           homepage = "https://elpa.gnu.org/packages/load-dir.html";
           license = lib.licenses.free;
@@ -3298,7 +3298,7 @@
         version = "1.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/load-relative-1.3.2.tar";
-          sha256 = "1fwa51jp0sq5l69y98l2zyj0iq9s6rj1rnqrmvncif61smma8fd7";
+          sha256 = "04ppqfzlqz7156aqm56yccizv0n71qir7yyp7xfiqq6vgj322rqv";
         };
         packageRequires = [];
         meta = {
@@ -3327,8 +3327,8 @@
         ename = "loccur";
         version = "1.2.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/loccur-1.2.4.el";
-          sha256 = "00f1ifa4z5ay90bd2002fmj83d7xqzrcr9018q8crlypmpxkyh7j";
+          url = "https://elpa.gnu.org/packages/loccur-1.2.4.tar";
+          sha256 = "1b8rmbl03k8fdy217ngbxsc0a3jxxmqnwshf72f4iay8ln4hasgk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3343,7 +3343,7 @@
         version = "1.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/logos-1.1.1.tar";
-          sha256 = "1lg4disxfzw9nf438j32q1cna447mlxy3sg523cqzhimh1mk5s9f";
+          sha256 = "0dyy1y6225kbmsl5zy4hp0bdnnp06l05m8zqxc22alsivy2qvkjb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3358,7 +3358,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/luwak-1.0.0.tar";
-          sha256 = "10jcblm0q5948l3ar911dfj6y9p5bggwz9nmq9d3prlgz5zczv34";
+          sha256 = "0z6h1cg7nshv87zl4fia6l5gwf9ax6f4wgxijf2smi8cpwmv6j79";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3373,7 +3373,7 @@
         version = "0.15.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/lv-0.15.0.tar";
-          sha256 = "1xnyk8bvr0bdz68qc1sga3w9lwdga5qpp3m7290z1vyv0mznh4gm";
+          sha256 = "1wb8whyj8zpsd7nm7r0yjvkfkr2ml80di7alcafpadzli808j2l4";
         };
         packageRequires = [];
         meta = {
@@ -3388,7 +3388,7 @@
         version = "0.16";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/m-buffer-0.16.tar";
-          sha256 = "1mb03hrszxxsk61yvh70rnkn7iiwx1vx6n1br02clkpn2q2c0mq5";
+          sha256 = "16drbgamp7yd1ndw2qrycrgmnknv5k7h4d7svcdhv9az6fg1vzn4";
         };
         packageRequires = [ seq ];
         meta = {
@@ -3403,7 +3403,7 @@
         version = "3.3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/map-3.3.1.tar";
-          sha256 = "1gvywhdfg27nx6pyq7yfwq9x6j96jama59i5s9rp41pvg2dlmvm0";
+          sha256 = "1za8wjdvyxsxvmzla823f7z0s4wbl22l8k08v8b4h4m6i7w356lp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3415,10 +3415,10 @@
       elpaBuild {
         pname = "marginalia";
         ename = "marginalia";
-        version = "1.5";
+        version = "1.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/marginalia-1.5.tar";
-          sha256 = "1hc4jjvrwfkqmhb1kvmjzzkmnqfx188ywy1cmxpns1wivnjic79h";
+          url = "https://elpa.gnu.org/packages/marginalia-1.6.tar";
+          sha256 = "0an3ayka1f7n511bjfwz42h9g5b1vhb6x47jy0k9psscr7pbhszg";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3432,8 +3432,8 @@
         ename = "markchars";
         version = "0.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/markchars-0.2.2.el";
-          sha256 = "09a471c2mcjm6ia37xqz0573sy8f68d5ljgnmhrj0v455g1g44lj";
+          url = "https://elpa.gnu.org/packages/markchars-0.2.2.tar";
+          sha256 = "0jagp5s2kk8ijwxbg5ccq31bjlcxkqpqhsg7a1hbyp3p5z3j73m0";
         };
         packageRequires = [];
         meta = {
@@ -3448,7 +3448,7 @@
         version = "1.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/math-symbol-lists-1.3.tar";
-          sha256 = "0h330j7vxmb56z66xgynqlxkr5bnp5id25j0w4ikyms407sdyrbs";
+          sha256 = "1r2acaf79kwwvndqn9xbvq9dc12vr3lryc25yp0w0gksp86p8cfa";
         };
         packageRequires = [];
         meta = {
@@ -3463,7 +3463,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/mct-1.0.0.tar";
-          sha256 = "1gzk0bjvry8wzi35yvghz003rbkz7ky4zd9vafg328b809n9ggff";
+          sha256 = "0f8znz4basrdh56pcldsazxv3mwqir807lsaza2g5bfqws0c7h8k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3477,8 +3477,8 @@
         ename = "memory-usage";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/memory-usage-0.2.el";
-          sha256 = "03qwb7sprdh1avxv3g7hhnhl41pwvnpxcpnqrikl7picy78h1gwj";
+          url = "https://elpa.gnu.org/packages/memory-usage-0.2.tar";
+          sha256 = "04bylvy86x8w96g7zil3jzyac0fijvb5lz4830ja5yabpvsnk3vq";
         };
         packageRequires = [];
         meta = {
@@ -3492,8 +3492,8 @@
         ename = "metar";
         version = "0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/metar-0.3.el";
-          sha256 = "07gv0v0xwb5yzynwagmvf0n5c9wljy1jg4ympnxpa2d9r1zqc02g";
+          url = "https://elpa.gnu.org/packages/metar-0.3.tar";
+          sha256 = "07nf14zm5y6ma6wqnyw5bf7cvk3ybw7hvlrwcnri10s8vh3rqd0r";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3507,8 +3507,8 @@
         ename = "midi-kbd";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/midi-kbd-0.2.el";
-          sha256 = "1783k07gyiaq784wqv8qqc89cw5d6q1bdqz68b7n1lx4vmvfrhmh";
+          url = "https://elpa.gnu.org/packages/midi-kbd-0.2.tar";
+          sha256 = "0jd92rainjd1nx72z7mrvsxs3az6axxiw1v9sbpsj03x8qq0129q";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3523,7 +3523,7 @@
         version = "1.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/mines-1.6.tar";
-          sha256 = "1199s1v4my0qpvc5aaxzbqayjn59vilxbqnywvyhvm7hz088aps2";
+          sha256 = "0j52n43mv963hpgdh5kk1k9wi821r6w3diwdp47rfwsijdd0wnhs";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3538,7 +3538,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/minibuffer-header-0.5.tar";
-          sha256 = "1nw53h34izm0z8njsf6jacc40fhg4x5l8r403ysmw2ps89i80p36";
+          sha256 = "1qic33wsdba5xw3qxigq18nibwhj45ggk0ragy4zj9cfy1l2ni44";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3552,8 +3552,8 @@
         ename = "minibuffer-line";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/minibuffer-line-0.1.el";
-          sha256 = "1ny4iirp26na5118wfgxlv6fxlrdclzdbd9m0lkrv51w0qw7spil";
+          url = "https://elpa.gnu.org/packages/minibuffer-line-0.1.tar";
+          sha256 = "0sg9vhv7bi82a90ziiwsabnfvw8zp544v0l93hbl42cj432bpwfx";
         };
         packageRequires = [];
         meta = {
@@ -3567,8 +3567,8 @@
         ename = "minimap";
         version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/minimap-1.4.el";
-          sha256 = "09fm0ziy8cdzzw08l7l6p63dxz2a27p3laia2v51mvbva8177ls1";
+          url = "https://elpa.gnu.org/packages/minimap-1.4.tar";
+          sha256 = "0n27wp65x5n21qy6x5dhzms8inf0248kzninp56kfx1bbf9w4x66";
         };
         packageRequires = [];
         meta = {
@@ -3583,7 +3583,7 @@
         version = "0.5.11";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/mmm-mode-0.5.11.tar";
-          sha256 = "07pda4bvvcmdwkwh8dnfqgvhkdni2wjgps1094kn1j5c9j254741";
+          sha256 = "0dh76lk0am07j2zi7hhbmr6cnnss7l0b9rhi9is0w0n5i7j4i0p2";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3598,7 +3598,7 @@
         version = "4.4.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/modus-themes-4.4.0.tar";
-          sha256 = "1n6fmgj2kpdy2mmwg5hh6dic30zy0gd3ap6hlipl9qn08lawbbgq";
+          sha256 = "1bqvyf8xq55dligwqhw4d6z9bv529rhnijxv5y5gdlzap973bf71";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3613,7 +3613,7 @@
         version = "1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/mpdired-1.tar";
-          sha256 = "1b7xsdgsrwy7qkshkk83bizz9r78g4pdfnavwl6riyb947gk6zkx";
+          sha256 = "08lc0j25kxisykd2l9v4iamalmm5hzsnsm026v808krny28wwbp3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3628,7 +3628,7 @@
         version = "1.14";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/multi-mode-1.14.tar";
-          sha256 = "0aslndqr0277ai0iwywbmj07vmz88vpmc0mgydcy4li8fkn8h066";
+          sha256 = "0i2l50lcsj3mm9k38kfmh2hnb437pjbk2yxv26p6na1g1n44lkil";
         };
         packageRequires = [];
         meta = {
@@ -3643,7 +3643,7 @@
         version = "1.1.10";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/multishell-1.1.10.tar";
-          sha256 = "1ipn9rlh9jg55i04adjy32n8dkjhhw1bcd72w97mlsdk66g8j6l3";
+          sha256 = "1khqc7a04ynl63lpv898361sv37jgpd1fzvl0ryphprv9shnhw10";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3672,8 +3672,8 @@
         ename = "myers";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/myers-0.1.el";
-          sha256 = "0yrxklkksj16cfbvwmdxjj43vngjd6q0fivib1xim3c9g3c9b670";
+          url = "https://elpa.gnu.org/packages/myers-0.1.tar";
+          sha256 = "0a053w7nj0qfryvsh1ss854wxwbk5mhkl8a5nprcfgsh4qh2m487";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3688,7 +3688,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/nadvice-0.4.tar";
-          sha256 = "0ac7zxi04gzcd5hz81lib1db3c6a7xmwkb381ljxvaha1mlzp1k0";
+          sha256 = "19dx07v4z2lyyp18v45c5hgp65akw58bdqg5lcrzyb9mrlji8js6";
         };
         packageRequires = [];
         meta = {
@@ -3702,8 +3702,8 @@
         ename = "nameless";
         version = "1.0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nameless-1.0.2.el";
-          sha256 = "13c1payc46ry5bf8ia8cwqpshm2ya74fi5r4sxq5n410z5f0pgqx";
+          url = "https://elpa.gnu.org/packages/nameless-1.0.2.tar";
+          sha256 = "0m3z701j2i13zmr4g0wjd3ms6ajr6w371n5kx95n9ssxyjwjppcm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3711,21 +3711,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    names = callPackage ({ cl-lib ? null
-                         , elpaBuild
-                         , emacs
-                         , fetchurl
-                         , lib
-                         , nadvice }:
+    names = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "names";
         ename = "names";
         version = "20151201.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/names-20151201.0.tar";
-          sha256 = "13smsf039x4yd7pzvllgn1vz8lhkwghnhip9y2bka38vk37w912d";
+          sha256 = "0nf6n8hk58a7r56d899s5dsva3jjvh3qx9g2d1hra403fwlds74k";
         };
-        packageRequires = [ cl-lib emacs nadvice ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/names.html";
           license = lib.licenses.free;
@@ -3738,7 +3733,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/nano-agenda-0.3.tar";
-          sha256 = "1ip21vjapcrla6j0qbjkcrdhs6xq773cswmwbhnsxb3xpzsa1z7x";
+          sha256 = "12sh6wqqd13sv966wj4k4djidn238fdb6l4wg3z9ib0dx36nygcr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3753,7 +3748,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/nano-modeline-1.0.1.tar";
-          sha256 = "1bjxsqbi540cx2zxzrps2bdwj3hkaxw1s9wha1lrldhvckq7dm91";
+          sha256 = "0frvg9zy9i8qqb6il0csxmgxsd373n696kwz1xqq28jikvhzkwyy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3768,7 +3763,7 @@
         version = "0.3.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/nano-theme-0.3.4.tar";
-          sha256 = "1hfw6zxnzm4x55iqk1pg6nlp79c86np856bbdac4nv65ff4dkiqq";
+          sha256 = "0x49lk0kx8mz72a81li6gwg3kivn7bn4ld0mml28smzqqfr3873a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3783,7 +3778,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/nftables-mode-1.1.tar";
-          sha256 = "0wcd31frnvxzkns4jdfxraai0bfi1184wcn64r8lg73h933p47iz";
+          sha256 = "1wjw6n60kj84j8gj62mr6s97xd0aqvr4v7npyxwmhckw9z13xcqv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3801,8 +3796,8 @@
         ename = "nhexl-mode";
         version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nhexl-mode-1.5.el";
-          sha256 = "0qvxfg7sv4iqyjxzaim6b4v9k5hav36qd4vkf9jwzw6p5fri8w8d";
+          url = "https://elpa.gnu.org/packages/nhexl-mode-1.5.tar";
+          sha256 = "1i1by5bp5dby2r2jhzr0jvnchrybgnzmc5ln84w66180shk2s3yk";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3816,8 +3811,8 @@
         ename = "nlinum";
         version = "1.9";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nlinum-1.9.el";
-          sha256 = "03zqlz58fvh4cpfl43h7py2fpnc7m37f1ys8zhrc511ccq9cwkdn";
+          url = "https://elpa.gnu.org/packages/nlinum-1.9.tar";
+          sha256 = "1cpyg6cxaaaaq6hc066l759dlas5mhn1fi398myfglnwrglia3lm";
         };
         packageRequires = [];
         meta = {
@@ -3829,10 +3824,10 @@
       elpaBuild {
         pname = "notes-mode";
         ename = "notes-mode";
-        version = "1.30";
+        version = "1.31";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/notes-mode-1.30.tar";
-          sha256 = "1aqivlfa0nk0y27gdv68k5rg3m5wschh8cw196a13qb7kaghk9r6";
+          url = "https://elpa.gnu.org/packages/notes-mode-1.31.tar";
+          sha256 = "0lwja53cknd1w432mcbfrcshmxmk23dqrbr9k2101pqfzbw8nri2";
         };
         packageRequires = [];
         meta = {
@@ -3847,7 +3842,7 @@
         version = "1.1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/notmuch-indicator-1.1.0.tar";
-          sha256 = "0k5csfrs8y1r6g7hs2y0961jpx0ih090kb6rkijljny2qhfj0573";
+          sha256 = "1g30hzb238w9cnxqw8w7gw5l8sl4rx122napmm9rx974hdk3zk9k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3861,8 +3856,8 @@
         ename = "ntlm";
         version = "2.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ntlm-2.1.0.el";
-          sha256 = "01d0bcmh8a36qf871w6bc05kjk9bmnh843m9869xw06zyvqwg9mv";
+          url = "https://elpa.gnu.org/packages/ntlm-2.1.0.tar";
+          sha256 = "0kivmb6b57qjrwd41zwlfdq7l9nisbh4mgd96rplrkxpzw6dq0j7";
         };
         packageRequires = [];
         meta = {
@@ -3877,7 +3872,7 @@
         version = "1.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/num3-mode-1.5.tar";
-          sha256 = "0i01v0sl0wi98xvc3wkk2lwc3nxmnhhpyrhr9gn88x5ygc0p4rdw";
+          sha256 = "1a7w2qd210zp199c1js639xbv2kmqmgvcqi5dn1vsazasp2dwlj2";
         };
         packageRequires = [];
         meta = {
@@ -3892,7 +3887,7 @@
         version = "0.16";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/oauth2-0.16.tar";
-          sha256 = "1rzly2nwjywrfgcmp8zidbmjl2ahyd8l8507lb1mxm4xqryvf316";
+          sha256 = "0bz4gqg5bhv6zk875q7sb0y56yvylnv0chj77ivjjpkha6rdp311";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -3907,7 +3902,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ob-asymptote-1.0.tar";
-          sha256 = "0m9i21zailg7drglm19v9ysyigzvz3p2r3q069a3n04di56d4629";
+          sha256 = "1hmqbkrqg18w454xg37rg5cg0q3vd0b0fm14n5chihqrwwnwrf4l";
         };
         packageRequires = [];
         meta = {
@@ -3922,7 +3917,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ob-haxe-1.0.tar";
-          sha256 = "1x19b3aappv4d3mvpf01r505l1sfndbzbpr5sbid411g9g9k3rwr";
+          sha256 = "095qcvxpanw6fh96dfkdydn10xikbrjwih7i05iiyvazpk4x6nbz";
         };
         packageRequires = [];
         meta = {
@@ -3937,7 +3932,7 @@
         version = "0.8.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/objed-0.8.3.tar";
-          sha256 = "1s38d6bvggdk5p45ww1jb4gxifzgjwgw1m6ar920nlg0j4fgbcvr";
+          sha256 = "1shgpha6f1pql95v86whsw6w6j7v35cas98fyygwrpkcrxx9a56r";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3949,10 +3944,10 @@
       elpaBuild {
         pname = "omn-mode";
         ename = "omn-mode";
-        version = "1.2";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/omn-mode-1.2.el";
-          sha256 = "0p7lmqabdcn625q9z7libn7q1b6mjc74bkic2kjhhckzvlfjk742";
+          url = "https://elpa.gnu.org/packages/omn-mode-1.3.tar";
+          sha256 = "01yg4ifbz7jfhvq6r6naf50vx00wpjsr44mmlj580bylfrmdc839";
         };
         packageRequires = [];
         meta = {
@@ -3966,8 +3961,8 @@
         ename = "on-screen";
         version = "1.3.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/on-screen-1.3.3.el";
-          sha256 = "0ga4hw23ki583li2z2hr7l6hk1nc2kdg4afndg06cm9jn158wza7";
+          url = "https://elpa.gnu.org/packages/on-screen-1.3.3.tar";
+          sha256 = "0w5cv3bhb6cyjhvglp5y6cy51ppsh2xd1x53i4w0gm44g5n8l6bd";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -3982,7 +3977,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/openpgp-1.0.1.tar";
-          sha256 = "1cm6c8394869dw2a5ykb92crz7c4pdav82a8nslbi533knxn7wn6";
+          sha256 = "052wh38q6r09avxa0bgc5gn4769763zmgijza76mb0b3lzj66syv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3997,7 +3992,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/orderless-1.1.tar";
-          sha256 = "19iy0ps8h1qjh16mdybayd9i25bn27sa2slqsa6nslh251pxc0rk";
+          sha256 = "1qjxln21ydc86kabk5kwa6ky40qjqcrk5nmc92w42x3ypxs711f3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4009,10 +4004,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.6.23";
+        version = "9.6.28";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-9.6.23.tar";
-          sha256 = "0yqn3kag4anzm8ahfgjxrxjndzq6rbs6kayfq93gx4rn0qxa334q";
+          url = "https://elpa.gnu.org/packages/org-9.6.28.tar";
+          sha256 = "1slh28vjwhb65q0630p1syv6ampdsqgrdmisyj4f328g3j2brpkw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4027,7 +4022,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-contacts-1.1.tar";
-          sha256 = "1kzdw9kbnpryxdb9ywh2va4nnjcxw6asszf5n7a95rw2gl6m3l10";
+          sha256 = "0gqanhnrxajx5cf7g9waks23sclbmvmwjqrs0q4frcih3gs2nhix";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4042,7 +4037,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-edna-1.1.2.tar";
-          sha256 = "1a022ssqpxbkp03n2bij78srwjx7kacpsgj9a6wbm0yn946hgjpz";
+          sha256 = "1pifs5mbcjab21ylclck4kjdcds1xkvym27ncn9wwr8fl3fff2yl";
         };
         packageRequires = [ emacs org seq ];
         meta = {
@@ -4057,7 +4052,7 @@
         version = "0.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-jami-bot-0.0.5.tar";
-          sha256 = "0nh0sp1l8hn568n6j11nkl42rm6b3gbjwi3lsf6vanr0lzvrl58r";
+          sha256 = "1fiv0a7k6alvfvb7c6av0kbkwbw58plw05hhcf1vnkr9gda3s13y";
         };
         packageRequires = [ emacs jami-bot ];
         meta = {
@@ -4072,7 +4067,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-modern-1.2.tar";
-          sha256 = "1kgvrsmbgadbr7wk48sgx1prlgpbp31nih9bl9div35d496njcnw";
+          sha256 = "1bm8kkcrn0glsb69sapj1zmb2ygd4sxksb3gag4hw1v5w3g51jjh";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -4087,7 +4082,7 @@
         version = "0.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-notify-0.1.1.tar";
-          sha256 = "0y0zj7sri7m0q3nibwv0m1snkwhma403hbxpcd346xk3s3ljiz2k";
+          sha256 = "1vg0h32x5lc3p5n71m23q8mfdd1fq9ffmy9rsm5rcdphfk8s9x5l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4099,10 +4094,10 @@
       elpaBuild {
         pname = "org-real";
         ename = "org-real";
-        version = "1.0.7";
+        version = "1.0.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-real-1.0.7.tar";
-          sha256 = "16isfsaxmgxiqfqx4lcsqlxazxjgxakr0k9pgpam13bqqqkq3cmp";
+          url = "https://elpa.gnu.org/packages/org-real-1.0.8.tar";
+          sha256 = "03g12czy833yzj7idkharsbl2zd1ajnsf7ay8qxqljwqrz8m91gw";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -4114,10 +4109,10 @@
       elpaBuild {
         pname = "org-remark";
         ename = "org-remark";
-        version = "1.2.1";
+        version = "1.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-remark-1.2.1.tar";
-          sha256 = "0xf10kgb0g4y9i4s1d3a1i5a119a1pijzhp5xxj2b2wyvjs2g3yk";
+          url = "https://elpa.gnu.org/packages/org-remark-1.2.2.tar";
+          sha256 = "01iprzgbyvbfpxp6fls4lfx2lxx7xkff80m35s9kc0ih5jlxc5qs";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4132,7 +4127,7 @@
         version = "1.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-transclusion-1.3.2.tar";
-          sha256 = "02r48jzr5zivk11c3c3a9vj1cixfgf1wlmv1kjr5bxldayhg7aqb";
+          sha256 = "14w9n10s6nh3nylkx3xzbqjb9pp4dja85agh0h2bzlbkaq4j7vij";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4147,7 +4142,7 @@
         version = "0.1.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/org-translate-0.1.4.tar";
-          sha256 = "0dvg3h8mmzlqfg60rwxjgy17sqv84p6nj2ngjdafkp9a4halv0g7";
+          sha256 = "0s0vqpncb6rvhpxdir5ghanjyhpw7bplqfh3bpgri5ay2b46kj4f";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -4162,7 +4157,7 @@
         version = "1.14";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/orgalist-1.14.tar";
-          sha256 = "08gx8aqi7ph75vhhss2xl1lfypzy8a3zmj7w8flcrvz1nk0z738s";
+          sha256 = "02diwanqldzr42aaa5kqcj1xgxmf1k6rqhk9zv40psqpzgd1yms5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4177,7 +4172,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/osc-0.4.tar";
-          sha256 = "0zfrzxalvvf9wwwhwsqgl3v2ca6m2rfl5hd7sz662s6gmbwawqqa";
+          sha256 = "1ls6v0mkh7z90amrlczrvv6mgpv6hzzjw0zlxjlzsj2vr1gz3vca";
         };
         packageRequires = [];
         meta = {
@@ -4192,7 +4187,7 @@
         version = "1.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/osm-1.3.tar";
-          sha256 = "09c6wgq470hi2kgk7s8pbcqaggw13hg3f2zz5qwi68hfh7nq7z7k";
+          sha256 = "0s5k6akdvbm9gsgzjlz795vgfy3pkl4qdk45p16p40f59dr49g4r";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -4206,8 +4201,8 @@
         ename = "other-frame-window";
         version = "1.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/other-frame-window-1.0.6.el";
-          sha256 = "04h0jr73xv8inm52h8b8zbc9lsnlzkn40qy99x4x0lkkdqqxw1ny";
+          url = "https://elpa.gnu.org/packages/other-frame-window-1.0.6.tar";
+          sha256 = "1x8i6hbl48vmp5h43drr35lwaiwhcyr3vnk7rcyim5jl2ijw8yc0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4222,7 +4217,7 @@
         version = "4.3.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/pabbrev-4.3.0.tar";
-          sha256 = "0a54ld80s0r9zrc2kd861p4ii3jzqhxykzcnvi64fhxxg3x2aggx";
+          sha256 = "1fplbmzqz066gsmvmf2indg4n348vdgs2m34dm32gnrjghfrxxhs";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4237,7 +4232,7 @@
         version = "1.1.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/paced-1.1.3.tar";
-          sha256 = "1gaszf68h0nnv6p6yzv48m24csw6v479nsq0f02y6slixxaflnwl";
+          sha256 = "0j2362zq22j6qma6bb6jh6qpd12zrc161pgl9cfhnq5m3s9i1sz4";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -4267,7 +4262,7 @@
         version = "0.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/parser-generator-0.2.1.tar";
-          sha256 = "17kqkqz3d29pmn8ydw5kxs2fdgwqh0q31f13hdf1bnw009j24rl9";
+          sha256 = "1vrgkvcj16550frq2jivw31cmq6rhwrifmdk4rf0266br3jdarpf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4282,7 +4277,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/path-iterator-1.0.tar";
-          sha256 = "0kgl7rhv9x23jyr6ahfy6ql447zpz9fnmfwldkpn69g7jdx6a3cc";
+          sha256 = "0v9gasc0wlqd7pks6k3695md7mdfnaknh6xinmp4pkvvalfh7shv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4297,7 +4292,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/peg-1.0.1.tar";
-          sha256 = "0yxfwwwc6fck1p9smcm1dwnva42868xvavhy7j749vlxrgb3v94x";
+          sha256 = "14ll56fn9n11nydydslp7xyn79122dprm89i181ks170v0qcsps3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4312,7 +4307,7 @@
         version = "0.81";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/perl-doc-0.81.tar";
-          sha256 = "1hbf36zrpjx0xx257370axxfs1yb3iz6g9kc4wg83gcag09j3lci";
+          sha256 = "1828jfl5dwk1751jsrpr2gr8hs1x315xlb9vhiis8frzvqmsribw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4327,7 +4322,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/persist-0.6.tar";
-          sha256 = "0n68dshbbyrs713989bllmm1vypch8766hc8b4y989nmyclixjwp";
+          sha256 = "1p6h211xk0lrk4zqlm51rsms5lza9ymx6ayh9ij0afqrjqgffw77";
         };
         packageRequires = [];
         meta = {
@@ -4339,10 +4334,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.48";
+        version = "0.4.49";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.48.tar";
-          sha256 = "1nm1j0f77afmwhb5cavk60nn4ifnx5qaycdy0c7qj8w3vdhyn3da";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.49.tar";
+          sha256 = "1zxzv6h2075s0ldwr9izfy3sxrrg3x5y5vilnlgnwd7prcq8qa8y";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4356,8 +4351,8 @@
         ename = "pinentry";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pinentry-0.1.el";
-          sha256 = "0iiw11prk4w32czk69mvc3x6ja9xbhbvpg9b0nidrsg5njjjh76d";
+          url = "https://elpa.gnu.org/packages/pinentry-0.1.tar";
+          sha256 = "0i5g4yj2qva3rp8ay2fl9gcmp7q42caqryjyni8r5h4f3misviwq";
         };
         packageRequires = [];
         meta = {
@@ -4369,10 +4364,10 @@
       elpaBuild {
         pname = "plz";
         ename = "plz";
-        version = "0.7.2";
+        version = "0.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/plz-0.7.2.tar";
-          sha256 = "1qpr4j5rqpvr17arxrrix1z9fzbqy1mddakyylqbvm9lg5yg2wnk";
+          url = "https://elpa.gnu.org/packages/plz-0.8.tar";
+          sha256 = "0kg275kq5hi83ry0n83w8pi0qn2lmlv9gnxcbwf1dcqk7n9i2v64";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4387,7 +4382,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/plz-see-0.1.tar";
-          sha256 = "0dmckrny21rlm5spiwx7j6q0xikzwlsrhg8yz890w47zpdxpl3bb";
+          sha256 = "1mi35d9b26d425v1kkmmbh477klcxf76fnyg154ddjm0nkgqq90d";
         };
         packageRequires = [ emacs plz ];
         meta = {
@@ -4402,7 +4397,7 @@
         version = "3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/poke-3.2.tar";
-          sha256 = "0rhcz7kg20j72hf9rhq5zacdak8ayhn4cnwhgq9qwr18z00bxxm7";
+          sha256 = "15j4g5y427d9mja2irv3ak6x60ik4kpnscnwl9pqym7qly7sa3v9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4417,7 +4412,7 @@
         version = "3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/poke-mode-3.1.tar";
-          sha256 = "1lirhws5d8l16qs5ddrvvz0f9xfl004q9yp333pdgsmcpk3ww7sr";
+          sha256 = "0g4vd26ahkmjxlcvqwd0mbk60qaf6c9zba9x7bb9pqabka9438y1";
         };
         packageRequires = [];
         meta = {
@@ -4431,8 +4426,8 @@
         ename = "poker";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/poker-0.2.el";
-          sha256 = "0sikspimvnzvwhyivi1gvr0630zz2pr3q2fwagl57iv06jas9f00";
+          url = "https://elpa.gnu.org/packages/poker-0.2.tar";
+          sha256 = "10lfc6i4f08ydxanidwiq9404h4nxfa0vh4av5rrj6snqzqvd1bw";
         };
         packageRequires = [];
         meta = {
@@ -4447,7 +4442,7 @@
         version = "0.4.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/popper-0.4.6.tar";
-          sha256 = "0zkrhpplgs6h4xz0ma5nc4pvlkdgdzqwlqlw57xspqbc2f1bds5s";
+          sha256 = "0xwy4p9g0lfd4ybamsl5gsppmx79yv16s4lh095x5y5qfmgcvq2c";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4459,10 +4454,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "1.4.2";
+        version = "1.4.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-1.4.2.tar";
-          sha256 = "0ca43wgbr0n5ri7cyxjmn7blq59xq43rx9z9q02a2j4yn05w8nss";
+          url = "https://elpa.gnu.org/packages/posframe-1.4.3.tar";
+          sha256 = "1kw37dhyd6qxj0h2qpzi539jrgc0pj90psf2k58z4jc9199bgsax";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4477,7 +4472,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/pq-0.2.tar";
-          sha256 = "0gy3i2l1fxwpav6l57yf3mml15lhwh9xp8sm40hlpgyn15nyz4c6";
+          sha256 = "0d8ylsbmypaj29w674a4k445zr6hnggic8rsv7wx7jml6p2zph2n";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4492,7 +4487,7 @@
         version = "0.10.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/project-0.10.0.tar";
-          sha256 = "060iw06c60vjy1bp771zz0n24x4s7kpyvdjs51147v2kz35n08pb";
+          sha256 = "07lv41asdah2v3k6nrc73z3pjhsm7viygr12ly9p96g2yw11irg6";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -4507,7 +4502,7 @@
         version = "1.3.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/psgml-1.3.5.tar";
-          sha256 = "12ndv9xj4zg0k2vas4bmpf2iwy71hy203zxfd7sfwskdd96kzjjv";
+          sha256 = "1lfk95kr43az6ykfyhj7ygccw3ms2ifyyp43w9lwm5fcawgc8952";
         };
         packageRequires = [];
         meta = {
@@ -4537,7 +4532,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/pulsar-1.0.1.tar";
-          sha256 = "0qknyd6ihqg4n940yll5v2hz3w07fsp4mbdfh7drbws13c1ivnly";
+          sha256 = "0xljxkls6lckfg5whx2kb44dp67q2jfs7cbk6ih5b3zm6h599d4k";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4552,7 +4547,7 @@
         version = "5.3.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/pyim-5.3.3.tar";
-          sha256 = "04dz3gdqq6pcxycpzkzzmhbg6lk629v41y64jlh6si21jwfr6wnx";
+          sha256 = "03khpd3skv7ijmnn721dvila8x6pvg9pl4p7djyz8m59xgvv55dp";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -4567,7 +4562,7 @@
         version = "0.5.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/pyim-basedict-0.5.4.tar";
-          sha256 = "1zppp12217aakawgndy6daxpw1098lh7lsjar2wwd4qv4xs0d4p6";
+          sha256 = "0i42i9jr0p940w17fjjrzd258winjl7sv4g423ihd6057xmdpyd8";
         };
         packageRequires = [];
         meta = {
@@ -4582,7 +4577,7 @@
         version = "0.28";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/python-0.28.tar";
-          sha256 = "1kc596b8bbcp8y87kqyxsv3bblz8l0vyc0d645ayb1cmwwvk35d5";
+          sha256 = "042jhg87bnc750wwjwvp32ici3pyswx1pza2qz014ykdqqnsx0aq";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -4596,8 +4591,8 @@
         ename = "quarter-plane";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/quarter-plane-0.1.el";
-          sha256 = "0hj3asdzf05h8j1fsxx9y71arnprg2xwk2dcb81zj04hzggzpwmm";
+          url = "https://elpa.gnu.org/packages/quarter-plane-0.1.tar";
+          sha256 = "06syayqdmh4nb7ys52g1mw01wnz5hjv710dari106fk8fm9cy18c";
         };
         packageRequires = [];
         meta = {
@@ -4611,8 +4606,8 @@
         ename = "queue";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/queue-0.2.el";
-          sha256 = "0cx2848sqnnkkr4zisvqadzxngjyhmb36mh0q3if7q19yjjhmrkb";
+          url = "https://elpa.gnu.org/packages/queue-0.2.tar";
+          sha256 = "117g6sl5dh7ssp6m18npvrqik5rs2mnr16129cfpnbi3crsw23c8";
         };
         packageRequires = [];
         meta = {
@@ -4627,7 +4622,7 @@
         version = "1.0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.6.tar";
-          sha256 = "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527";
+          sha256 = "0xv39jix1gbwq6f8laj93sqkf2j5hwda3l7mjqc7vsqjw1lkhmjv";
         };
         packageRequires = [];
         meta = {
@@ -4641,8 +4636,8 @@
         ename = "rbit";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rbit-0.1.el";
-          sha256 = "0h0f9jx4xmkbyxk39wibrvnj65b1ylkz4sk4np7qcavfjs6dz3lm";
+          url = "https://elpa.gnu.org/packages/rbit-0.1.tar";
+          sha256 = "1xfl3m53bdi25h8mp7s0zp1yy7436cfydxrgkfc31fsxkh009l9h";
         };
         packageRequires = [];
         meta = {
@@ -4657,7 +4652,7 @@
         version = "0.4.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rcirc-color-0.4.5.tar";
-          sha256 = "0j2bcx2dplcy5zgh9zdhla8i12rq916ilbnw4ns83xdg7k0dwncf";
+          sha256 = "0sfwmi0sspj7sx1psij4fzq1knwva8706w0204mbjxsq2nh5s9f3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4684,10 +4679,10 @@
       elpaBuild {
         pname = "rcirc-sqlite";
         ename = "rcirc-sqlite";
-        version = "0.1.4";
+        version = "1.0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rcirc-sqlite-0.1.4.tar";
-          sha256 = "0hz0nm35jq6fg9pr4j725r2awxbf1q23bzn85nhcbpafzb8mmajl";
+          url = "https://elpa.gnu.org/packages/rcirc-sqlite-1.0.1.tar";
+          sha256 = "0n0492s500gplmv7l8n8l7s3rpm1nli3n706n9f91qc15z6p6mcv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4708,7 +4703,7 @@
         version = "1.5.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/realgud-1.5.1.tar";
-          sha256 = "01155sydricdvxy3djk64w2zc6x0q4j669bvz8m8rd766wsmida8";
+          sha256 = "1iisvzxvdsifxkz7b2wacw85dkjagrmbcdhcfsnswnfbp3r3kg35";
         };
         packageRequires = [ emacs load-relative loc-changes test-simple ];
         meta = {
@@ -4716,21 +4711,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    realgud-ipdb = callPackage ({ elpaBuild
-                                , emacs
-                                , fetchurl
-                                , lib
-                                , load-relative
-                                , realgud }:
+    realgud-ipdb = callPackage ({ elpaBuild, emacs, fetchurl, lib, realgud }:
       elpaBuild {
         pname = "realgud-ipdb";
         ename = "realgud-ipdb";
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/realgud-ipdb-1.0.0.tar";
-          sha256 = "1ljh2igm6na92jdvnn4f51019v3klc6k03nayxf6qxzaxwq2w254";
+          sha256 = "0zmgsrb15rmgszidx4arjazb6fz523q5w516z5k5cn92wfzfyncr";
         };
-        packageRequires = [ emacs load-relative realgud ];
+        packageRequires = [ emacs realgud ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/realgud-ipdb.html";
           license = lib.licenses.free;
@@ -4769,7 +4759,7 @@
         version = "1.0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/realgud-lldb-1.0.2.tar";
-          sha256 = "0nqbvknhvw5lwf4i44q8wvh4y4s9mvs5kn7lskg3xicl464ag1d0";
+          sha256 = "1g4spjrldyi9rrh5dwrcqpz5qm37fq2qpvmirxvdqgfbwl6gapzj";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -4832,7 +4822,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/realgud-trepan-ni-1.0.1.tar";
-          sha256 = "0vakfzlk4pgqi66mdvwqhzgdsnks6clgnj7cjjbi80v3ipkfdnak";
+          sha256 = "09vllklpfc0q28ankp2s1v10kwnxab4g6hb9zn63d1rfa92qy44k";
         };
         packageRequires = [ cl-lib emacs load-relative realgud ];
         meta = {
@@ -4852,7 +4842,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/realgud-trepan-xpy-1.0.1.tar";
-          sha256 = "0qd9hcq7a9vn453rs4pf3p8wwh7fynxhim9j6sf97lm8pilif9yd";
+          sha256 = "13fll0c6p2idg56q0czgv6s00vvb585b40dn3b14hdpy0givrc0x";
         };
         packageRequires = [ emacs load-relative realgud ];
         meta = {
@@ -4867,7 +4857,7 @@
         version = "1.9.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rec-mode-1.9.3.tar";
-          sha256 = "15m0h84fcrcxpx67mc9any4ap2dcqysfjm1d2a7sx4clx8h3mgk0";
+          sha256 = "00hps4pi7r20qqqlfl8g5dqwipgyqqrhxc4hi5igl0rg563jc1wx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4881,8 +4871,8 @@
         ename = "register-list";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/register-list-0.1.el";
-          sha256 = "1azgfm4yvhp2bqqplmfbz1fij8gda527lks82bslnpnabd8m6sjh";
+          url = "https://elpa.gnu.org/packages/register-list-0.1.tar";
+          sha256 = "01w2yyvbmnkjrmx5f0dk0327c0k7fvmgi928j6hbvlrp5wk6s394";
         };
         packageRequires = [];
         meta = {
@@ -4897,7 +4887,7 @@
         version = "1.24";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/relint-1.24.tar";
-          sha256 = "0wc7jzapzc4s7v7yqwp315ymbs6xighy2clx1ylvf60zs49y2bwm";
+          sha256 = "0pnv2pkx5jq30049zplrmspkm1cc7p6vy9xfv215d27v8nas0374";
         };
         packageRequires = [ emacs xr ];
         meta = {
@@ -4912,7 +4902,7 @@
         version = "1.2.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/repology-1.2.4.tar";
-          sha256 = "0l53wl0bk8rnqwsjdh1hwvkvbay080l10bslcj3scn42bgbi59j1";
+          sha256 = "0nj4dih9mv8crqq8rd4k8dzgq7l0195syfxsf2gyikmqz9sjbr85";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4927,7 +4917,7 @@
         version = "1.0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rich-minority-1.0.3.tar";
-          sha256 = "1w61qvx2rw6a6gmrm61080zghil95nzdv4w06c0pvyb62m4rwab0";
+          sha256 = "0npk6gnr2m4mfv40y2m265lxk1dyn8fd6d90vs3j2xrhpybgbln2";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -4942,7 +4932,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rnc-mode-0.3.tar";
-          sha256 = "1bd4pxaijcs0w8v9r7x9aiqyqf1rl46153dxl0ilhm3fc90iyf2r";
+          sha256 = "1p03g451888v86k9z6g8gj375p1pcdvikgk1phxkhipwi5hbf5g8";
         };
         packageRequires = [];
         meta = {
@@ -4957,7 +4947,7 @@
         version = "7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rt-liberation-7.tar";
-          sha256 = "0gb1an3a68ib27jrc8x8grq5z3xya4b1gl8ii82a1clzf87n7k63";
+          sha256 = "0bi1qyc4n4ar0rblnddmlrlrkdvdrvv54wg4ii39hhxij4p6niif";
         };
         packageRequires = [];
         meta = {
@@ -4972,7 +4962,7 @@
         version = "0.4.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ruby-end-0.4.3.tar";
-          sha256 = "0b6hh31vpyv6j86v97migw4if2i9m95075p0bf5ai61cqb42crg4";
+          sha256 = "07175v9fy96lmkfa0007lhx7v3fkk77iwca3rjl94dgdp4b8lbk5";
         };
         packageRequires = [];
         meta = {
@@ -4993,7 +4983,7 @@
         version = "0.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/rudel-0.3.2.tar";
-          sha256 = "03hcvpp6ykavidwn5x48gs986w1i5icvh7ks6p74pdaagpgw4jmk";
+          sha256 = "00rs2fy64ybam26szpc93miwajq42acyh0dkg0ixr95mg49sc46j";
         };
         packageRequires = [ cl-generic cl-lib cl-print emacs ];
         meta = {
@@ -5008,7 +4998,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/satchel-0.2.tar";
-          sha256 = "1ajsfrr988nglw2l4kqjbbdq9x8gidv0ymsrg3jm2b9nisfhnixv";
+          sha256 = "115rkq2ygawsg8ph44zfqwsd9ykm4370v0whgjwhc1wx2iyn5ir9";
         };
         packageRequires = [ emacs project ];
         meta = {
@@ -5023,7 +5013,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/scanner-0.2.tar";
-          sha256 = "1nbfpgndjkv7mr81bxy58k4y13lc4cidyz9mbwh7433r8rfhymb5";
+          sha256 = "1c42mg7m6fa7xw3svv741sgrc9zjl1zcq0vg45k61iqmnx8d44vp";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -5037,8 +5027,8 @@
         ename = "scroll-restore";
         version = "1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/scroll-restore-1.0.el";
-          sha256 = "0h55szlmkmzmcvd6gvv8l74n7y64i0l78nwwmq7xsbzprlmj6khn";
+          url = "https://elpa.gnu.org/packages/scroll-restore-1.0.tar";
+          sha256 = "1i9ld1l5h2cpzf8bzk7nlk2bcln48gya8zrq79v6rawbrwdlz2z4";
         };
         packageRequires = [];
         meta = {
@@ -5053,7 +5043,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sed-mode-1.1.tar";
-          sha256 = "1vpfzr95xfvjiq7x1pkhjm96936yzsy9bzm1v8p3hyr486bar0mp";
+          sha256 = "0zhga0xsffdcinh10di046n6wbx35gi1zknnqzgm9wvnm2iqxlyn";
         };
         packageRequires = [];
         meta = {
@@ -5068,7 +5058,7 @@
         version = "2.24";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/seq-2.24.tar";
-          sha256 = "1w2cysad3qwnzdabhq9xipbslsjm528fcxkwnslhlkh8v07karml";
+          sha256 = "13x8l1m5if6jpc8sbrbx9r64fyhh450ml6vfm92p6i5wv6gl74w6";
         };
         packageRequires = [];
         meta = {
@@ -5080,10 +5070,10 @@
       elpaBuild {
         pname = "setup";
         ename = "setup";
-        version = "1.3.2";
+        version = "1.4.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/setup-1.3.2.tar";
-          sha256 = "1sr514w4mn0fbdawjb5p0fd6i6q2zi9737rbwcgakb1l9cqvb5qy";
+          url = "https://elpa.gnu.org/packages/setup-1.4.0.tar";
+          sha256 = "0id7j8xvbkbpfiv7m55dl64y27dpiczljagldf4p9q6qwlhf42f7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5098,7 +5088,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/shelisp-1.0.0.tar";
-          sha256 = "05r26gy1ajl47ir0yz5gn62xw2f31vdq04n3r8ywlzxbqyvzlc0d";
+          sha256 = "0zhkk04nj25lmpdlqblfhx3rb415w2f58f7wb19k1s2ry4k7m15g";
         };
         packageRequires = [];
         meta = {
@@ -5113,7 +5103,7 @@
         version = "2.4.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/shell-command+-2.4.2.tar";
-          sha256 = "1ldvil6hjs8c7wpdwx0jwaar867dil5qh6vy2k27i1alffr9nnqm";
+          sha256 = "1kjj8n3nws7dl7k3ksnfx0s0kwvqb9wzy9k42xs5s51k7xrp1l18";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5128,7 +5118,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/shen-mode-0.1.tar";
-          sha256 = "1dr24kkah4hr6vrfxwhl9vzjnwn4n773bw23c3j9bkmlgnbvn0kz";
+          sha256 = "0xskyd0d3krwgrpca10m7l7c0l60qq7jjn2q207n61yw5yx71pqn";
         };
         packageRequires = [];
         meta = {
@@ -5142,8 +5132,8 @@
         ename = "sisu-mode";
         version = "7.1.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/sisu-mode-7.1.8.el";
-          sha256 = "12zs6y4rzng1d7djl9wh3wc0f9fj0bqb7h754rvixvndlr5c10nj";
+          url = "https://elpa.gnu.org/packages/sisu-mode-7.1.8.tar";
+          sha256 = "02cfyrjynwvf2rlnkfy8285ga9kzbg1b614sch0xnxqw81mp7drp";
         };
         packageRequires = [];
         meta = {
@@ -5158,7 +5148,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/site-lisp-0.1.2.tar";
-          sha256 = "07704nz5rrzixmvw65h79rf4fpnf58jrrgbp1brvknidp6j95r0n";
+          sha256 = "1w27nd061y7a5qhdmij2056751wx9nwv89qx3hxcl473iz03b09l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5173,7 +5163,7 @@
         version = "1.0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sketch-mode-1.0.4.tar";
-          sha256 = "1gv03ykr40laf52hm8p0glfsy895jghkp5a8q599zwg5wpz3zdc9";
+          sha256 = "1vrbmyhf9bffy2fkz91apzxla6v8nbv2wb25vxcr9x3smbag9kal";
         };
         packageRequires = [];
         meta = {
@@ -5188,7 +5178,7 @@
         version = "1.2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/slime-volleyball-1.2.0.tar";
-          sha256 = "07xavg6xq5ckrfy5sk5k5ldb46m5w8nw1r1k006ck8f23ajaw5z2";
+          sha256 = "1qlmsxnhja8p873rvb1qj4xsf938bs3hl8qqqsmrm0csvlb9737p";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5200,10 +5190,10 @@
       elpaBuild {
         pname = "sm-c-mode";
         ename = "sm-c-mode";
-        version = "1.1";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/sm-c-mode-1.1.el";
-          sha256 = "1k46628dkmg4bvd5f68lv5kjcjbgm2pd8jc0zhq9n70jwf5z2ip8";
+          url = "https://elpa.gnu.org/packages/sm-c-mode-1.2.tar";
+          sha256 = "0xykl8wkbw5y7ah79zlfzz1k0di9ghfsv2xjxwx7rrb37wny5184";
         };
         packageRequires = [];
         meta = {
@@ -5218,7 +5208,7 @@
         version = "4.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/smalltalk-mode-4.0.tar";
-          sha256 = "1i1w2fk241z10mph92lry8ly55rxr24n1v4840cddpiw81nrqpcn";
+          sha256 = "0ly2qmsbmzd5nd7iaighws10y0yj7p2356fw32pkp0cmzzvc3d54";
         };
         packageRequires = [];
         meta = {
@@ -5232,8 +5222,8 @@
         ename = "smart-yank";
         version = "0.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/smart-yank-0.1.1.el";
-          sha256 = "1v7hbn8pl4bzal31m132dn04rgsgjjcc7k2knd1jqzk1wq6azpdn";
+          url = "https://elpa.gnu.org/packages/smart-yank-0.1.1.tar";
+          sha256 = "08dc4c60jcjyiixyzckxk5qk6s2pl1jmrp4h1bj53ssd1kn4208m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5248,7 +5238,7 @@
         version = "6.12";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sml-mode-6.12.tar";
-          sha256 = "19wyxsnw60lmjbb7ijislpv9vzk9996rh1b0iw7wyrqszfxy2p20";
+          sha256 = "10zp0gi5rbjjxjzn9k6klvdms9k3yxx0qry0wa75a68sj5x2rdzh";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5263,7 +5253,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/so-long-1.1.2.tar";
-          sha256 = "0gb5ypl9phhv8sx7akw9xn7njfq86yqngixhxf8qj1fxp57gfpdb";
+          sha256 = "01qdxlsllpj5ajixkqf7v9p95zn9qnvjdnp30v54ymj2pd0d9a32";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5282,7 +5272,7 @@
         version = "3.2.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/soap-client-3.2.3.tar";
-          sha256 = "0z6af253iwimam03jnpai2h989i6vyv05wdz7dadna6amdryfznc";
+          sha256 = "1yhs661g0vqxpxqcxgsxvljmrpcqzl0y52lz6jvfilmshw7r6k2s";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5297,7 +5287,7 @@
         version = "1.4.9";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sokoban-1.4.9.tar";
-          sha256 = "1zri4czw2d5impkgn8d4hliyw31vndadg7wj31gairk8kyakjpgm";
+          sha256 = "1l3d4al96252kdhyn4dr88ir67kay57n985w0qy8p930ncrs846v";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -5311,8 +5301,8 @@
         ename = "sotlisp";
         version = "1.6.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/sotlisp-1.6.2.el";
-          sha256 = "05cr4dmhg4wbmw7jbcfh0yrnbq6dhzp2wrbzvhwrfznz51j03nhi";
+          url = "https://elpa.gnu.org/packages/sotlisp-1.6.2.tar";
+          sha256 = "0q65iwr89cwwqnc1kndf2agq5wp48a7k02qsksgaj0n6zv7i4dfn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5327,7 +5317,7 @@
         version = "0.4.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/spacious-padding-0.4.1.tar";
-          sha256 = "02bc0r20b4mgnlzryq26q0jq45wfgpvv7y3zhvnaaqj11rw7779f";
+          sha256 = "0w9f19sxpbaagwxfnsg3qmk95v8vnkfcyd3l6i9ns9ww26sb2fgl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5342,7 +5332,7 @@
         version = "1.7.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/spinner-1.7.4.tar";
-          sha256 = "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv";
+          sha256 = "0lq8q62q5an8199p8pyafg5l6hdnnqi6i6sybnk60sdcqy62pa6r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5357,7 +5347,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sql-beeline-0.2.tar";
-          sha256 = "1bqzs53x506bzgchvjfr1ljqxbb9y041n7aj9n7ajb2634i7lllr";
+          sha256 = "0ngvvfhs1fj3ca5g563bssaz9ac5fiqkqzv09s4ramalp2q6axq9";
         };
         packageRequires = [];
         meta = {
@@ -5372,7 +5362,7 @@
         version = "0.2.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sql-cassandra-0.2.2.tar";
-          sha256 = "06h301fpqax24x295x06bz08ipjjnxs9smisyz82z08kgszq92c6";
+          sha256 = "154rymq0k6869cw7sc7nhx3di5qv1ffgf8shkxc22gvkrj2s7p9b";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5387,7 +5377,7 @@
         version = "1.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sql-indent-1.7.tar";
-          sha256 = "043qcy97a5hx68w0ac7xsk380l2i7bphgrdz6aby2zfpp90vrjpn";
+          sha256 = "1yfb01wh5drgvrwbn0hgzyi0rc4zlr1w23d065x4qrld31jbka8i";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5402,7 +5392,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/srht-0.4.tar";
-          sha256 = "1g3znmpi0lbl0f4rp1v8v5jl7gngclwmcngkzwdk2w4prsh6skb1";
+          sha256 = "0ps49syzlaf4lxvji61y6y7r383r65v96d57hj75xkn6hvyrz74n";
         };
         packageRequires = [ emacs plz transient ];
         meta = {
@@ -5417,7 +5407,7 @@
         version = "3.1.16";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.16.tar";
-          sha256 = "0ajmsg4r9yba2m9wn08dsdzl8pr3pjixyqqp263mpwsh02h8im2g";
+          sha256 = "0fb88l3270d7l808q8x16zcvjgsjbyhgifgv17syfsj0ja63x28p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5432,7 +5422,7 @@
         version = "2.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/standard-themes-2.0.1.tar";
-          sha256 = "0vdl90xjqq20mw6cgmn6zd42ppr5y471g03a9ljzcpwmbd1wnr60";
+          sha256 = "0cyr3n9w359sa8ylcgzsvhxrk9f1rl1scb5339ci2la7zpg5vxwr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5447,7 +5437,7 @@
         version = "2.3.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/stream-2.3.0.tar";
-          sha256 = "1jvk5j0wn2f4dxnyqji85f8cgbpyrxk02mz5dzyw4xlqr0d9zc9n";
+          sha256 = "0224hjcxvy3cxv1c3pz9j2laxld2cxqbs5sigr02fcdcb9qn7hay";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5462,7 +5452,7 @@
         version = "0.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/substitute-0.2.1.tar";
-          sha256 = "1p9lhgi4y224aghwnnjxm14da461pj0ym4a7asla02hf33y61i5j";
+          sha256 = "09cqxfp9az6cckh0bq1155g6xh9rjn0ppjyc6879ihx6ba61li53";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5476,8 +5466,8 @@
         ename = "svg";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/svg-1.1.el";
-          sha256 = "0j69xsaj0d1pnxjfb5m0yf2vxbrcmr8i3g75km4dzbha46v4xxvg";
+          url = "https://elpa.gnu.org/packages/svg-1.1.tar";
+          sha256 = "10x2rry349ibzd9awy4rg18cd376yvkzqsyq0fm4i05kq4dzqp4a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5491,8 +5481,8 @@
         ename = "svg-clock";
         version = "1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/svg-clock-1.2.el";
-          sha256 = "15pmj07wnlcpv78av9qpnbfwdjlkf237vib8smpa7nvyikdfszfr";
+          url = "https://elpa.gnu.org/packages/svg-clock-1.2.tar";
+          sha256 = "0r0wayb1q0dd2yi1nqa0m4jfy36lydxxa6xvvd6amgh9sy499qs8";
         };
         packageRequires = [ emacs svg ];
         meta = {
@@ -5507,7 +5497,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/svg-lib-0.3.tar";
-          sha256 = "0d0xkfmk351h8lx28dxgync47r780nyk4fk12sb4j0byfr0lsh8d";
+          sha256 = "1s7n3j1yzprs9frb554c66pcrv3zss1y26y6qgndii4bbzpa7jh8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5522,7 +5512,7 @@
         version = "0.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/svg-tag-mode-0.3.2.tar";
-          sha256 = "1sg05dg0d9ai21l8rgpqywmwgw29sl21x2zkvlv04rl3hdvdq75y";
+          sha256 = "0wzcq00kbjpbwz7acn4d7jd98v5kicq3iwgf6dnmz2kflvkfwkvr";
         };
         packageRequires = [ emacs svg-lib ];
         meta = {
@@ -5537,7 +5527,7 @@
         version = "0.14.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/swiper-0.14.2.tar";
-          sha256 = "1x6jnc0nrk68kww12gq6w8nss6ny76xz0fgxf57550bbipx9pa8m";
+          sha256 = "1rzp78ix19ddm7fx7p4i5iybd5lw244kqvf3nrafz3r7q6hi8yds";
         };
         packageRequires = [ emacs ivy ];
         meta = {
@@ -5552,7 +5542,7 @@
         version = "1.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/switchy-window-1.3.tar";
-          sha256 = "1ax63fksjmjsgai7xxzm1mj5bhbc7dzk7c389abd280g637z2cy7";
+          sha256 = "0ym5cy6czsrd15f8rgh3dad8fwn8pb2xrvhlmdikc59cc29zamrv";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -5567,7 +5557,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/sxhkdrc-mode-1.0.0.tar";
-          sha256 = "1vzb7ijx61rq31xj0d13yidlirp038841fwdvlqlv88hi6hb2faq";
+          sha256 = "0gfv5l71md2ica9jfa8ynwfag3zvayc435pl91lzcz92qy5n0hlj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5582,7 +5572,7 @@
         version = "1.0.13";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/system-packages-1.0.13.tar";
-          sha256 = "0m34ifs7c27g7avc173z501rs2g6ag7f4bc3rgfp9zdaix53c0i9";
+          sha256 = "0xlbq44c7f2assp36g5z9hn5gldq76wzpcinp782whqzpgz2k4sy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5612,7 +5602,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tam-0.1.tar";
-          sha256 = "1f66la9mmw1frpy2k9vr9k1q2x3b1y9018z43rdhrp50zx1b2vsg";
+          sha256 = "16ms55cwm2cwixl03a3bbsqs159c3r3dv5kaazvsghby6c511bx8";
         };
         packageRequires = [ emacs queue ];
         meta = {
@@ -5627,7 +5617,7 @@
         version = "0.10.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/taxy-0.10.1.tar";
-          sha256 = "05czw8fkifb25rwl99dmncr1g0rjfx1bqijl7igqs9j6h9ia2xvg";
+          sha256 = "0r4kv0lqjk720p8kfah256370miqg68598jp5466sc6v9qax4wd9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5647,7 +5637,7 @@
         version = "0.13";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/taxy-magit-section-0.13.tar";
-          sha256 = "1712hbcna0ph9chaq28a6fanv4sccdiphd5z0hg34ig3g6pslgn9";
+          sha256 = "06sivl4rc06qr67qw2gqpw7lsaqf3j78llkrljwby7a77yzlhbrj";
         };
         packageRequires = [ emacs magit-section taxy ];
         meta = {
@@ -5661,8 +5651,8 @@
         ename = "temp-buffer-browse";
         version = "1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/temp-buffer-browse-1.5.el";
-          sha256 = "1drfvqxc6g4vfijmx787b1ygq7x2s5wq26l45qnz4wdrqqmcqx3c";
+          url = "https://elpa.gnu.org/packages/temp-buffer-browse-1.5.tar";
+          sha256 = "00hbh25fj5fm9dsp8fpdk8lap3gi5jlva6f0m6kvjqnmvc06q36r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5677,7 +5667,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tempel-1.1.tar";
-          sha256 = "1780dgyfj569vxzzg8gqky9953fzw8x5kzy2l05vl7my06nyk46i";
+          sha256 = "01zrp3wi4nvp67wda1b5fyjfxd0akhk7aqc2nqh1sk4mjp5zpnsq";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -5691,8 +5681,8 @@
         ename = "test-simple";
         version = "1.3.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/test-simple-1.3.0.el";
-          sha256 = "1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz";
+          url = "https://elpa.gnu.org/packages/test-simple-1.3.0.tar";
+          sha256 = "065jfps5ixpy5d4l2xgwhkpafdwiziqh4msbjcascwpac3j5c5yp";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -5707,7 +5697,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/theme-buffet-0.1.2.tar";
-          sha256 = "1cb9kn07naz2dkl4cznnwi2hy5ccq9igl5jnm7qhaliaszpg2rf9";
+          sha256 = "1cfrrl41rlxdbybvxs8glkgmgkznwgpq70h58rkvwm6b5jfs8wv0";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5756,7 +5746,7 @@
         version = "0.4.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tmr-0.4.0.tar";
-          sha256 = "1s4q7gbqjhqsvwzcfqr9ykm2pdrjybsi2fanxm01vvmzwg2bi6d8";
+          sha256 = "0vvsanjs6b9m3gxm84qr0ywwdj0378y5jkv1nzqdn980rfgfimsv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5771,7 +5761,7 @@
         version = "0.4.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tomelr-0.4.3.tar";
-          sha256 = "03dj7mhqyfdpxr32nyvfgkqr6wr55cd7yk9a0izjs4468zx8vl0d";
+          sha256 = "0r2f4dl10fl75ygvbmb4vkqixy24k0z2wpr431ljzp5m29bn74kh";
         };
         packageRequires = [ emacs map seq ];
         meta = {
@@ -5786,7 +5776,7 @@
         version = "0.3.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/topspace-0.3.1.tar";
-          sha256 = "1c2raqmbyv5bd48gimh6dazfb6dmipjmf1j0w53vyrs48dx6kskq";
+          sha256 = "0m8z2q1gdi0zfh1df5xb2v0sg1v5fysrl00fv2qqgnd61c2n0hhz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5794,14 +5784,29 @@
           license = lib.licenses.free;
         };
       }) {};
+    track-changes = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "track-changes";
+        ename = "track-changes";
+        version = "1.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/track-changes-1.1.tar";
+          sha256 = "04srqkpyc6l3s95jyf2p5pqqf1z67i7k89334r6ybqj1l91h2prn";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/track-changes.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.6.2.2";
+        version = "2.6.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.6.2.2.tar";
-          sha256 = "0bbsff2qr71f70nxhdi19b3jzpv6bgfb7x7qkrccsygvsvgyrb2h";
+          url = "https://elpa.gnu.org/packages/tramp-2.6.3.tar";
+          sha256 = "0z44mfpvn4qy2xc2fsiahw3xir140ljna8aq45dcb7qnmr044xjb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5816,7 +5821,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tramp-nspawn-1.0.1.tar";
-          sha256 = "1w8h563pcdksqqy5v5vi7vrx76r6pi4bzhqywk1v67rhnr33qsvq";
+          sha256 = "0cy8l389s6pi135gxcygv1vna6k3gizqd33avf3wsdbnqdf2pjnc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5830,8 +5835,8 @@
         ename = "tramp-theme";
         version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-theme-0.2.el";
-          sha256 = "1q1j0vcdyv5gnfbnfl08rnwd5j4ayc1gi1vpinr99ny70wsv7gbf";
+          url = "https://elpa.gnu.org/packages/tramp-theme-0.2.tar";
+          sha256 = "0dz8ndnmwc38g1gy30f3jcjqg5nzdi6721x921r4s5a8i1mx2kpm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5845,8 +5850,8 @@
         ename = "transcribe";
         version = "1.5.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/transcribe-1.5.2.el";
-          sha256 = "08m1n6adab46bfywm47gygswf10vnxcfh16yjxglvcsg4prkn2vh";
+          url = "https://elpa.gnu.org/packages/transcribe-1.5.2.tar";
+          sha256 = "1v1bvcv3zqrj073l3vw7gz20rpa9p86rf1yv219n47kmh27c80hq";
         };
         packageRequires = [];
         meta = {
@@ -5861,7 +5866,7 @@
         version = "0.6.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/transient-0.6.0.tar";
-          sha256 = "1lsh8cvg1kspa8gl9fml0x7r61fbhjajmjqjf4r2s7qz102z66xb";
+          sha256 = "0rk4gafx3yylzawiny86ml4jzrs8x6cf2bvmnv36p8l13wgp0w9p";
         };
         packageRequires = [ compat emacs seq ];
         meta = {
@@ -5876,7 +5881,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/transient-cycles-1.0.tar";
-          sha256 = "1gad71kqdw6rm9dy5rxm85l4a5qibs20ijl8bpaxbbq37j44lvjb";
+          sha256 = "0s6cxagqxj4i3qf4kx8mdrihciz3v6ga7zw19jcv896rdhx75bx5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5891,7 +5896,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/tree-inspector-0.4.tar";
-          sha256 = "0jsd32qk9rap8mhmm6qkyafvb6c2gyaa0adzdsh3bh03byi3sj6c";
+          sha256 = "0v59kp1didml9k245m1v0s0ahh2r79cc0hp5ika93iamrdxkxaiz";
         };
         packageRequires = [ emacs treeview ];
         meta = {
@@ -5906,7 +5911,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/trie-0.6.tar";
-          sha256 = "0vh0cizpbdiaq0y018rkrzjyv6lq0jwv9pwlvggbjfsz34kd10a4";
+          sha256 = "1jvhvvxkxbbpy93x9kpznvp2hqkkbdbbjaj27fd0wkbijg0k03ln";
         };
         packageRequires = [ heap tNFA ];
         meta = {
@@ -5921,7 +5926,7 @@
         version = "0.3.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/triples-0.3.5.tar";
-          sha256 = "086w3izri2fvg2w9lq4srjcq9gc6amz5vj2iihhysd10ypj3zxwy";
+          sha256 = "1wvmfw8yc7nh42f1skmpxqz5f57vkhg7x2cdngpq11lqbgvypj7m";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -5936,7 +5941,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/typo-1.0.1.tar";
-          sha256 = "11k1dca7kw1yviiw310slfj02a7x1w6m3qg7v71d2gcmdbp112ib";
+          sha256 = "1w4m2admlgmx7d661l70rryyxbaahfvrvhxc1b9sq41nx88bmgn1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5951,7 +5956,7 @@
         version = "1.0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ulisp-repl-1.0.3.tar";
-          sha256 = "09n0wp0dfg9xyxw0hwwb5p6namninvsw1fs710hmnh224q6wffgy";
+          sha256 = "1c23d66vydfp29px2dlvgl5xg91a0rh4w4b79q8ach533nfag3ia";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -5959,16 +5964,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    undo-tree = callPackage ({ elpaBuild, emacs, fetchurl, lib, queue }:
+    undo-tree = callPackage ({ elpaBuild, fetchurl, lib, queue }:
       elpaBuild {
         pname = "undo-tree";
         ename = "undo-tree";
         version = "0.8.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/undo-tree-0.8.2.tar";
-          sha256 = "0fgir9pls9439zwyl3j2yvrwx9wigisj1jil4ijma27dfrpgm288";
+          sha256 = "0ad1zhkjdf73j3b2i8nd7f10jlqqvcaa852yycms4jr636xw6ms6";
         };
-        packageRequires = [ emacs queue ];
+        packageRequires = [ queue ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/undo-tree.html";
           license = lib.licenses.free;
@@ -5981,7 +5986,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/uni-confusables-0.3.tar";
-          sha256 = "1grmppbyzvjjz0yiv5vvgpykhalisj9jnh6p9ip9vbnnll63iz4w";
+          sha256 = "08150kgqsbcpykvf8m2b25y386h2b4pj08vffm6wh4f000wr72k3";
         };
         packageRequires = [];
         meta = {
@@ -5996,7 +6001,7 @@
         version = "1.0.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/uniquify-files-1.0.4.tar";
-          sha256 = "0ry52l9p2sz8nsfh15ffa25s46vqhna466ahmjmnmlihgjhdm85q";
+          sha256 = "0xw2l49xhdy5qgwja8bkiq2ibdppl45xzqlr17z92l1vfq4akpzp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6011,7 +6016,7 @@
         version = "0.4.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/urgrep-0.4.1.tar";
-          sha256 = "1kwcb7xxk9lcby5s8gpd5dchya7qq063j217rxsjyn8vv9z91lfc";
+          sha256 = "046096vk8d5xy33icv4s0s101lrx3xan9ppvh77rqxd95gglhgap";
         };
         packageRequires = [ compat emacs project ];
         meta = {
@@ -6031,7 +6036,7 @@
         version = "2.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/url-http-ntlm-2.0.5.tar";
-          sha256 = "0bpjif0c4yzz75v59wsv7hilkpj2gv4kyc0rdk8h3d9hvmlq7791";
+          sha256 = "02b65z70kw37mzj2hh8q6z0zhhacf9sc4hlczpfxdfsy05b8yri9";
         };
         packageRequires = [ cl-lib nadvice ntlm ];
         meta = {
@@ -6046,7 +6051,7 @@
         version = "0.8.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/url-http-oauth-0.8.3.tar";
-          sha256 = "1vcbx8rpzvx4v4g7iyja6kpsqidaiy2xzj7glrwwzhppkbp0xkvy";
+          sha256 = "06lpzh8kpxn8cr92blxrjw44h2cfc6fw0pr024sign4acczx10ws";
         };
         packageRequires = [];
         meta = {
@@ -6061,7 +6066,7 @@
         version = "0.9";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/url-scgi-0.9.tar";
-          sha256 = "0mfbqr03302gk38aamlg1lgdznd6y3blcc3zizfb72ppb87j78mc";
+          sha256 = "19lvr4d2y9rd5gibaavp7ghkxmdh5zad9ynarbi2w4rjgmz5y981";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6076,7 +6081,7 @@
         version = "2.4.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/use-package-2.4.5.tar";
-          sha256 = "09aimbmkcpyffrq1qnavzx6c4ccfawz7ndz2ac8md7qxilxx58yc";
+          sha256 = "060bbrbmx3psv4jkn95zjyhbyfidip86sfi8975fhqcc0aagnwhp";
         };
         packageRequires = [ bind-key emacs ];
         meta = {
@@ -6095,8 +6100,8 @@
         ename = "validate";
         version = "1.0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/validate-1.0.4.el";
-          sha256 = "0vksssk98hcnz804g62k8kika13argf6p7bx8rf9hwidvzdsv6mi";
+          url = "https://elpa.gnu.org/packages/validate-1.0.4.tar";
+          sha256 = "1bn25l62zcabg2ppxwr4049m1qd0yj095cflqrak0n50acgjs6w5";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -6111,7 +6116,7 @@
         version = "3.1.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/valign-3.1.1.tar";
-          sha256 = "1nla0zfj0rxwhdjgnsy2c34wzrxfxiwl89cjb6aicyvfxninz7j0";
+          sha256 = "16v2mmrih0ykk4z6qmy29gajjb3v83q978gzn3y6pg8y48b2wxpb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6126,7 +6131,7 @@
         version = "1.1.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vc-backup-1.1.0.tar";
-          sha256 = "1ipkymndxymbayrgr3jz27p64bkjf1nq9h4w3afpzkpqzw237ak5";
+          sha256 = "0a45bbrvk4s9cj3ih3hb6vqjv4hkwnz7m9a4mr45m6cb0sl9b8a3";
         };
         packageRequires = [];
         meta = {
@@ -6141,7 +6146,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vc-got-1.2.tar";
-          sha256 = "074di4bchhnpfixkjdis8dwxx6r32j1qypxk647q1z7lvd92j39s";
+          sha256 = "04m1frrnla4zc8db728280r9fbk50bgjkk4k7dizb0hawghk4r3p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6156,7 +6161,7 @@
         version = "1.14.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vc-hgcmd-1.14.1.tar";
-          sha256 = "12izw5ln22xdgwh6mqm6axzdfpcnqq7qcj72nmykrbsgpagp5fy6";
+          sha256 = "0a8a4d9difrp2r6ac8micxn8ij96inba390324w087yxwqzkgk1g";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6171,7 +6176,7 @@
         version = "0.2.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vcard-0.2.2.tar";
-          sha256 = "0f06qzmj91kdpdlhlykh7v7jx0xvwxg8072ys145g1mvh5l23yig";
+          sha256 = "0r56y3q2gigm8rxifly50m5h1k948y987541cqd8w207wf1b56bh";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6185,8 +6190,8 @@
         ename = "vcl-mode";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vcl-mode-1.1.el";
-          sha256 = "1r70pmvr95k5f2xphvhliqvyh7al0qabm7wvkamximcssvs38q1h";
+          url = "https://elpa.gnu.org/packages/vcl-mode-1.1.tar";
+          sha256 = "0zz664c263x24xzs7hk2mqchzplmx2dlba98d5fpy8ybdnziqfkj";
         };
         packageRequires = [];
         meta = {
@@ -6201,7 +6206,7 @@
         version = "0.2.4";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vdiff-0.2.4.tar";
-          sha256 = "1mgzfrzp6nbb4xv2zjqk4za2dv3r5645jasiwf45wzqq5wbrgq2c";
+          sha256 = "0crgb32dk0yzcgvjai0b67wcbcfppc3h0ppfqgdrim1nincbwc1m";
         };
         packageRequires = [ emacs hydra ];
         meta = {
@@ -6218,7 +6223,7 @@
         version = "2024.3.1.121933719";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/verilog-mode-2024.3.1.121933719.tar";
-          sha256 = "047kna2j1mbsibw1psxdp8qmg91dnjrdrskdzhys9pmaqggfl5ry";
+          sha256 = "1z0mbd5sbbq2prhc0vfpqd4h4a6jwl5fqyrnl39yp05zm66va34w";
         };
         packageRequires = [];
         meta = {
@@ -6230,10 +6235,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "1.7";
+        version = "1.8";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-1.7.tar";
-          sha256 = "1dglwscp29c5281spmrxv5k1pbvswcz5rcap6w5s97fqk5ziinsm";
+          url = "https://elpa.gnu.org/packages/vertico-1.8.tar";
+          sha256 = "0k6sfla0183vyjf2yd9sycck9nxz0x659kygxgiaip3zq7f9zkg8";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -6253,7 +6258,7 @@
         version = "0.7.7";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vertico-posframe-0.7.7.tar";
-          sha256 = "0xqbbqkzd2v7kqgmiwlx9pmpck2mpfwxmvy66i7dpzysvargi70q";
+          sha256 = "0ahn0b5v9xw6f1zvgv27c82kxdh4rx7n9dbp17rkkkg3dvvkdzxy";
         };
         packageRequires = [ emacs posframe vertico ];
         meta = {
@@ -6267,8 +6272,8 @@
         ename = "vigenere";
         version = "1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vigenere-1.0.el";
-          sha256 = "1i5s6h1nngcp74gf53dw9pvj5y0ywk9j8pyvkfr7gqq49bz22hmm";
+          url = "https://elpa.gnu.org/packages/vigenere-1.0.tar";
+          sha256 = "1zlni6amznzi9w96kj7lnhfrr049crva2l8kwl5jsvyaj5fc6nq5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6286,7 +6291,7 @@
         version = "1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.2.tar";
-          sha256 = "0sipyqrgf723ii2zd6r8hvihn5kax5qd0dwwrrxqy6f58wnhyq1r";
+          sha256 = "0vy4ar10wbdykzl47xnrfcwszjxyq2f1vhdbynfcmkcyrr40v4wm";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6298,10 +6303,10 @@
       elpaBuild {
         pname = "visual-fill";
         ename = "visual-fill";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/visual-fill-0.1.el";
-          sha256 = "1y4xqcr1am74y9jy7kdkjigvx7h3208si5lm4p6a0kzxa3xizhvx";
+          url = "https://elpa.gnu.org/packages/visual-fill-0.2.tar";
+          sha256 = "00r3cclhrdx5y0h1p1rrx5psvc8d95dayzpjdsy9xj44i8pcnvja";
         };
         packageRequires = [];
         meta = {
@@ -6316,7 +6321,7 @@
         version = "1.7.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/vlf-1.7.2.tar";
-          sha256 = "0hpri19z6b7dqmrj5ckp8sf0m0l72lkgahqzvfmwhgpgv2p81bny";
+          sha256 = "1napxdavsrwb5dq2i4ka06rhmmfk6qixc8mm2a6ab68iavprrqkv";
         };
         packageRequires = [];
         meta = {
@@ -6328,10 +6333,10 @@
       elpaBuild {
         pname = "vundo";
         ename = "vundo";
-        version = "2.2.0";
+        version = "2.3.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vundo-2.2.0.tar";
-          sha256 = "1vb5mq51krpcaw741dai3b9s12yicn73l1bqql41gylpanca83py";
+          url = "https://elpa.gnu.org/packages/vundo-2.3.0.tar";
+          sha256 = "165y277fi0vp9301hy3pqgfnf160k29n8vri0zyq8a3vz3f8lqrl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6346,7 +6351,7 @@
         version = "2021";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/wcheck-mode-2021.tar";
-          sha256 = "0qcj0af0570cssy9b7f74v9pv0pssm6ysnl1lyh8wwvl4yf0zx61";
+          sha256 = "0igsdsfw80nnrbw1ba3rgwp16ncy195kwv78ll9zbbf3y23n7kr0";
         };
         packageRequires = [];
         meta = {
@@ -6360,8 +6365,8 @@
         ename = "wconf";
         version = "0.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wconf-0.2.1.el";
-          sha256 = "13p1xycp3mcrg8jv65mcyqvln4h7awhjz35dzr5bi86zb824ryxf";
+          url = "https://elpa.gnu.org/packages/wconf-0.2.1.tar";
+          sha256 = "1ci5ysn2w9hjzcsv698b6mh14qbrmvlzn4spaq4wzwl9p8672n08";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6376,7 +6381,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/web-server-0.1.2.tar";
-          sha256 = "10lcsl4dg2yr9zjd99gq9jz150wvvh6r5y9pd88l8y9vz16f2lim";
+          sha256 = "0wikajm4pbffcy8clwwb5bnz67isqmcsbf9kca8rzx4svzi5j2gc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6391,7 +6396,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/webfeeder-1.1.2.tar";
-          sha256 = "1l128q424qsq9jv2wk8cv4zli71rk34q5kgwa9axdz0d27p9l6v4";
+          sha256 = "0418fpw2ra12n77560gh9j9ymv28d895bdhpr7x9xakvijjh705m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6406,7 +6411,7 @@
         version = "1.15";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/websocket-1.15.tar";
-          sha256 = "0mvvq9gsx856ip2gkrvjw4k8a85vrrkp27dcpkvamxq93lfd7hin";
+          sha256 = "0cm3x6qzr4zqj46w0qfpn7n9g5z80figcv824869snvc74465h1g";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -6421,7 +6426,7 @@
         version = "3.6.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/which-key-3.6.0.tar";
-          sha256 = "05wy147734mlpzwwxdhidnsplrz2vzs1whczzs4jw1i7kp7jvy3v";
+          sha256 = "1lf8q6sq0hnrspj6qy49i48az3js24ab4y0gksw4giiifiqlc5ba";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6436,7 +6441,7 @@
         version = "3.0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/window-commander-3.0.2.tar";
-          sha256 = "1v85g89rz8r2ypw6651lrb9mvrimdwhxan7kxzhpgam2i2g7kcr7";
+          sha256 = "15345sgdmgz0vv9bk2cmffjp66i0msqj0xn2cxl7wny3bkfx8amv";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6465,8 +6470,8 @@
         ename = "windresize";
         version = "0.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/windresize-0.1.el";
-          sha256 = "0b5bfs686nkp7s05zgfqvr1mpagmkd74j1grq8kp2w9arj0qfi3x";
+          url = "https://elpa.gnu.org/packages/windresize-0.1.tar";
+          sha256 = "1wjqrwrfql5c67yv59hc95ga0mkvrqz74gy46aawhn8r3xr65qai";
         };
         packageRequires = [];
         meta = {
@@ -6481,7 +6486,7 @@
         version = "4.3.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/wisi-4.3.2.tar";
-          sha256 = "0y3wh0wvxqw7ig2bfrha4zs03993aqcpdp9pald20nady6sqri37";
+          sha256 = "0qa6nig33igv4sqk3fxzrmx889pswq10smj9c9l3phz2acqx8q92";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -6501,7 +6506,7 @@
         version = "1.3.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/wisitoken-grammar-mode-1.3.0.tar";
-          sha256 = "05g2zn3p9r7rha20wv8jy1dwvllfyjjpzr6agkcm523rj639jh2b";
+          sha256 = "0i0vy751ycbfp8l8ynzj6iqgvc3scllwysdchpjv4lyj0m7m3s20";
         };
         packageRequires = [ emacs mmm-mode wisi ];
         meta = {
@@ -6515,8 +6520,8 @@
         ename = "wpuzzle";
         version = "1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wpuzzle-1.1.el";
-          sha256 = "1wjg411dc0fvj2n8ak73igfrzc31nizzvvr2qa87fhq99bgh62kj";
+          url = "https://elpa.gnu.org/packages/wpuzzle-1.1.tar";
+          sha256 = "05dgvr1miqp870nl7c8dw7j1kv4mgwm8scynjfwbs9wjz4xmzc6c";
         };
         packageRequires = [];
         meta = {
@@ -6528,10 +6533,10 @@
       elpaBuild {
         pname = "wrap-search";
         ename = "wrap-search";
-        version = "4.12.10";
+        version = "4.14.11";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wrap-search-4.12.10.tar";
-          sha256 = "0r1ggggpm7x201r5yp0nhnc9146nrqzb5df1bjg7z2am2150r1i9";
+          url = "https://elpa.gnu.org/packages/wrap-search-4.14.11.tar";
+          sha256 = "07x6fcig69d3hmcmvpj75h605j8sfjwmd4z1yd4rb6np60dh42ff";
         };
         packageRequires = [];
         meta = {
@@ -6546,7 +6551,7 @@
         version = "1.11";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xclip-1.11.tar";
-          sha256 = "0hgblj8ng7vfsdb7g1mm9m2qhzfprycdd77836l59prpak5kp55q";
+          sha256 = "081k9azz9jnmjmqlcc1yw9s4nziac772lw75xcm78fgsfrx42hmr";
         };
         packageRequires = [];
         meta = {
@@ -6561,7 +6566,7 @@
         version = "3.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xeft-3.3.tar";
-          sha256 = "1jzas6qy0s686s0ghdrgcz2bfyp32s70qvkqw00sm3mm3jypiplm";
+          sha256 = "00zkhqajkkf979ccbnz076dpav2v52q44li2m4m4c6p3z0c3y255";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6576,7 +6581,7 @@
         version = "0.18";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xelb-0.18.tar";
-          sha256 = "1fp5mzl63sh0h3ws4l5p4qgvi7ny8a3fj6k4dhqa98xgw2bx03v7";
+          sha256 = "1qixb236z01azjbc1xycji99rjkq747hip4gcf0gli1is8ink0bs";
         };
         packageRequires = [ cl-generic emacs ];
         meta = {
@@ -6591,7 +6596,7 @@
         version = "1.0.5";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xpm-1.0.5.tar";
-          sha256 = "13p6s6b2v7h4bnwdkkrd1qz84jd7g2s18w0czhpxv6hvj9sqf5hx";
+          sha256 = "12a12rmbc1c0j60nv1s8fgg3r2lcjw8hs7qpyscm7ggwanylxn6q";
         };
         packageRequires = [ cl-lib queue ];
         meta = {
@@ -6606,7 +6611,7 @@
         version = "1.25";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xr-1.25.tar";
-          sha256 = "0w4gaxypl76d1jw9vcq0zhj7ksj44wyfb148l1fb0vl7h6wpv0pg";
+          sha256 = "0jmhcrz6mj3fwm9acwv1jj6nlnqikprjgvglr3cgxysinqh6y3xi";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6621,7 +6626,7 @@
         version = "1.6.3";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xref-1.6.3.tar";
-          sha256 = "0ccfp47y769zrb5sza8skzy4nj4793lzd0jn5c83s3g916gp304l";
+          sha256 = "0mir1nhic0rnz12d8i1n6m2ihfynhkkg8yccy4v9j4kd31w6f1gs";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6636,7 +6641,7 @@
         version = "0.2.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/xref-union-0.2.0.tar";
-          sha256 = "0kcmg9fm9gcpdxfwx7c6zz29krf69j5nh6knv2x3df65sbzwdj0b";
+          sha256 = "0ghhasqs0xq2i576fp97qx6x3h940kgyp76a49gj5cdmig8kyfi8";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -6651,7 +6656,7 @@
         version = "0.14.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/yasnippet-0.14.1.tar";
-          sha256 = "05nc76wzc9b1a34998xx6l1wc5ss682afllf6dnl6rdj8hza65wy";
+          sha256 = "0xsq0i9xv9hib5a52rv5vywq1v6gr44gjsyfmqxwffmw1a25x25g";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -6669,7 +6674,7 @@
         version = "1.0.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/yasnippet-classic-snippets-1.0.2.tar";
-          sha256 = "1kk1sf9kgj6qp3z2d9nbswigl444sqq11pdrhx0gny2jsgi3283l";
+          sha256 = "1qiw5592mj8gmq1lhdcpxfza7iqn4cmhn36vdskfa7zpd1lq26y1";
         };
         packageRequires = [ yasnippet ];
         meta = {
@@ -6684,7 +6689,7 @@
         version = "2023.6.11";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/zones-2023.6.11.tar";
-          sha256 = "1znz720s9pchc7r9g1mpz9jcnz122bppimmh09g1rn94fh3m6vm3";
+          sha256 = "1z3kq0lfc4fbr9dnk9kj2hqcv60bnjp0x4kbxaxy77vv02a62rzc";
         };
         packageRequires = [];
         meta = {
@@ -6699,7 +6704,7 @@
         version = "1.0.6";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/ztree-1.0.6.tar";
-          sha256 = "1cyd31az566dmh3lyp7czw7kkkih7drr4c88b7da1xzbfkvibm2j";
+          sha256 = "1yyh09jff31j5w6mqsnibig3wizv7acsw39pjjfv1rmngni2b8zi";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -6714,7 +6719,7 @@
         version = "0.4.0";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/zuul-0.4.0.tar";
-          sha256 = "1bm91g001q3n5m9ihxc719siiiy23pkpfkhplwi9p1i4i9zrpx5g";
+          sha256 = "1mj54hm4cqidrmbxyqdjfsc3qcmjhbl0wii79bydx637dvpfvqgf";
         };
         packageRequires = [ emacs project ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index c9a699f5a06b0..d9cb7b0aa5cec 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -7,7 +7,7 @@
         version = "0.7.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/adoc-mode-0.7.0.tar";
-          sha256 = "055wljs3y8z9m9rvnqv8w0mvcpz5qd3v9sjhr5v0fv72p1vvf9rc";
+          sha256 = "1gdjgybpbw3qj9mfmq9ljx4xaam1f6rwyrav2y2f5fpv6z7w0i61";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -22,7 +22,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/afternoon-theme-0.1.tar";
-          sha256 = "0aalwn1hf0p756qmiybmxphh4dx8gd5r4jhbl43l6y68fdijr6qg";
+          sha256 = "0xxvr3njpbdlm8iyyklwijjaysyknwpw51hq2443wq37bsxciils";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -37,7 +37,7 @@
         version = "0.10";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/alect-themes-0.10.tar";
-          sha256 = "0j5zwmxq1f9hlarr1f0j010kd3n2k8hbhr8pw789j3zlc2kmx5bb";
+          sha256 = "0pagkf0bb85sr3mvg8z6h6akb9hjmvfqmpiaiz121ys0r92m6nb7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -52,7 +52,7 @@
         version = "0.3.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/ample-theme-0.3.0.tar";
-          sha256 = "0b5a9pqvmfc3h1l0rsmw57vj5j740ysnlpiig6jx9rkgn7awm5p1";
+          sha256 = "12z8z6da1xfc642w2wc82sjlfj3ymlz3jwrg3ydc2fapis2d3ibi";
         };
         packageRequires = [];
         meta = {
@@ -64,10 +64,10 @@
       elpaBuild {
         pname = "annotate";
         ename = "annotate";
-        version = "2.2.0";
+        version = "2.2.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/annotate-2.2.0.tar";
-          sha256 = "1h1whavdrwfsc79kcvh2vbvjzqd7n01xzjb1acgyiy9wkyl79p7b";
+          url = "https://elpa.nongnu.org/nongnu/annotate-2.2.1.tar";
+          sha256 = "04k42bc3jbna3jipcpsj31lhcj1cqabak4pmllz9c0jf1z74hx94";
         };
         packageRequires = [];
         meta = {
@@ -82,7 +82,7 @@
         version = "2.5.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/anti-zenburn-theme-2.5.1.tar";
-          sha256 = "06d7nm4l6llv7wjbwnhfaamrcihichljkpwnllny960pi56a8gmr";
+          sha256 = "121038d6mjdfis1c5v9277bd6kz656n0c25daxq85mfswvjlar0i";
         };
         packageRequires = [];
         meta = {
@@ -97,7 +97,7 @@
         version = "0.64";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/anzu-0.64.tar";
-          sha256 = "1znw7wlpjb3d8wsijqziiq21j966x95q9g5j16wx48xyrrzr1mcs";
+          sha256 = "0mv4xiy3481d5r4rypmw7nn1hjmsvlfz5dhgmpn6cqbpzkgb6zjb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -112,7 +112,7 @@
         version = "2.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/apache-mode-2.2.0.tar";
-          sha256 = "022s7rw7ary1cx3riszzvb7wi0y078vixkcyggjdg5j2ckjpc8gb";
+          sha256 = "10fgbgww7j60dik7b7mvnm1zwgv9y8p5wzggkrdk50dv3gjfxg8f";
         };
         packageRequires = [];
         meta = {
@@ -127,7 +127,7 @@
         version = "0.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/apropospriate-theme-0.2.0.tar";
-          sha256 = "1s4cvh24zj3wpdqc3lklvi1dkba3jf87nxrzq0s3l1rzhg21pfpj";
+          sha256 = "1hsv26iqr0g6c3gy1df2qkd3ilwq6xaa89ch7pqh64737qrlw9db";
         };
         packageRequires = [];
         meta = {
@@ -142,7 +142,7 @@
         version = "1.3.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/arduino-mode-1.3.0.tar";
-          sha256 = "1270mbjgj0kmmjqqblwaipmd2667yp31mgspib3c5d7d6acs1bfx";
+          sha256 = "167b35s34x51qnlx59sawaz4wzlnk2kf9130ylz2b1bj7jy5n27a";
         };
         packageRequires = [ emacs spinner ];
         meta = {
@@ -159,7 +159,7 @@
         version = "2.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/auto-dim-other-buffers-2.1.1.tar";
-          sha256 = "0a7xdp25bny5ykf7808jwmziad8myf8yp01p07f20bsrl4m0bzz6";
+          sha256 = "0rgf0q66kdw9ind5bi01ydk84rclcd3kmlfzm9rfb429xnhqfzw8";
         };
         packageRequires = [];
         meta = {
@@ -174,7 +174,7 @@
         version = "0.2.18";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/autothemer-0.2.18.tar";
-          sha256 = "1gn7n8xd07sks49xirwah1y039s2hn02p0y1j4lmqh7m47l0fvl2";
+          sha256 = "1v6si9fh3rbka72r5jfd35bbvfbfaxr2kfi7jmsgj07fhx4bgl2d";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -189,7 +189,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/base32-1.0.tar";
-          sha256 = "02n227xwg621zh4na5lx8xh5q6zldq0hwwfzc4wkgfg2jb83n4g8";
+          sha256 = "1k1n0zlks9dammpmr0875xh5vw5prmc7rr5kwd262xidscj19k6w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -204,7 +204,7 @@
         version = "3.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/bash-completion-3.1.1.tar";
-          sha256 = "19vs0rflqm1z4r17pv1qx6v60g03x4n2b7503rjr2d0ljrwkbpcp";
+          sha256 = "1yc1a5cvmnp8dranrglpd7qjg35r6x4ndniinbmzinqr7dmydh62";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -219,7 +219,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/better-jumper-1.0.1.tar";
-          sha256 = "0jykcz4g0q29k7rawsp2n5zmx88kdh3kbh0497vvpks74vvk2c9f";
+          sha256 = "1jdmbp1jjip8vmmc66z2wgx95lzp1b92m66p160mdm4g3skl64c2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -234,7 +234,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/bind-map-1.1.2.tar";
-          sha256 = "1x98pgalnpl45h63yw6zz6q16x00phijyx2pf4jrf93s18lx33z5";
+          sha256 = "037xk912hx00ia62h6kdfa56g44dhd0628va22znxg251izvnqxq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -249,7 +249,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/bison-mode-0.4.tar";
-          sha256 = "19n9kz1ycjpxngd3clzr8lzrnnw19l8sfvlx1yqn35hk7017z7ab";
+          sha256 = "0k0h96bpcndi3m9fdk74j0ynm50n6by508mv3ds9ala26dpdr7qa";
         };
         packageRequires = [];
         meta = {
@@ -264,7 +264,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/blow-1.0.tar";
-          sha256 = "0z2y3vq8m4x9ihn84x7p2vgkxprrrvhavcgwll897gsc9khp1xda";
+          sha256 = "009x0y86692ccj2v0cizr40ly6xdp72bnwj5pjayg3y0ph4iz0cj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -279,7 +279,7 @@
         version = "0.0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/blueprint-ts-mode-0.0.3.tar";
-          sha256 = "1ii46kmiaxywymhjlj85c3ypdnkkhgyaqgzhnkzzfz6946dchj3v";
+          sha256 = "0v1sk80dka2gdkwcbria12ih3jrna3866ngdswcskyqcnkxm7b7n";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -294,7 +294,7 @@
         version = "2.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/boxquote-2.3.tar";
-          sha256 = "1d072qls4ywl71wi29khlq4w6yw9idp55vf811nvbmiihn6lwmiv";
+          sha256 = "0fsvfy5b4k0h6fxmvvdngxap5pfypm8iik0m1jq70za7n7g8qvmy";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -306,10 +306,10 @@
       elpaBuild {
         pname = "buttercup";
         ename = "buttercup";
-        version = "1.34";
+        version = "1.35";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/buttercup-1.34.tar";
-          sha256 = "0bdlky9d5fzc9x9wpjxyvrclz1rmzsnvc89lf0m5fhyp4r8jvxy4";
+          url = "https://elpa.nongnu.org/nongnu/buttercup-1.35.tar";
+          sha256 = "0b9dxbn7pni2203xdg289ymkmhf458898i2lh7aplppmh68bms2c";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -324,7 +324,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/camera-0.3.tar";
-          sha256 = "0faqdsgi3kwkk0yqp1676d8x4mi11yj856fj7spf3j02y83r1lmj";
+          sha256 = "0r9b20li82qcc141p4blyaj0xng5f4xrghhl09wc15ffi0cmbq7d";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -339,7 +339,7 @@
         version = "4.9";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/caml-4.9.tar";
-          sha256 = "00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i";
+          sha256 = "1xzk83bds4d23rk170n975mijlmin5dh7crfc5swwvzh8w88qxmk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -354,7 +354,7 @@
         version = "4.18.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/cdlatex-4.18.4.tar";
-          sha256 = "0qa4wp76jykykh244an84kmlvwnsqjnc8ii38mdnd5jjnhacg11v";
+          sha256 = "174i72z3pyxsbagqk7g8d84282fh3y3ipv0bcghrgqjznxdjx427";
         };
         packageRequires = [];
         meta = {
@@ -379,7 +379,7 @@
         version = "1.13.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/cider-1.13.1.tar";
-          sha256 = "0ipmhm8ggh437m72b0vf9vfmwkcfwj3yy37wldz0yyiv59y2g50p";
+          sha256 = "0df5z57schfszlp1vkb6fiiadx12qlpk5qzfw61g664a2i654fsg";
         };
         packageRequires = [
           clojure-mode
@@ -403,7 +403,7 @@
         version = "5.18.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.18.1.tar";
-          sha256 = "1wnl10r79cc1p9a1zwyzhj9ddvc166xkmc7f04pibwxw9j4l3ppg";
+          sha256 = "1p9nh4p3skjxbsnyj2in3m8jdyrrj8iw0malfcz0ppc4d7zm6klx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -418,7 +418,7 @@
         version = "0.2.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/clojure-ts-mode-0.2.2.tar";
-          sha256 = "19dskc53dx183kcb7p5qx41qsjsy1mqi46zrdfc1znl7rdknhvl7";
+          sha256 = "14s3gawx2lazzd5ziz2plhl6k1qik8gfjka7fijgxb55ls9bvgrp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -426,16 +426,20 @@
           license = lib.licenses.free;
         };
       }) {};
-    coffee-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    coffee-mode = callPackage ({ cl-lib ? null
+                               , elpaBuild
+                               , emacs
+                               , fetchurl
+                               , lib }:
       elpaBuild {
         pname = "coffee-mode";
         ename = "coffee-mode";
         version = "0.6.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/coffee-mode-0.6.3.tar";
-          sha256 = "1yv1b5rzlj7cpz7gsv2j07mr8z6lkwxp1cldkrc6xlhcbqh8795a";
+          sha256 = "1anywqp2b99dmilfnajxgf4msc0viw6ndl0lxpgaa7d2b3mzx9nq";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/coffee-mode.html";
           license = lib.licenses.free;
@@ -471,7 +475,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/consult-flycheck-1.0.tar";
-          sha256 = "0901wliqdzj5dmam1kkbq0nxhywqf11182q7yxjxh98czy5w3xh8";
+          sha256 = "17kc7v50zq69l4803nh8sjnqwi59p09wjzqkwka6g4dapya3h2xy";
         };
         packageRequires = [ consult emacs flycheck ];
         meta = {
@@ -491,7 +495,7 @@
         version = "0.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/corfu-terminal-0.7.tar";
-          sha256 = "1vva3wwmczdph8dlhvwy1vlan8nmzlz6370zia6hz3adwc496a4s";
+          sha256 = "0a41hfma4iiinq2cgvwqqwxhrwjn5c7igl5sgvgx0mbjki2n6sll";
         };
         packageRequires = [ corfu emacs popon ];
         meta = {
@@ -506,7 +510,7 @@
         version = "0.5.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/crux-0.5.0.tar";
-          sha256 = "0zdzfglzvhkzyvnkk2d217c6f8gnbcxlp8adimwrxgqh7c6gwihp";
+          sha256 = "0cykjwwhl6r02fsyam4vnmlxiyq8b8qsgncb1hjnz4gj7mxc9gg4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -521,7 +525,7 @@
         version = "1.22";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/cyberpunk-theme-1.22.tar";
-          sha256 = "1kva129l8vwfvafw329znrsqhm1j645xsyz55il1jhc28fbijp51";
+          sha256 = "1kgkgpb07d4kh2rf88pfgyji42qv80443i67nzha2fx01zbd5swb";
         };
         packageRequires = [];
         meta = {
@@ -537,10 +541,10 @@
       elpaBuild {
         pname = "cycle-at-point";
         ename = "cycle-at-point";
-        version = "0.1";
+        version = "0.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/cycle-at-point-0.1.tar";
-          sha256 = "0097w7nw8d1q7ad4b4qjk0svwxqg80jr2p27540vkir7289w59j3";
+          url = "https://elpa.nongnu.org/nongnu/cycle-at-point-0.2.tar";
+          sha256 = "1q3gylksr754s0pl8x1hdk0q4p0vz6lnasswgsqpx44nmnbsrw6z";
         };
         packageRequires = [ emacs recomplete ];
         meta = {
@@ -555,7 +559,7 @@
         version = "202003130913";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/d-mode-202003130913.tar";
-          sha256 = "1pad0ib8l1zkjmh97n1pkwph1xdbcqidnicm3nwmcbmbi61lddsx";
+          sha256 = "0sdyk8q1pfk5gbj5hdyc1djmyb02vvhs4s2fbbxk52nlkx95p46s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -570,7 +574,7 @@
         version = "1.0.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/dart-mode-1.0.7.tar";
-          sha256 = "13n0fmnxgnq8vjw0n5vwgdgfm5lznvrm3xkak4snkdw7w3rd3a20";
+          sha256 = "1k9pn7nqskz39m3zwi9jhd1a2q440jgrla1a37qip73mwrdril1i";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -585,7 +589,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/denote-refs-0.1.2.tar";
-          sha256 = "1s2q9j2xg2g293ip7w2bq2kjk6pasaf6cmvzcbh0k00yx8aa2alp";
+          sha256 = "0jq14adxpx9bxddkj3a4bahyr3yarjn85iplhhy9yk7k9wy7wis0";
         };
         packageRequires = [ denote emacs ];
         meta = {
@@ -600,7 +604,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/devhelp-1.0.tar";
-          sha256 = "16zx748n24diqqk3jhgyz74s71kqzl7h7l6j9nkz40cpcn18ddiz";
+          sha256 = "14x1990yr3qqzv9dqn7xg69hqgpmgjsi68f2fg07v670lk7hs8xb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -630,7 +634,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/diff-ansi-0.2.tar";
-          sha256 = "1fcy89m6wkhc5hy4lqcd60ckrf9qwimilydjx083nackppdz1xlw";
+          sha256 = "0i1216mw0zgy3jdhhxsn5wpjqgxv5als1lljb1ddqjl21y6z74nw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -645,7 +649,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/doc-show-inline-0.1.tar";
-          sha256 = "11khy906vmhz445ryrdb63v0hjq0x59dn152j96vv9jlg5gqdi3b";
+          sha256 = "13y7k4zp8x8fcyidw0jy6zf92af660zwb7qpps91l2dh7zwjsl2v";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -660,7 +664,7 @@
         version = "1.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/dockerfile-mode-1.7.tar";
-          sha256 = "1kb768kv48ypw7fm5xcvkw4pq9mfkvv0bg1inlhfifkb4i9kmz3l";
+          sha256 = "1rpgjhbb2vzz6fqcqksvx27a1mj8p3bgmjh00433qd8g7hghc9v7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -675,7 +679,7 @@
         version = "1.8.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/dracula-theme-1.8.2.tar";
-          sha256 = "17szqyl63nn66sxdz403kcd2diif5afvgv6abgqkw6x01bsr11i0";
+          sha256 = "04r7cn4n8n4fiwblmfsa23d1qh11mqfz0cghq6ss72flp5awj46g";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -690,7 +694,7 @@
         version = "0.7.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/drupal-mode-0.7.4.tar";
-          sha256 = "1cglipmwx5v8vaqkkc7f5ka3dpxlrmmqrqhi885mm625kh2r27j1";
+          sha256 = "1wr05pi5sm994cdzj329gr1lwxvq4w9wmc806izxq3fjifx0m609";
         };
         packageRequires = [ php-mode ];
         meta = {
@@ -705,7 +709,7 @@
         version = "0.9.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/eat-0.9.4.tar";
-          sha256 = "0683rni1vgq1jmmp1kjvi0fx9m5k7hh5r9b432whwnkp9gcfrb80";
+          sha256 = "0jn5rzyg1abjsb18brr1ha4vmhvxpkp8pxvaxfa0g0phcb2iz5ql";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -720,7 +724,7 @@
         version = "0.1.13";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/edit-indirect-0.1.13.tar";
-          sha256 = "06x51lajykz6ny8q1762vhjxzvlqm2il47099hbb9wpj4vjx14q6";
+          sha256 = "10zshywbp0f00k2d4f5bc44ynvw3f0626vl35lbah1kwmgzrrjdd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -735,7 +739,7 @@
         version = "0.10.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/editorconfig-0.10.1.tar";
-          sha256 = "0x6qij98rwq2yra7c0qa01rjb10pg23nwnnsb2fb76d5yhk1dcqw";
+          sha256 = "1xv2yfs8v2bcf9nvbchdw8lxryfnhy3zh0n6vnxyxnbx2590qa9s";
         };
         packageRequires = [ emacs nadvice ];
         meta = {
@@ -750,7 +754,7 @@
         version = "2.5.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/elixir-mode-2.5.0.tar";
-          sha256 = "0j4rkwmzb3grs7c56m1f6h3mcxvf4cskxf2qw9jw4fc88j5135ym";
+          sha256 = "1x6aral441mv9443h21lnaymbpazwii22wcqvk2jfqjmyl1xj1yz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -765,7 +769,7 @@
         version = "3.6.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/elpher-3.6.0.tar";
-          sha256 = "0pa8y3zc768wdgp43546qvwr6ly2q9gznfrl6qmm90gkv5wrc5ln";
+          sha256 = "1xf3kl09inswx4w03fxj35n1ypvlin39z493fw4ksnpf79ccfk4x";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -780,7 +784,7 @@
         version = "2.2.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/engine-mode-2.2.4.tar";
-          sha256 = "0azc1l9dbalbsd5mcfg1adbkyyy1n4195grzr96w9d7cs7ds23ya";
+          sha256 = "0gp1mnf0yaq4w91pj989dzlxpbpcqqj0yls23wf2ly53kbaarzv9";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -795,7 +799,7 @@
         version = "1.15.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-1.15.0.tar";
-          sha256 = "0xp31w5mr6sprimd2rwy7mpa3kca5ivwf57jmaqyzpd96gh66pg1";
+          sha256 = "0ciglddlq0z91jyggp86d9g3gwfzjp55xhldqpxpq39a2xkwqh0q";
         };
         packageRequires = [];
         meta = {
@@ -810,7 +814,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-anzu-0.2.tar";
-          sha256 = "0fv7kan67g24imhbgggrg8r4pjhpmicpq3g8g1wnq8p9zkwxbm7s";
+          sha256 = "1vn61aj0bnvkj2l3cd8m8q3n7kn09hdp6d13wc58w9pw8nrg0vq5";
         };
         packageRequires = [ anzu evil ];
         meta = {
@@ -825,7 +829,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-args-1.1.tar";
-          sha256 = "0lgwrhjsy098h2lhsiasm39kzkdfqcjnapc2q6f2gyf7zll37761";
+          sha256 = "0fv30wny2f4mg8l9jrjgxisz6nbmn84980yszbrcbkqi81dzzlyi";
         };
         packageRequires = [ evil ];
         meta = {
@@ -845,7 +849,7 @@
         version = "3.16";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-escape-3.16.tar";
-          sha256 = "14289axdn3splza66wdyyvfj1hqslmqxfr63zk480cqvrn0dkpvz";
+          sha256 = "0vv6k3zaaw4ckk6qjiw1n41815w1g4qgy2hfgsj1vm7xc9i9zjzp";
         };
         packageRequires = [ cl-lib emacs evil ];
         meta = {
@@ -864,7 +868,7 @@
         version = "0.41";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-exchange-0.41.tar";
-          sha256 = "1i07c0zc75mbgb6hzj6py248gxzy0mk3xyaskvwlc371fyyn6v6c";
+          sha256 = "1yk7zdxl7c8c2ic37l0rsaynnpcrhdbblk2frl5m8phf54g82d8i";
         };
         packageRequires = [ cl-lib evil ];
         meta = {
@@ -879,7 +883,7 @@
         version = "0.0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-goggles-0.0.2.tar";
-          sha256 = "0cpxbl2vls52dydaa1x4jkizhnd3vmvs30ivihdl964vmpb1s7yl";
+          sha256 = "0nipk8r7l5c50n9zry5264cfilx730l68ssldw3hyj14ybdf6dch";
         };
         packageRequires = [ emacs evil ];
         meta = {
@@ -894,7 +898,7 @@
         version = "1.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-iedit-state-1.3.tar";
-          sha256 = "1dsdlhi58xsdsgkdhpnlkx1gkwc4m5sks99ph8lbj179vd1gszn6";
+          sha256 = "1955bci018rpbdvixlw0gxay10g0vgg2xwsfmfyxcblk5glrv5cp";
         };
         packageRequires = [ evil iedit ];
         meta = {
@@ -913,7 +917,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-indent-plus-1.0.1.tar";
-          sha256 = "0wnn5xjdbc70cxwllz1gf6xf91ijlfhlps7gkb9c3v1kwpsfp3s3";
+          sha256 = "1kzlvi8xgfxy26w1m31nyh6vrq787vchkmk4r1xaphk9wn9bw1pq";
         };
         packageRequires = [ cl-lib evil ];
         meta = {
@@ -933,7 +937,7 @@
         version = "8.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-lisp-state-8.2.tar";
-          sha256 = "0hwv39rkwadm3jri84nf9mw48ybd5a0y02yzjp5cayy7alpf6zcn";
+          sha256 = "14v1nv797b4rxxxnvzwy6pp10g3mmvifb919iv7nx96sbn919w0p";
         };
         packageRequires = [ bind-map evil smartparens ];
         meta = {
@@ -948,7 +952,7 @@
         version = "3.0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-matchit-3.0.4.tar";
-          sha256 = "1bc14r8cl0sd4ygj5didhzh74alzafc6rjk9fm4zgylkbcxal8nl";
+          sha256 = "1ib2xlz7ciaszw2j5184mf6560jmap93vh515sk8dmkkahdwsjgz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -963,7 +967,7 @@
         version = "3.6.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-nerd-commenter-3.6.1.tar";
-          sha256 = "0ixyn669fk7gcnl3nhjma67zvnavikn75yzsa4sx850s5i4i1b2a";
+          sha256 = "1nzqwqp2gq3wka2x782yqz5d8bw3wglra42907kylkqwqbxryh0w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -978,7 +982,7 @@
         version = "0.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-numbers-0.7.tar";
-          sha256 = "1kd60kc8762i9vyig179dnbmrjyw30bm06g26abndw2kjxaqjhr8";
+          sha256 = "1k5vrh8bj9kldqq8kxn1qi3k82i7k4v4h6nkk9hng8p90zhac02i";
         };
         packageRequires = [ emacs evil ];
         meta = {
@@ -993,7 +997,7 @@
         version = "1.0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-surround-1.0.4.tar";
-          sha256 = "1cc6n05j7a3q3n8hzxrhgjwk2a79h0llidh0sqhq5bc9d8ygrl2s";
+          sha256 = "1fzhqg2zrfl1yvhf96s5m0b9793cysciqbxiihxzrnnf2rnrlls2";
         };
         packageRequires = [ evil ];
         meta = {
@@ -1012,7 +1016,7 @@
         version = "0.0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-visual-mark-mode-0.0.5.tar";
-          sha256 = "1k7slwf6m1brwy40j7j4j6qw4jna4sh0llbywsimdj63zral3fki";
+          sha256 = "0hjg9jmyhhc6a6zzjicwy62m9bh7wlw6hc4cf2g6g416c0ri2d18";
         };
         packageRequires = [ dash evil ];
         meta = {
@@ -1027,7 +1031,7 @@
         version = "0.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/evil-visualstar-0.2.0.tar";
-          sha256 = "0vjhwdp2ms7k008mm68vzlkxrq0zyrsf4r10w57w77qg5a96151c";
+          sha256 = "03liavxxpawvlgwdsihzz3z08yv227zjjqyll1cbmbk0678kbl7m";
         };
         packageRequires = [ evil ];
         meta = {
@@ -1035,20 +1039,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    exec-path-from-shell = callPackage ({ cl-lib ? null
-                                        , elpaBuild
-                                        , emacs
-                                        , fetchurl
-                                        , lib }:
+    exec-path-from-shell = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "exec-path-from-shell";
         ename = "exec-path-from-shell";
-        version = "2.1";
+        version = "2.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/exec-path-from-shell-2.1.tar";
-          sha256 = "0vqjd44fiaqc2ppmb2yk7m75dndndrlrml4lfmar5213vlmds1cl";
+          url = "https://elpa.nongnu.org/nongnu/exec-path-from-shell-2.2.tar";
+          sha256 = "14nzk04aypqminpqs181nh3di23nnw64z0ir940ajs9bx5pv9s1w";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/exec-path-from-shell.html";
           license = lib.licenses.free;
@@ -1061,7 +1061,7 @@
         version = "0.6.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flx-0.6.2.tar";
-          sha256 = "0xmxin1k758nskrxhmvi4m5vbcfi2ncfp5n9q18mlc1j45vwawpx";
+          sha256 = "00d3q238grxcvnx6pshb7ajbz559gfp00pqaq56r2n5xqrvrxfnc";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1076,7 +1076,7 @@
         version = "0.6.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flx-ido-0.6.2.tar";
-          sha256 = "1jdk87v605m4brvf0pxfd6bz0j2r217cw9pmrpl38nrszbngh67l";
+          sha256 = "1933d3dcwynzs5qnv3pl4xdybj5gg0sa8zb58j0ld9hyiacm6zn5";
         };
         packageRequires = [ cl-lib flx ];
         meta = {
@@ -1091,7 +1091,7 @@
         version = "34.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flycheck-34.1.tar";
-          sha256 = "1yyvlhv45gvjmv1rja16j12gv2afiaf4r852mcw3l97h6f40h4x9";
+          sha256 = "1jj1c4gq39ik8fihsz13wp4c26fm2m6kyr7ir22ql0d007zm3173";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1110,7 +1110,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flymake-guile-0.5.tar";
-          sha256 = "1na5jxjwl2jy857ipvgy01m1wlsy0s7ingaxdzsldppjfvgwb7yd";
+          sha256 = "0gfblb49l52j7iq3y6fxx1jpr72z61pwxsxfknvfi4y05znxnf0k";
         };
         packageRequires = [ emacs flymake ];
         meta = {
@@ -1125,7 +1125,7 @@
         version = "0.1.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flymake-kondor-0.1.3.tar";
-          sha256 = "07k8b3wayp1h4hir98zs5srjjsnh6w0h9pzn4vnq9s2jr355509n";
+          sha256 = "0y5qnlk3q0fjch12d4vwni7v6rk0h5056s5lzjgns71x36xd1i21";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1146,7 +1146,7 @@
         version = "0.5.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/flymake-popon-0.5.1.tar";
-          sha256 = "0vk20affwb7qcg7nm6n2ssrrgljisqn45a8jagrf947l2kgaccvd";
+          sha256 = "0a9p0mnp1n4znb9xgi5ldjv8x1khhdr5idb8vcd444nd03q0lj6s";
         };
         packageRequires = [ emacs flymake popon posframe ];
         meta = {
@@ -1161,7 +1161,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/focus-1.0.1.tar";
-          sha256 = "1kiyvbdbjhjfkl5cq6q78lfgbir7iayswwm2qnj4df95nbm8shsz";
+          sha256 = "164xlxc5x2i955rfjdhlxp5ch55bh79gr7mzfychkjx0x088hcaa";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1176,7 +1176,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/forth-mode-0.2.tar";
-          sha256 = "0qk6kg8d38fcvbxa4gfsdyllzrrp9712w74sj29b90fppa11b530";
+          sha256 = "04xcvjzvl4pgx48l2pzil7s2iqqbf86z57wv76ahp4sd1xigpfqc";
         };
         packageRequires = [];
         meta = {
@@ -1191,7 +1191,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/free-keys-1.0.tar";
-          sha256 = "1w0dslygz098bddap1shwa8pn55ggavz2jn131rmdnbfjy6plglv";
+          sha256 = "04x4hmia5rx6bd8pkp5b9g4mn081r14vyk1jbdygdzr5w5rhifx3";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -1206,7 +1206,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gc-buffers-1.0.tar";
-          sha256 = "15zpg4j25bk7y2wgqsd57c4c6h3xvigf39hjnzh3g1hlrqk2lv0g";
+          sha256 = "00204vanfabyf6cgbn64xgqhqz8mlppizsgi31xg6id1qgrj37p3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1221,7 +1221,7 @@
         version = "0.30";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-0.30.tar";
-          sha256 = "0bxrxgz49xqxzbipkpnilz9lxm1wmjzhf6imkz3hq49wfp3zdaw6";
+          sha256 = "0h63skslmc23rjlsrqmcnqf2s431ml0wmkbza38j44kzxnsz0x5g";
         };
         packageRequires = [ emacs project ];
         meta = {
@@ -1236,7 +1236,7 @@
         version = "0.18";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-chez-0.18.tar";
-          sha256 = "01pkcf0lpzmazah3ddd16yf2la4zd5x4mmi5lwpbsyvyfqhxhsca";
+          sha256 = "14l2a7njx3bzxj1qpc1m5mx4prm3ixgsiii3k484brbn4vim4j58";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1251,7 +1251,7 @@
         version = "0.17";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-chibi-0.17.tar";
-          sha256 = "1mpbkv48y1ij762f61hp1zjg3lx8k5b9bbsm5lfb7xzvmk5k3zf0";
+          sha256 = "17kkgs0z2xwbbwn7s49lnha6pmri1h7jnnhh5qvxif5xyvyy8bih";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1266,7 +1266,7 @@
         version = "0.17";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-chicken-0.17.tar";
-          sha256 = "13jhh0083fjx4xq0k31vw5v3ffbmn3jkb2608bimm9xlw6acgn4s";
+          sha256 = "1l0x0b5gcmc6v2gd2jhrz4zz2630rggq8w7ffzhsf8b8hr4d1ixy";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1281,7 +1281,7 @@
         version = "0.18.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-gambit-0.18.1.tar";
-          sha256 = "03cv51war65yrg5qswwlx755byn2nlm1qvbzqqminnidz64kfd3v";
+          sha256 = "1pqify8vqxzpm202zz9q92hp65yhs624z6qc2hgp9c1zms56jkqs";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1296,7 +1296,7 @@
         version = "0.0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-gauche-0.0.2.tar";
-          sha256 = "0wd0yddasryy36ms5ghf0gs8wf80sgdxci2hd8k0fvnyi7c3wnj5";
+          sha256 = "189addy5xvx62j91ihi23i8dh5msm0wlwxyi8n07f4m2garrn14l";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1316,7 +1316,7 @@
         version = "0.28.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.28.1.tar";
-          sha256 = "0imh2vdc757vimwxi7pjdv09f83js76nbk7dg861qg0bcqf21g3i";
+          sha256 = "148bvwcppv0qk7yh38c0m36hldw58cqhbyniyzwffagmlg0yqzsb";
         };
         packageRequires = [ emacs geiser transient ];
         meta = {
@@ -1346,7 +1346,7 @@
         version = "0.15";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-mit-0.15.tar";
-          sha256 = "11agp5k79g0w5596x98kbwijvqnb1hwrbqx680mh1svd1l8374q0";
+          sha256 = "12wimv5x2k64ww9x147dlx2gfygmgz96hqcdhkbidi1smhfz11gk";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1361,7 +1361,7 @@
         version = "0.16";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-racket-0.16.tar";
-          sha256 = "0lf2lbgpl8pvx7yhiydb7j5hk3kdx34zvhva4zqnzya6zf30w257";
+          sha256 = "08sn32ams88ism6k24kq7s54vrdblkn15x9lldyqg4zapbllr1ny";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1376,7 +1376,7 @@
         version = "1.8";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/geiser-stklos-1.8.tar";
-          sha256 = "1bz7ggq5pl08pr68nmn82sdpb2vqi7zvsjnai8zvr93dai7p3isa";
+          sha256 = "1525n49igcnwr2wsjv4a74yk1gbjvv1l9rmkcpafyxyykvi94j6s";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1412,7 +1412,7 @@
         version = "1.4.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/git-modes-1.4.2.tar";
-          sha256 = "15lvya85710wyyynmgq7a92lc5mrrv2nfh19nxh92mkdd3r0c3fg";
+          sha256 = "0hdy4wpnyrn3a8i9yxk5gvsggnpgpg6r0wip0zmhcl9nxi4h6kb3";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1427,7 +1427,7 @@
         version = "1.5.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gnu-apl-mode-1.5.1.tar";
-          sha256 = "0almjbh35d0myyjaavmqi7yzk3jpqdcqrhsb2x6vcp6pb199g7z8";
+          sha256 = "0hzdmrhrcnq49cklpmbx1sq7d9qd2q6pprgshhhjx45mnn1q24v0";
         };
         packageRequires = [];
         meta = {
@@ -1442,7 +1442,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gnu-indent-1.0.tar";
-          sha256 = "0h2kj19k3b9sw1bp0fk37kmc4xwvd3ajlgfa8s13jnvggx77nn8a";
+          sha256 = "1aj8si93ig1qbdqgq3f4jwnsws63drkfwfzxlq0i3qqfhsni0a15";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1457,7 +1457,7 @@
         version = "0.8.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gnuplot-0.8.1.tar";
-          sha256 = "015b8ly4wmz03bcysbwy4d63r42sicwqa0j2j4aiis1kpy4lj3xw";
+          sha256 = "1y364j5gr8cnkndxd088kaxd2ah0nd7176gfjligm3ngpgg6ndyx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1472,7 +1472,7 @@
         version = "1.6.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/go-mode-1.6.0.tar";
-          sha256 = "1j83i56ldkf79l7dyjbv9rvy3ki2xlvgj2y7jnap92hbd2q50jsy";
+          sha256 = "0ilvkl7iv47v0xyha07gfyv1a4c50ifw57bp7rx8ai77v30f3a2a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1487,7 +1487,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/golden-ratio-1.0.1.tar";
-          sha256 = "03vjn4b9s4xhcc009mcxc2w6ymnhss3hci7drkkdd2nlv58lcvs0";
+          sha256 = "169jl82906k03vifks0zs4sk5gcxax5jii6nysh6y6ns2h656cqx";
         };
         packageRequires = [];
         meta = {
@@ -1502,7 +1502,7 @@
         version = "1.1.9";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gotham-theme-1.1.9.tar";
-          sha256 = "0ikczh9crs02hlvnpdknxfbpqmpiicdbshjhi5pz3v7ynizj64vm";
+          sha256 = "195r8idq2ak6wpmgifpgvx52hljb8i7p9wx6ii1kh0baaqk31qq2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1517,7 +1517,7 @@
         version = "1.7.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/goto-chg-1.7.5.tar";
-          sha256 = "08wdrwmgy5hanir6py6wiq0pq4lbv9jiyz1m3h947kb35kxalmks";
+          sha256 = "1j5vk8vc1v865fc8gdy0p5lpp2kkl0yn9f75npiva3ay6mwvnvay";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1532,7 +1532,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/graphql-mode-1.0.0.tar";
-          sha256 = "11vn02vwiqbkzl9gxsm3gvybkbac13xnzzv2y227j3y8aq5kbwss";
+          sha256 = "0pfyznfndc8g2g3a3pxzcjsh3cah3amhz5124flrja5fqdgdmpjz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1547,7 +1547,7 @@
         version = "0.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gruber-darker-theme-0.7.tar";
-          sha256 = "0k2njsg7bwy4i7ll5d9dpqawylgkfvp74bany8g487xvspjscrji";
+          sha256 = "1ib9ad120g39fbkj41am6khglv1p6g3a9hk2jj2kl0c6czr1il2r";
         };
         packageRequires = [];
         meta = {
@@ -1562,7 +1562,7 @@
         version = "1.30.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/gruvbox-theme-1.30.1.tar";
-          sha256 = "19r3ffkyq779jjz0jvyxdf2zhm1yd1lax9sh0qsj1r5xrcmb15l7";
+          sha256 = "1y30aahdxzdfmj021vbrz4zmdq6lr9k08hna9i1a8g4cywgbz8ri";
         };
         packageRequires = [ autothemer ];
         meta = {
@@ -1577,7 +1577,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/guru-mode-1.0.tar";
-          sha256 = "18vz80yc7nv6dgyyxmlxslwim7qpb1dx2y5382c2wbdqp0icg41g";
+          sha256 = "0kmbllzvp8qzj8ck2azq2wfw66ywc80zicncja62bi6zsh2l622z";
         };
         packageRequires = [];
         meta = {
@@ -1592,7 +1592,7 @@
         version = "3.2.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/haml-mode-3.2.1.tar";
-          sha256 = "10pnpx4x5wjk4yq4kgynkhfv4xg8nzwmfwf1bappivrdii47hbiq";
+          sha256 = "0hhra7bryk3n649s3byzq6vv5ywd4bqkfppya7bswqkj3bakiyil";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1607,7 +1607,7 @@
         version = "17.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/haskell-mode-17.5.tar";
-          sha256 = "0ld9wjak3fzwi9w2552fzq1562h7g19q69pigp16rj30smp5gkj7";
+          sha256 = "1yjy0cvgs5cnq5d9sv24p1p66z83r9rhbgn0nsccc12rn2gm3hyn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1615,16 +1615,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    haskell-tng-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib, popup }:
+    haskell-tng-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "haskell-tng-mode";
         ename = "haskell-tng-mode";
         version = "0.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/haskell-tng-mode-0.0.1.tar";
-          sha256 = "1dndnxb9bdjnixyl09025065wdrk0h8q721rbwvransq308fijwy";
+          sha256 = "0l6rs93322la2fn8wyvxshl6f967ngamw2m1hnm2j6hvmqph5cpj";
         };
-        packageRequires = [ emacs popup ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/haskell-tng-mode.html";
           license = lib.licenses.free;
@@ -1634,10 +1634,10 @@
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.9.7";
+        version = "3.9.8";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.9.7.tar";
-          sha256 = "1xlaxxwv34a8lxijni4yi60g5g7mlpjq4d71p9hdcpqja7xq4igz";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.9.8.tar";
+          sha256 = "1vcz3vj6drp5v66s3nsrai39rcwp1q3l2qdd1qxw7n58m4fgrkm6";
         };
         packageRequires = [ helm-core popup wfnames ];
         meta = {
@@ -1649,10 +1649,10 @@
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.9.7";
+        version = "3.9.8";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.7.tar";
-          sha256 = "125fqnj2g61lsagiwwd8fpnrp2s7mxsdppj8cfp3m6c3984fmsx0";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.8.tar";
+          sha256 = "03l5sva3qhfmjdpys1k2pbcja58fsdxljvmffjx70j7wyclb3v03";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -1667,10 +1667,10 @@
       elpaBuild {
         pname = "highlight-parentheses";
         ename = "highlight-parentheses";
-        version = "2.1.1";
+        version = "2.2.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/highlight-parentheses-2.1.1.tar";
-          sha256 = "1r0sk4da3apgbik8d84vknwna45k1ks3n0s1fspj5c88b4r7xnsx";
+          url = "https://elpa.nongnu.org/nongnu/highlight-parentheses-2.2.2.tar";
+          sha256 = "13686dkgpn30di3kkc60l3dhrrjdknqkmvgjnl97mrbikxfma7w2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1685,7 +1685,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/hl-block-mode-0.2.tar";
-          sha256 = "1qrq238arblk8v8nf98kcdckfhwzi27w5zbl31yvf36xz69l9y8n";
+          sha256 = "0anv7bvrwylp504l3g42jcbcfmibv9jzs2kbkny46xd9vfb3kyrl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1700,7 +1700,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/hl-column-1.0.tar";
-          sha256 = "00y4g912s341p30xnb0qgj0gmzsqm696v06kjgy9yva5qgw51f03";
+          sha256 = "11d7xplpjx0b6ppcjv4giazrla1qcaaf2i6s5g0j5zxb1m60kkfz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1715,7 +1715,7 @@
         version = "1.56";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/htmlize-1.56.tar";
-          sha256 = "1xdy6lbqm75qlywbr08sbjfa20mphylswbjihk1iiblyj8gbp0p6";
+          sha256 = "0s4k5q8b4grx3zyrryxcqahixkpzcni2qqnmm07axfxpgcqcnk9c";
         };
         packageRequires = [];
         meta = {
@@ -1739,7 +1739,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/hyperdrive-0.3.tar";
-          sha256 = "1q23xrq80wmh4l87rpzfp6gc671gkalvhidfichlapk507sll1y6";
+          sha256 = "03r5qx3a0w1ll4ql7nrjgp19cnk7rrf7ibvj8gd57gqqihkdmqqw";
         };
         packageRequires = [
           compat
@@ -1762,7 +1762,7 @@
         version = "1.1.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/idle-highlight-mode-1.1.4.tar";
-          sha256 = "1j7y03b90gf3pl0xbfirm973k31l7nx90is69m3jrfai2f9qnflr";
+          sha256 = "0vp45ww8bxacrwzv0jqzs782symxysmpvawd29pa1yci1qp2pvm5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1782,7 +1782,7 @@
         version = "1.1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/idris-mode-1.1.0.tar";
-          sha256 = "00xbb63kidkygs2zp334nw38gn5mrbky3ii0g8c9k9si4k1dn5gq";
+          sha256 = "1vlm7gshrkwp9lfm5jcp1rnsjxwzqknrjhl3q5ifwmicyvqkqwsv";
         };
         packageRequires = [ cl-lib emacs prop-menu ];
         meta = {
@@ -1797,7 +1797,7 @@
         version = "0.9.9.9.9";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/iedit-0.9.9.9.9.tar";
-          sha256 = "1ic780gd7n2qrpbqr0vy62p7wsrskyvyr571m8m3j25fii8v8cxg";
+          sha256 = "12s71yj8ycrls2fl97qs3igk5y06ksbmfq2idz0a2zrdggndg0b6";
         };
         packageRequires = [];
         meta = {
@@ -1816,7 +1816,7 @@
         version = "3.2.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/inf-clojure-3.2.1.tar";
-          sha256 = "0p1q51wn67abwhn6qa01f190czaq33nmy4ir1jrcxsny4vnbxvx4";
+          sha256 = "1pvngj87hqr0qzc62cgq294rllxbmn7803pnqqr8ah1qxy65a1wb";
         };
         packageRequires = [ clojure-mode emacs ];
         meta = {
@@ -1831,7 +1831,7 @@
         version = "2.8.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/inf-ruby-2.8.1.tar";
-          sha256 = "0ghf6gaxyslkxfy8cyyglf8ldzyv9jqsyl6nz7iahfk930aiynpj";
+          sha256 = "1iisxgrw7lkrcl86mj3s3578qxnx1cn615swsmnch2ilwjqdrdza";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1861,7 +1861,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/iwindow-1.1.tar";
-          sha256 = "1sx0dqm7wwq05qaxqyrsg8v57i5ghzaq2hcdrywjq5x3cl5rmw17";
+          sha256 = "04d5dxqazxfx8ap9vmhj643x7lmpa0wmzcm9w9mlvsk2kaz0j19i";
         };
         packageRequires = [ compat emacs seq ];
         meta = {
@@ -1876,7 +1876,7 @@
         version = "1.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/j-mode-1.1.1.tar";
-          sha256 = "0l0l71z5i725dnw4l9w2cfjhrijwx9z8mgyf2dfcbly1cl2nvnx2";
+          sha256 = "056af7l7rn116nygln41rsq2val5s3y0pz1pj2736mqsx3lcyiy2";
         };
         packageRequires = [];
         meta = {
@@ -1891,7 +1891,7 @@
         version = "1.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/jade-mode-1.0.1.tar";
-          sha256 = "1kkf5ayqzs1rs7b3jqwb21r2mikds3lillfrs3pkcca7lj76313n";
+          sha256 = "0pv0n9vharda92avggd91q8i98yjim9ccnz5m5c5xw12hxcsfj17";
         };
         packageRequires = [];
         meta = {
@@ -1906,7 +1906,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/jinja2-mode-0.3.tar";
-          sha256 = "1zkyac4akwnz8a136xyn6915j6jgpf0xilbf4krw7q6k8nkks2m4";
+          sha256 = "0dg1zn7mghclnxsmcl5nq5jqibm18sja23058q9lk6nph4fvz5dq";
         };
         packageRequires = [];
         meta = {
@@ -1914,16 +1914,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    julia-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    julia-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "julia-mode";
         ename = "julia-mode";
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/julia-mode-0.4.tar";
-          sha256 = "1qi6z6007q2jgcb96iy34m87jsg9ss3jhzlnl2cl8dn26yqmdky4";
+          sha256 = "15x63nwq6rh1yxwwd8hf0a8nznws8gzxqiw45n6pv8vp8h2v3fsi";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [];
         meta = {
           homepage = "https://elpa.gnu.org/packages/julia-mode.html";
           license = lib.licenses.free;
@@ -1936,7 +1936,7 @@
         version = "1.3.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/keycast-1.3.3.tar";
-          sha256 = "0cvya8vbbmzly1hjf5jm3n9phml4wmwy2hn4igxp8f2pg1x46049";
+          sha256 = "048j5q4hpr8y89lrcqwbcqjazj52rak8jv8nl6fs4sqjik10zcji";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -1951,7 +1951,7 @@
         version = "2.0.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/kotlin-mode-2.0.0.tar";
-          sha256 = "0q1pfjcsk6c17hs5xg7wb6f4i29hn3zxgznjcr3v11dm4xmrj9iv";
+          sha256 = "0d247kxbrhkbmgldmalywmx6fqiz35ifvjbv20lyrmnbyhx1zr97";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1966,7 +1966,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/lorem-ipsum-0.4.tar";
-          sha256 = "05zk11g0w3bnabxf5937hrkc3k58vlrh1bk61dar9gfbfdq3ijyg";
+          sha256 = "0d1c6zalnqhyn88dbbi8wqzvp0ppswhqv656hbj129jwp4iida4x";
         };
         packageRequires = [];
         meta = {
@@ -1981,7 +1981,7 @@
         version = "20221027";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/lua-mode-20221027.tar";
-          sha256 = "1irdlw77ny0a28msrbn4lm66ixrlf2grsj4izhpdm1n0yv66xvfc";
+          sha256 = "0mg4fjprrcwqfrzxh6wpl92r3ywpj3586444c6yvq1rs56z5wvj5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1996,7 +1996,7 @@
         version = "0.9.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/macrostep-0.9.2.tar";
-          sha256 = "1257vz50k69wka756c9sjq86apvw876myl3wml55x5m8q328wbcf";
+          sha256 = "0ij216575987fi4l4305h5xnvic21lizybkyq5mx67zvhcq75yfs";
         };
         packageRequires = [ cl-lib ];
         meta = {
@@ -2056,7 +2056,7 @@
         version = "2.6";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/markdown-mode-2.6.tar";
-          sha256 = "1z1rzx1sc8hzvyqgnfdj64syr4pabv9grl57n4jis9arcqmx41zr";
+          sha256 = "15s8snzfvzzfk7wfizz5r8aksywq7s9h6xbb2y5dqjkpqg951va2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2076,7 +2076,7 @@
         version = "1.0.12";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/mastodon-1.0.12.tar";
-          sha256 = "1raq11350y5cpfzq7c8xmrsnl728fw0796bn1prbrrlly20rqxc2";
+          sha256 = "1kmzlz9sb7vkyw84kmpg39zj2hhyrvpb0g6h54ikrxccbn8g22s2";
         };
         packageRequires = [ emacs persist request ];
         meta = {
@@ -2091,7 +2091,7 @@
         version = "2015";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/material-theme-2015.tar";
-          sha256 = "027plf401y3lb5y9hzj8gpy9sm0p1k8hv94pywnagq4kr9hivnb9";
+          sha256 = "117ismd3p577cr59b6995byyq90zn4nd81dlf4pm8p0iiziryyji";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2113,7 +2113,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/mentor-0.5.tar";
-          sha256 = "1kkzm881fxhc5hb83x0j12lv22b72nzw45qrypbl1jf2siispz9l";
+          sha256 = "1sqdwdbanrdvrr8qqn23ylcyc98jcjc7yq1g1d963v8d9wfbailv";
         };
         packageRequires = [ async emacs seq url-scgi xml-rpc ];
         meta = {
@@ -2128,7 +2128,7 @@
         version = "1.4.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/meow-1.4.5.tar";
-          sha256 = "0r1rmhmwgxl7q2rvjf8byc0ass00k3m87sn6sw9chip5cgd5g6gm";
+          sha256 = "1d63mw88vq97rq3a7qhkxid2xaag5dp21ijisw9s3fk972kcks3s";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2143,7 +2143,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/minibar-0.3.tar";
-          sha256 = "1mgkkjaav9hkg1c0lvn887armxv18hn99zd3dy1dx2lnjv2kfdcp";
+          sha256 = "0vxjw485bja8h3gmqmvg9541f21ricwcw6ydlhv9174as5cmwx5j";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2158,7 +2158,7 @@
         version = "1.0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/moe-theme-1.0.2.tar";
-          sha256 = "1hdbm6hw94yyw5cdgfmc5fgnfc2glf0ba8a9ch2y33nzjawklb8x";
+          sha256 = "13c4rj0c9fi4nipzsrmvgb8ddvk3dckijga07yxp71x5ba6mrp2n";
         };
         packageRequires = [];
         meta = {
@@ -2173,7 +2173,7 @@
         version = "3.5.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/monokai-theme-3.5.3.tar";
-          sha256 = "15b5ijkb0wrixlw13rj02x7m0r3ldqfs3bb6g48hhbqfapd6rcx0";
+          sha256 = "14ylizbhfj2hlc52gi2fs70avz39s46wnr96dbbq4l8vmhxs7il5";
         };
         packageRequires = [];
         meta = {
@@ -2194,7 +2194,7 @@
         version = "0.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/mpv-0.2.0.tar";
-          sha256 = "14d5376y9b3jxxhzjcscx03ss61yd129dkb0ki9gmp2sk7cns3n5";
+          sha256 = "183alhd5fvmlhhfm0wl7b50axs01pgiwv735c43bfzdi2ny4szcm";
         };
         packageRequires = [ cl-lib emacs json org ];
         meta = {
@@ -2209,7 +2209,7 @@
         version = "1.4.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/multiple-cursors-1.4.0.tar";
-          sha256 = "0f7rk8vw42bgdf5yb4qpnrc3bxvbaafmdqd7kiiqnj5m029yr14f";
+          sha256 = "0452wrbwg8hyvsri99h71g04dll5w65na265pp9whphq6l06ikrx";
         };
         packageRequires = [];
         meta = {
@@ -2224,7 +2224,7 @@
         version = "1.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/nasm-mode-1.1.1.tar";
-          sha256 = "1smndl3mbiaaphy173zc405zg4wv0mv041vzy11fr74r5w4p232j";
+          sha256 = "19k0gwwx2fz779yli6pcl0a7grhsbhwyisq76lmnnclw0gkf686l";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2236,10 +2236,10 @@
       elpaBuild {
         pname = "nginx-mode";
         ename = "nginx-mode";
-        version = "1.1.9";
+        version = "1.1.10";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/nginx-mode-1.1.9.tar";
-          sha256 = "04jy0zx058hj37ab2n6wwbbwyycsbsb2fj8s4a5f1is2in35nqy0";
+          url = "https://elpa.nongnu.org/nongnu/nginx-mode-1.1.10.tar";
+          sha256 = "0c6biqxbwpkrbqi639ifgv8jkfadssyznjkq6hxvqgjh3nnyrlx3";
         };
         packageRequires = [];
         meta = {
@@ -2259,7 +2259,7 @@
         version = "1.5.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/nix-mode-1.5.0.tar";
-          sha256 = "0zi7xmh777pqzgcv18jqwywvidpa984p0m705p6a9fns7dvv53j7";
+          sha256 = "0hansrsyzx8j31rk45y8zs9hbfjgbv9sf3r37s2a2adz48n9k86g";
         };
         packageRequires = [ emacs magit-section transient ];
         meta = {
@@ -2274,7 +2274,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/oblivion-theme-0.1.tar";
-          sha256 = "0095sc82nl5qxz5nlf2bxbynkxa3plcqr8dq187r70p0775jw46m";
+          sha256 = "0njm7znh84drqwkp4jjsr8by6q9xd65r8l7xaqahzhk78167q6s4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2289,7 +2289,7 @@
         version = "1.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/opam-switch-mode-1.7.tar";
-          sha256 = "19mg0k6ish0grhh4d9d9m634jkgbx80bgfwf4xh0q42piypyrmrj";
+          sha256 = "1gpc1syb51am2gkb3cgfb28rhh6ik41c1gx9gjf1h8m6zxb75433";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2304,7 +2304,7 @@
         version = "0.6.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-auto-tangle-0.6.0.tar";
-          sha256 = "07g1cwsr8j1sd8whshi9y2b69qx10g9vd77pmwki9ba4sy0m7b0p";
+          sha256 = "1vh3k283h90v3qilyx1n30k4ny5rkry6x9s6778s0sm6f6hwdggd";
         };
         packageRequires = [ async emacs ];
         meta = {
@@ -2319,7 +2319,7 @@
         version = "0.4.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-contrib-0.4.2.tar";
-          sha256 = "058400h1c6ybkxjyxfkb43zwn90449zfhvbfvw70isf1l28l1rdz";
+          sha256 = "1v1g359dqyq8h4y5rjhllc93dq1vysnfk23lqn3smdvdi3ba9zlr";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -2340,7 +2340,7 @@
         version = "2.7.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-drill-2.7.0.tar";
-          sha256 = "0f61cfw7qy8w5835hh0rh33ai5i50dzliymdpkvmvffgkx7mikx5";
+          sha256 = "0118vdd0gv2ipgfljkda4388gdly45c5vg0yfn3z4p0p8mjd15lg";
         };
         packageRequires = [ emacs org persist seq ];
         meta = {
@@ -2355,7 +2355,7 @@
         version = "2.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-journal-2.2.0.tar";
-          sha256 = "1pikz9aqdch11zsya8j3gx44wfl2y5r0kym093pl7w6bjx9bgija";
+          sha256 = "12mvi8x8rsm93s55z8ns1an00l2p545swc0gzmx38ff57m7jb1mj";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -2370,7 +2370,7 @@
         version = "0.3.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-mime-0.3.2.tar";
-          sha256 = "12crmbrjxac1ml2x1jh3wbpgh0fddhnl3gdmb5r9dlpkay1c5dxs";
+          sha256 = "1r24inqadhlsqc896vlm10bhr76aj6hnm6q5snhzpz4kk9j0gybd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2385,7 +2385,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-present-0.1.tar";
-          sha256 = "1b32faz4nv5s4fv0rxkr70dkjlmpiwzds513wpkwr6fvqmcz4kdy";
+          sha256 = "18zrvrd9aih57gj14qmxv9rf5j859vkvxcni3fkdbj84y5pq2fpy";
         };
         packageRequires = [ org ];
         meta = {
@@ -2400,7 +2400,7 @@
         version = "1.5.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-superstar-1.5.1.tar";
-          sha256 = "0qwnjd6i3mzkvwdwpm3hn8hp3jwza43x1xq1hfi8d6fa9mwzw9nl";
+          sha256 = "1v6v7a0frgxlywfq6g4mdl6sz448k2ql7j4j4f1wrll33mr7gx8g";
         };
         packageRequires = [ emacs org ];
         meta = {
@@ -2415,7 +2415,7 @@
         version = "2.8.22";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/org-tree-slide-2.8.22.tar";
-          sha256 = "19y9lznk69k8s195z4s2h6s6y8vr7lzmr7x9pi5n67a7bapshs02";
+          sha256 = "1wqc5d2nxs4s6p2ap6sdalxnyigpxini8ck6jikaarmfqcghnx2m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2436,7 +2436,7 @@
         version = "1.9.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/orgit-1.9.0.tar";
-          sha256 = "1lwvmd0mri1vxqp5d8fqam1qhznfjq0bn5i5jjv15nqzcklsw7bm";
+          sha256 = "0g0nr284lgmd6jmk0w412gcildl6fzxv9kskgzr7ksk09qk9qfll";
         };
         packageRequires = [ compat emacs magit org ];
         meta = {
@@ -2451,7 +2451,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/p4-16-mode-0.3.tar";
-          sha256 = "1jl8mcwpzry7lmfm486wjvvx76053pjp68p1abcrjvg4ppsmbj93";
+          sha256 = "1kwfqs7ikfjkkpv3m440ak40mjyf493gqygmc4hac8phlf9ns6dv";
         };
         packageRequires = [];
         meta = {
@@ -2459,22 +2459,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    package-lint = callPackage ({ cl-lib ? null
-                                , compat
-                                , elpaBuild
-                                , emacs
-                                , fetchurl
-                                , let-alist
-                                , lib }:
+    package-lint = callPackage ({ elpaBuild, emacs, fetchurl, let-alist, lib }:
       elpaBuild {
         pname = "package-lint";
         ename = "package-lint";
-        version = "0.21";
+        version = "0.23";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/package-lint-0.21.tar";
-          sha256 = "01yli62vcnh763pf1bp0f649hhrbl8y7ad89q7b98xgcciqgzm93";
+          url = "https://elpa.nongnu.org/nongnu/package-lint-0.23.tar";
+          sha256 = "116kc7j0g2r8fzyb07b7xb767wzjqnigi504r0rb7cc93b44c4gg";
         };
-        packageRequires = [ cl-lib compat emacs let-alist ];
+        packageRequires = [ emacs let-alist ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/package-lint.html";
           license = lib.licenses.free;
@@ -2487,7 +2481,7 @@
         version = "0.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/pacmacs-0.1.1.tar";
-          sha256 = "0ni4jmvkdqiiw2xync6raxvq4gr2hc7b65cbil66z7g7vlw5y56y";
+          sha256 = "02ahl0608xmmlkb014gqvv6f45l5lrkm3s4l6m5p5r98rwmlj3q9";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -2502,7 +2496,7 @@
         version = "0.15";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/page-break-lines-0.15.tar";
-          sha256 = "1i66254x49fwbzqrxmvp3v30aqas129kmy817rxbnqid7m5n1n7z";
+          sha256 = "018mn6h6nmkkgv1hsk0k8fjyg38wpg2f0cvqlv9p392sapca59ay";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2517,7 +2511,7 @@
         version = "26";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/paredit-26.tar";
-          sha256 = "08f8nm3qyk0b4x7mkgra0zjpn9mmfnpr5g7yrvdzvms38y919qlh";
+          sha256 = "1sk8nhsysa3y8fvds67cbwwzivzxlyw8d81y7f7pqc5lflidjrpc";
         };
         packageRequires = [];
         meta = {
@@ -2532,7 +2526,7 @@
         version = "1.1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/parseclj-1.1.1.tar";
-          sha256 = "14xczcd7vknsqkfwlk430kd6jz8fi51jwbjpzjqkymnixma32qd6";
+          sha256 = "0kkg5fdjbf2dm8jmirm86sjbqnzyhy72iml4qwwnshxjfhz1f0yi";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2547,7 +2541,7 @@
         version = "1.2.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/parseedn-1.2.1.tar";
-          sha256 = "039mmsmqbvvzqafhjx1grbg2620mjf6jvrj6g6mwxhy2ckll6bfg";
+          sha256 = "0q6wkcjxwqf81pvrcjbga91lr4ml6adbhmc7j71f53awrpc980ak";
         };
         packageRequires = [ emacs map parseclj ];
         meta = {
@@ -2562,7 +2556,7 @@
         version = "0.1.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/pcmpl-args-0.1.3.tar";
-          sha256 = "1p9y80k2rb9vlkqbmwdmzw279wlk8yk8ii5kqgkyr1yg224qpaw7";
+          sha256 = "1lycckmwhp9l0pcrzx6c11iqwaw94h00334pzagkcfay7lz3hcgd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2577,7 +2571,7 @@
         version = "1.12";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/pcre2el-1.12.tar";
-          sha256 = "0w2c9y4qrx8lm14jdjnax6wpwi5sw284brm4k1dwkrx8244krv8x";
+          sha256 = "1p0fgqm5342698gadnvziwbvv2kxj953975sp92cx7ddcyv2xr3c";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2597,7 +2591,7 @@
         version = "1.1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/pdf-tools-1.1.0.tar";
-          sha256 = "0gb8c7y55mmz69agg0rkdjrxg0abznl2mj2x8vw12x4x1ggmykkf";
+          sha256 = "0shlpdy07pk9qj5a7d7yivpvgp5bh65psm0g9wkrvyhpkc93aylc";
         };
         packageRequires = [ emacs let-alist tablist ];
         meta = {
@@ -2612,7 +2606,7 @@
         version = "1.25.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/php-mode-1.25.1.tar";
-          sha256 = "0b8svrjzc7lrbmwib1y1nbmn6pw3w289zqbfinjak9kvma2k7njv";
+          sha256 = "1cfk7nq5x2p4adcf6q9igsh2jm0sdmsaf5l2sqx4idda28vp3gwc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2627,7 +2621,7 @@
         version = "0.13";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/popon-0.13.tar";
-          sha256 = "1ifwkiq8viic4ymph0xrpyrmr946brp2cx48yqf4jrhknafqv5qf";
+          sha256 = "0z0m7j30pdfw58cxxkmw5pkfpy8y1ax00wm4820rkqxz1f5sbkdb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2642,7 +2636,7 @@
         version = "0.5.9";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/popup-0.5.9.tar";
-          sha256 = "0zyn6q3fwj20y7zdk49jbid2h3yf8l5x8y1kv9mj717kjbxiw063";
+          sha256 = "06q31bv6nsdkdgyg6x0zzjnlq007zhqw2ssjmj44izl6h6fkr26m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2657,7 +2651,7 @@
         version = "2.8.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/projectile-2.8.0.tar";
-          sha256 = "0j3zd1i6c0vinizg6ini0wqgkczqm48g7m5ihp1njq34c6pgpx7y";
+          sha256 = "05llvm3xw3dbjdnfhy2kk6z3pysrsc9f6i7dm4glw5j1k7vig306";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2672,7 +2666,7 @@
         version = "4.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/proof-general-4.5.tar";
-          sha256 = "13zy339yz6ijgkcnqxzcyg909z77w3capb3gim1riy3sqikvv04x";
+          sha256 = "0mlmh7z93f7ypjlh6mxrxgcn47ysvi8qg8869qfxjgmskbfdvx2w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2687,7 +2681,7 @@
         version = "0.1.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/prop-menu-0.1.2.tar";
-          sha256 = "1csx5aycl478v4hia6lyrdb32hs1haf9n39ngfrbx9ysp7gkj0va";
+          sha256 = "1cbps617k2nfi5jcv7y1zip4v64mi17r3rhw9w3n4r5hbl4sjwmw";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -2702,10 +2696,10 @@
       elpaBuild {
         pname = "racket-mode";
         ename = "racket-mode";
-        version = "1.0.20240319.160226";
+        version = "1.0.20240419.71343";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20240319.160226.tar";
-          sha256 = "1alqiagpkbxqi8nyrn1qzfx23fagpn1ml9hqpyj897jwf5f03zsh";
+          url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20240419.71343.tar";
+          sha256 = "152cm66y4pk5ggr7rbj9pzf2w0c6adkh1dd3cjwmq96mpxydx2na";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2720,7 +2714,7 @@
         version = "2.1.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/rainbow-delimiters-2.1.5.tar";
-          sha256 = "0bb7sqjgpm3041srr44l23p3mcjhvnpxl594ma25pbs11qqipz5w";
+          sha256 = "0f4zhz92z5qk3p9ips2d76qi64xv6y8jrxh5nvbq46ivj5c0hnw2";
         };
         packageRequires = [];
         meta = {
@@ -2735,7 +2729,7 @@
         version = "0.2.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/raku-mode-0.2.1.tar";
-          sha256 = "01ygn20pbq18rciczbb0mkszr33pifs6i74rajxz03bcgx2j3q6f";
+          sha256 = "00iwkp4hwjdiymzbwm41m27avrn3n63hnwd9amyx0nsa0kdhrfyx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2750,7 +2744,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/recomplete-0.2.tar";
-          sha256 = "09n21mx90wr53xlhy5mlca675ah9ynnnc2afzjjml98ll81f4k23";
+          sha256 = "1jhyqgww8wawrxxd2zjb7scpamkbcp98hak9qmbn6ckgzdadks64";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2765,7 +2759,7 @@
         version = "0.8";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/reformatter-0.8.tar";
-          sha256 = "0yr0h8f53gaxnfz0dvvs9b4jqwp6p0j8xvv01g76j0map0fxkcam";
+          sha256 = "0bv0fbw3ach6jgnv67xjzxdzaghqa1rhgkmfsmkkbyz8ncbybj87";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2780,7 +2774,7 @@
         version = "0.3.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/request-0.3.3.tar";
-          sha256 = "168yy902bcjfdaahsbzhzb4wgqbw1mq1lfwdjh66fpzqs75c5q00";
+          sha256 = "02j24v8jdjsvi3v3asydb1zfiarzaxrpsshvgf62nhgk6x08845z";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2795,7 +2789,7 @@
         version = "1.4.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/rfc-mode-1.4.2.tar";
-          sha256 = "1b2n52qn7s0zc2xxi45xp9zvlws963l3b45v9q0r1yr8mpbvcb9l";
+          sha256 = "0lhs8wa4sr387xyibqqskkqgyhhhy48qp5wbjs8r5p68j1s1q86m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2810,7 +2804,7 @@
         version = "0.6.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/rubocop-0.6.0.tar";
-          sha256 = "1gw30ya6xyi359k9fihjx75h7ahs067i9bvkyla0rbhmc5xdz6ww";
+          sha256 = "026cna402hg9lsrf88kmb2as667fgaianj2qd3ik9y89ps4xyzxf";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2825,7 +2819,7 @@
         version = "1.0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.5.tar";
-          sha256 = "16dw4mfgfazslsf8n9fir2xc3v3jpw9i7bbgcfbhgclm0g2w9j83";
+          sha256 = "1cilbf4yw4723bn1vh9ww79875fxh0r1j2c7wxjqfjk5xnx4s6q4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2833,20 +2827,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    sass-mode = callPackage ({ cl-lib ? null
-                             , elpaBuild
-                             , fetchurl
-                             , haml-mode
-                             , lib }:
+    sass-mode = callPackage ({ elpaBuild, fetchurl, haml-mode, lib }:
       elpaBuild {
         pname = "sass-mode";
         ename = "sass-mode";
         version = "3.0.16";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/sass-mode-3.0.16.tar";
-          sha256 = "1nkp7cvsc2dbxkfv346hwsly34nhv1hhc8lgcs470xzdxi908p61";
+          sha256 = "0ag7qi9dq4j23ywbwni7pblp6l1ik95vjhclxm82s1911a8m7pj2";
         };
-        packageRequires = [ cl-lib haml-mode ];
+        packageRequires = [ haml-mode ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/sass-mode.html";
           license = lib.licenses.free;
@@ -2859,7 +2849,7 @@
         version = "93.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/scad-mode-93.3.tar";
-          sha256 = "0gh2s0hv8i100xsq656vfxy3586162dv1bz9gcj4aha3kk4ar3vk";
+          sha256 = "1d3mv50n3d0qg1sxvp11a4i15vc75j9gpzlqcxnc0l1lqhn64rwh";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -2874,7 +2864,7 @@
         version = "0.23";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/scala-mode-0.23.tar";
-          sha256 = "0dmyh5x519f5b9h034a1yjgmr1ai8pd22a032x31zgdkwl2xyrfd";
+          sha256 = "1zwd9cajw90v25rwdlylhdrc1xwvnf74c2rckz3cs096xsxc1qx2";
         };
         packageRequires = [];
         meta = {
@@ -2889,7 +2879,7 @@
         version = "0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/scroll-on-drag-0.1.tar";
-          sha256 = "06bpxfhdhsf6awhjcj21x8kb3g9n6j14s43cd03fp5gb0m5bs478";
+          sha256 = "0ga8w9px2x9a2ams0lm7ganbixylgpx8g2m3jrwfih0ib3z26kqc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2904,7 +2894,7 @@
         version = "0.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/scroll-on-jump-0.2.tar";
-          sha256 = "09yndis96ps18i252h66ins1hi3zn27410s5hahkj2989q4cqi1s";
+          sha256 = "1gg5lpr21v9bjzjy33j8ziyhh5a1sad509c7rjkdlqda2z3xfrhr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2919,7 +2909,7 @@
         version = "0.3.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/sesman-0.3.2.tar";
-          sha256 = "1nv0xh6dklpw1jq8b9biv70gzqa7par5jbqacx2lx0xhkyf0c7c1";
+          sha256 = "1mrv32cp87dhzpcv55v4zv4nq37lrsprsdhhjb2q0msqab3b0r31";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2934,7 +2924,7 @@
         version = "0.1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/shellcop-0.1.0.tar";
-          sha256 = "0z0aml86y1m11lz8a8wdjfad5dzynjsqw69qin0a4vv2b8gy8mhr";
+          sha256 = "1gj178fm0jj8dbfy0crwcjidih4r6g9dl9lprzpxzgswvma32g0w";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2946,10 +2936,10 @@
       elpaBuild {
         pname = "slime";
         ename = "slime";
-        version = "2.29.1";
+        version = "2.30";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/slime-2.29.1.tar";
-          sha256 = "1ad9m0a9rbn0gmpwdvnr1l7km833hqy43wp6q3cwv7azmj2sc1r2";
+          url = "https://elpa.nongnu.org/nongnu/slime-2.30.tar";
+          sha256 = "0gzgwrx6llj35kga21m3m4vp0g7f7dypim7pdnhy9sxrvl0k8v5f";
         };
         packageRequires = [ emacs macrostep ];
         meta = {
@@ -2964,7 +2954,7 @@
         version = "1.0.43";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/sly-1.0.43.tar";
-          sha256 = "0qgji539qwk7lv9g1k11w0i2nn7n7nk456gwa0bh556mcqz2ndr8";
+          sha256 = "1c7kzbpcrij4z09bxfa1rq5w23jw9h8v4s6fa6ihr13x67gsif84";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2979,7 +2969,7 @@
         version = "1.11.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/smartparens-1.11.0.tar";
-          sha256 = "1179wicy5nrjk2iq73rxkx6c44k9ybs1vz6llw0qbwc5l10diyvr";
+          sha256 = "0kvlyx2bhw4q6k79wf5cm4srlmfncsbii4spdgafwmv8j7vw6ya3";
         };
         packageRequires = [];
         meta = {
@@ -2994,7 +2984,7 @@
         version = "2.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/solarized-theme-2.0.1.tar";
-          sha256 = "1kz34a7133l2dl09mvb8v79k693ypxk01bmqwm8cfa7icqq2ka98";
+          sha256 = "1lk1g8v2chjrbbxplw3pd7yn3syjgywxkbdc7dbd76x168qz54qx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3024,7 +3014,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/spell-fu-0.3.tar";
-          sha256 = "0yr7m0i89ymp93p4qx8a0y1ghg7ydg1479xgvsz71n35x4sbiwba";
+          sha256 = "11a5361xjap02s0mm2sylhxqqrv64v72d70cg1vzch7iwfi18l9c";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3039,7 +3029,7 @@
         version = "0.17";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/sqlite3-0.17.tar";
-          sha256 = "04m53vn5cvcycv580q6zn5vw54ml7xmhs7bc88cwqj1z5vi3a85x";
+          sha256 = "17fx2bnzajqjzd9jgwvn6pjwshgirign975rrsc1m47cwniz0bnq";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3069,7 +3059,7 @@
         version = "1.8.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/subatomic-theme-1.8.2.tar";
-          sha256 = "0h2ln37ir6w4q44vznlkw4kzaisfpvkgs02dnb2x9b1wdg5qfqw4";
+          sha256 = "0vpaswm5mdyb8cir160mb8ffgzaz7kbq3gvc2zrnh531zb994mqg";
         };
         packageRequires = [];
         meta = {
@@ -3084,7 +3074,7 @@
         version = "1.2.11";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/subed-1.2.11.tar";
-          sha256 = "1dlh7vd8kc16wr9sqd3v7kkxfvqadi56pa52h35b86krndh4vazp";
+          sha256 = "0grzlxibv57qds3dml6yjpw9hag86hbkrb1f66k7qn5hxaadmvpw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3096,10 +3086,10 @@
       elpaBuild {
         pname = "sweeprolog";
         ename = "sweeprolog";
-        version = "0.27.4";
+        version = "0.27.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.27.4.tar";
-          sha256 = "05hky1103xays0jflyls4zxj3mbmq7ipkdhaasd868gjbky4kryf";
+          url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.27.5.tar";
+          sha256 = "0mw8fddzcbn9h5l55v12n4nmickqdxc3y7y0xfzm6m42cvqkzdzf";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3114,7 +3104,7 @@
         version = "9.1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/swift-mode-9.1.0.tar";
-          sha256 = "1zx25g2jdkc78pjhl36gwrc3kj5wxayfl8vgkl3k5gqsa7bjjbjm";
+          sha256 = "1h7fbrgp2jsn0nk6c84vzvipm86macxf2975l0av8gxv0kpzcaiv";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -3137,16 +3127,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    symbol-overlay = callPackage ({ elpaBuild, emacs, fetchurl, lib, seq }:
+    symbol-overlay = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "symbol-overlay";
         ename = "symbol-overlay";
         version = "4.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/symbol-overlay-4.1.tar";
-          sha256 = "07gcg45y712dblidak2kxp7w0h0gf39hwzwbkpna66k4c4xjpig8";
+          sha256 = "0l877zm8fbf6qqcg7zx26w32x885axcj01l4y1m98jzryjhszfgn";
         };
-        packageRequires = [ emacs seq ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/symbol-overlay.html";
           license = lib.licenses.free;
@@ -3159,7 +3149,7 @@
         version = "1.6.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/systemd-1.6.1.tar";
-          sha256 = "0h6iwdi3j2ypgcwnyjs8rdlz5f8j25cya6z4v3n2phnkqbncmgx6";
+          sha256 = "0b0l70271kalicaix4p1ipr5vrj401cj8zvsi3243q1hp04k1m2g";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3174,7 +3164,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/tablist-1.0.tar";
-          sha256 = "1r37vk31ddiahhd11ric00py9ay9flgmsv368j47pl9653g9i6d9";
+          sha256 = "0z05va5fq054xysvhnpblxk5x0v6k4ian0hby6vryfxg9828gy57";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3189,7 +3179,7 @@
         version = "0.0.7";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/tangotango-theme-0.0.7.tar";
-          sha256 = "0xl90c7hzzd2wanz41mb5ikjgrfga28qb893yvdcy0pa6mgdmpmx";
+          sha256 = "1w287p8lpmkm80qy1di2xmd71k051qmg89cn7s21kgi4br3hbbph";
         };
         packageRequires = [];
         meta = {
@@ -3210,7 +3200,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/telephone-line-0.5.tar";
-          sha256 = "09glq2ljd10mqx54i3vflk7yjb1abhykzm9kng4wrw5156ssn6zs";
+          sha256 = "0pmn1r2g639c8g3rw5q2d5cgdz79d4ipr3r4dzwx2mgff3ri1ylm";
         };
         packageRequires = [ cl-generic cl-lib emacs seq ];
         meta = {
@@ -3225,7 +3215,7 @@
         version = "0.3";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/testcover-mark-line-0.3.tar";
-          sha256 = "18nlkm7p6fmaziqqbb4jmhpypn0b6233qd0c19xp16kjbxpg7ifh";
+          sha256 = "1p1dmxqdyk82qbcmggmzn15nz4jm98j5bjivy56vimgncqfbaf4h";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3240,7 +3230,7 @@
         version = "1.0.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/textile-mode-1.0.0.tar";
-          sha256 = "14ssqiw8x1pvjlw76h12vrk2w5qmhvp11v4h3cddqi96fddr95sq";
+          sha256 = "02nc3wijsb626631m09f2ygpmimkbl46x5hi8yk0wl18y66yq972";
         };
         packageRequires = [];
         meta = {
@@ -3255,7 +3245,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/toc-org-1.1.tar";
-          sha256 = "1wy48z4x756r7k6v9znn3f6bfxh867vy58wal7wmhxxig6sn9bk3";
+          sha256 = "0qhkn1a4j1q5gflqlyha2534sms8xsx03i7dizrckhl368yznwan";
         };
         packageRequires = [];
         meta = {
@@ -3270,7 +3260,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/totp-auth-1.0.tar";
-          sha256 = "0j5rr026n57crizrw4q4yi7q6psdw5qzfcby4slkrlz4yg58mpk3";
+          sha256 = "0hzj0p1r18q8vkhkbxbfakvmgld9y8n5hzza5zir0cpalv5590r5";
         };
         packageRequires = [ base32 emacs ];
         meta = {
@@ -3285,7 +3275,7 @@
         version = "1.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/treeview-1.2.0.tar";
-          sha256 = "1vwkqnjj380w13xxj670da4kyqsxmjcsivaqd8k6w7bs59yrljkr";
+          sha256 = "1dmix7hn5yl69r987f0g2m00p866ln8412dm7fj399pmn1kdfsvy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3300,7 +3290,7 @@
         version = "3.0.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/tuareg-3.0.1.tar";
-          sha256 = "0y98gwnbrcj3csd9yilk1izgzmp1ds5dh3y1bxgb2fzrjir3i13f";
+          sha256 = "04lb71cafg4bqicx3q3rb9jpxbq6hmdrzw88f52sjqxq5c4cqdkj";
         };
         packageRequires = [ caml emacs ];
         meta = {
@@ -3315,7 +3305,7 @@
         version = "0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/typescript-mode-0.4.tar";
-          sha256 = "1102c35w2b66q5acvhsk6yigzhp6n3rl0s28xnvb74ansk4rz35k";
+          sha256 = "1fs369h8ysrx1d8qzvz75izmlx4gzl619g7yjp9ck2wjv50wx95q";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3330,7 +3320,7 @@
         version = "1.2.9";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/ujelly-theme-1.2.9.tar";
-          sha256 = "04h86s0a44cmxizqi4p5h9gl1aiqwrvkh3xmawvn7z836i3hvxn9";
+          sha256 = "1yyjsdcwprynwk86phpqfifv6xkmn49yrj6fkh5s57w5sbby4fp0";
         };
         packageRequires = [];
         meta = {
@@ -3345,7 +3335,7 @@
         version = "0.5";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/undo-fu-0.5.tar";
-          sha256 = "0akn8gw3wavsfhxa9m426jkjacsw3k8vaxymhqrzy18lpvg5hysw";
+          sha256 = "00pgvmks1nvdimsac534qny5vpq8sgcfgybiz3ck3mgfklj4kshj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3360,7 +3350,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/undo-fu-session-0.6.tar";
-          sha256 = "0l54zqr481xlldfjllhsq4z6ccyzx0k3h7gm59pz32m7bd7zxggl";
+          sha256 = "057izvr86har50z1sfk4s6r88w2ga57afwm2w9p5v14lq31vj7cp";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3375,7 +3365,7 @@
         version = "20230504";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/vc-fossil-20230504.tar";
-          sha256 = "0s7mxi9qq5axv1prqgfi1d7yyrn0abal8y25d4l7n38qszixjlcd";
+          sha256 = "1q78xcfzpvvrlr9b9yh57asrlks2n0nhxhxl8dyfwad6gm0yr948";
         };
         packageRequires = [];
         meta = {
@@ -3390,7 +3380,7 @@
         version = "2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/vcomplete-2.0.tar";
-          sha256 = "0fh5rfvhjmpfdhp4k4b1y57zlsixiabhzca9329id48p8jm4rqyp";
+          sha256 = "03f60ncrf994pc4q15m0p2admmy4gpg5c51nbr3xycqp16pq8dz1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3402,10 +3392,10 @@
       elpaBuild {
         pname = "visual-fill-column";
         ename = "visual-fill-column";
-        version = "2.6.2";
+        version = "2.6.3";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/visual-fill-column-2.6.2.tar";
-          sha256 = "13z87xyzldllvga8iygb33qaqvrrc2qnc315zalvbmydw174cq1i";
+          url = "https://elpa.nongnu.org/nongnu/visual-fill-column-2.6.3.tar";
+          sha256 = "0agxixxlv3lnsng8jk7y6x1kzzvx3sw5m3mhl8gr4i1didgxc37n";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3420,7 +3410,7 @@
         version = "17.3.19";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/web-mode-17.3.19.tar";
-          sha256 = "1z33y7p1dilwpwydb9q14n55q48n80mynm7fjr7ih91wvk8zz5di";
+          sha256 = "0gmi0p118kd2xvlbp6y5mz2f0sgdm8qwna76lrmbnsxw4c9g5c6p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3440,7 +3430,7 @@
         version = "3.2.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/webpaste-3.2.2.tar";
-          sha256 = "0vviv062v46mlssz8627623g1b2nq4n4x3yiv8c882gvgvfvi2bi";
+          sha256 = "04156iwgbc49l3b6s5vzbffw1xrkansvczi6q29d5waxwi6a2nfc";
         };
         packageRequires = [ cl-lib emacs request ];
         meta = {
@@ -3452,10 +3442,10 @@
       elpaBuild {
         pname = "wfnames";
         ename = "wfnames";
-        version = "1.1";
+        version = "1.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/wfnames-1.1.tar";
-          sha256 = "04plvqn4srv1v7d7zx6qb0xm62c1hwkiqpq34w17daw9si2pvpan";
+          url = "https://elpa.nongnu.org/nongnu/wfnames-1.2.tar";
+          sha256 = "1yy034fx86wn6yv4671fybc4zn5g619zcnnfvryq6zpwibj6fikz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3470,7 +3460,7 @@
         version = "3.0.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/wgrep-3.0.0.tar";
-          sha256 = "0vg23ydwkqrmhlll45gf2fjdxj9chx9bl9m0pgwrlkjw0ncxj3qp";
+          sha256 = "18j94y6xrjdmy5sk83mh5zaz4vqpi97pcjila387c0d84j1v2wzz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3485,7 +3475,7 @@
         version = "2.0.4";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/why-this-2.0.4.tar";
-          sha256 = "0hqvqix9hqaki23vw3xilkcr84ak2vz4lwczr54s87x13idrg4px";
+          sha256 = "1swidi6z6rhhy2zvas84vmkj41zaqpdxfssg6x6lvzzq34cgq0ph";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3500,7 +3490,7 @@
         version = "3.3.2";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/with-editor-3.3.2.tar";
-          sha256 = "1jxkl9y6k81hyswd7yqrigwqsrgi3d0k5iaab1pjqyaixm5hk0d2";
+          sha256 = "1yjx1w54qdjpmq5f7l3y19d4bayyk01rgd82c56swsaxsf4j5fpv";
         };
         packageRequires = [ compat emacs ];
         meta = {
@@ -3515,7 +3505,7 @@
         version = "3.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/with-simulated-input-3.0.tar";
-          sha256 = "0ws8z82kb0bh6z4yvw2kz3ib0j7v47c5l5dxlrn3kr1qk99z65l6";
+          sha256 = "0a2kqrv3q399n1y21v7m4c9ivm56j28kasb466rq704jccvzblfr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3535,7 +3525,7 @@
         version = "2.3.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/workroom-2.3.1.tar";
-          sha256 = "1rwixacz8dwws54dvm9dbrwnjh8xpqp1j594hwd4xfq9z1kfzz4f";
+          sha256 = "0k0npmcs3cdkfds0r8p0gm8xa42bzdjiciilh65jka15fqknx486";
         };
         packageRequires = [ compat emacs project ];
         meta = {
@@ -3550,7 +3540,7 @@
         version = "2.2.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/writegood-mode-2.2.0.tar";
-          sha256 = "08b1650v6qsb3x1s5k4n5m2aqx1n26gc4wj822fm9s49k8vcpzl8";
+          sha256 = "00phrzbd03gzc5y2ybizyp9smd6ybmmx2j7jf6hg5cmfyjmq8ahw";
         };
         packageRequires = [];
         meta = {
@@ -3565,7 +3555,7 @@
         version = "0.6";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/ws-butler-0.6.tar";
-          sha256 = "1mm1c2awq2vs5fz773f1pa6ham29ws1agispxfjvj5nx15a0kqzl";
+          sha256 = "1jzlwj2pqan3bj0mipvh8vzvmgynrxf1dqphix7g86ppjv1ivmfy";
         };
         packageRequires = [];
         meta = {
@@ -3580,10 +3570,10 @@
       elpaBuild {
         pname = "xah-fly-keys";
         ename = "xah-fly-keys";
-        version = "24.24.20240324101507";
+        version = "25.1.20240423172921";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.24.20240324101507.tar";
-          sha256 = "1lqrrs5j523q33vvs85j3dlnd56bmnzglfkc8jilv6yq44dmv7v7";
+          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-25.1.20240423172921.tar";
+          sha256 = "00h6bmfl4mpx44j1phvijffzlqm1xs2gfprmpwbghc29p5lbd2pj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3598,7 +3588,7 @@
         version = "1.1";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/xkcd-1.1.tar";
-          sha256 = "1yszrba4cvisiy7m16rzpj7plbnafj4c7bdgxvqwxwhsasfmh6ag";
+          sha256 = "1qs4jv6h2i8g7s214xr4s6jgykdbac4lfc5hd0gmylkwlvs3pzcp";
         };
         packageRequires = [ json ];
         meta = {
@@ -3613,7 +3603,7 @@
         version = "1.6.17";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/xml-rpc-1.6.17.tar";
-          sha256 = "0k029lsyz1gpx88pprx5nj2qzkgk6dfc9kvna6a94r6m14brrgyc";
+          sha256 = "1r8j87xddv80dx6lxzr2kq6czwk2l22bfxmplnma9fc2bsf1k2wy";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3628,7 +3618,7 @@
         version = "0.0.16";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/yaml-mode-0.0.16.tar";
-          sha256 = "19j90sss45gvs76nl1fxi0xahbygy2v639ziwcj93d9vs2p9axs0";
+          sha256 = "0bhflv50z379p6ysdq89bdszkxp8zdmlb8plj1bm2nqsgc39hdm7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3643,7 +3633,7 @@
         version = "1.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/yasnippet-snippets-1.0.tar";
-          sha256 = "0p2a10wfh1dvmxbjlbj6p241xaldjim2h8vrv9aghvm3ryfixcpb";
+          sha256 = "0si61d0niabh18vbgdz6w5zirpxpp7c4mrcn5x1n3r5vnhv3n7m2";
         };
         packageRequires = [ yasnippet ];
         meta = {
@@ -3658,7 +3648,7 @@
         version = "2.8.0";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/zenburn-theme-2.8.0.tar";
-          sha256 = "1jbkh09r6sxb0iv9cdxi6k33kz3hldc6hcvyqljf733rdxykpskv";
+          sha256 = "0z733svsjsads655jgmc0b33icmygwaahxa27qi32s1pq84zqb4z";
         };
         packageRequires = [];
         meta = {
@@ -3666,16 +3656,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    zig-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+    zig-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib, reformatter }:
       elpaBuild {
         pname = "zig-mode";
         ename = "zig-mode";
         version = "0.0.8";
         src = fetchurl {
           url = "https://elpa.nongnu.org/nongnu/zig-mode-0.0.8.tar";
-          sha256 = "1v9qpc86n9zg765cy93365hj942z0gndkz6grjl2pk31087n3axy";
+          sha256 = "1085lxm6k7b91c0q8jmmir59hzaqi8jgspbs89bvia2vq5x9xd87";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs reformatter ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/zig-mode.html";
           license = lib.licenses.free;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index 659d82c088dfe..b21538281143a 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -260,7 +260,7 @@
     "s"
    ],
    "commit": "966bfcfdd3b2e288576ffe363d676ad282902090",
-   "sha256": "0apcbfaa70kgrpjjsfbr0lg9lcfiijpx5bms4sbzc606vlnxxn0d"
+   "sha256": "0zmzn8rdn1q0dfql3awivhrxd1nrvqr6mb8gv2ynaldyidgsb487"
   }
  },
  {
@@ -271,11 +271,20 @@
   "repo": "afroisalreadyinu/abl-mode",
   "unstable": {
    "version": [
-    20210923,
-    950
+    20240423,
+    1214
+   ],
+   "commit": "e918290b279112c367787ac704398d66759e5298",
+   "sha256": "0xb3jl03i462k9n87yzik816p94p13w08g1vpq80v9hb40sr9vml"
+  },
+  "stable": {
+   "version": [
+    0,
+    9,
+    4
    ],
-   "commit": "7f692cf9bb263b26fda51bb56a58f6ac61febe3b",
-   "sha256": "0al120nvyk0wgnb0isxqshcvg2vki3babsb2sgjkhb7617608akp"
+   "commit": "e918290b279112c367787ac704398d66759e5298",
+   "sha256": "0xb3jl03i462k9n87yzik816p94p13w08g1vpq80v9hb40sr9vml"
   }
  },
  {
@@ -1030,21 +1039,21 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20240222,
-    320
+    20240328,
+    1036
    ],
    "deps": [
     "ac-php-core",
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
-   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
+   "commit": "a69ae4a12e40900619b4e5a1613fd449aef649c3",
+   "sha256": "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7"
   },
   "stable": {
    "version": [
     2,
-    6,
+    7,
     0
    ],
    "deps": [
@@ -1052,8 +1061,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
-   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
+   "commit": "a69ae4a12e40900619b4e5a1613fd449aef649c3",
+   "sha256": "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7"
   }
  },
  {
@@ -1064,8 +1073,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20240325,
-    700
+    20240426,
+    653
    ],
    "deps": [
     "dash",
@@ -1075,13 +1084,13 @@
     "s",
     "xcscope"
    ],
-   "commit": "f9a6ad0f3715d7f491bbe2ae7e762a02ed12a2e0",
-   "sha256": "0qhzh2giaqdz6rqvhzgdv85x6ivcxwzhkx0lw5rfx0glvp48svcx"
+   "commit": "810ea813840b980b4f9b43c954e998032fe23f8a",
+   "sha256": "02dv077kn41kd5nr8v1g5cwar8q43s005q5x338ahknbgscys718"
   },
   "stable": {
    "version": [
     2,
-    6,
+    7,
     0
    ],
    "deps": [
@@ -1092,8 +1101,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
-   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
+   "commit": "a69ae4a12e40900619b4e5a1613fd449aef649c3",
+   "sha256": "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7"
   }
  },
  {
@@ -1601,7 +1610,7 @@
     "keyfreq"
    ],
    "commit": "5c3c430b21bcf685c412cf5ceb3769f630082e4f",
-   "sha256": "14p9lmnrpsnx94ycvsqmfxnk5kws0cman4a6fbnikl35ma8zc01x"
+   "sha256": "0zjncby2884cv8nz2ss7i0p17l15lsk88zwvb7b0gr3apbfpcpa3"
   }
  },
  {
@@ -1712,11 +1721,11 @@
   "repo": "brownts/ada-ts-mode",
   "unstable": {
    "version": [
-    20240324,
-    2139
+    20240426,
+    256
    ],
-   "commit": "fe84f62ea68c919bf321ba7b57b059d8d4b2bcd3",
-   "sha256": "12ckhv25an2f5k8w1fsfad7vqlwfi9mzdg30s48dwz4bdll5d065"
+   "commit": "a0c001fd768b062089127b09c838ca51b8214360",
+   "sha256": "1j2hid05fnzd3q5z89xib70n4w530ifpqqlhv0jhg70npwj7pny7"
   }
  },
  {
@@ -1811,11 +1820,11 @@
   "repo": "thierryvolpiatto/addressbook-bookmark",
   "unstable": {
    "version": [
-    20240304,
-    602
+    20240422,
+    1801
    ],
-   "commit": "2e76708a3dc73953c1e0f66e26918690b79424d0",
-   "sha256": "14lvbhaqzg7jhranrpin3xzsxs1w4i6bv2bmkf9pmwyfsw5187lw"
+   "commit": "a990a6d45a11c0e0dee57410d103fe20a4b00a6e",
+   "sha256": "1cjxpx15xgf68n9gb8j2w036nbb41g4k50ib31frgc7drlb89aw3"
   },
   "stable": {
    "version": [
@@ -1886,7 +1895,7 @@
     1033
    ],
    "commit": "04fed0ef795bfe2482998c5b6f87c37c13fe8c50",
-   "sha256": "0klzdgicxfsfwg66a5lnlsfv4mpli6fikplk3qldpwz21652xsz9"
+   "sha256": "0kk571d7ww6j8y6krfsr9v5yvssz8gvfjq4xc3vsgvpzl6bdh8rl"
   },
   "stable": {
    "version": [
@@ -1895,7 +1904,7 @@
     0
    ],
    "commit": "0907961986a582ded514d54a8bfdf691f7bfaf86",
-   "sha256": "0klzdgicxfsfwg66a5lnlsfv4mpli6fikplk3qldpwz21652xsz9"
+   "sha256": "10hm8anw78n37pl9rz3dnjphrnsxf3fy00d008gayn70jfjl1433"
   }
  },
  {
@@ -2050,20 +2059,20 @@
   "repo": "anticomputer/age.el",
   "unstable": {
    "version": [
-    20230115,
-    1155
+    20240410,
+    433
    ],
-   "commit": "9e82487234c53e0fab2314aeab6479e62c68f0c7",
-   "sha256": "1x1f224xbwaan4rc1589gipl5a7llr3rxxf85i4y8zz2vfl478dp"
+   "commit": "890c467ebc27538507c54a03afd2f7260630d7f5",
+   "sha256": "0777nvrvswv81g0rkclm7r2ai1xfjf380lhg8lidd060dkp71ic1"
   },
   "stable": {
    "version": [
     0,
     1,
-    4
+    5
    ],
-   "commit": "0c94618fc10105da751007f90b44075f6e5d61ba",
-   "sha256": "1dvpa4p1rbpnxh4bcg2zz5y3df40k7r16m9lj4grv926cf1i4hl9"
+   "commit": "890c467ebc27538507c54a03afd2f7260630d7f5",
+   "sha256": "0777nvrvswv81g0rkclm7r2ai1xfjf380lhg8lidd060dkp71ic1"
   }
  },
  {
@@ -2433,7 +2442,7 @@
     0
    ],
    "commit": "97c20b1fd9ad3f138e1100e3a837d05108c4c564",
-   "sha256": "1x4apig2hrvvy6pjciklmz5afpq5l4rmfjahc2wvyzs79abh0icx"
+   "sha256": "1wsvs756cbwbxlaxij352kman7196m39684m6sqnfb685cfrwzdj"
   }
  },
  {
@@ -2972,11 +2981,11 @@
   "repo": "jordonbiondo/ample-theme",
   "unstable": {
    "version": [
-    20180207,
-    1745
+    20240426,
+    1545
    ],
-   "commit": "366698400c555211c2082962a5d74f3dd79a78c8",
-   "sha256": "1kzb15aqy7n2wxibmnihya7n6ajs34jxp9iin96n758nza92m59c"
+   "commit": "39ac29cf9a1229bb076964335fbd71cfb52e498b",
+   "sha256": "1s2k1r3wwvwa3rkfsyg5y9386fl0v4qzlqriwldblpq5glyg40qq"
   }
  },
  {
@@ -3309,7 +3318,7 @@
     806
    ],
    "commit": "6ad8c6be4f44de0c33eab012e507320b732d4800",
-   "sha256": "0cq960q11lpic6zcw71z2ap80jzrzgcwwy2vwhgc1zwi8k8l9i4q"
+   "sha256": "1pg0xqzixw3nq68hsy263q7j76fggy6wqgmcl5yd0wfhbzd23qqz"
   }
  },
  {
@@ -3405,11 +3414,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20240320,
-    1350
+    20240326,
+    1828
    ],
-   "commit": "9d88cc7ffed6f79f81a83a914554e264e35a575c",
-   "sha256": "116gcg09nrxpbvgv3h1hmgy2y12xl57rgy6ki0ayw6li7zn7df4j"
+   "commit": "3a27be3aa024d314da84c89cb86af58dbf3a2cb9",
+   "sha256": "02rv530xhcxlgqlj0cywcg3r2yhgv055fr9d3fa82g6nq364qf03"
   },
   "stable": {
    "version": [
@@ -3619,7 +3628,7 @@
     0
    ],
    "commit": "785f0bad0c73069e6c41ca543c29675785b614a8",
-   "sha256": "05q548dyb620kg12mgkmw6jpwbr2y2aqs5p7314y2c37khvw5irg"
+   "sha256": "1ja0q2z9kqkz3ycclgaw1ib83cjh6kym9lrikni0if3spbb0df3w"
   }
  },
  {
@@ -3824,11 +3833,11 @@
   "repo": "radian-software/apheleia",
   "unstable": {
    "version": [
-    20240323,
-    216
+    20240413,
+    2257
    ],
-   "commit": "3e89e62922d610a3429707710d6636244a3c3f76",
-   "sha256": "1g711i4xims1mdh59cr0plfif17c9j9crgd7vv777xh19qff5imd"
+   "commit": "66bf5195b4e922f23a9d573f2823daeb63e7ed5b",
+   "sha256": "0yqks35q9vv7qymwx96b9smmg7dpb12lacclq63ypfhkwakd2wgg"
   },
   "stable": {
    "version": [
@@ -3899,11 +3908,11 @@
   "repo": "Greybeard-Entertainment/app-monochrome",
   "unstable": {
    "version": [
-    20240303,
-    1628
+    20240406,
+    36
    ],
-   "commit": "84de8c0424cd51feaf758cc636d9864e7311864c",
-   "sha256": "0m7ka3zwfka5d484j5v6f96jr5n8rs4qbb8vvw5r2nhky9ji4cna"
+   "commit": "9324ec430a5154853c1da711e1c9738d61f1135a",
+   "sha256": "09jxb4b4lb19z2dfvpa0rjba89gcsphkx5d45p56rbb1b0i3h5iz"
   }
  },
  {
@@ -4598,11 +4607,11 @@
   "repo": "meedstrom/asyncloop",
   "unstable": {
    "version": [
-    20240324,
-    2057
+    20240407,
+    1153
    ],
-   "commit": "22d299cd0ba0c8d407acba6cb22ed8f7be4161a6",
-   "sha256": "15nil21m02h864vqpmnwpdd2p5zsihx86lrkvqil1zvziwykxx2x"
+   "commit": "46e38388870b238221a4d96017874309aada7660",
+   "sha256": "188633b7fxy94xpdafksxxh3hd9cahcrg1f62d6p2j0qvw9a9ly7"
   },
   "stable": {
    "version": [
@@ -5126,11 +5135,11 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20240321,
-    2014
+    20240415,
+    1533
    ],
-   "commit": "4ba644f3e3e33afb2b263e9d184b6e2b70d5fadd",
-   "sha256": "1h0rq69flrjj65wa1x7x0ispm041qr2xrzs5qxciabhav2hs3hqh"
+   "commit": "01844064e3f2bb9f109a8a064998baf89a864fbc",
+   "sha256": "1syrwi1rb9w4y4fi8kckvd27i879w35y0sbmlhqpp2li0yx51wwa"
   },
   "stable": {
    "version": [
@@ -6355,26 +6364,26 @@
   "repo": "licht1stein/babashka.el",
   "unstable": {
    "version": [
-    20230808,
-    2140
+    20240417,
+    1347
    ],
    "deps": [
     "parseedn"
    ],
-   "commit": "1721f68ea8e34e8a6ab2759a04c1a01cedfdd319",
-   "sha256": "0yjqwshwhcfylajfsks1xvkgqarcnlhwfdy3i587jdw799434vb0"
+   "commit": "117138c0b7361e70282ee53825e2f4de1a782609",
+   "sha256": "1k3zy6y682g3sab0by6lp9bbx8w4m9npjpjkxhhxgcqhglhpqcm4"
   },
   "stable": {
    "version": [
     1,
     0,
-    6
+    7
    ],
    "deps": [
     "parseedn"
    ],
-   "commit": "1721f68ea8e34e8a6ab2759a04c1a01cedfdd319",
-   "sha256": "0yjqwshwhcfylajfsks1xvkgqarcnlhwfdy3i587jdw799434vb0"
+   "commit": "117138c0b7361e70282ee53825e2f4de1a782609",
+   "sha256": "1k3zy6y682g3sab0by6lp9bbx8w4m9npjpjkxhhxgcqhglhpqcm4"
   }
  },
  {
@@ -6476,15 +6485,15 @@
   "repo": "tarsius/backline",
   "unstable": {
    "version": [
-    20240306,
-    1822
+    20240415,
+    1533
    ],
    "deps": [
     "compat",
     "outline-minor-faces"
    ],
-   "commit": "1bbfc53a92fbae5a2b4afa34584a008dc9337c3e",
-   "sha256": "0hlkj2478s2j49bkmr4fg8za6frchqw8f3f5496gsy4kzdv3n9qk"
+   "commit": "f070ebb33eb44087e07ff647d8d87d1b27ce40d4",
+   "sha256": "0d0dh67acqzqsys5rn0lfd8xwg4mhcyk32093s0qwybvsx42x7ng"
   },
   "stable": {
    "version": [
@@ -6710,11 +6719,11 @@
   "repo": "tinted-theming/base16-emacs",
   "unstable": {
    "version": [
-    20240218,
-    58
+    20240421,
+    101
    ],
-   "commit": "c24d84b6c4794d1fc92429b6c70009434a137fe4",
-   "sha256": "17am6rx8xmkkfx6dlbchym3xaj341z1aaam6zk3nkjxyz8srbm1c"
+   "commit": "c7ea8116d331fd9ce913267489e7846c34795b38",
+   "sha256": "07vziyp5nn1rxgx0z467yjahvm90w5f62h5ysggrp924ywwzblp5"
   },
   "stable": {
    "version": [
@@ -6737,7 +6746,7 @@
     1821
    ],
    "commit": "927257e97a602b6979a75028e8417bf1499582d4",
-   "sha256": "1vw1vpnxa4qxbdsmis8d0df3qhwr1c5h0q04rvwmyviixd729mlr"
+   "sha256": "1jbpf28918pjiqhw8rackv9r8iq9ydd3jw1zwwifznglmpyca7jk"
   },
   "stable": {
    "version": [
@@ -6745,7 +6754,7 @@
     1
    ],
    "commit": "927257e97a602b6979a75028e8417bf1499582d4",
-   "sha256": "1vw1vpnxa4qxbdsmis8d0df3qhwr1c5h0q04rvwmyviixd729mlr"
+   "sha256": "1jbpf28918pjiqhw8rackv9r8iq9ydd3jw1zwwifznglmpyca7jk"
   }
  },
  {
@@ -6826,7 +6835,7 @@
     "flycheck"
    ],
    "commit": "5bfd5f91b9f91e46158e0419c6bb5c350e7684a1",
-   "sha256": "0mb85g7bydd0nv3hjzvqb3d01cs4hg5846ibcznaqhsqk93pgm2h"
+   "sha256": "0nb6dbk8aclkq7jki52y4lwgbxg61xh1598l08yfv2l1ykhgg0n0"
   }
  },
  {
@@ -7808,14 +7817,14 @@
   "repo": "tarsius/bicycle",
   "unstable": {
    "version": [
-    20240101,
-    2211
+    20240415,
+    1533
    ],
    "deps": [
     "compat"
    ],
-   "commit": "998e39095481ced3844efaa8f8f0c5343641df9e",
-   "sha256": "0rh8rhmhc373h1zggs9xlfa4yidqq8b3ms45xfi4zax0dk38003j"
+   "commit": "0ac08d9946f0da7066a6c2242025b42983c0c2e8",
+   "sha256": "1pp8m5ai7353jzm54laxg3l1c3xfsk32dlrg8wnpz6cgqkd47ajs"
   },
   "stable": {
    "version": [
@@ -8049,11 +8058,11 @@
   "repo": "liuyinz/binky.el",
   "unstable": {
    "version": [
-    20240107,
-    2156
+    20240428,
+    352
    ],
-   "commit": "9c0d99b345dc310a31a187c52d092965a26de70a",
-   "sha256": "0dagrwmh364yaxbm4sxhscych77j8dksqw5034d27vc0q23nwh5w"
+   "commit": "d5717053910f1d66f16c22a3d8834b43a507575e",
+   "sha256": "1z8yv4xvg2rvc9djkcp72r8b8x0bd26sp2zrfd780wcw4rar6ada"
   },
   "stable": {
    "version": [
@@ -8073,8 +8082,8 @@
   "repo": "SqrtMinusOne/biome",
   "unstable": {
    "version": [
-    20240311,
-    2154
+    20240426,
+    1407
    ],
    "deps": [
     "compat",
@@ -8082,8 +8091,32 @@
     "request",
     "transient"
    ],
-   "commit": "d393ddbb70f1f27632c7ec63fe96e0179b708714",
-   "sha256": "10r85yjiqd656alhi41n7ykyswj51g2sanacnkfsmdaj97rv9zy4"
+   "commit": "804a0576f5c87c167c61f00d037581688ab806be",
+   "sha256": "0izip46biwsmyc862jz4k9dlc27ilmcxdw7nb3wjsc98hsd72512"
+  }
+ },
+ {
+  "ename": "biomejs-format",
+  "commit": "ecb7ca09d7ecd60c665ac4b5fceefd1a005274fa",
+  "sha256": "0zvhv27pglmnjqnnk4sgm02dzcgkz00lya187xpcxl1gkczr6igl",
+  "fetcher": "github",
+  "repo": "yadex205/emacs-biomejs-format",
+  "unstable": {
+   "version": [
+    20240401,
+    458
+   ],
+   "commit": "cbfb8aac8bfab6fd893f1ccb4eb9efa29b1b3214",
+   "sha256": "04v4qms7yz85hicpxp3a99kv6mx8dnds0f6l0fddvm1l0bmylib8"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "commit": "cbfb8aac8bfab6fd893f1ccb4eb9efa29b1b3214",
+   "sha256": "04v4qms7yz85hicpxp3a99kv6mx8dnds0f6l0fddvm1l0bmylib8"
   }
  },
  {
@@ -8813,11 +8846,11 @@
   "repo": "ideasman42/emacs-bookmark-in-project",
   "unstable": {
    "version": [
-    20230604,
-    757
+    20240421,
+    322
    ],
-   "commit": "b3255afd8bddd0e6705fa2556205bf1c1192fc37",
-   "sha256": "1c5pnvv1mh2xkzxps5x9d12javzxb8rzmix1x9hm12q7y9anl9jp"
+   "commit": "369161f257921747c3b540eac7bc8eb4aa8186b9",
+   "sha256": "0346ljcb6b31y4wh5gikb7lpjpn4sqisk7frbdxqcp5yy15i1pmf"
   }
  },
  {
@@ -8908,15 +8941,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20240320,
-    2244
+    20240415,
+    1553
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "96ea859c8da74f415b76ccc8dd63b27ce0b6b267",
-   "sha256": "0gpjc7cz6hrpnq4va3klgy313s26hhibl7rfpwy4iscmslzhgdw1"
+   "commit": "dfc5d58b439042a6e323cb342ab7531692d118a0",
+   "sha256": "02rq0ps327v8xlhs69r0cxicg4kljcza8ha7gks7z728hprwvhdl"
   },
   "stable": {
    "version": [
@@ -9042,15 +9075,15 @@
     2201
    ],
    "commit": "587b39ea7a1d786df5c04796d51bf2a5a4eda0d7",
-   "sha256": "14nxqlrza35l955zgc4yi9yaymd9slyyyjmbnbd831v8jlddngm9"
+   "sha256": "0bvg2vpak2bv3s7wc0zzrqb3pys5s7vi6rs7k7l4fmaj5amaq9vb"
   }
  },
  {
   "ename": "bpr",
-  "commit": "05eed39bae37cc8359d2cc678052cbbcc946e379",
-  "sha256": "0rjxn40n4s4xdq51bq0w3455g9pli2pvcf1gnbr96zawbngrw6x2",
+  "commit": "422e51d5467b6a417147e07865392f17dcc6de21",
+  "sha256": "1jpwx0z5wb20jv1mnl0d8azzpak39swbsjvym7aqvhjiy4zagcfq",
   "fetcher": "github",
-  "repo": "ilya-babanov/emacs-bpr",
+  "repo": "iliabv/emacs-bpr",
   "unstable": {
    "version": [
     20180220,
@@ -9140,11 +9173,11 @@
   "repo": "Michael-Allan/Breccia.Emacs",
   "unstable": {
    "version": [
-    20240324,
-    900
+    20240425,
+    2224
    ],
-   "commit": "1cc2ed75572d0dad693914e33ec5c440f7bff536",
-   "sha256": "0jfhnib7yziy1qqiyyjd17vcp8rbf5ha21wvcqayknhkrhxc4b97"
+   "commit": "fd8c536bb24cc58447213f8cada94f96ccf036dc",
+   "sha256": "0rlgxkv8grsyxl9k8jmlnmaakzzw4jnmm48y29sg50mjaj219gf7"
   }
  },
  {
@@ -9319,6 +9352,21 @@
   }
  },
  {
+  "ename": "browser-hist",
+  "commit": "bc155dcf3df95ab12a305d0f2cf67a04bf4bc82a",
+  "sha256": "0x6582c5sdqy63i0yn9p3d2v0n42l3a4gpr2bbs31vxl7hw4dasl",
+  "fetcher": "github",
+  "repo": "agzam/browser-hist.el",
+  "unstable": {
+   "version": [
+    20240402,
+    2345
+   ],
+   "commit": "0b7e93274173e82c05e5d9c9d3055e4b9017612a",
+   "sha256": "0jsq1sk4vbs3r7lhz28a550w88qq0mj6y2ra5ry351dnxsypsmsn"
+  }
+ },
+ {
   "ename": "brutalist-theme",
   "commit": "ec889956a5685c3a60003ad2bfa04b03b57aa8e8",
   "sha256": "0dg0432r3cpjgdlpz583vky4hj5vld9d25dvaj6nxlir2ph9g9hn",
@@ -9575,11 +9623,11 @@
   "repo": "ideasman42/emacs-buffer-name-relative",
   "unstable": {
    "version": [
-    20240204,
-    1219
+    20240421,
+    324
    ],
-   "commit": "b1e878e97df0cd02348e1aed95738c0c3a32f148",
-   "sha256": "002xrfx0rkq3lwribpxgimxw813nwflvwl7g7ywc5xi9v41jv56j"
+   "commit": "2e681c7277f599a319d99182284eebe13cd654e3",
+   "sha256": "1flkps9v7dgggbd7pbz0pgj8p3gwyjlzzpbgv9xbpdmyfqxbb1m3"
   }
  },
  {
@@ -10126,19 +10174,19 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20240320,
-    2109
+    20240328,
+    2016
    ],
-   "commit": "be25a149fcec1a33d1dfbdf42b265a9f0a958ef5",
-   "sha256": "160ijybvs2msilbh2yfm13hm3gxzkr9if9h7qqw62jsnk2nfb7h2"
+   "commit": "a1a86b027ffe030e1c78a9f43c50cd20a6fed19a",
+   "sha256": "0s5c7ia7b873dr6rqljkb1z4bf84zb3p3wjvcvpjhdcnf67m5x10"
   },
   "stable": {
    "version": [
     1,
-    34
+    35
    ],
-   "commit": "c0764a764cf088dcb5132c44d5864b22d7723765",
-   "sha256": "07bsbzqxsb6sbayriymy54bqcy7is7c61fpnm83mg9527w0w4g19"
+   "commit": "a1a86b027ffe030e1c78a9f43c50cd20a6fed19a",
+   "sha256": "0s5c7ia7b873dr6rqljkb1z4bf84zb3p3wjvcvpjhdcnf67m5x10"
   }
  },
  {
@@ -10149,26 +10197,26 @@
   "url": "https://bitbucket.org/olanilsson/buttercup-junit",
   "unstable": {
    "version": [
-    20190802,
-    2258
+    20240423,
+    2158
    ],
    "deps": [
     "buttercup"
    ],
-   "commit": "6bc28b6b0f36fb71b0915c9e45963c840c64a8df",
-   "sha256": "1rayxq1va7jpikfr37p8nq2pv339mhq7zqy082kzwvj5q6qfw88s"
+   "commit": "877daa33fc3fc23f2a3d633e28650c04534458b5",
+   "sha256": "058spm1bm3gyzfm3vvpp8m96xsyaj3wh5nynbjv23kbkrdyr7s6v"
   },
   "stable": {
    "version": [
     1,
     1,
-    1
+    2
    ],
    "deps": [
     "buttercup"
    ],
-   "commit": "6bc28b6b0f36fb71b0915c9e45963c840c64a8df",
-   "sha256": "1rayxq1va7jpikfr37p8nq2pv339mhq7zqy082kzwvj5q6qfw88s"
+   "commit": "877daa33fc3fc23f2a3d633e28650c04534458b5",
+   "sha256": "058spm1bm3gyzfm3vvpp8m96xsyaj3wh5nynbjv23kbkrdyr7s6v"
   }
  },
  {
@@ -10656,8 +10704,8 @@
   "repo": "chenyanming/calibredb.el",
   "unstable": {
    "version": [
-    20231107,
-    302
+    20240331,
+    409
    ],
    "deps": [
     "dash",
@@ -10667,8 +10715,8 @@
     "s",
     "transient"
    ],
-   "commit": "124c916f203511c64d03fac28d303dfb102a6ead",
-   "sha256": "0qmqk7a9ci3zwq6sv642898axnq9bw9nrb920s2yza43nj1pc860"
+   "commit": "b526095e4b1c7866958fe53518eb897a8c87a19b",
+   "sha256": "0092v35yv63ijqaqwjp368kw295f07p1vc2hlqx4fgarsz6kc71n"
   },
   "stable": {
    "version": [
@@ -10835,25 +10883,25 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20240315,
-    542
+    20240411,
+    2207
    ],
    "deps": [
     "compat"
    ],
-   "commit": "a397a0c92de38277b7f835fa999fac400a764908",
-   "sha256": "1mixvpmb2njxziv8mbg6hrczzlvdzrn9zz01cswjywb8bl35l87h"
+   "commit": "bf22aa6ce0ffca1a1a77b693dddcd05eddc386f0",
+   "sha256": "1ah0nwib2k46467j0fhq9kckx7cqnjgwpdb7zk9jw8rbrjlndcpw"
   },
   "stable": {
    "version": [
     1,
-    4
+    5
    ],
    "deps": [
     "compat"
    ],
-   "commit": "af61a4e670818f100beb6ef582449931b3965b10",
-   "sha256": "1ml3w9xvcxbcbsi01rdsclsxra5h7jrm9lsrkbj1hin2wl5gr9np"
+   "commit": "bf22aa6ce0ffca1a1a77b693dddcd05eddc386f0",
+   "sha256": "1ah0nwib2k46467j0fhq9kckx7cqnjgwpdb7zk9jw8rbrjlndcpw"
   }
  },
  {
@@ -11197,26 +11245,26 @@
  },
  {
   "ename": "casual",
-  "commit": "dcc5db335679fde21244f2c4f102acdc425e6258",
-  "sha256": "0q7s11ynk6bxzj5lljrc5z3v4jf7n10fi5b1jx7bc3qdg7173z3p",
+  "commit": "8eeb0f07cd1b2fff661cf6523390e81adfc060ba",
+  "sha256": "0d33xs732pnc4z29w13amslpx9qqbaxms7apqdwxcsyr8jsvybw0",
   "fetcher": "github",
-  "repo": "kickingvegas/casual",
+  "repo": "kickingvegas/Casual",
   "unstable": {
    "version": [
-    20240317,
-    2027
+    20240416,
+    2237
    ],
-   "commit": "643af803258fd9524582fc1d56472ea44c70100f",
-   "sha256": "1jw82q82qzr41v7clwjcfvlhvyd02pacikga1sjfiq9bw9dj3alg"
+   "commit": "a22cf128c3baa3e11f6aaff7dc44ef91cf0fe9ce",
+   "sha256": "0sx3hqpp8ikp3avzcj4d601zh80rs7qi2azl0vmgc4ymrd7g1af8"
   },
   "stable": {
    "version": [
     1,
-    2,
-    1
+    5,
+    0
    ],
-   "commit": "643af803258fd9524582fc1d56472ea44c70100f",
-   "sha256": "1jw82q82qzr41v7clwjcfvlhvyd02pacikga1sjfiq9bw9dj3alg"
+   "commit": "a22cf128c3baa3e11f6aaff7dc44ef91cf0fe9ce",
+   "sha256": "0sx3hqpp8ikp3avzcj4d601zh80rs7qi2azl0vmgc4ymrd7g1af8"
   }
  },
  {
@@ -11251,11 +11299,11 @@
   "repo": "catppuccin/emacs",
   "unstable": {
    "version": [
-    20231213,
-    1318
+    20240326,
+    900
    ],
-   "commit": "1e9bdb0c19bf13c27a32b1adeabcace45fcbfd15",
-   "sha256": "1cv46rqdd159plnqdkl74zwcgmbndq81d02g41a327hdwbpahp6v"
+   "commit": "3d93abaa33e95f19b4a8b0e1e9bef1e3e68dd994",
+   "sha256": "1j6nsy9is067288x2riabb7kc3grghb2g7bkvwndn2jyglbbxgi0"
   },
   "stable": {
    "version": [
@@ -11349,20 +11397,20 @@
   "repo": "kickingvegas/cc-isearch-menu",
   "unstable": {
    "version": [
-    20240320,
-    532
+    20240401,
+    48
    ],
-   "commit": "4ffb8c42b84a2b3c1773d285980b46110920928e",
-   "sha256": "0v1pxs3cfb9n5gmcrhni425wxwian4vwzhzpnq6bvks8h03ch18r"
+   "commit": "6eecc77a89ea63cab69fc8eb6dd1c32ad582b05b",
+   "sha256": "057bsx330da9vpn0292gxzn9gary5piqinmrw8hk072iwgk6kdwi"
   },
   "stable": {
    "version": [
     1,
-    3,
+    4,
     1
    ],
-   "commit": "4ffb8c42b84a2b3c1773d285980b46110920928e",
-   "sha256": "0v1pxs3cfb9n5gmcrhni425wxwian4vwzhzpnq6bvks8h03ch18r"
+   "commit": "6eecc77a89ea63cab69fc8eb6dd1c32ad582b05b",
+   "sha256": "057bsx330da9vpn0292gxzn9gary5piqinmrw8hk072iwgk6kdwi"
   }
  },
  {
@@ -11388,15 +11436,15 @@
   "repo": "emacs-lsp/emacs-ccls",
   "unstable": {
    "version": [
-    20240124,
-    1050
+    20240331,
+    2132
    ],
    "deps": [
     "dash",
     "lsp-mode"
    ],
-   "commit": "9b4a47e0418de8cc2fc93317e27cbdde75286df1",
-   "sha256": "0kj0naml21l5y5pyy1z9x1yqj76wm13ck1kkki9vp4g60w0ac0v7"
+   "commit": "9c91aad768d5c401295c79f341c5296b69b29490",
+   "sha256": "0m4q3zs6sr12avh9wr800wxr8lps7k0nzbgf4nckmzsavqb6csrh"
   }
  },
  {
@@ -11560,15 +11608,15 @@
   "repo": "ema2159/centaur-tabs",
   "unstable": {
    "version": [
-    20230607,
-    1501
+    20240411,
+    2153
    ],
    "deps": [
     "cl-lib",
     "powerline"
    ],
-   "commit": "0bb1aa18d475319df85f192dce3327802866c3c3",
-   "sha256": "1115a5gp73brpam69wryxzci5rl844r2hxw91n4fa15sma9hz5dx"
+   "commit": "24d90efc72754cd1197a0c2f14d18e7c90dd2b4f",
+   "sha256": "03j73jhda6pbw203w21zk7w97fv5isr6fdbip40h9id7f112vhaw"
   },
   "stable": {
    "version": [
@@ -11693,20 +11741,20 @@
   "repo": "jaypmorgan/cern-root-mode",
   "unstable": {
    "version": [
-    20220905,
-    2016
+    20240411,
+    1355
    ],
-   "commit": "a54241681012b00b514fd20ff894e3c4c83b45c7",
-   "sha256": "0kxwpzkxbwc02d70aykqs2y35rl923iy8h5l8vm8jy60s6ns8qb5"
+   "commit": "d769530ddfbe57cc3c319b430c8a37c72c8ce52c",
+   "sha256": "0amrxs05s1wiwjpw7hkrgai3p41rvgnar3myyg52rq8l6p9kych5"
   },
   "stable": {
    "version": [
     0,
     1,
-    4
+    5
    ],
-   "commit": "2df8781df1d807bf522eb19ac7b03b4bfaeb89c0",
-   "sha256": "159q50m8sr4adw7czkq0mq6hq43svkk2psx0wnmmb1aa8ivhwyip"
+   "commit": "2c9c6ea100d9be31733f2f2c4ea8bcda85600254",
+   "sha256": "17yk9d14kca8j92pi85w5cvdzw1dvw7w5gh9n7a3z79rgg4i4497"
   }
  },
  {
@@ -11788,16 +11836,16 @@
   "repo": "worr/cfn-mode",
   "unstable": {
    "version": [
-    20240324,
-    904
+    20240421,
+    805
    ],
    "deps": [
     "f",
     "s",
     "yaml-mode"
    ],
-   "commit": "9431e2261b74a5e5a4bc3d243b0e3433aec45e74",
-   "sha256": "0ziwx73zwshazkp63lzyhfsdfdsavmzas4ngsrd4rv4mpj41w68c"
+   "commit": "3aa78685b9158022f49da43821c0888f377fa213",
+   "sha256": "0jarry76dzhn9zh41bfzyinibifzcxbzs8vmkdlpd0d97npcdxjh"
   },
   "stable": {
    "version": [
@@ -11887,11 +11935,11 @@
   "repo": "GrammarSoft/cg3",
   "unstable": {
    "version": [
-    20230920,
-    1245
+    20240419,
+    1148
    ],
-   "commit": "14367436c123220a0bb84987db51b6c774ac813a",
-   "sha256": "0k8v4zxr0ijpzz7g0la18mb6imjlz3957incm01xzbivn5dkzlr5"
+   "commit": "913974345a9fce9e6ac76934ed535df7e44d47d6",
+   "sha256": "183agf7njdg1zcrclfpa84izwwy230730anz3cz1rr0r77cqvmgv"
   },
   "stable": {
    "version": [
@@ -12058,14 +12106,14 @@
   "repo": "xenodium/chatgpt-shell",
   "unstable": {
    "version": [
-    20240306,
-    857
+    20240402,
+    2216
    ],
    "deps": [
     "shell-maker"
    ],
-   "commit": "bf2d12ed2ed60c498d95215fa1cf81c2b23191a7",
-   "sha256": "0jv0zxmfv59h2cljk55syvl7rgpfy6zfydzm9bms2wyj68rv24pr"
+   "commit": "42cf53ba7d43e0622e8c4c57ef8f635e1248182b",
+   "sha256": "1lg3ymw6vsxkk8vpkbyia5l3xl2bgsk2xsw5n5nrhax9qs3axh1b"
   }
  },
  {
@@ -12076,15 +12124,15 @@
   "repo": "kimim/chatu",
   "unstable": {
    "version": [
-    20240308,
-    1129
+    20240425,
+    1349
    ],
    "deps": [
     "org",
     "plantuml-mode"
    ],
-   "commit": "63a42219b28b2011e86ae5e8abb1366b65a25347",
-   "sha256": "0r0r3899yqy946sa2d3xfi565jh85yh9wcz9wylvrkar4rb70b6b"
+   "commit": "3175ac95de1a1dc75ff5be1bf3a2e80e0abd5229",
+   "sha256": "0wf63z7ang91gzqqh0d2a5h41zdvm9xkblkkz0ldp4ppk8wpggkg"
   }
  },
  {
@@ -12716,8 +12764,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20240310,
-    1926
+    20240424,
+    1919
    ],
    "deps": [
     "clojure-mode",
@@ -12728,8 +12776,8 @@
     "spinner",
     "transient"
    ],
-   "commit": "c4fa1a84a3b3d03ef5f61cc5d33ff4e91b9a1dce",
-   "sha256": "1mm4i7fjpdhqpjknziccpwm0kndb9c4dkmj52ff69dffm4zqps17"
+   "commit": "1cd6ab7b7cb4a7e079a273600c4d28307c3aba40",
+   "sha256": "1hcj1fwp2433j3vfmzyv8sh4icg6rsk70av6prrg4adqwzgvhh7m"
   },
   "stable": {
    "version": [
@@ -12926,20 +12974,20 @@
   "repo": "guidoschmidt/circadian.el",
   "unstable": {
    "version": [
-    20231027,
-    744
+    20221223,
+    1419
    ],
-   "commit": "b3bb94040080ac18aab04b010752d4984feee37b",
-   "sha256": "062mci931fwaf12cyw0kidavasdkfcd415iiwizdvlb2dmr3qmsk"
+   "commit": "f20cdbf164be10ef0c55d26eba4d270c7c826f42",
+   "sha256": "03wh3zb1pwvjn990bvd461397v8fh5y6asy0g5wb7x86sg6za1hg"
   },
   "stable": {
    "version": [
     0,
-    3,
-    3
+    4,
+    0
    ],
-   "commit": "9959e4b9d2ed9920b668fc229aab1f5fa5bd8584",
-   "sha256": "1hydxhmcchaprfmp08xr6nlksz6y97jbf4mswj69bgdfjfbf22km"
+   "commit": "323039363588028c629604fae17b73a3d3c821cc",
+   "sha256": "108qsmzdbk4jw445chl6zhbd0mb95w3lc30c6jaijn4y7ys3dmls"
   }
  },
  {
@@ -12950,14 +12998,14 @@
   "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20240227,
-    2116
+    20240407,
+    1101
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7044e07ab235ae09498c430558449750ec1e6a9f",
-   "sha256": "103ljkymlkr50w937mc2yjj0xdq8i2p7xl25xv4r74fignd29m55"
+   "commit": "9d703f481a2c65f2b17edcc2b05412f9865d24af",
+   "sha256": "1k8hydd45zqhbfd4lmcdr46wxj9m788wwjmr9ss0vyrqc0w6z6zw"
   },
   "stable": {
    "version": [
@@ -13028,16 +13076,16 @@
   "repo": "emacs-citar/citar",
   "unstable": {
    "version": [
-    20231226,
-    1453
+    20240419,
+    2232
    ],
    "deps": [
     "citeproc",
     "org",
     "parsebib"
    ],
-   "commit": "885b86f6733fd70f42c32dd7791d3447f93db990",
-   "sha256": "1kzwllhcn77z6gsdxl6r1csv9nj64qbgznpy8r8kvnri3fl55w4h"
+   "commit": "07d2a63c99fe35cbd468f8e6a322de05f1a29469",
+   "sha256": "0806av5mbxnhgmdam47lz6bswi8fr9xq4hff8had7l7g27adldgy"
   },
   "stable": {
    "version": [
@@ -13062,16 +13110,16 @@
   "repo": "pprevos/citar-denote",
   "unstable": {
    "version": [
-    20240228,
-    807
+    20240424,
+    2023
    ],
    "deps": [
     "citar",
     "dash",
     "denote"
    ],
-   "commit": "43ecacd818f0b569b949d160bd86bff5bbe4b0f7",
-   "sha256": "143inb9i1xccnzj83qg2rczfizhqwshkhsa0rh3wi99hvxjigkif"
+   "commit": "6e236e9100d1401cd7c628c5f799badded77967d",
+   "sha256": "0yqjigf4qj296q15dkq0qpwab9a80fn5rafb192ykh5qg8sbhc2v"
   },
   "stable": {
    "version": [
@@ -13241,20 +13289,19 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20240203,
-    457
+    20240425,
+    1635
    ],
-   "commit": "155251127bbb51588445ed8fa49368cff1fff2c2",
-   "sha256": "1r12haizv0bl69dl0myfng9sivblsq4njz1wc9r0i6nsfknravxr"
+   "commit": "a78cf13d5c3c1c0275b332da5888cd0973de70fe",
+   "sha256": "0fjv9s8x533dmy4vnz2k56ydwydjiak8hp4mk9yvcnam5j1vi51v"
   },
   "stable": {
    "version": [
     0,
-    3,
-    1
+    4
    ],
-   "commit": "050bb7cafc2a89379406f363f7120ac56177ede7",
-   "sha256": "168z6yidh2nxkmdlx9cqdzzb7achxdipnbk5pj9787m9bp1sdpkd"
+   "commit": "ac01a5c5852fa3a170e5f00dafeb633012e25fd8",
+   "sha256": "0fq1f03v706gj6p2fjz51kvmj1pwc9p64chqap2ajr0a9cxpwln6"
   }
  },
  {
@@ -13365,6 +13412,24 @@
   }
  },
  {
+  "ename": "claude-shell",
+  "commit": "a40f86ecc9a185f065a720318ff69afc10d92535",
+  "sha256": "0lqw9qra8zdafwnyfm164h2nzh6ys5ndbf75s4dnwjpg5lxv135y",
+  "fetcher": "github",
+  "repo": "arminfriedl/claude-shell",
+  "unstable": {
+   "version": [
+    20240420,
+    1917
+   ],
+   "deps": [
+    "shell-maker"
+   ],
+   "commit": "2574f5d1fe58c44dc0e16d3a7be36a9e4e0927ca",
+   "sha256": "1my1n0bsx7xghaxa3qyrsqkdn3nxxym00acncp24b1hsm63k12yx"
+  }
+ },
+ {
   "ename": "clause",
   "commit": "668db1dd1695ce8a864a4fc5f5e9daca2770da0f",
   "sha256": "0ag09asq10ln2m0qznn5vnx5y7nv48lh7bwgwd30yjwp8ldw7v84",
@@ -13390,14 +13455,14 @@
   "repo": "scicloj/clay.el",
   "unstable": {
    "version": [
-    20240115,
-    2125
+    20240409,
+    1321
    ],
    "deps": [
     "cider"
    ],
-   "commit": "26b65a107cf55e4955401d3dbc63d58479f29773",
-   "sha256": "0i3zf2q0jf0f18kqg287xmiywf44cgg90ym8y8c67fmvpz5c13sv"
+   "commit": "5d5512e67e7dd4b7b7ffae070517948cb1ad82e4",
+   "sha256": "0a1yi14wfalmqi6mpbc1cnipjlcmqdzkk8h9czggyav3m7dh9cmj"
   }
  },
  {
@@ -14193,15 +14258,15 @@
   "repo": "magit/closql",
   "unstable": {
    "version": [
-    20240216,
-    1729
+    20240415,
+    1534
    ],
    "deps": [
     "compat",
     "emacsql"
    ],
-   "commit": "81f04f60aab27c0d9161746384d4eeb0633202e2",
-   "sha256": "0a658y097jwk7cn2ra840qspkj7r71jq7yl75vycf93gx5763ywi"
+   "commit": "2bff36edd28c9a0d0c25b545b3837fa874376cc5",
+   "sha256": "1951r5p5p6jr9xahjw7sr0s01d6mhcp721b35gxa9d9kw3p52xx6"
   },
   "stable": {
    "version": [
@@ -14293,25 +14358,25 @@
   "repo": "joostkremers/criticmarkup-emacs",
   "unstable": {
    "version": [
-    20170203,
-    2107
+    20240422,
+    725
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "276d49c859822265070ae5dfbb403fd7d8d06436",
-   "sha256": "0mqbjw9wiaq735v307hd7g0g6i3a4k7h71bi4g9rr2jbgiljmql4"
+   "commit": "a9381f57f3005a9b26f81085ecb2accf680c6f6b",
+   "sha256": "0c3hry0rvjrqi67caxqjdmsx2pzd3ybgsyzi6jfnlwzsw5iwyjqi"
   },
   "stable": {
    "version": [
     1,
-    6
+    9
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "276d49c859822265070ae5dfbb403fd7d8d06436",
-   "sha256": "0mqbjw9wiaq735v307hd7g0g6i3a4k7h71bi4g9rr2jbgiljmql4"
+   "commit": "5c2decacdd1a48c9e4ed2ce2289622aa5915ea24",
+   "sha256": "1lblkdp0xim22xc71xxgiwlvqrs500rirqz1in546d10ij445ygq"
   }
  },
  {
@@ -14386,20 +14451,20 @@
   "url": "https://gitlab.kitware.com/cmake/cmake.git",
   "unstable": {
    "version": [
-    20240321,
-    1332
+    20240412,
+    1329
    ],
-   "commit": "25d2850c190ba915a7527a29dda6efe61be901f0",
-   "sha256": "0q49x6z053gw257lamimm9nr1xpajwwqdfjxzrs596kmysrkjrcz"
+   "commit": "3bb04b05a527b2443298cb7bc9520f58e56c4e9e",
+   "sha256": "0cn206miz1z0b92rg95z7qr240awh92vfby62gjh9pv0mazhac3q"
   },
   "stable": {
    "version": [
     3,
     29,
-    0
+    2
    ],
-   "commit": "25d2850c190ba915a7527a29dda6efe61be901f0",
-   "sha256": "0q49x6z053gw257lamimm9nr1xpajwwqdfjxzrs596kmysrkjrcz"
+   "commit": "d3190d6a730207a56ef2144566468975167a811e",
+   "sha256": "0yjk4kqrln8smz457dxansfl69zyikr5015xm23xa4g7x1rihkgg"
   }
  },
  {
@@ -14467,11 +14532,11 @@
   "repo": "tumashu/cnfonts",
   "unstable": {
    "version": [
-    20240320,
-    254
+    20240426,
+    601
    ],
-   "commit": "323bfd2f66ac0d9cc831cc1ff785c1ed603f5ef2",
-   "sha256": "0g73an139fvv4nqgky56d211781dj5hfilgmd3zvm97gnw7xv0nd"
+   "commit": "d81b1d5932fbbed509f4b011eb14d2e0e1e73971",
+   "sha256": "0whkwxi6720rgv22w2xnb4ji092x4hrh4fabbnlm6dvf85g16mqn"
   },
   "stable": {
    "version": [
@@ -15011,11 +15076,11 @@
   "repo": "purcell/color-theme-sanityinc-tomorrow",
   "unstable": {
    "version": [
-    20240226,
-    1133
+    20240406,
+    1456
    ],
-   "commit": "e74bb5bbf714c8ec9649d161a90708f0b9b093d6",
-   "sha256": "04k6sm533db7av83j08a6kz1q1i8shhxza29fz7aql4rkazyd2kb"
+   "commit": "42b24a3fa3fbdcb36cd2936a38abe142cda65294",
+   "sha256": "103l62ma6vgq5p15jn125fz4f42s3aghg3l48vh5ngcb9y6w5ip0"
   },
   "stable": {
    "version": [
@@ -15840,15 +15905,15 @@
   "repo": "emacs-eask/company-eask",
   "unstable": {
    "version": [
-    20240101,
-    819
+    20240329,
+    1742
    ],
    "deps": [
     "company",
     "eask"
    ],
-   "commit": "c1dd9411bed01cc79f8b34d900396e53198b918e",
-   "sha256": "0bm85524kb0dkjprs4y1lnxcpbslwrc2xq3fvajnl0rmy4d8iv5h"
+   "commit": "3d8973a70f01121cad052b352ec0a3d76d8110d2",
+   "sha256": "0vl5isff47c4z0za49zhy7qzskysxcbyhlgvkk35nbiyrcdfazdw"
   },
   "stable": {
    "version": [
@@ -15899,34 +15964,34 @@
  },
  {
   "ename": "company-emoji",
-  "commit": "5733dccdffe97911a30352fbcda2900c33d79810",
-  "sha256": "1mflqqw9gnfcqjb6g8ivdfl7s4mdyjg7j0457hamgyvgvpxsh8x3",
-  "fetcher": "github",
-  "repo": "dunn/company-emoji",
+  "commit": "57d010adb43ea1a6adc89bff9741dab6830f199b",
+  "sha256": "0lyp65z19h9ccihrnav6k8iq04rhhy4jd96yk09i43i7fp8nfrwm",
+  "fetcher": "codeberg",
+  "repo": "egirl/company-emoji",
   "unstable": {
    "version": [
-    20230903,
-    1854
+    20240331,
+    2127
    ],
    "deps": [
     "cl-lib",
     "company"
    ],
-   "commit": "9c372be9406fba61d71aa0ed2d41adafae5a866e",
-   "sha256": "0j35z7hjcg3dkwgd7mdx1yaxcmxkn00h91y9kl8qdci7m4lja460"
+   "commit": "0b4371d8668712e71236e0f174bdd6d03c04aede",
+   "sha256": "1afy2f1ymzr518npbhy5296kaqshax5hs2ij7wgl28h0hsa2mnk1"
   },
   "stable": {
    "version": [
-    2,
-    8,
+    3,
+    0,
     0
    ],
    "deps": [
     "cl-lib",
     "company"
    ],
-   "commit": "9c372be9406fba61d71aa0ed2d41adafae5a866e",
-   "sha256": "0j35z7hjcg3dkwgd7mdx1yaxcmxkn00h91y9kl8qdci7m4lja460"
+   "commit": "0b4371d8668712e71236e0f174bdd6d03c04aede",
+   "sha256": "1afy2f1ymzr518npbhy5296kaqshax5hs2ij7wgl28h0hsa2mnk1"
   }
  },
  {
@@ -16404,7 +16469,7 @@
     "seq"
    ],
    "commit": "b2bcf2e6997a5ab3502baba9143af44ac2cc2eb3",
-   "sha256": "1gjdmdg496lkgm7xkgvfl4b4xir91kzn7sizyrgwdj845i9lfjmp"
+   "sha256": "0mfs261nzi5svxliy2yaxwhzgfb8my5f4580jizll1vkxi33c358"
   },
   "stable": {
    "version": [
@@ -16418,7 +16483,7 @@
     "seq"
    ],
    "commit": "1334f44725bd80a265de858d652f3fde4ae401fa",
-   "sha256": "1milqql0p9gp4dn9phn4fw1izf37wizpirvmzh5s71rwzrr6a9ix"
+   "sha256": "1h1lqrl3p9qgkicds8v44vdry19g53rya56hdj3cz5q8xj1nisn1"
   }
  },
  {
@@ -16572,21 +16637,21 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20240222,
-    320
+    20240328,
+    1036
    ],
    "deps": [
     "ac-php-core",
     "cl-lib",
     "company"
    ],
-   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
-   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
+   "commit": "a69ae4a12e40900619b4e5a1613fd449aef649c3",
+   "sha256": "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7"
   },
   "stable": {
    "version": [
     2,
-    6,
+    7,
     0
    ],
    "deps": [
@@ -16594,8 +16659,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "d4378a857aa1c60b34d86557aa10238785d1ac66",
-   "sha256": "1xz86cjsjm72b0rm50fr2z82rcllhczsd4jr5rnp2clbind5w697"
+   "commit": "a69ae4a12e40900619b4e5a1613fd449aef649c3",
+   "sha256": "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7"
   }
  },
  {
@@ -16606,15 +16671,15 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20221023,
-    608
+    20240407,
+    1015
    ],
    "deps": [
     "company",
     "phpactor"
    ],
-   "commit": "c652439afd052910d322a8fb9249e09d278a3f37",
-   "sha256": "06wl6g2nv4k6x912wjbnph2f5c5b1qbn1hjaylqzqj5rjd857cm3"
+   "commit": "e488ed4c46489861c15d83a43e70eb7c352adc09",
+   "sha256": "0k1fvwq4kn25yvvmkrag7wp7qjz13d63q9s9l9k4d5n9zw08khw3"
   },
   "stable": {
    "version": [
@@ -16648,7 +16713,7 @@
     "s"
    ],
    "commit": "0e6941e1832faafb2176238339667edd482acd95",
-   "sha256": "0xw475spfwq32nn5qz3gk22cggj1f5y245da9030vzi2jfb9vvid"
+   "sha256": "1ri022shrwiw10gdydm66c2xya1qxl449r5f8qadals7m4crczp2"
   },
   "stable": {
    "version": [
@@ -16663,7 +16728,7 @@
     "s"
    ],
    "commit": "0e6941e1832faafb2176238339667edd482acd95",
-   "sha256": "0xw475spfwq32nn5qz3gk22cggj1f5y245da9030vzi2jfb9vvid"
+   "sha256": "1ri022shrwiw10gdydm66c2xya1qxl449r5f8qadals7m4crczp2"
   }
  },
  {
@@ -17407,11 +17472,11 @@
   "repo": "mohkale/compile-multi",
   "unstable": {
    "version": [
-    20240315,
-    2126
+    20240421,
+    1100
    ],
-   "commit": "7124939e77da2bf3847aeeba2ba0387e47e11ce7",
-   "sha256": "1b1dygxgd1snm6faf61vpa6kdq67ag5xc805bn8ksbvljn0d4x0i"
+   "commit": "fab41595a704260a295544aecbecb16896824e88",
+   "sha256": "14zswpaymzsrc1xcd4xamnydy4hi7fk0inryh6gyqwkgzkzkshf2"
   },
   "stable": {
    "version": [
@@ -17430,14 +17495,14 @@
   "repo": "mohkale/compile-multi",
   "unstable": {
    "version": [
-    20231226,
-    2123
+    20240421,
+    1100
    ],
    "deps": [
     "all-the-icons-completion"
    ],
-   "commit": "3d5b72478fc5fe0c0fd7431daec516a8ccf3ec76",
-   "sha256": "1hmby8a5sy3d2xvwh5mz65iykbnb2fci6dnwp8rangn8zh517yff"
+   "commit": "fab41595a704260a295544aecbecb16896824e88",
+   "sha256": "14zswpaymzsrc1xcd4xamnydy4hi7fk0inryh6gyqwkgzkzkshf2"
   },
   "stable": {
    "version": [
@@ -17490,26 +17555,30 @@
   "repo": "mkcms/compiler-explorer.el",
   "unstable": {
    "version": [
-    20230922,
-    753
+    20240425,
+    2138
    ],
    "deps": [
-    "request"
+    "eldoc",
+    "map",
+    "request",
+    "seq"
    ],
-   "commit": "73a353c229aea84e6f24412b82f6f842fe01c55f",
-   "sha256": "08p55xyavvkjj816djxghwyzz0bwny6agcakg2brhic058dny909"
+   "commit": "fcf17db156877e35be589dbc82dd6d5736038961",
+   "sha256": "1bqcxr33jrd5jk2z77asn64sscb034pki2vs9c57vlqas4dwyb8r"
   },
   "stable": {
    "version": [
     0,
-    2,
+    4,
     0
    ],
    "deps": [
+    "eldoc",
     "request"
    ],
-   "commit": "36a2cbf0863d4563096546c38ff26db3d7a3e18c",
-   "sha256": "0529mwqp5p0lca010dxvjs1ka9fjbywpl0yii71wqc6rbc1kblvi"
+   "commit": "4980ed8f91a94b7a1cace9d199f1a0b35bed3a07",
+   "sha256": "1d181wm69r00j3wrvcb7i44v9c85ahk7b3hcqb91wlky25lsbjrz"
   }
  },
  {
@@ -17809,25 +17878,25 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20240323,
-    2016
+    20240420,
+    929
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ec232fa60497e7a3abcf6e385181afcc0cf6017f",
-   "sha256": "0z33j3jg4kspyqcm95yrvdw9y90a8ikjz8n5ycfyrjydpa838c3r"
+   "commit": "8989c7a5c5035f9e3429f85f1006d0c6cb5d5e8d",
+   "sha256": "0zrxs4134csg7ygrlq800mpa7xs3z6z547l28jv3c5v2s2ls1k97"
   },
   "stable": {
    "version": [
     1,
-    4
+    5
    ],
    "deps": [
     "compat"
    ],
-   "commit": "0eab65fe3273c97a422c99ee426eef7f2d2dffa4",
-   "sha256": "0kp1xrivs111d8ksjyf3m1ldzb8qknwrh2k2lzbrq6yiwc4bigy7"
+   "commit": "d8888bb67f881a3c4855c9ce7224de18a7dc3901",
+   "sha256": "0wgc30vinc62vppakwyxzfqpxqm0nl3srz4d42xs873i5bsczkab"
   }
  },
  {
@@ -18398,26 +18467,26 @@
   "repo": "titus.pinta/consult-tex",
   "unstable": {
    "version": [
-    20240307,
-    1019
+    20240417,
+    1149
    ],
    "deps": [
     "consult"
    ],
-   "commit": "29ab438792cb0a258dc7158526919ffcf0b5f134",
-   "sha256": "0pi200gphywgqyn9acn5a4hda9dq4gkdqhzb6m9z0xwxwj7jsd3p"
+   "commit": "675755e106f9e64e2c1fd3cf05a43275c09497da",
+   "sha256": "18kz99lmfqr7hm3n3xkp51hi6fibyj2ry6abpl897rl4ky9rabr9"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
    "deps": [
     "consult"
    ],
-   "commit": "29ab438792cb0a258dc7158526919ffcf0b5f134",
-   "sha256": "0pi200gphywgqyn9acn5a4hda9dq4gkdqhzb6m9z0xwxwj7jsd3p"
+   "commit": "675755e106f9e64e2c1fd3cf05a43275c09497da",
+   "sha256": "18kz99lmfqr7hm3n3xkp51hi6fibyj2ry6abpl897rl4ky9rabr9"
   }
  },
  {
@@ -18755,25 +18824,25 @@
   "repo": "minad/corfu",
   "unstable": {
    "version": [
-    20240122,
-    2327
+    20240413,
+    927
    ],
    "deps": [
     "compat"
    ],
-   "commit": "b48d3017a47706198e04440cc1b3483bdf646771",
-   "sha256": "0l6hpsw2srmad0mhp6x46d5dsg678lvgz5l3glp1845hkg8a0pgi"
+   "commit": "b779552341354d59365a981fd208ae07b7a2950a",
+   "sha256": "0yhdp1bf96m0llfc8v19swnrd4zl2dn5gxyppvjyidjvic3n0djv"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
    "deps": [
     "compat"
    ],
-   "commit": "b48d3017a47706198e04440cc1b3483bdf646771",
-   "sha256": "0l6hpsw2srmad0mhp6x46d5dsg678lvgz5l3glp1845hkg8a0pgi"
+   "commit": "6088f0550dc8f10f5bcf6f24d35ce24159b01b43",
+   "sha256": "1nrwh00dy2ffzd3np8yk4n0vn0r5iqqhgcr40wbnv5qzgbdw9kas"
   }
  },
  {
@@ -18913,15 +18982,15 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20240229,
-    1509
+    20240413,
+    1905
    ],
    "deps": [
     "ivy",
     "swiper"
    ],
-   "commit": "14c696aa2d6cd905795ba543374457a04a13ccae",
-   "sha256": "1j2x1jqyhkldkm1fcm6ycad92dc3jkxbr44hqw3kiq6ghbz746da"
+   "commit": "28ac6c7e32ec0b90803fd35f8d1f04ed0fe2e6a5",
+   "sha256": "1zyxm69ld137k9qnjmn87a2qh9qls1phycfcr3h5p3a0d0ackgd6"
   },
   "stable": {
    "version": [
@@ -18964,14 +19033,14 @@
   "repo": "ideasman42/emacs-counsel-at-point",
   "unstable": {
    "version": [
-    20230808,
-    1344
+    20240422,
+    116
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "08f45559597ffbff2e9ecda35bacaaa4dae26fc2",
-   "sha256": "1dhq1c4m3zz2wl6wkvdc0acv9b5j1iasm2kjb3s66ci7sqlif06g"
+   "commit": "5aa7a483c5188d71c04c3302cfd900e7be91ffd6",
+   "sha256": "147v6nz5vhai38wxmfzsziwn50110viq575j33k0cm2iimv4gkpb"
   }
  },
  {
@@ -20034,11 +20103,11 @@
   "repo": "bbatsov/crux",
   "unstable": {
    "version": [
-    20240229,
-    957
+    20240401,
+    1136
    ],
-   "commit": "7980df10e47eef41d4d1c57cfb690ec406381ed3",
-   "sha256": "00n4k09x3slchs81xw1q0rcb78ncb5k2lvsigb9j7s3kxbj6bvvy"
+   "commit": "6ed75a69f542fb7feab6b8f182caf0924b3fb510",
+   "sha256": "09lybi0bld14bdfvbji5cxrwrwflcvfnkdk618yybv1zphxmj2nx"
   },
   "stable": {
    "version": [
@@ -20844,14 +20913,14 @@
   "repo": "ideasman42/emacs-cycle-at-point",
   "unstable": {
    "version": [
-    20230805,
-    925
+    20240422,
+    300
    ],
    "deps": [
     "recomplete"
    ],
-   "commit": "cbbd8721af0cbc84ba737d42bdf702d9a80fa3fb",
-   "sha256": "14iqia8802wjkvs9rx7jmchzzf4i63r31aanyzyzx8r7dv9nd6x1"
+   "commit": "317dd682924f1ddcb61cbcd0008072abe3c5264b",
+   "sha256": "1m29a15ilhf33as76pmpm28qnymsj28syv5qgjqrih9ncd5khwjr"
   }
  },
  {
@@ -21222,8 +21291,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20240113,
-    926
+    20240424,
+    1359
    ],
    "deps": [
     "bui",
@@ -21236,26 +21305,27 @@
     "posframe",
     "s"
    ],
-   "commit": "03bcfe90b6acb6811bfa877882ba72949503234d",
-   "sha256": "0yahj7i1h1j824d2ginzvdik4llckjvnhlxfj24dgsh6rl7qnr7g"
+   "commit": "22af181d627577968f03213ba59d02458d3e734a",
+   "sha256": "1q360xhnmfnjgrkmzq69p2wc0rphz7fsbjzgn3hjw0a8kv3jsq0y"
   },
   "stable": {
    "version": [
     0,
-    7
+    8
    ],
    "deps": [
     "bui",
     "dash",
     "f",
     "ht",
+    "lsp-docker",
     "lsp-mode",
     "lsp-treemacs",
     "posframe",
     "s"
    ],
-   "commit": "3c4bb901bbcd4f8f58178075dc2422550a7f2834",
-   "sha256": "1zczmcv8562lachkvcwy6njn7zkgny08iznpmrx821wr8mh52wnn"
+   "commit": "71c2e5a3734debe265c0de11531bf1d1351f7483",
+   "sha256": "177ira42l1p7zjb24c0vp4biip9sczlvbgzfahp4mhgfd9h8a6bx"
   }
  },
  {
@@ -21293,7 +21363,7 @@
     0
    ],
    "commit": "2ecd466ffa7a3157b9ddcd7545b6fb8ad308c976",
-   "sha256": "1y8rsc63nl4n43pvn283f1vcpqyjnv6xl60fwyscwrqaz19bsnl1"
+   "sha256": "1h5lssnc1am54hkprnp61bsj5fnm8j556q2gbhljfjgrdwnqv8ky"
   }
  },
  {
@@ -21493,11 +21563,11 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20240103,
-    1301
+    20240405,
+    946
    ],
-   "commit": "e32a70ca636bad42232b6c79f1491dc86802a721",
-   "sha256": "0jkwjkm64ciz60b4bhm50f4c6vc51wi2a12kdd1ijvdnxscnlxx7"
+   "commit": "885332bbc4582b08d4f24526250876f3a7569067",
+   "sha256": "1v700mlwwas57kqnp1hqv0ln0cqv44nlcp7lv9c4rha7q5gzmikz"
   },
   "stable": {
    "version": [
@@ -21596,11 +21666,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20240322,
-    340
+    20240407,
+    12
    ],
-   "commit": "05b4b1a7bc5ec5d0fca5ee6cd6a2099107c47b15",
-   "sha256": "0hscfmm0rz6rz3npb0kgdwv836s9xlp0j61nahjqgwq9lqkmjl0a"
+   "commit": "89b42bff4d60fb00ef3d679e2d2289541e5009f6",
+   "sha256": "1cl9p8a9dxjbl8kn7fqkx1abr90frk4g7n09lqriyf8hn5bizy5c"
   },
   "stable": {
    "version": [
@@ -21773,26 +21843,26 @@
   "repo": "doublep/datetime",
   "unstable": {
    "version": [
-    20231025,
-    1805
+    20240418,
+    1601
    ],
    "deps": [
     "extmap"
    ],
-   "commit": "0ec8ecf25e857638ead944eeb3e7d68c6f16f2de",
-   "sha256": "1n10qyhhyxh4g5pizrj2hlffqd0zx5ym8wsbvwk3z3s6949rjniy"
+   "commit": "38f0e180ae36257d77ce9612dfca8404f39ddcfc",
+   "sha256": "114x0ldzczafil5f33g8m1clibakmy2kwmmwbs49ryn35hh60fg7"
   },
   "stable": {
    "version": [
     0,
-    9,
+    10,
     1
    ],
    "deps": [
     "extmap"
    ],
-   "commit": "9d512244d32870c113785278d8db3c51206c98af",
-   "sha256": "0d918312gpdiyx7zq8kdy19bdww6jqg94hs4j5l0n63bwrxsqdx2"
+   "commit": "41d0221ee2fc7b9f9c57cf930f0011edf977a2a8",
+   "sha256": "13fvpp9aashmlv9pc12fvf540f9s36wrcfskcx2hcm6r3kv91d54"
   }
  },
  {
@@ -21915,7 +21985,7 @@
     "ht"
    ],
    "commit": "5123477396a562fae350a89fbed79464cc498bc9",
-   "sha256": "1bkiwg1wp3l904159gycdr83xkb3i0h2k0da7akzkwc957abvp8w"
+   "sha256": "0xd94cpqpv0yw70ajrvs69ygds62m40fk0m4s59zvdn5qs7ivj4k"
   }
  },
  {
@@ -21991,16 +22061,16 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20231130,
-    1628
+    20240408,
+    1537
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "38abe362997d2f18633a75d04c09da751bf8085e",
-   "sha256": "14brz73fz9zfd95libxajxwc3b4vvljj76fp3xdskxi34z4bs1f3"
+   "commit": "eafc642c551e6d5df7eb1fee9aa7596e59811178",
+   "sha256": "029szbwssvdxrsrzv0ppgik30hl9apr0dp5hcp666zgpm415frc4"
   },
   "stable": {
    "version": [
@@ -22024,11 +22094,11 @@
   "url": "https://salsa.debian.org/emacsen-team/debian-el.git",
   "unstable": {
    "version": [
-    20231207,
-    2347
+    20240404,
+    541
    ],
-   "commit": "67dbe593b650b7748e8cbe93fdb8f0cf883563ad",
-   "sha256": "130k9fv057dlb5gkhr6ws0k8fdf6jnd5gxaxq0p2h9h6p9l6djzm"
+   "commit": "7bbbf575f0ce11cb4b6acd89e56000ae388b1413",
+   "sha256": "1s2jqqmmnwcf8bx6vn1754ji5kgdwzcm5hi5j0s4rj1yl9s9jnd4"
   },
   "stable": {
    "version": [
@@ -22222,11 +22292,11 @@
   "repo": "ideasman42/emacs-default-font-presets",
   "unstable": {
    "version": [
-    20230708,
-    1012
+    20240421,
+    637
    ],
-   "commit": "21b0ab8e5363ad5b83df1458cca2380a8ebe318d",
-   "sha256": "1alfcx6dbbmshrm24yr17knr2gv0ais0f9qwkm02ja9rzcjkgrkl"
+   "commit": "0087cbcbf78f107c0f908e4930f886a2d920eb90",
+   "sha256": "0vwj4b8ycb0im93k8nkbfwqi63wp0mywn5bigxhnd15d1339l04m"
   }
  },
  {
@@ -22416,11 +22486,11 @@
   "repo": "jrblevin/deft",
   "unstable": {
    "version": [
-    20240309,
-    2117
+    20240407,
+    149
    ],
-   "commit": "bb1a16b87c3e0fe70fade6227e47dd7712b89bf6",
-   "sha256": "0mmhqk7bh34l1zb4hskd914qs28vi688jvhlcdrgdl62s3184m8l"
+   "commit": "7f352747a2c4dfe40ba060ab42f47ae8a9ddab41",
+   "sha256": "048kzgqxild8ywclp659wyvpjiqi16kpbc91zh1r459gzmawcll3"
   },
   "stable": {
    "version": [
@@ -22570,15 +22640,15 @@
   "repo": "pprevos/denote-explore",
   "unstable": {
    "version": [
-    20240317,
-    919
+    20240426,
+    450
    ],
    "deps": [
     "dash",
     "denote"
    ],
-   "commit": "53dcead5eea35ec0545aa85e8f0c8384b6f4eb57",
-   "sha256": "1wdsfyc2qzvhaj3dyfxg045sr9naqrg3yip4fwj71rfzzkpva3j0"
+   "commit": "9e1a5162dbec751fe62ce4b99bcb0e5024f39f94",
+   "sha256": "06yhh543piflgx8ql70wmsz56g8a7nja66n7s48rwq7d7pxb6znq"
   }
  },
  {
@@ -22799,11 +22869,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20240323,
-    823
+    20240428,
+    711
    ],
-   "commit": "01ce2c06e997cb821be6123395fb6d224bf958ab",
-   "sha256": "14rp8f182bfip3p00khinp9rnr7nr2l86r6ppqyd37idk1mf158w"
+   "commit": "c14d1306648d3ae09ee3a3b3f45592334943cfeb",
+   "sha256": "0d9v5596k2cwb7zcc29v4gli1yydw3jcqcsz8d2dc18wl5dfks9z"
   }
  },
  {
@@ -22814,11 +22884,11 @@
   "repo": "blahgeek/emacs-devdocs-browser",
   "unstable": {
    "version": [
-    20231231,
-    1455
+    20240414,
+    1251
    ],
-   "commit": "afc460e687bec4eb947ab85d207778fc3b9b3bbc",
-   "sha256": "1qghhswalj7x09hmcxhf9i27apyni2j8jy2pq6aj0499ib3fq89q"
+   "commit": "d4ebae6b12ba13393270278a75b053d53af3ac54",
+   "sha256": "08rrhi7d29h8mzvi7wd4ikj5k7g1kscys709l8aaiq1mxf0nhxj8"
   }
  },
  {
@@ -23028,7 +23098,7 @@
     0
    ],
    "commit": "6d0c4203eb192d73d89261b3a9bad52951e394af",
-   "sha256": "0a89bp9vz8lzg5klhmzpfmc0mhqmx667ivr86ckkjhiwr2mmzq0s"
+   "sha256": "1rdmhsrlqn19a140i3099fp7f9wnlglp760rnrjp5p840wzfm74q"
   }
  },
  {
@@ -23039,11 +23109,11 @@
   "repo": "ideasman42/emacs-diff-ansi",
   "unstable": {
    "version": [
-    20231221,
-    57
+    20240421,
+    810
    ],
-   "commit": "cdae72a4713704692aa4edf3433d6b6df1d84746",
-   "sha256": "1fkdc0ilvpgp2p5c654123r7rvjkg8v2a5q182npjw6rry1x652f"
+   "commit": "9e5b61a82e04ffd0e81f88fcf159575618886d72",
+   "sha256": "1jwgw5ypl9iw6hy1yk4y34l8n5mxaw3zhk4bly7wxpyq4di0n9ik"
   }
  },
  {
@@ -23054,11 +23124,11 @@
   "repo": "ideasman42/emacs-diff-at-point",
   "unstable": {
    "version": [
-    20230320,
-    2355
+    20240421,
+    858
    ],
-   "commit": "0a4815a364b636eadf2f9ca6f468fb5996ff8d6f",
-   "sha256": "0f6wf405x9s9vr1ddwz00sp5y52hpjjk7c1rbqm2h94nvgwcwbmr"
+   "commit": "bdd507b940e57a110e0e7d31834987924abc05b2",
+   "sha256": "0iilqa0638h2dawq95wxmmrn738c0h6swv84k8z7nbywgi5jdi81"
   }
  },
  {
@@ -23069,14 +23139,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20240225,
-    116
+    20240401,
+    2357
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "96620839430c1205cbb8c92dd54973397f70f9d2",
-   "sha256": "09i735cd8pyfdk5llk47liywc0l3irh4ipwqky9vpp3mh3xg1f4x"
+   "commit": "09a0f8fcc7e6ce3f49dca64cdfab898d6762f2a4",
+   "sha256": "1kszgnp6nrsx8sphk5lnnkvymb5p17djvgpc3433dwjic6rz97ml"
   },
   "stable": {
    "version": [
@@ -23192,15 +23262,15 @@
   "repo": "pkryger/difftastic.el",
   "unstable": {
    "version": [
-    20240308,
-    1548
+    20240423,
+    1553
    ],
    "deps": [
     "compat",
     "magit"
    ],
-   "commit": "763e5f25925a8a625a943953a5f13d21b9a3bc51",
-   "sha256": "0v9w6iswshr8mj1g5bp9i13ck0wd1jcy4czancgwhc8hn2k5dnnl"
+   "commit": "56ec9ba861b132a96220837d711f6e79c26c268d",
+   "sha256": "1qdiph2wkx7anrpfilxpk9cdzjx6ig0pwzswh9prppdk3flyw5qb"
   }
  },
  {
@@ -23367,14 +23437,14 @@
   "repo": "tarsius/dim-autoload",
   "unstable": {
    "version": [
-    20240101,
-    2213
+    20240415,
+    1534
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ace955cd85b3775a028cfda71f2665f33d85bf5d",
-   "sha256": "06wpvr763rsjfgi403n83jsbj7z2jfl1r0l7bb0rdfambhnn9wdh"
+   "commit": "54bd356cdac7bdae2bdff994b048f847374cec6c",
+   "sha256": "0hjs9nxw6hy7kvaw389n1k1rwqq22pvc3q5cbndnybpkbfpmrhjq"
   },
   "stable": {
    "version": [
@@ -23450,11 +23520,11 @@
   "repo": "jcs-elpa/diminish-buffer",
   "unstable": {
    "version": [
-    20240101,
-    934
+    20240327,
+    210
    ],
-   "commit": "e26c299e1f538573d3badae701947005b4a01df7",
-   "sha256": "0y0japf94dw6qwgxlxnjv5vwi472f8gc3lvwfm1h4h0d40dhkd1s"
+   "commit": "c577a8ed289d1a2cf56845fb6b8c7b9c638d4bc8",
+   "sha256": "11858nlkvpwyzkn7za8c45amv185pklg3x9z0s4a25zkxjrswi7m"
   },
   "stable": {
    "version": [
@@ -23665,16 +23735,16 @@
   "repo": "Fuco1/dired-hacks",
   "unstable": {
    "version": [
-    20240322,
-    2135
+    20240328,
+    1154
    ],
    "deps": [
     "dash",
     "dired-hacks-utils",
     "f"
    ],
-   "commit": "c3bf65aeacfc5ae04508ebcff7b0c9fb37ca4beb",
-   "sha256": "0slv5v4d5iqx02ilcrp30i6jhismvw5n123m7p0fbmqpb7pv2070"
+   "commit": "e596b0bac3de8e7730dfb43ca10b0331b6f94469",
+   "sha256": "0sny6wqvckwp7h9dwsdvn55irnw94axqfa7jcbbwyxqs9ird8pg2"
   }
  },
  {
@@ -23685,11 +23755,11 @@
   "repo": "hjudt/dired-duplicates",
   "unstable": {
    "version": [
-    20231114,
-    2150
+    20240328,
+    2016
    ],
-   "commit": "e07552323b26ce68956f8b03aa66af145bae4d86",
-   "sha256": "1psa217zsl91qkvlrkysw7ycv9rc6vk8462rf6lfjmvb9bf5hpqm"
+   "commit": "5c5f24bea92159987f65f01ef32b261e905997bd",
+   "sha256": "0cfbllnr8l67g61d6mbb0c8hq3c0jn2qx3k1i91dk0ns5s6208v7"
   }
  },
  {
@@ -23914,19 +23984,19 @@
   "repo": "Anoncheg1/dired-hist",
   "unstable": {
    "version": [
-    20240324,
-    509
+    20240405,
+    2347
    ],
-   "commit": "1755b7bbb81e83563feac8e395e0d9fd85217ad6",
-   "sha256": "1h60m4w0dyhacymx2m9yrci742wk28wkb36pmq5sxvpck8jbd110"
+   "commit": "bcbfa60e2de0d86a38740d72bea7e4f25ccc35c8",
+   "sha256": "06vjlijvicgszpfb09gpwhb2cczajn5hjp9a5vzf5yn9h76rhjkk"
   },
   "stable": {
    "version": [
     0,
-    13
+    14
    ],
-   "commit": "1178b678c249cafd9b320d8305798c30ff367939",
-   "sha256": "1xpw3h6iwy3wd34hafpzhq37bmphi0qrmcwsa9p6y7s64q3fpb1i"
+   "commit": "bcbfa60e2de0d86a38740d72bea7e4f25ccc35c8",
+   "sha256": "06vjlijvicgszpfb09gpwhb2cczajn5hjp9a5vzf5yn9h76rhjkk"
   }
  },
  {
@@ -23949,7 +24019,7 @@
     5
    ],
    "commit": "dbace8d2250f84487d31b39050fcdc260fcde804",
-   "sha256": "0r9qmr2l5kjwh1frp0k87nyaf13f7f9fjjf9yf9z92djqapfm9dd"
+   "sha256": "1d9105ibaw858gqp19rx2m6xm3hl57vzsmdqir883cy46qpvwhki"
   }
  },
  {
@@ -24007,11 +24077,11 @@
   "repo": "thomp/dired-launch",
   "unstable": {
    "version": [
-    20240317,
-    2344
+    20240417,
+    1903
    ],
-   "commit": "0a7dbe002306cbeeedcf5b9fbbc72adc83f0d331",
-   "sha256": "06p19kwh6xr5krs4j54qx342ncnlhiszkml13b51k0h2kqvchlkm"
+   "commit": "933aa6b921010c9d33ddf18f48c8ce780443f963",
+   "sha256": "0al5pglxj12l13j849m4khgyq43nzrnsahn5n7d9a3pkrqhjwqkq"
   }
  },
  {
@@ -24084,15 +24154,15 @@
   "repo": "Fuco1/dired-hacks",
   "unstable": {
    "version": [
-    20230512,
-    1107
+    20240330,
+    1831
    ],
    "deps": [
     "dash",
     "dired-hacks-utils"
    ],
-   "commit": "523f51b4152a3bf4e60fe57f512732c698b5c96f",
-   "sha256": "09z238y41rgy0jrn2hq5k6kj1k2skkgpf4kbfzyjzi6kcw8586bf"
+   "commit": "a01c126c3b1068655509487c76971895f5459d09",
+   "sha256": "128wy7i7qrs7yzw82hzsr7lxiifdgbvmxb1w18kspd82ijlj4j5q"
   }
  },
  {
@@ -24133,14 +24203,14 @@
   "repo": "xuhdev/dired-quick-sort",
   "unstable": {
    "version": [
-    20201221,
-    403
+    20240411,
+    229
    ],
    "deps": [
     "hydra"
    ],
-   "commit": "69b06f306a5fc2b38e707bae3ff1e35db2b39b6b",
-   "sha256": "01zdha3p7wsf98yayvwgpd4arcs7yhz62yk1nyq9n13hvmqg7dvk"
+   "commit": "d50b910baa716dfcf4830f1c08226c92bcaee7f6",
+   "sha256": "143rgmf4bn4mcfx3g4pa5qcd6ij4zqrn86qnhm0bffmd2x6pljsb"
   },
   "stable": {
    "version": [
@@ -24151,7 +24221,7 @@
     "hydra"
    ],
    "commit": "79e422be55c72bfe36d2ec8a838f19d1cc8d101a",
-   "sha256": "01zdha3p7wsf98yayvwgpd4arcs7yhz62yk1nyq9n13hvmqg7dvk"
+   "sha256": "14hb3d76y4n8qvfl74v9hzgl6774bqdcmsa0npv3gs144fbx9prk"
   }
  },
  {
@@ -24434,15 +24504,15 @@
   "repo": "ShuguangSun/dired-view-data",
   "unstable": {
    "version": [
-    20220129,
-    339
+    20240328,
+    328
    ],
    "deps": [
     "ess",
     "ess-view-data"
    ],
-   "commit": "96d4cb6569fd2be90a516dedd98263374bbc6ead",
-   "sha256": "1i1prpzp10irshv42lwv08lzwvm0r9amapbbki07qhmqd5q0av06"
+   "commit": "2dadb995c3f32c572f5483adab21bdff3ac64186",
+   "sha256": "0yvg0i2cc6y1nk4mzmn9imnhh3y9yzvb5c3z80jnm76mz4xmnm4h"
   },
   "stable": {
    "version": [
@@ -24465,25 +24535,25 @@
   "repo": "Boruch-Baum/emacs-diredc",
   "unstable": {
    "version": [
-    20240314,
-    753
+    20240421,
+    428
    ],
    "deps": [
     "key-assist"
    ],
-   "commit": "b638face71558cc1444c352fe6bab2d9b28bf281",
-   "sha256": "0askrlywbkj1x92l8hqdwb6xbcyj16gymmcima8spvjxjdbhm3y2"
+   "commit": "dadcb326be31fd03c1891473b1bcd1983b155c28",
+   "sha256": "01fnv2j3hsal4waapkf6s1s57sda1hvx7jsrpfk2js1a21dmmwa4"
   },
   "stable": {
    "version": [
     1,
-    2
+    4
    ],
    "deps": [
     "key-assist"
    ],
-   "commit": "a56e26a288f977a46c567c3cfb8c2d2461727c08",
-   "sha256": "1qs3j2mnnd8qnphxdd2ljgc0i05hlycqwp5wwv7pk0px07pxdvfm"
+   "commit": "0ff2424aa226228c72e47a635f3b5379c424c891",
+   "sha256": "01pxm6n7pcp11zbqrhv8hcr44wb1s08zw1gwpfqd3grdkmyqql8j"
   }
  },
  {
@@ -25353,11 +25423,11 @@
   "repo": "ideasman42/emacs-doc-show-inline",
   "unstable": {
    "version": [
-    20230808,
-    1344
+    20240421,
+    943
    ],
-   "commit": "dc914d79b99fc76694d356ea786eb39aab74649a",
-   "sha256": "028z0qlnbysi3zyfh7mwgy23dzgfpl1anh8pni8zmwy7ld78idgb"
+   "commit": "d2bfa37f2f027c5da0abca319882daa3740ca57b",
+   "sha256": "0j70sg2gnf2qi367pskwbm24qvy8bl2qims04rjaw7knd9yiyh43"
   }
  },
  {
@@ -25673,11 +25743,11 @@
   "repo": "ag91/doctest",
   "unstable": {
    "version": [
-    20240321,
-    2345
+    20240421,
+    1517
    ],
-   "commit": "a1fc9f2fcb45ea980ca25c524d54a7b0bd40e3c9",
-   "sha256": "0im29nv6gz3gpkh9c3m03pkmj034rxsarw0qw0b1gfpl5c91nsxx"
+   "commit": "0620ab6283a4e4302761ac415354b0b2b889dcda",
+   "sha256": "1g759f1ypw00vqbbcxa8yxf51bdmlrfdxybgjf4fmzzhvfbcpc4d"
   }
  },
  {
@@ -25688,14 +25758,14 @@
   "repo": "alphapapa/dogears.el",
   "unstable": {
    "version": [
-    20231016,
-    2356
+    20240412,
+    850
    ],
    "deps": [
     "map"
    ],
-   "commit": "1136f28ceaed522351369fb97cc098763293a7a6",
-   "sha256": "0sp513bigq0ckkq9hb8fd4znmv8k99awryaa72zddwibi2adb42f"
+   "commit": "162671e66cac601f1cfd5d22f7da2671af2e9866",
+   "sha256": "1n0yhs4vcl9h10slqck1zd5h2p34lim3xrra9zcj1pa6qp5a2i56"
   },
   "stable": {
    "version": [
@@ -25806,16 +25876,16 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20240324,
-    1457
+    20240425,
+    609
    ],
    "deps": [
     "compat",
     "nerd-icons",
     "shrink-path"
    ],
-   "commit": "2e420e64ffadc7489e281ea69e572cd0e415fbcb",
-   "sha256": "00jgs4d2si2c6m7bghzlczl8vj48snyr7z68igh0lgq5afg0s81y"
+   "commit": "150b5bf8da8050e5db1193f827c33b16a5d8dd3f",
+   "sha256": "13zfwww73x5ax7vql7fhgyzwwx0xhkh1fs9b6x746nbyl3p5vnnl"
   },
   "stable": {
    "version": [
@@ -25859,14 +25929,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20240320,
-    121
+    20240404,
+    2042
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "37d2182f5078d29fb22bbace346e523bb84b2c4e",
-   "sha256": "0zhncai46b3rv205v8cmdvlg746gy2q4c6mq3vn3p5a3mqv7jn1r"
+   "commit": "3b2422b208d28e8734b300cd3cc6a7f4af5eba55",
+   "sha256": "1ksv964vlzszbd2372kl80l60mmmiqxgyxypysrylrw831kkxfi9"
   },
   "stable": {
    "version": [
@@ -26086,11 +26156,11 @@
   "url": "https://salsa.debian.org/emacsen-team/dpkg-dev-el.git",
   "unstable": {
    "version": [
-    20240303,
-    1522
+    20240421,
+    628
    ],
-   "commit": "69b294694c57d8e7571fada6a6651c40d266285e",
-   "sha256": "05zyjc0wcx70b1fzxhh8pwnhvmza03afqxvvbmip7hcxnyf2wajy"
+   "commit": "acfc3bd42271286d22d7cbadd48a5b9d5675f85c",
+   "sha256": "1mhh6kmlkbzaliyx8fwdnbmkhaaing4jkjc9ai76l5nyisjimqrc"
   },
   "stable": {
    "version": [
@@ -26560,20 +26630,20 @@
   "repo": "ocaml/dune",
   "unstable": {
    "version": [
-    20230402,
-    1815
+    20240427,
+    1346
    ],
-   "commit": "e53368337be3c353fd654bdbead322605fc875c5",
-   "sha256": "1x3z9wr1zfncd39ya3bqlfbq54hsv6a1kik8x1snsr6qbsy1an79"
+   "commit": "5554158af27ead066fbb3c009e780c930958613c",
+   "sha256": "1wilcgji9nw2lwvb4zkhikb0wkpyzj3070czhvvlclxx5ispxh9g"
   },
   "stable": {
    "version": [
     3,
-    14,
+    15,
     2
    ],
-   "commit": "b19f6df8954995899e30275055d9582b6c83687c",
-   "sha256": "17h91vvqdmwkl7l4b7z6mzxsq9g2czzi9h3d68csz3h0jhwwn130"
+   "commit": "c28817c416ac0b381f6a6938236419ab5d86d6e1",
+   "sha256": "0rgrfpw588mgw78p87xlrlidc9xhkppf6b7dqa3vqlhjxs5q6kqg"
   }
  },
  {
@@ -26706,11 +26776,11 @@
   "repo": "xenodium/dwim-shell-command",
   "unstable": {
    "version": [
-    20240324,
-    1906
+    20240414,
+    1607
    ],
-   "commit": "5049375dcba5b58c35b558c9a5975c3424855ee6",
-   "sha256": "01m3w9cv4ckj78x111rfxcj44by3kngvlisz9gzsabi3hz2rn42d"
+   "commit": "3dc879fa4c473d1f7c0929ebb0cebcbe729553cc",
+   "sha256": "0axj93kfimhn7kywpnv7394gaw9rz402lixmwqyka85f1rcw3dzc"
   }
  },
  {
@@ -27174,11 +27244,11 @@
   "repo": "emacs-eask/eask",
   "unstable": {
    "version": [
-    20240323,
-    2214
+    20240420,
+    44
    ],
-   "commit": "9a98b6c21c289dec110b434899fd050778eedab9",
-   "sha256": "070fc2p3wcb63x3364k815yxm1f7ks5vdjdaw5p7grzn9664crn5"
+   "commit": "ecee5a60b9e13796400e9dec84ce55f89767b6fa",
+   "sha256": "09g53ijbxlk48i1s7fj7iyhh4j230xpv673lia19k3364pzy361g"
   },
   "stable": {
    "version": [
@@ -27225,8 +27295,8 @@
   "repo": "emacs-eask/easky",
   "unstable": {
    "version": [
-    20240316,
-    327
+    20240420,
+    113
    ],
    "deps": [
     "ansi",
@@ -27235,8 +27305,8 @@
     "lv",
     "marquee-header"
    ],
-   "commit": "85fcdf4db86f8d6773ce7d309cf752c9f972e564",
-   "sha256": "0pczdrjlf0w7f3zdcd45cgirk6hbzm14hx0gjip7l0ypwgfmhixv"
+   "commit": "bde4a0af084f356b993b5fd5b727c05c54e1d132",
+   "sha256": "17cg70n50h1jpi2j705wpy4g3xgca8hqhraqinbk1lac9z2s3sil"
   },
   "stable": {
    "version": [
@@ -27505,28 +27575,28 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20240305,
-    752
+    20240426,
+    642
    ],
    "deps": [
     "compat",
     "parsebib"
    ],
-   "commit": "3d7b09606a04cd4c8236e290e709b56872148bc8",
-   "sha256": "1ga8zzzqs6vrjzm6jily37jyzpq4vsgh49vxy8a68399bdl90s77"
+   "commit": "4055e30872e642f746633bab96c3383836d61e68",
+   "sha256": "072dbc7wm9mwcbfw0a9957izamk2amcqag53p4n32r3cdn9v94zk"
   },
   "stable": {
    "version": [
     2,
-    40,
-    5
+    41,
+    1
    ],
    "deps": [
     "compat",
     "parsebib"
    ],
-   "commit": "3d7b09606a04cd4c8236e290e709b56872148bc8",
-   "sha256": "1ga8zzzqs6vrjzm6jily37jyzpq4vsgh49vxy8a68399bdl90s77"
+   "commit": "3458aa7777e0acf883b17008da78788c62d9a337",
+   "sha256": "1ylq4l044rals7xbf8rcx97gz84kypksl2fs5xwin2rc6rvpli8d"
   }
  },
  {
@@ -28588,6 +28658,30 @@
   }
  },
  {
+  "ename": "eglot-luau",
+  "commit": "8d881d261d9cff964116ec91aacfd6878a6d2778",
+  "sha256": "046jfj4p4ff7vhs9zhaz6lva0xq4lzz8861z2zdi1dacpva5vdql",
+  "fetcher": "github",
+  "repo": "kennethloeffler/eglot-luau",
+  "unstable": {
+   "version": [
+    20240401,
+    2209
+   ],
+   "commit": "3926860036402cce4a55faec534b88c0bf6006fd",
+   "sha256": "03zva7sykc1ja5kz8x21z5r10d49iwa67i4wafi8vnymmw3rfcai"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
+   ],
+   "commit": "3926860036402cce4a55faec534b88c0bf6006fd",
+   "sha256": "03zva7sykc1ja5kz8x21z5r10d49iwa67i4wafi8vnymmw3rfcai"
+  }
+ },
+ {
   "ename": "eglot-signature-eldoc-talkative",
   "commit": "1639318f0f1730ab5b0e575256d93882d2fd063f",
   "sha256": "03nz0xnzwf1db0b3whz7s8bykp2m9jnlssa9g4mpslaq1bwvfkry",
@@ -28595,30 +28689,30 @@
   "repo": "mekeor/emacs-eglot-signature-eldoc-talkative",
   "unstable": {
    "version": [
-    20240209,
-    2034
+    20240424,
+    801
    ],
    "deps": [
     "eglot",
     "eldoc",
     "jsonrpc"
    ],
-   "commit": "b6604648a2ea5d260fa315ffbaebebbf3872343a",
-   "sha256": "1fs868ddrb0fbgrk4wqk9jc1fyg3jcr6mfzrp65ypi5vdcx9y0kl"
+   "commit": "859aa6f2c0acf060a8e7549b79daf46c8d63ea8d",
+   "sha256": "1s44kz9b2b61f5gy922rvzv1kpmx62chvdsnb1g785skdhfdzb6v"
   },
   "stable": {
    "version": [
     0,
     0,
-    6
+    7
    ],
    "deps": [
     "eglot",
     "eldoc",
     "jsonrpc"
    ],
-   "commit": "b6604648a2ea5d260fa315ffbaebebbf3872343a",
-   "sha256": "1fs868ddrb0fbgrk4wqk9jc1fyg3jcr6mfzrp65ypi5vdcx9y0kl"
+   "commit": "859aa6f2c0acf060a8e7549b79daf46c8d63ea8d",
+   "sha256": "1s44kz9b2b61f5gy922rvzv1kpmx62chvdsnb1g785skdhfdzb6v"
   }
  },
  {
@@ -28766,7 +28860,7 @@
     "spinner"
    ],
    "commit": "b80b773238719fa7160e598219f300dfbc4db06d",
-   "sha256": "1w2xh207rm4a242iykhzsp3r3s8gv1cw8qr3cvwfbkxqrzmki7z4"
+   "sha256": "1whgbwdv3zrhxq2casxj784bx95j0vzlpnvi51i4xdxpdf77g521"
   },
   "stable": {
    "version": [
@@ -28901,11 +28995,11 @@
   "repo": "dimitri/el-get",
   "unstable": {
    "version": [
-    20230618,
-    1453
+    20240408,
+    837
    ],
-   "commit": "cd998078949db70b736c0c3ac77ec23d97686f9a",
-   "sha256": "0d4kd1hpb4pqz6hxw6kc02gxv3cqpbnn0afqf5ajik4hlspwzd2y"
+   "commit": "1c5b0eb7fa162523183a96e409e4e3ae6b5cc3a0",
+   "sha256": "1dw13jpls9rm4xli52ry3g966hji92s8kysyn7p1rcxbygvqwyw2"
   },
   "stable": {
    "version": [
@@ -29349,11 +29443,11 @@
   "repo": "emacs-eldev/eldev",
   "unstable": {
    "version": [
-    20240317,
-    1521
+    20240427,
+    1730
    ],
-   "commit": "76b08f798c94e2c6f107cd1fec9fb8aa02b5aa5b",
-   "sha256": "0gdgf2pkys4jxy7zknpixvygyhjv1xk9949frks3xlpiknvmkxdq"
+   "commit": "089fc7f172bea0d1aae63f5595ced02c6486b2dd",
+   "sha256": "0n9l74vcwydwpc7ignqppskppnnhlgqf2cfcsr3a1bsw6x0rcw26"
   },
   "stable": {
    "version": [
@@ -29373,11 +29467,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20231115,
-    519
+    20240426,
+    408
    ],
-   "commit": "c36f31074b09930e8425963f39d5508da6d2c32d",
-   "sha256": "0vglh3sp9x6z537jngh5jh9j3szbfadryzlwhmrlq7asiinnjq01"
+   "commit": "4392128d4caaa21f7810ba0955514c395e9f3cae",
+   "sha256": "0nf28jh02al8vqyj0awij2hbqa03jkggdysc0v8kjlsrd673scgp"
   },
   "stable": {
    "version": [
@@ -29724,11 +29818,11 @@
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20221108,
-    755
+    20240331,
+    1348
    ],
-   "commit": "55fb162fa27e71b88effa59a83c57842e262b00f",
-   "sha256": "02cqgrhfaxc73j250jz70q83l50ynhfxszg6kyb4g7fv9kjdagh7"
+   "commit": "5c05a1eab37bc113ecb158a4d57fe05352fa2c6a",
+   "sha256": "1ir9vp2629dg3gxhlrf043gwbbf093p08q4igvx2r9hh6kraca5c"
   },
   "stable": {
    "version": [
@@ -30142,30 +30236,30 @@
   "repo": "s-kostyaev/elisa",
   "unstable": {
    "version": [
-    20240322,
-    1808
+    20240401,
+    1528
    ],
    "deps": [
     "async",
     "ellama",
     "llm"
    ],
-   "commit": "8794e14d75998fd20ab6d9c52ff4c44251428559",
-   "sha256": "14syfx8pibvw37zbi3gip5anhwby5l2sn5fjc9fhwp668g6b56yj"
+   "commit": "c03baded1e6b1bb6b37f8df83a0d1af4cdbaf860",
+   "sha256": "0xl6yz6536mbnba2g1ghv3c8zqqbag3kr8nqa87p0hpcqa6daz0m"
   },
   "stable": {
    "version": [
     0,
     1,
-    3
+    4
    ],
    "deps": [
     "async",
     "ellama",
     "llm"
    ],
-   "commit": "8794e14d75998fd20ab6d9c52ff4c44251428559",
-   "sha256": "14syfx8pibvw37zbi3gip5anhwby5l2sn5fjc9fhwp668g6b56yj"
+   "commit": "c03baded1e6b1bb6b37f8df83a0d1af4cdbaf860",
+   "sha256": "0xl6yz6536mbnba2g1ghv3c8zqqbag3kr8nqa87p0hpcqa6daz0m"
   }
  },
  {
@@ -30176,11 +30270,11 @@
   "repo": "ideasman42/emacs-elisp-autofmt",
   "unstable": {
    "version": [
-    20231207,
-    1018
+    20240421,
+    854
    ],
-   "commit": "6b280c854f964c303de2f9316f8f955e52893b8d",
-   "sha256": "0dnvyhfw906x234nzdprxlg9jx1wpj4wbfd65ack10zcvl6lwjxq"
+   "commit": "0560fe21d1173b2221fd8c600fab818f7eecbad4",
+   "sha256": "00vsgjqb3qfm2lr2vqf10yr84b07l63pgkqvi0s1a0js7mvv6s65"
   }
  },
  {
@@ -30490,28 +30584,28 @@
   "repo": "s-kostyaev/ellama",
   "unstable": {
    "version": [
-    20240316,
-    1610
+    20240415,
+    730
    ],
    "deps": [
     "llm",
     "spinner"
    ],
-   "commit": "b94d5952d4e36e1caeef5ac0b3ecd6d89009082b",
-   "sha256": "0pwhr9xqakhhlvv7aab33lba3dpx4byh1clg6wfiyyl6xr2a48js"
+   "commit": "6e6ec8e28b8ce32ff207b1b026aaaeddc1bd8239",
+   "sha256": "1nwwqvl91c65r45yxa2dcl4a41r3ahw6294h79riya48nrp8kn54"
   },
   "stable": {
    "version": [
     0,
-    8,
-    13
+    9,
+    1
    ],
    "deps": [
     "llm",
     "spinner"
    ],
-   "commit": "b94d5952d4e36e1caeef5ac0b3ecd6d89009082b",
-   "sha256": "0pwhr9xqakhhlvv7aab33lba3dpx4byh1clg6wfiyyl6xr2a48js"
+   "commit": "6e6ec8e28b8ce32ff207b1b026aaaeddc1bd8239",
+   "sha256": "1nwwqvl91c65r45yxa2dcl4a41r3ahw6294h79riya48nrp8kn54"
   }
  },
  {
@@ -30847,20 +30941,20 @@
   "repo": "redguardtoo/elpa-mirror",
   "unstable": {
    "version": [
-    20230208,
-    1148
+    20240413,
+    1426
    ],
-   "commit": "9d7cfbf72ef8c7cd014c91e5bb3d8fbebda56140",
-   "sha256": "0lw018bn5a6z8pxzqscs196l8k18m1m9p0p6amr3n27qmf6fp3vw"
+   "commit": "d51a5b81af909727fac45f3c9d3653b1170e01f0",
+   "sha256": "0n5yfyzzj044q2q1iar17wm4y4ix2jzx1arphsiy1yxx94n1g1z2"
   },
   "stable": {
    "version": [
     2,
-    2,
-    2
+    3,
+    0
    ],
-   "commit": "9d7cfbf72ef8c7cd014c91e5bb3d8fbebda56140",
-   "sha256": "0lw018bn5a6z8pxzqscs196l8k18m1m9p0p6amr3n27qmf6fp3vw"
+   "commit": "d51a5b81af909727fac45f3c9d3653b1170e01f0",
+   "sha256": "0n5yfyzzj044q2q1iar17wm4y4ix2jzx1arphsiy1yxx94n1g1z2"
   }
  },
  {
@@ -31253,15 +31347,15 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20240101,
-    2213
+    20240415,
+    1535
    ],
    "deps": [
     "compat",
     "llama"
    ],
-   "commit": "2936dee72b2ef085c1c0a40817e67e868d44612c",
-   "sha256": "1md0kn4cwclv0i6fkrrinf2wjmr08cagxgv1sh6yja0hcvm37ygh"
+   "commit": "4b3b0af5b8d1e530a1a8fc44af650886b23918b1",
+   "sha256": "17c4lq6flzx0nsjcmdpaq8isdz73d337d9nv8fqb1719shniq2cm"
   },
   "stable": {
    "version": [
@@ -31285,11 +31379,11 @@
   "repo": "tecosaur/emacs-everywhere",
   "unstable": {
    "version": [
-    20240128,
-    921
+    20240416,
+    749
    ],
-   "commit": "fbeff19825336777dccaefedf3f376dd622cd294",
-   "sha256": "1lf1nzjr2vpnpb0aix4dq0wn1ixxwill8ii3p7i2aa14mh1p8bw1"
+   "commit": "8868b9e371d3d09add67022e46b3e4db0a0c22a0",
+   "sha256": "0viss80p4sls6qqi9hcdzzx5gibf4s27rqv1nfcdxibw2j1ici95"
   }
  },
  {
@@ -31339,11 +31433,11 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240124,
-    1601
+    20240415,
+    1535
    ],
-   "commit": "5aba772e562f0b22e36e34c9b4c256ffe439654c",
-   "sha256": "124x32dlpxfg1qb9ssvlnakakkzaz4wx9k5cv65fnhr9spl8d7j3"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   },
   "stable": {
    "version": [
@@ -31363,14 +31457,14 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240119,
-    2314
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "1b8297b671a6e9df9554df5f62d7e0748a2200dd",
-   "sha256": "13mp0iqbr0sn8z119jmlhdgwl19s9rp0xlgsmdjfq3ssz04g8kyg"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   },
   "stable": {
    "version": [
@@ -31393,15 +31487,15 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20230224,
-    1201
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql",
     "pg"
    ],
-   "commit": "7c533fb6c27c3a10b6ab05bddf663e37c109e459",
-   "sha256": "1jmcxj8hx7900pfg7hlpdfln3higvfl7as931ry5zb2wla5wc76l"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   },
   "stable": {
    "version": [
@@ -31425,14 +31519,14 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240119,
-    2314
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "ffd501a588e4ca884f949119e7c79d214dfd2ffa",
-   "sha256": "090ark8r2z5iw3gdk8xjh83nq4vwkbfyjm267l4q05ywlfb92dbl"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   },
   "stable": {
    "version": [
@@ -31455,14 +31549,14 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240119,
-    2314
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "777abb9e9ed47245636cdc7ea814ce12ad11e2ac",
-   "sha256": "0x1cv4m36nsgyks3r5lyap521cayv302d568myw3s6h0licbdr6f"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   },
   "stable": {
    "version": [
@@ -31485,14 +31579,14 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240119,
-    2314
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "777abb9e9ed47245636cdc7ea814ce12ad11e2ac",
-   "sha256": "0x1cv4m36nsgyks3r5lyap521cayv302d568myw3s6h0licbdr6f"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   }
  },
  {
@@ -31503,15 +31597,15 @@
   "repo": "magit/emacsql",
   "unstable": {
    "version": [
-    20240119,
-    2314
+    20240415,
+    1535
    ],
    "deps": [
     "emacsql",
     "sqlite3"
    ],
-   "commit": "777abb9e9ed47245636cdc7ea814ce12ad11e2ac",
-   "sha256": "0x1cv4m36nsgyks3r5lyap521cayv302d568myw3s6h0licbdr6f"
+   "commit": "5108c16c5e1d5bfdd41fcc0807241e28886ab763",
+   "sha256": "0sww0d4kbrsvf3123m0ddqxi59p4myajz1y2v25yx3ixrpy6xpmv"
   }
  },
  {
@@ -31535,7 +31629,7 @@
     0
    ],
    "commit": "f0add6820d250875f7d7c21aa5d813dc73dbcf96",
-   "sha256": "0zg52b3hl0rp9hjz04546kngssxs0l64dm01bwp9hapy7pichbci"
+   "sha256": "18bnw6yb41ki1xvkhi07v7fqx3var928majgd6613ra9nirnyqnj"
   }
  },
  {
@@ -31618,14 +31712,14 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20240323,
-    2205
+    20240419,
+    452
    ],
    "deps": [
     "compat"
    ],
-   "commit": "15c95aee0ec6f42ee3b7a0bc6cf1e2c1ad91dfcd",
-   "sha256": "1lv8r1xpilcpx061s16m9s44i79lqcw6cxggx39phj8855zp3cag"
+   "commit": "195add1f1ccd1059472c9df7334c97c4d155425e",
+   "sha256": "1361jvwr3wjbpmq6dfkrhhhv9vrmqpkp1j18syp311g6h8hzi3hg"
   },
   "stable": {
    "version": [
@@ -31647,16 +31741,16 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20240205,
-    2122
+    20240419,
+    452
    ],
    "deps": [
     "compat",
     "consult",
     "embark"
    ],
-   "commit": "60139db8794f7e4a08076d9f7597d08f6c8083d1",
-   "sha256": "0ndf59zxi002jqlzfx64in5179xhygd86fhwrhygn8b2mdx7nq2d"
+   "commit": "195add1f1ccd1059472c9df7334c97c4d155425e",
+   "sha256": "1361jvwr3wjbpmq6dfkrhhhv9vrmqpkp1j18syp311g6h8hzi3hg"
   },
   "stable": {
    "version": [
@@ -31856,16 +31950,16 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20240318,
-    2011
+    20240414,
+    1933
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "38417250833e14914d3cff65ebf8b51a1b9c1da5",
-   "sha256": "1qwpjrn8jm35ylbh7n2f3xk7z30czzx5w2nzi3qwmwrlb4wvp0df"
+   "commit": "01110352afecd160165041bee55a63e959f66835",
+   "sha256": "0hz0yf49l6lq897lvfrv8pzkm7k6frnkqxr28800yhb7d6hcd3ix"
   },
   "stable": {
    "version": [
@@ -32267,27 +32361,28 @@
   "repo": "isamert/empv.el",
   "unstable": {
    "version": [
-    20240310,
-    28
+    20240423,
+    2355
    ],
    "deps": [
     "compat",
     "s"
    ],
-   "commit": "cb284929a6a1364d1200677de38a75d90edc6fb2",
-   "sha256": "0yc147iln4hpfv74jzaq6z53m52cannllwn5ffafya6qih5rl4hm"
+   "commit": "d9ab5d355c2e92c2c4e709d6945e6fab25069ccb",
+   "sha256": "0khj0xz3g5f0xa6qac7xyi2rjbm48l3wlk01q3x6fznccn5ch6wx"
   },
   "stable": {
    "version": [
     4,
-    0,
+    1,
     0
    ],
    "deps": [
+    "compat",
     "s"
    ],
-   "commit": "449b6e3e00b2a2e28580bb7608817f203380b53a",
-   "sha256": "02vrvwgd1fba8986qc9idi6b6iinn44aid8jawvrz21visfzfmmg"
+   "commit": "c48cd223b145806a6a36167c299e9a0384a5f2e6",
+   "sha256": "0p62wfsxk0sh8lpjm52md8kaixkfagfsl9gpmps76448iznn04m7"
   }
  },
  {
@@ -32570,27 +32665,25 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20240324,
-    2246
+    20240415,
+    1016
    ],
    "deps": [
-    "inheritenv",
-    "seq"
+    "inheritenv"
    ],
-   "commit": "94785b4bd385432ccd1bbabc73842cadb3357ca6",
-   "sha256": "02pfqsl9m1spwqzrb5x5f4rpys4laa0mjny5252qm2vc0rlp26xk"
+   "commit": "8571bf94b6a63ffd9a84100106602f88ba186854",
+   "sha256": "03mjws4fp00g5smivs1iz0r78mmd5sgj1g4xyi8aq21mpv5rd2m0"
   },
   "stable": {
    "version": [
     0,
-    6
+    11
    ],
    "deps": [
-    "inheritenv",
-    "seq"
+    "inheritenv"
    ],
-   "commit": "d8fe5d293253a0d431034cd7294e6fb561c4950f",
-   "sha256": "1a4ixhvs53ymcm0fjlvnh47rd0sp23w4ngns4m0ydcs5vq8hwq5m"
+   "commit": "8571bf94b6a63ffd9a84100106602f88ba186854",
+   "sha256": "03mjws4fp00g5smivs1iz0r78mmd5sgj1g4xyi8aq21mpv5rd2m0"
   }
  },
  {
@@ -32715,8 +32808,8 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20240212,
-    1731
+    20240415,
+    1554
    ],
    "deps": [
     "closql",
@@ -32724,8 +32817,8 @@
     "emacsql",
     "llama"
    ],
-   "commit": "4a245349047f48507fc28f7077061bca3dfcedea",
-   "sha256": "1sk0vnb1prlqb6qpg8w59liqnj9hn2mpcw1mb58jvfc5xb2f19vw"
+   "commit": "91c3e441eaa9f85b13d5957ee82f7c440addd147",
+   "sha256": "0n6psk9k2aglfsbxpnqfsmah4c9060sgf13wix0mmakba2iq11wc"
   },
   "stable": {
    "version": [
@@ -32748,8 +32841,8 @@
   "repo": "emacscollective/epkg-marginalia",
   "unstable": {
    "version": [
-    20240101,
-    2215
+    20240415,
+    1536
    ],
    "deps": [
     "compat",
@@ -32757,8 +32850,8 @@
     "llama",
     "marginalia"
    ],
-   "commit": "b8c9fb165ec832b2e930092ce8abe039d415a117",
-   "sha256": "12bf6ly08lhjssl8p257v9dz5w9inv8wq1fb4phprnpcggswxlhc"
+   "commit": "41bb627934e0a389e24573d2c9d088f6f6afdbcc",
+   "sha256": "1m0g1h81if11v0mw8l3kd6i2mxs1r1s1dh9c84niig0gw0dgligw"
   },
   "stable": {
    "version": [
@@ -32886,7 +32979,7 @@
     "dash"
    ],
    "commit": "7aa2e1715e6ea286b08bb446d2d9915afa0fdf03",
-   "sha256": "0b2a9qvqxhm2z4zb4qg6d5h0pp82hdmjl8qnk03zr1awi5angiyv"
+   "sha256": "11wag6sgfr62yj4zjr9n71kxd3kfa105l0rpbag47qmac2wsg7h5"
   }
  },
  {
@@ -33032,7 +33125,7 @@
     "switch-buffer-functions"
    ],
    "commit": "feb0fbf1fd4bdf220ae2d31ea7c066d8e62089f9",
-   "sha256": "0pfnp7gw75hfhsy7jizp622s6yv61h3k2s0l2g33i801ar6abwm5"
+   "sha256": "1wb3xm45g77daw2ncs8a8w0m8d2hi591jmzwy5xli1zgrr5mm8h3"
   },
   "stable": {
    "version": [
@@ -33044,7 +33137,7 @@
     "switch-buffer-functions"
    ],
    "commit": "7539654e4a72edcc5bba07a101961e5bf0a9d449",
-   "sha256": "0pfnp7gw75hfhsy7jizp622s6yv61h3k2s0l2g33i801ar6abwm5"
+   "sha256": "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6"
   }
  },
  {
@@ -33431,21 +33524,21 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20240321,
-    722
+    20240418,
+    631
    ],
-   "commit": "e651174c569694c92b1794ddd0a1a4a199610091",
-   "sha256": "1g9icvg07x78kkp1w9ljgbm6zyyzwz4p17mq844vr1vbr50amsx3"
+   "commit": "5df3992d695da4d7e8777cf7605279ce9d131f1c",
+   "sha256": "1zn34znba898b4kyrr2v88rbxlh709biff7z99llrvaxl0id6q3k"
   },
   "stable": {
    "version": [
     27,
     0,
     -1,
-    2
+    3
    ],
-   "commit": "e651174c569694c92b1794ddd0a1a4a199610091",
-   "sha256": "1g9icvg07x78kkp1w9ljgbm6zyyzwz4p17mq844vr1vbr50amsx3"
+   "commit": "5df3992d695da4d7e8777cf7605279ce9d131f1c",
+   "sha256": "1zn34znba898b4kyrr2v88rbxlh709biff7z99llrvaxl0id6q3k"
   }
  },
  {
@@ -33584,8 +33677,8 @@
  },
  {
   "ename": "ert-results",
-  "commit": "f9efdf1e970398a0a686a587e4678a650534b171",
-  "sha256": "1wm43jyxxyjq83cicidf4xs5rgxsp3954hjsm6q6vx4wbn2x40qv",
+  "commit": "2d8716906a0c9e18d6c979d8450bf1d15dd785eb",
+  "sha256": "18v8c7f63m5mzl13v89fz75vcwym5hhigbifqmyi2r8mddfql5rh",
   "fetcher": "github",
   "repo": "rswgnu/ert-results",
   "unstable": {
@@ -33846,6 +33939,24 @@
   }
  },
  {
+  "ename": "eshell-atuin",
+  "commit": "636d43dad51e4d57beacefeeaff4b5ca1c8b83e7",
+  "sha256": "0ic7k4a76fsjwz1irdljg46bms88hycayjyjrirm7sys9i01qc0c",
+  "fetcher": "github",
+  "repo": "SqrtMinusOne/eshell-atuin",
+  "unstable": {
+   "version": [
+    20240409,
+    932
+   ],
+   "deps": [
+    "compat"
+   ],
+   "commit": "1b71d4c18039bc3b46095adb557f6987caab4a43",
+   "sha256": "0mkv3460prgjx8pcfvfnavcd6h93f4cd4lqv0k7mynjiq57qy8np"
+  }
+ },
+ {
   "ename": "eshell-autojump",
   "commit": "68bd1a8ec9d17eff2d23e15b3686f7c0b8723126",
   "sha256": "09l2680hknmdbwr4cncv1v4b0adik0c3sm5i9m3qbwyyxm8m41i5",
@@ -34071,11 +34182,11 @@
   "repo": "akreisher/eshell-syntax-highlighting",
   "unstable": {
    "version": [
-    20240325,
-    146
+    20240416,
+    102
    ],
-   "commit": "1d25386bf7d1a97e083d33750a98fbd1c6598138",
-   "sha256": "1mvhp5arzhmkgpyq6kg0vlvaan8h67z3jjszazmjvgi5gma6jz1n"
+   "commit": "070b33c20a907d973f41c0be1dcfd1335b8aa1e0",
+   "sha256": "0r4n6v9rlfmibrld1axbvxdll2j4c8vrp4glfpziglak1j764ifc"
   },
   "stable": {
    "version": [
@@ -34094,14 +34205,14 @@
   "repo": "4DA/eshell-toggle",
   "unstable": {
    "version": [
-    20220718,
-    729
+    20240417,
+    1536
    ],
    "deps": [
     "dash"
    ],
-   "commit": "d4e884624f02e68b267b0044322ad17baa6780f8",
-   "sha256": "13bb0dyhncph6rxihlf4fy7p92nyxz0ylld8vx1sj4551sv5ifn9"
+   "commit": "222e05870c0b3f4a4d96f9bdb7065c53eb43a917",
+   "sha256": "13j2jgpiqa0y24hv4dw26m6dmfy0apyjbizxrgm63qy4b24lj1i3"
   }
  },
  {
@@ -34429,11 +34540,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20240229,
-    2054
+    20240410,
+    1836
    ],
-   "commit": "cf237253049583a547bafc16edb9eb9a52e1ebf6",
-   "sha256": "02zps4a404ijmngy2yx6sxj0c9hgs9383cm4byds2nw1jzhjc7wf"
+   "commit": "8030e29de88c1f234184278e9839d7a78d3ddc6c",
+   "sha256": "1xx4srd4qmc0plh3lr1ar0qpamwh41wabrxrjg2205d1dxrqv0wp"
   },
   "stable": {
    "version": [
@@ -34618,6 +34729,25 @@
   }
  },
  {
+  "ename": "essgd",
+  "commit": "e054a2fdc34f358e82aeeae6fc1f79f364189561",
+  "sha256": "1dfss8h67whiya9155hns780bqvchqaackqb8al0cnjd634xm5w1",
+  "fetcher": "github",
+  "repo": "sje30/essgd",
+  "unstable": {
+   "version": [
+    20240418,
+    752
+   ],
+   "deps": [
+    "ess",
+    "websocket"
+   ],
+   "commit": "2a88e9cc0e47b2bb3ec39db0399b279e2276280e",
+   "sha256": "1c1pwn4c25kqaq3vnn16jzhsjkb8ingxb8q9k086w7a5q26h2jpn"
+  }
+ },
+ {
   "ename": "esup",
   "commit": "b9d2948a42da5d4864404d2d11a924a4f235fc3b",
   "sha256": "0cv3zc2zzm38ki3kxq58g9sp4gsk3dffa398wky6z83a3zc02zs0",
@@ -34700,25 +34830,6 @@
   }
  },
  {
-  "ename": "etable",
-  "commit": "afee0fed80f4fa444116b12653c034d760f5f1fb",
-  "sha256": "0m4h24mmhp680wfhb90im228mrcyxapzyi4kla8xdmss83gc0c32",
-  "fetcher": "github",
-  "repo": "Fuco1/ETable",
-  "unstable": {
-   "version": [
-    20161028,
-    2009
-   ],
-   "deps": [
-    "dash",
-    "interval-list"
-   ],
-   "commit": "d502141f0c69bf95256ba5cb9cd15350c7e942d2",
-   "sha256": "0k0g58qzkkzall715k0864v3b7p5jnfwxqgmkj087x34frcf388k"
-  }
- },
- {
   "ename": "etc-sudoers-mode",
   "commit": "e665f3b7fd75544c174ac3da9e0a498ceb694f5a",
   "sha256": "01sn1pd6s4blf6dk3vvi70sr1mgcfsigb1qvxk3dsggf1ng2rhsk",
@@ -34726,28 +34837,28 @@
   "repo": "mavit/etc-sudoers-mode",
   "unstable": {
    "version": [
-    20201102,
-    1707
+    20240417,
+    2126
    ],
    "deps": [
     "sudo-edit",
     "with-editor"
    ],
-   "commit": "74c66c58c9578a0d841206d5dec04d81e7b3d741",
-   "sha256": "0f4glimf9xf87nv23vq5cjhr92f0avzvimnr9v829d69fjmjghni"
+   "commit": "133f342e7a249ed4b3e3983e6d8bf541bae05c4b",
+   "sha256": "0lgw6x7p9rq334g97npbdq5zf7ws8a0gxx608dhai3g7lw47w84w"
   },
   "stable": {
    "version": [
     1,
     1,
-    0
+    1
    ],
    "deps": [
     "sudo-edit",
     "with-editor"
    ],
-   "commit": "74c66c58c9578a0d841206d5dec04d81e7b3d741",
-   "sha256": "0f4glimf9xf87nv23vq5cjhr92f0avzvimnr9v829d69fjmjghni"
+   "commit": "133f342e7a249ed4b3e3983e6d8bf541bae05c4b",
+   "sha256": "0lgw6x7p9rq334g97npbdq5zf7ws8a0gxx608dhai3g7lw47w84w"
   }
  },
  {
@@ -35068,15 +35179,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20240324,
-    1731
+    20240421,
+    1915
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "64a07c7aca2933ed1feec80704db49dc2c3476b3",
-   "sha256": "0m77bqnaqmqbd2w6710hplisbc9wwqhiymx63m7g2ddldzcmxyd0"
+   "commit": "fe44a565e6806dba4c298a76eb8800063016ec2d",
+   "sha256": "0xx73x82q26zgj33agmdzf4z4wk2m88f91wry071k8ja0qd9n5hc"
   },
   "stable": {
    "version": [
@@ -35269,15 +35380,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20240321,
-    13
+    20240417,
+    1647
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "89aea406334bc251adb70b1d6070b24fa94552ba",
-   "sha256": "1w47hr75a1r0zdzp6f14ac33sk2kqvmrlh52nd1pxll0wkaxd2xf"
+   "commit": "5886bab852dc9e31959e70384d535473e44504ad",
+   "sha256": "0dz9dkmxm4j2r2nilgxwgvsgbm531rrsiszzx480zrmqybdsziq6"
   },
   "stable": {
    "version": [
@@ -35817,11 +35928,11 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20240216,
-    1304
+    20240418,
+    731
    ],
-   "commit": "1c4fefa9bb11cc4b1d7f10614d2021c12ed12e89",
-   "sha256": "1m5y5n38w0ijzx2kl9d0nnw70ykx2prmnvv4ip9siad71k7wpwjg"
+   "commit": "c75b2c6c3123824ff7ae35deef22a3a5d9b619b2",
+   "sha256": "050r48nv2w13jj1d4n4y442p4vmwwqnnqb691nvlz48vfymdx6mm"
   },
   "stable": {
    "version": [
@@ -35985,14 +36096,14 @@
   "repo": "juliapath/evil-numbers",
   "unstable": {
    "version": [
-    20230117,
-    53
+    20240416,
+    140
    ],
    "deps": [
     "evil"
    ],
-   "commit": "8724645c84dc310f6155eec452913bb79c0c44b3",
-   "sha256": "0dxw2d85zxnh7rgfq1vn9b71nrn48j5c7fwbzb02m74qddcjnjg0"
+   "commit": "c7899894515d6be40dfcd589fb27c1801c5b199c",
+   "sha256": "0nr07k1c99xdiiz5bpn0rlr2f8qvca21smpcyyxk70cxfpwksd0s"
   },
   "stable": {
    "version": [
@@ -36289,14 +36400,14 @@
   "repo": "porras/evil-ruby-text-objects",
   "unstable": {
    "version": [
-    20221130,
-    1832
+    20240411,
+    1139
    ],
    "deps": [
     "evil"
    ],
-   "commit": "41c8b3eddb610206626a8a03e69857f903209e86",
-   "sha256": "1gakixp64ds35vfykp0niy9gdxymr1rlx2hphlbic1952dinvx9c"
+   "commit": "de138b3279817484d1d34ca5b293af09e00a4e1a",
+   "sha256": "1a2r9rha9lscx6g43xy2liwk88j2fak0c3sdwpgyyn3hz3f4g0zc"
   },
   "stable": {
    "version": [
@@ -36474,14 +36585,14 @@
   "repo": "emacs-evil/evil-surround",
   "unstable": {
    "version": [
-    20230917,
-    1541
+    20240325,
+    852
    ],
    "deps": [
     "evil"
    ],
-   "commit": "bd98f7f5492446885dc4c6b0a7579c75c22ac829",
-   "sha256": "1lj97qnzzi2dwgcak8vaaq5vhrkh84cxzzcsxs6jl93ghjyfmykr"
+   "commit": "14dc693ed971053feb9596d4bc1b1de0b0006584",
+   "sha256": "0v1jmzjlk1219s9c1x5vfrz97xip6ll64fw7n0hz3by6w0k7y1yk"
   },
   "stable": {
    "version": [
@@ -36873,15 +36984,15 @@
   "repo": "clsty/evil-tutor-sc",
   "unstable": {
    "version": [
-    20240319,
-    233
+    20240326,
+    1239
    ],
    "deps": [
     "evil",
     "evil-tutor"
    ],
-   "commit": "fcf8a588068c8fe591320d9e7161bf2d09b2e337",
-   "sha256": "1wf7bhhayj6x5657zy9ap014jlkkkvbkrg2v27h4y12cz5mc9i1z"
+   "commit": "9520aae3e10480a942c35ae83f7215086fee9412",
+   "sha256": "1v4gbyzz8bbii8vsbxrcwaxq32v1bjsgfspsgq15xkab4pziim4c"
   },
   "stable": {
    "version": [
@@ -37257,25 +37368,19 @@
   "repo": "purcell/exec-path-from-shell",
   "unstable": {
    "version": [
-    20240216,
-    1606
-   ],
-   "deps": [
-    "cl-lib"
+    20240411,
+    859
    ],
-   "commit": "d95677ad608c214647b87bc20df1642763e3b400",
-   "sha256": "1r32id7fkqhvr6whfx71v4svf70bav5k8b6dlp77gv6p1zyckm22"
+   "commit": "72ede29a0e0467b3b433e8edbee3c79bab005884",
+   "sha256": "15cjwvfv5xdhbym4ms71zdkng4381d3hsdk3kvvx2kycxff52rih"
   },
   "stable": {
    "version": [
     2,
-    1
-   ],
-   "deps": [
-    "cl-lib"
+    2
    ],
-   "commit": "03fc0a38af9e396c98f5a30c392cf757b3a34feb",
-   "sha256": "1wmr1z603wmcv8hxzxn84qxzdwmzmdm8x6f3n0x7klviq4jw6v2x"
+   "commit": "72ede29a0e0467b3b433e8edbee3c79bab005884",
+   "sha256": "15cjwvfv5xdhbym4ms71zdkng4381d3hsdk3kvvx2kycxff52rih"
   }
  },
  {
@@ -37586,16 +37691,16 @@
   "repo": "ananthakumaran/exunit.el",
   "unstable": {
    "version": [
-    20240303,
-    1106
+    20240401,
+    1344
    ],
    "deps": [
     "f",
     "s",
     "transient"
    ],
-   "commit": "5e8f6b681d4745ef23bd8f7ddafba80d6285f26e",
-   "sha256": "0jdkf8jfrw10rbd08k9lmknxpypkywnlm2mn2maz0bfb0cpi6lm3"
+   "commit": "3b63d8835398ccadbcec080c8c1e00cd638b62b0",
+   "sha256": "0ci0x6jzw2ah3hm362r73wj3vipv1f01pybag29znmdvqfg95flb"
   }
  },
  {
@@ -37606,11 +37711,11 @@
   "repo": "agzam/exwm-edit",
   "unstable": {
    "version": [
-    20240221,
-    124
+    20240418,
+    2142
    ],
-   "commit": "19ce910a9183aac78365d674cbeb630464ff1836",
-   "sha256": "06p17hbbv3dk0rsd3yw9f7bqnsar4qphppc9vm870qzmy51np47p"
+   "commit": "046b8c11f71bfd6c798df770c6b7708af2c187a2",
+   "sha256": "1byc21dvsd8hn6fg9l966zc2iqa4a24la05didswyrcs5ya13nbj"
   }
  },
  {
@@ -37668,7 +37773,7 @@
     "xelb"
    ],
    "commit": "047c83aa6b54bfb6ca8cac4d3ea18542611cef77",
-   "sha256": "1bwnw6qacdrm54lx4hc36f9lnidfw1wl399n7wasa24n9wrbr8z0"
+   "sha256": "08g7ly2syvmjgnj8qjgw5cva3wk08jmqnd85h49f76y0clcx6dsx"
   }
  },
  {
@@ -37785,14 +37890,14 @@
   "url": "https://depp.brause.cc/eyebrowse.git",
   "unstable": {
    "version": [
-    20201107,
-    955
+    20240407,
+    1342
    ],
    "deps": [
     "dash"
    ],
-   "commit": "bdc626f88ab8e3d88bf5bf2e929707606675ef92",
-   "sha256": "0fi0j5razgkchkmg4rf36a8d28602f0x2idjga24p93mmfziwb32"
+   "commit": "473381f4f9e847eb50a40ef2306c027432789754",
+   "sha256": "0dfyrln0xwdhy2br3f5vi7c23zidbcg8c640a50fblrcj7p2mm8l"
   }
  },
  {
@@ -38040,19 +38145,19 @@
   "repo": "WJCFerguson/emacs-faff-theme",
   "unstable": {
    "version": [
-    20230531,
-    1920
+    20240416,
+    2057
    ],
-   "commit": "cba6906f6f4f33cbf229a300d83f0e0d925e8f42",
-   "sha256": "1xwcgnkxmkrlj28jh0p3c0x8s84clr8dplhh8f8azx1myql62lp8"
+   "commit": "9b8ff139442b29a16a437c367f201f263bbb884c",
+   "sha256": "103npmlln3c394fkacapx17zjyw4niwqqn8c768gij0ny4k0qfg4"
   },
   "stable": {
    "version": [
     3,
-    3
+    4
    ],
-   "commit": "cb0ce3ef4430eda81aa6225f7083beb8ae03a425",
-   "sha256": "0zq8k1ggv40fdz6a5ri5nxg7yznvlwx7j3cpl7gig1v1p97h0b8k"
+   "commit": "9b8ff139442b29a16a437c367f201f263bbb884c",
+   "sha256": "103npmlln3c394fkacapx17zjyw4niwqqn8c768gij0ny4k0qfg4"
   }
  },
  {
@@ -38106,11 +38211,11 @@
   "repo": "ideasman42/emacs-fancy-compilation",
   "unstable": {
    "version": [
-    20231228,
-    2247
+    20240422,
+    111
    ],
-   "commit": "74833d618024cee47c24aabdc6e9daa4009d0690",
-   "sha256": "1c8rfhab3bi8aw0kyrcb7dz6zcknv3r5dcnrq4z784pqs1gjdq2l"
+   "commit": "347db70ec7252245ab745c1087e8806c684e2a04",
+   "sha256": "191q1gr1nm7q1vh3sp4xx7gwzfpy5c2r7qrqa7dbnd640s8bpq5y"
   }
  },
  {
@@ -38480,11 +38585,11 @@
   "repo": "michaelklishin/cucumber.el",
   "unstable": {
    "version": [
-    20220418,
-    848
+    20240401,
+    242
    ],
-   "commit": "e204d9e204b767cf95d6a051ff283f05dc51e9d3",
-   "sha256": "0zg4nkwfwmil2a3n2gnrwsj14dkwb1hm1mbcgcrg2dgvh45idns6"
+   "commit": "afd49b8a8504e5874027fc0a46283adb1fea26c0",
+   "sha256": "1jlzmd8b03fg0d5hgfvx1czkh5wlw136g34z89cnnmbhi4p4cv3x"
   },
   "stable": {
    "version": [
@@ -38577,11 +38682,11 @@
   "url": "https://opensource.chee.party/chee/feline-mode",
   "unstable": {
    "version": [
-    20230315,
-    1821
+    20230301,
+    1350
    ],
-   "commit": "3f9247f48058285d3e03957680e011ecf58d6feb",
-   "sha256": "10512svsgag8shgwhxgkdncyxdmvc67aj42jmd5yzvzhizd25nsv"
+   "commit": "8c46b1be9e45a38281aa9ddae79fda3c8e4cb5c5",
+   "sha256": "0i8m08xqj24wyij2b3ib8dl3gk6sra9jp73wz2wcknwb58hwnjl9"
   },
   "stable": {
    "version": [
@@ -38600,11 +38705,20 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20240313,
-    32
+    20240425,
+    129
+   ],
+   "commit": "dd7a320b1582b726d011f4fca24d36614b5ffba8",
+   "sha256": "0f19c55slndp0vdhbwx7s2cz54a26vvyy7knxd2nrhl6wnrazhma"
+  },
+  "stable": {
+   "version": [
+    0,
+    9,
+    1
    ],
-   "commit": "4cdf20b673ed1eb14342d7a470ef75cbe165b0c4",
-   "sha256": "1hvmcnagrz4zwzadsx406hw0gsn66h5rd5y4891pkc260bi8mcyc"
+   "commit": "1ce807cc664cb209afa0e0331d4d2f0cdbc09f78",
+   "sha256": "0dh50nkfxfiqyf19lfqnbfdpd8xf23q38axfli60d0vcix9nhxpv"
   }
  },
  {
@@ -38859,11 +38973,11 @@
   "repo": "jcs-elpa/fill-page",
   "unstable": {
    "version": [
-    20240101,
-    930
+    20240423,
+    924
    ],
-   "commit": "c2bf4d4661c7f618e3c3334dbfd9a142371806d6",
-   "sha256": "1rgb4jj0fz37h09f9zyn8915mfc8x6dhhqbizq6vsq66cdcb1gac"
+   "commit": "c04d29a83d50c9f1dfc039c05c6508f8370514fd",
+   "sha256": "1z0ni6llpvdh9jwmnzvpxnyy4x605qyh07pwaqck7bxl12xc3wh3"
   },
   "stable": {
    "version": [
@@ -39288,20 +39402,20 @@
   "repo": "Anoncheg1/firstly-search",
   "unstable": {
    "version": [
-    20240324,
-    1536
+    20240408,
+    556
    ],
-   "commit": "5a5a60ba276c4362c371e44ff1cfa242b94eef62",
-   "sha256": "1bb4p9jaj7mn451zsx5wzsc9wrkzskg16g4cmxbvsfrlfxzfvicz"
+   "commit": "2045d990509074a8151c8a27db50e477d254aa31",
+   "sha256": "1xaddr6zgnif4gng8sdqfsxckh2k35yblpn3mirz6zw7iyd46zs3"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
-   "commit": "93d8b048187ae1e1bac4949c070ed4a8125e74bd",
-   "sha256": "1qp48fnf4ji8w4xn8sngknk79hwfwlk4cyz0717f0fmvk0wp7ias"
+   "commit": "2045d990509074a8151c8a27db50e477d254aa31",
+   "sha256": "1xaddr6zgnif4gng8sdqfsxckh2k35yblpn3mirz6zw7iyd46zs3"
   }
  },
  {
@@ -39312,11 +39426,11 @@
   "repo": "LemonBreezes/emacs-fish-completion",
   "unstable": {
    "version": [
-    20240310,
-    1442
+    20240405,
+    2052
    ],
-   "commit": "5e081b3c061cfd91a98aceb035bdc80240e6ff92",
-   "sha256": "16a9fdjwsh89ar3paprmks89z0ydijn3lqv0r8khmhpa9ljrkrg5"
+   "commit": "807628cc4b0f7a07b6e512f7c7825a78ee5c73fc",
+   "sha256": "12rs6l3w08smp37p18365bj4as1i3jrwl54zbrxw2navjyqmp11m"
   },
   "stable": {
    "version": [
@@ -39372,7 +39486,7 @@
     4
    ],
    "commit": "ba63f0591c3be1644ee7ee972430c74b5d346579",
-   "sha256": "1yjfvb2vn5pmrq5fw4sfx1lfkbnkwlc160izpvkrf9ww9xsas6al"
+   "sha256": "014vbzxz1jmm83a5mg4zsyxm8nw96n8s2l7h3myhrn880d9xnqgg"
   }
  },
  {
@@ -39464,7 +39578,7 @@
     929
    ],
    "commit": "608dd1120d35b02a02570f024c585f7569508586",
-   "sha256": "08yq6hncy8vqa2plpxa4gkq244wig2pd05w4ws0j8nmpwcwl6zki"
+   "sha256": "1gcqllsdlkkmgrwxwczxsj4zllwpprw7df479j6sj563j6qds53r"
   }
  },
  {
@@ -40074,11 +40188,11 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20240317,
-    606
+    20240411,
+    449
    ],
-   "commit": "0c8de6de03bb1639552007f70a9c66ebdd382496",
-   "sha256": "0nc5fpggqckpnlxaaf0w517zr6xzamg25yj2hgrp19naqicl7133"
+   "commit": "900b8e79754d21853a6e5b5a2802f317a7112a1e",
+   "sha256": "0k9gf7aim1ns09rmicaqy93lp1915c8llr9i837gw8a86c8fjfrr"
   },
   "stable": {
    "version": [
@@ -40298,7 +40412,7 @@
     "flycheck"
    ],
    "commit": "0eb3dd630391e4d8a26e09c9032cfb9f4bd71e08",
-   "sha256": "1zk3rjabmpfl37zrnnim4h6cbnwp9vg8yjwirw8hjsayfh1pp0kk"
+   "sha256": "1nrhybhpkv3rvks1vqzahfjg0vva76kakd99wpdqsa60ylb5i4jw"
   },
   "stable": {
    "version": [
@@ -41095,14 +41209,14 @@
   "repo": "weijiangan/flycheck-golangci-lint",
   "unstable": {
    "version": [
-    20230523,
-    1855
+    20240329,
+    1647
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "9def093e416e9a6ddd3cae8590dbb7ff6314925a",
-   "sha256": "1j28zwglv0qygzzsd7rp71gswgidcq7mkaph7z915xci92r2r3ap"
+   "commit": "91c59b128aa6f719069cfb3e5df77588691a3e14",
+   "sha256": "1qw3g0vaj0nf6kf0ga0hayyv099g27s7pa472760fwx2v857vns6"
   }
  },
  {
@@ -41370,14 +41484,14 @@
   "repo": "DamienCassou/flycheck-hledger",
   "unstable": {
    "version": [
-    20230710,
-    1920
+    20240423,
+    1307
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "9b7ccd3d49765dd68885d1fa0fb48823ea11fb2e",
-   "sha256": "0clgbliwiwllnsxf5j7p3smlf487lrgy2a1rdgmjij3qa55wbl99"
+   "commit": "77369d78c8a00cd55a3ff8b12dc99db136748a4e",
+   "sha256": "0kzfil5nyk9y1nmvz3hn5vgaycid2r34p9vx4m1j02r3y5z0amhm"
   },
   "stable": {
    "version": [
@@ -41469,7 +41583,7 @@
     "flycheck"
    ],
    "commit": "54744a78d06373404933fedc3ca836916e83de51",
-   "sha256": "1vvsswadiks9mpb49vz2q8z69wq0jalsvgalhn10k3pyz7p0abnd"
+   "sha256": "1zdvan6l2s97s7swnccq21z1ja8vl64l757j3hg50ipq8j5yy9dl"
   },
   "stable": {
    "version": [
@@ -41480,7 +41594,7 @@
     "flycheck"
    ],
    "commit": "54744a78d06373404933fedc3ca836916e83de51",
-   "sha256": "1vvsswadiks9mpb49vz2q8z69wq0jalsvgalhn10k3pyz7p0abnd"
+   "sha256": "1zdvan6l2s97s7swnccq21z1ja8vl64l757j3hg50ipq8j5yy9dl"
   }
  },
  {
@@ -42972,15 +43086,15 @@
   "repo": "mohkale/flymake-collection",
   "unstable": {
    "version": [
-    20240316,
-    2135
+    20240331,
+    1808
    ],
    "deps": [
     "flymake",
     "let-alist"
    ],
-   "commit": "f1d889f166934a4d8ec0f0e159e179314c2e8791",
-   "sha256": "0ry8lmbsllsbk5gaywwym5fi1f001g3qzjzwzcz5xq1vim9jzlvj"
+   "commit": "46b65939c8363ec7efd594390a3c5d0becc7b8ab",
+   "sha256": "199rpiwwf5fji6skv2bjdbwid83lpjsqdsa2pykrb3ci2lial53w"
   },
   "stable": {
    "version": [
@@ -43161,25 +43275,25 @@
   "repo": "emacs-eldev/flymake-eldev",
   "unstable": {
    "version": [
-    20240115,
-    1927
+    20240419,
+    2023
    ],
    "deps": [
     "dash"
    ],
-   "commit": "901b2837c7d575f929f87aa83b8e725841927584",
-   "sha256": "0m0zkg85f65dbhrfsvfb2fircgm3wfxg8x4l9iahagamxmxxwhq8"
+   "commit": "d8f4d9da115002afd3785b777cd59a49d170e04a",
+   "sha256": "16jf51kzllrsk8576ydwys683wkdq0akckkpfbhnx3nq4nnf5c3i"
   },
   "stable": {
    "version": [
-    0,
-    9
+    1,
+    0
    ],
    "deps": [
     "dash"
    ],
-   "commit": "64fc128293040753eb874b8ade59803cf1c23a46",
-   "sha256": "00giw9fc86facrhdas5ylz7hmblaaj10i3qzxjcfnwal5c5byfwj"
+   "commit": "947d3f43d19ddf67dffcaa3ba66c51ce1077dda7",
+   "sha256": "0wyfk5vd7rfqlkpbc8hmcv8rdgf27ms0dapiy6wzdc3313kpdgjq"
   }
  },
  {
@@ -43739,6 +43853,21 @@
   }
  },
  {
+  "ename": "flymake-margin",
+  "commit": "a0dc116fbfa4e1196cfc0453d9623426960cbc82",
+  "sha256": "1mqlps7niya36nj7yxc3bpy5j592p5na7w1hbgwd36kaj1wsa4d7",
+  "fetcher": "github",
+  "repo": "LionyxML/flymake-margin",
+  "unstable": {
+   "version": [
+    20240401,
+    2342
+   ],
+   "commit": "fe4da9f947c7a11aba331dd77637d471cedbd061",
+   "sha256": "1p3q7s5n1szggj8w8fmpz8l7g27srmsrgla5wag2320dnd6djrir"
+  }
+ },
+ {
   "ename": "flymake-markdownlint",
   "commit": "0cdb9c33a827d870da79a63d3c0b923fb5b02073",
   "sha256": "1myfk8pk02svr6506ccgs4qhcgq89jhyf91hpwvf1jfc1icr1ph6",
@@ -44101,14 +44230,14 @@
   "repo": "erickgnavar/flymake-ruff",
   "unstable": {
    "version": [
-    20240113,
-    1518
+    20240419,
+    232
    ],
    "deps": [
     "project"
    ],
-   "commit": "165ee1fe7b9d154a316c332bf73f341177126d8c",
-   "sha256": "016322zv6bp97jama1lsh9rrrgv0h30h8rrslq9lmf5y85bqikh4"
+   "commit": "15bf4d3a4ebe899991e385b64901b5cde0daa177",
+   "sha256": "0g9czaf6his577g1fcgi5xiy3fhfjkf8ihilgnxjydiwgr4fg4f1"
   }
  },
  {
@@ -45034,8 +45163,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20240324,
-    2106
+    20240423,
+    2033
    ],
    "deps": [
     "closql",
@@ -45050,8 +45179,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "2a3b41eb6235b3f39c017c1f86b3928a45c5a64d",
-   "sha256": "09nxkknp4f66v4s2hyfxyhg2qgzzcpzw7xsb8v16p9k5khnkrh8m"
+   "commit": "b54c8610a48c092aec8adde289cb9ba52ff7e23c",
+   "sha256": "1akx3qf3kfyc21bhg1pdlp92ncnx95wdhsqaj45haqjalad9a0zp"
   },
   "stable": {
    "version": [
@@ -45269,26 +45398,26 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20240226,
-    245
+    20240329,
+    229
    ],
    "deps": [
     "seq"
    ],
-   "commit": "20e2fc4aa62d27a48c092761e77d65b64d55a3c5",
-   "sha256": "11c09a470v61cwi0662615q8l58sxd2mk6zqbvrp5g14w8470hgs"
+   "commit": "b25315fed996cf1d41cc2d612dacc62b3e95f928",
+   "sha256": "15r0pzdmimm72jx26zgdxf7fwwcppl45vvh33xx5wnhqzd140hwn"
   },
   "stable": {
    "version": [
     3,
     7,
-    2
+    3
    ],
    "deps": [
     "seq"
    ],
-   "commit": "561982bde5fc4f53f72cebe53e0eea53051ef0e7",
-   "sha256": "0xy45inihqwaix49vxr5yiqyps4r2djkzdd4g7kkc0fv7kzrm1m4"
+   "commit": "b25315fed996cf1d41cc2d612dacc62b3e95f928",
+   "sha256": "15r0pzdmimm72jx26zgdxf7fwwcppl45vvh33xx5wnhqzd140hwn"
   }
  },
  {
@@ -45299,11 +45428,11 @@
   "repo": "gmlarumbe/fpga",
   "unstable": {
    "version": [
-    20240211,
-    213
+    20240329,
+    1759
    ],
-   "commit": "bbd663f29e796ab010a5569f1cdbd706ff0f564a",
-   "sha256": "10mxqmaq1n2691qyydyblwdzyyv5dghm9rc62awfgcjkqd02hmr8"
+   "commit": "34e521962ba3842321d456bd587aa93e4b627969",
+   "sha256": "07v8ybmljx9894q5q8qpvqdia892907ikl9q7vixhxkx5g4adjb6"
   },
   "stable": {
    "version": [
@@ -45453,14 +45582,14 @@
   "repo": "tarsius/frameshot",
   "unstable": {
    "version": [
-    20240101,
-    2216
+    20240415,
+    1537
    ],
    "deps": [
     "compat"
    ],
-   "commit": "77e4f3ad1fd495d983e62a201f6c1f708b616648",
-   "sha256": "08f2l190f37qfidlismy3jylwlk4r2bpgr40cglw5wbid1ln54sy"
+   "commit": "8bceac0988ea2e84452f87b96e0a9f669d717843",
+   "sha256": "1xw8cd8gaawggywpqkalzcjsvn6ns52v7bsp0jmbz113y6l8q689"
   },
   "stable": {
    "version": [
@@ -46146,14 +46275,14 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20230511,
-    1235
+    20240403,
+    1143
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8e830a65983c5175b0116360eddefa3ae4fea897",
-   "sha256": "13skbn103411s06fz3vppcnlq56vp35m7slnxw3azf8zq4bb7m4k"
+   "commit": "98f9e7e890e082d45034f935d311a399326010ef",
+   "sha256": "1cbm1navpw8kh6dj5hqk3d0a1fap7bsgfw414scdmjrq3rp672sp"
   }
  },
  {
@@ -46259,14 +46388,14 @@
   "repo": "tarsius/fwb-cmds",
   "unstable": {
    "version": [
-    20240101,
-    2216
+    20240415,
+    1537
    ],
    "deps": [
     "compat"
    ],
-   "commit": "88e823809067983acfaeafa57d0bb6e889429ad2",
-   "sha256": "1bipyxd5zfrhddspkaybfd9gsdlih17il84gkzaqk624k0k07a7p"
+   "commit": "2214ad1094b0b4d466825521eefe39bba65634d0",
+   "sha256": "0cqxin5mnmkjzswh6vk46dhxyh6parxd74w4i2cd44ijrh6rx9yn"
   },
   "stable": {
    "version": [
@@ -46497,11 +46626,11 @@
   "repo": "godotengine/emacs-gdscript-mode",
   "unstable": {
    "version": [
-    20231024,
-    1150
+    20240424,
+    2157
    ],
-   "commit": "8a28276daaa23f10e986367b80dc751c5d26829e",
-   "sha256": "1hwagkbfrrd5bgwykl6hq56jmg0264hd6iz1nljl3n06k1gm3p90"
+   "commit": "2737f1c68cbeba38d34e5728c9fc2cd69e9a8f88",
+   "sha256": "0q8diqv5qcn7xxb42wl5mva8a51l0rhxsbm248walqdrrb0l9jk3"
   },
   "stable": {
    "version": [
@@ -46759,7 +46888,7 @@
     14
    ],
    "commit": "362f1d1189c090ece8b94f6a51680f74b1ff40f9",
-   "sha256": "1gsvl0r6r385lkv0z4gkxirz9as6k0ghmk402zsyz8gvdpl0f3jw"
+   "sha256": "15bmrhpg4kh6dv6bwzxs15wf4rm7a3g09z6ram762hf2kinfiihy"
   }
  },
  {
@@ -46820,7 +46949,7 @@
     "geiser"
    ],
    "commit": "f76b53dbc1465dbd799e29bdcd2be34cc1603f50",
-   "sha256": "1i4ywb4ggq884p2lbpmp6y53l8ys5ajma7sk21zxi1jx28nb01nm"
+   "sha256": "097gyi299fyjy4v22l2l95mzs319ljr9jas4n6893vghac3rf1r6"
   }
  },
  {
@@ -46878,7 +47007,7 @@
     "geiser"
    ],
    "commit": "42376b74ae0ad84d02c26560dfd9181493dcccd7",
-   "sha256": "1aqsvmk1hi7kc3j4h8xlza7c6rwm71v98fv5wpw8kmyj9vsp49wx"
+   "sha256": "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32"
   }
  },
  {
@@ -46967,14 +47096,14 @@
   "repo": "noctuid/general.el",
   "unstable": {
    "version": [
-    20240218,
-    1029
+    20240410,
+    1650
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ced143c30de8e20f5a3761a465e684a1dc48471e",
-   "sha256": "0c13kax2h14b06zjs8wj950y7ykzmabfwdmb8imwmpgfcaasycf2"
+   "commit": "826bf2b97a0fb4a34c5eb96ec2b172d682fd548f",
+   "sha256": "1jillsr80l4wfbcqsxh3zbgbvmbfih2wcz518mgw9p9pwg4xwvy7"
   }
  },
  {
@@ -47101,10 +47230,10 @@
  },
  {
   "ename": "gerrit",
-  "commit": "3b966a2476cf10234686e49d808bcbabe0686891",
-  "sha256": "1ikkd2xjr1n8p43pwycfrsfy9fkib83mf8l0p4bjrjszfcb9ln4v",
+  "commit": "794fa2db8adf93b71a823fe73cfec1342f24d64c",
+  "sha256": "1b2hrb6gg11mcgzfafk2clz4yn8sfqgikv2kaxna0r525g0p6dw3",
   "fetcher": "github",
-  "repo": "thisch/gerrit.el",
+  "repo": "twmr/gerrit.el",
   "unstable": {
    "version": [
     20240306,
@@ -47276,19 +47405,19 @@
   "repo": "anticomputer/gh-notify",
   "unstable": {
    "version": [
-    20230117,
-    317
+    20240411,
+    2031
    ],
    "deps": [
     "forge",
     "magit"
    ],
-   "commit": "e1afdd49deb8ddf1a988e8d3fa699b06dfa92f5f",
-   "sha256": "0vx77b54hyx1f6qq1n57x7sn2080fdb67678jiw3c152jai99kx3"
+   "commit": "bcd30f1804d6e1bf0201a16486d094a3817636b6",
+   "sha256": "0spwcby1ag91wf9k3waydfav5wf37na80vayxf3kgcss2dpixz7n"
   },
   "stable": {
    "version": [
-    0,
+    2,
     1,
     0
    ],
@@ -47296,8 +47425,8 @@
     "forge",
     "magit"
    ],
-   "commit": "8937f64092ea3b7e2cea2d61c12fde8e0f5e7917",
-   "sha256": "1amqyv0xdvl1ghy2pv2kvp2lc2q250p71mq3qdf50v87png57d9p"
+   "commit": "364cc30f619321b98dc6772ca50c87fa14350a50",
+   "sha256": "1bi1jqw3fxzc4q2vxf1pjph0f2ahdzlpfpan83hn404h6hl46ldn"
   }
  },
  {
@@ -47415,16 +47544,16 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20240311,
-    1716
+    20240415,
+    1555
    ],
    "deps": [
     "compat",
     "let-alist",
     "treepy"
    ],
-   "commit": "132631529c2e3e75e15608658aed5adfbb6b7409",
-   "sha256": "11cih7igq5amv7w5k5fql0c0plfmgqnkv5p36a2dl3mzk96d8mkn"
+   "commit": "e0a65456098c5e0f2cf2724d071e9033f7b0bf3a",
+   "sha256": "0kxvd5bfwddcikm4xd82n24pm2mx7i4hqi5ikaypdav2hlp9s0x5"
   },
   "stable": {
    "version": [
@@ -47492,7 +47621,7 @@
     2
    ],
    "commit": "fa81e915c256271fa10b807a2935d5eaa4700dff",
-   "sha256": "1jiglrlhrph57p5kkm1qlqihwl6z7h9qh16qmmd5783ynksnbxp3"
+   "sha256": "1yf6yipvhhna29mzaan5vb3d5qvbrkp2awr5diyf381mvxgk8akh"
   }
  },
  {
@@ -47750,26 +47879,26 @@
   "repo": "liuyinz/git-cliff.el",
   "unstable": {
    "version": [
-    20240304,
-    2323
+    20240407,
+    940
    ],
    "deps": [
     "transient"
    ],
-   "commit": "be4b22a2c0d638cf1e5d52acc96933a443d0ca23",
-   "sha256": "0v8jibs3drq2rlmnpjw7ar4zc8fglka53rcqdcmshbq2jh96z0fi"
+   "commit": "b217b0576798767cc0a96343ba43adca3c04f760",
+   "sha256": "03bbm924i10h0chly5za991qplkp15dphgksnhni4i30k5s8znkb"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
    "deps": [
     "transient"
    ],
-   "commit": "0bc7b66d78058f5d41e9adb891d6fb29085153ee",
-   "sha256": "1szbfxy3lc1y8ax3gbxs5spkdjshrpq537yaxd85n9mrv19s3xv0"
+   "commit": "6715b76f0734aa730958e87555b63b59c80585ff",
+   "sha256": "1795zwcic7imh7ybzjvbybyqrnnfh887y1bvn95wyywqrjrkk22m"
   }
  },
  {
@@ -47813,16 +47942,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240320,
-    2311
+    20240415,
+    1544
    ],
    "deps": [
     "compat",
     "transient",
     "with-editor"
    ],
-   "commit": "4d378d91d245f68a972626c4076a6558d1c19dce",
-   "sha256": "0vix49448b79sxvwzxnij2q7nsv525y5qx814k3q0s80zwd4ny2v"
+   "commit": "68075aff58e7ae5c852b9eabb69df454267deeaf",
+   "sha256": "16l6gm5kh739d3pclyqgfkc0kqf97zl03hzgx5iqadbx8gpcvzxg"
   },
   "stable": {
    "version": [
@@ -47872,7 +48001,7 @@
     "s"
    ],
    "commit": "8a403005ea7f7611bb1bfd829eeefe5a4f10bb40",
-   "sha256": "02hag6jd55mqf0n90p0hvihmqjvd0cdlpm5knsxk3cll7fp0kkkr"
+   "sha256": "0w5xl9r7sbhlwxzg391x50pnsjmjjakn761v3qg0lj6xhv23sdl5"
   }
  },
  {
@@ -47916,11 +48045,11 @@
   "repo": "emacsorphanage/git-gutter",
   "unstable": {
    "version": [
-    20220922,
-    256
+    20240425,
+    647
    ],
-   "commit": "ec28e85d237065cb3c28db4b66d129da6d309f9c",
-   "sha256": "1fx3jp65ibcsv8akd8g4k701cs8yq0sg1bd2qszzfh6lvc4pblmi"
+   "commit": "9afe45b41a82a332606d3e70ef85d323d27b9e4f",
+   "sha256": "04y6aj588068hr6xnyb15g38q9n3w01zh2r525ljmzvrry2lai7y"
   },
   "stable": {
    "version": [
@@ -48095,7 +48224,7 @@
     0
    ],
    "commit": "ea49e2e005af977a08331f8caa8f64d102b3b932",
-   "sha256": "05bkpg7xz8644np9imsj5ms821sbsb784ap5fjdnnn69kllz0d33"
+   "sha256": "0prx0xbnhhp46c09nnzpz07jgr3s5ngrw8zjksf48abr8acwywfv"
   }
  },
  {
@@ -48106,11 +48235,11 @@
   "repo": "sshaw/git-link",
   "unstable": {
    "version": [
-    20240303,
-    1546
+    20240413,
+    1547
    ],
-   "commit": "14156291e0eb7156bd779a80c17e1935a7f8f5e5",
-   "sha256": "1dxmzk4qrz69h097lwshfg4qavdp92an5212ndhjkpmkgvk1v0xl"
+   "commit": "f16ced38f954f1159fda2f0ba7b60842f8d7e9f9",
+   "sha256": "08miy2jdn5bbmwpz5p3a196p60j8ldgb4sk77rf1cz24dp490h1i"
   },
   "stable": {
    "version": [
@@ -48159,14 +48288,14 @@
   "repo": "magit/git-modes",
   "unstable": {
    "version": [
-    20240101,
-    2217
+    20240415,
+    1538
    ],
    "deps": [
     "compat"
    ],
-   "commit": "4a61a9b86df9c824a99c522f42d55e68faf85f91",
-   "sha256": "0k92ivrknyn0h6vv3mq7y9g6hsymbwk45fdcy7dx8da2qsqaxiif"
+   "commit": "52ea2a1281ea9df9b8732fe2add0e6a0c9c2cd11",
+   "sha256": "1nf9ij8qab4lfcgj6h63mxlqph04z4icq5fxs5hsdxzcxrz3y6g1"
   },
   "stable": {
    "version": [
@@ -48247,14 +48376,14 @@
   "repo": "pidu/git-timemachine",
   "unstable": {
    "version": [
-    20240309,
-    1109
+    20240427,
+    924
    ],
    "deps": [
     "transient"
    ],
-   "commit": "5ed73c3831cf6da10ba941e6abba708a86853e8f",
-   "sha256": "1cx2rqv1c162bpf6dn01arjbyqlaxjgr1a674bsvwjin3rwcx22j"
+   "commit": "3780835fcd67c3703ffa768206121851e6895ece",
+   "sha256": "1r2cjz0x30myy9hzbv5iwmq0j9n490rnv6pxfvb00g2kcbvknyna"
   },
   "stable": {
    "version": [
@@ -48785,7 +48914,7 @@
     "yaml-mode"
    ],
    "commit": "2651e831aed84ee2512245952fac94901b086549",
-   "sha256": "0yd6s5vy5afkigm87xyh1nnwljplx1wdn5h02224ica0py48fzhd"
+   "sha256": "16fb4r3vq8xkzl911v7gaky95w1agfxjlpaxpjmidwx48rbcar59"
   }
  },
  {
@@ -48816,7 +48945,7 @@
     "gitlab-ci-mode"
    ],
    "commit": "30ea0eab74b24818f187242b079845785035e967",
-   "sha256": "1w1simnlffg56j79gal1qf1nlav9f8fmr2zfswfrmcv6cac6fhj9"
+   "sha256": "0awv24znkxs0h8pkj4b5jwjajxkf1agam09m5glr8zn5g3xbj798"
   }
  },
  {
@@ -48865,7 +48994,7 @@
     "helm"
    ],
    "commit": "5fe0a66642da6f4e7ba9e1e3a96572c7f1876e37",
-   "sha256": "1mxkcnjgazc1pyjbqqfnhc9phpyrgah960avm2fmi7m9n5v8cf0w"
+   "sha256": "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"
   },
   "stable": {
    "version": [
@@ -48878,7 +49007,7 @@
     "helm"
    ],
    "commit": "5fe0a66642da6f4e7ba9e1e3a96572c7f1876e37",
-   "sha256": "1mxkcnjgazc1pyjbqqfnhc9phpyrgah960avm2fmi7m9n5v8cf0w"
+   "sha256": "1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"
   }
  },
  {
@@ -49274,15 +49403,15 @@
   "url": "https://git.thanosapollo.org/gnosis",
   "unstable": {
    "version": [
-    20240314,
-    612
+    20240417,
+    1322
    ],
    "deps": [
     "compat",
     "emacsql"
    ],
-   "commit": "78e066b94809fb7746086a1ca6b7d7c39d353343",
-   "sha256": "11kj6w1daqhblrmvc2zhzd17j5kq1nzrmn3379f80y9gjp4y1blk"
+   "commit": "ad7b3563cb0b63afdb3ee14ada8e282c3a65b72e",
+   "sha256": "1mvf9wq8mwxl5vvnhgsgi6ahw45cg1sihgknb59pp38mg33yarxv"
   },
   "stable": {
    "version": [
@@ -49419,7 +49548,7 @@
     "gnus"
    ],
    "commit": "44ebe0241a19f4052cd427dff408206542aa3c8f",
-   "sha256": "0h7w5wrkrd0jw8nmgbkzq8wam7ynvy7flhjg4frphzmimlhysli2"
+   "sha256": "1fqkclbddwfqywvkrb7l2cpibapxrk82ikdpbxapj09iwyn3ijlz"
   },
   "stable": {
    "version": [
@@ -49430,7 +49559,7 @@
     "gnus"
    ],
    "commit": "210c70f0021ee78e724f1d8e00ca96e1e99928ca",
-   "sha256": "0h7w5wrkrd0jw8nmgbkzq8wam7ynvy7flhjg4frphzmimlhysli2"
+   "sha256": "08j8x0iaz5s9q0b68d8h3153w0z6vak5l8qgw3dd1drz5p9xnvyw"
   }
  },
  {
@@ -50726,11 +50855,11 @@
   "repo": "emacs-evil/goto-chg",
   "unstable": {
    "version": [
-    20220107,
-    1733
+    20240407,
+    1110
    ],
-   "commit": "278cd3e6d5107693aa2bb33189ca503f22f227d0",
-   "sha256": "0rgdzhan4n5bd78wvivacqkp0g7jvnwzgh0571p2m4yra09a36mv"
+   "commit": "72f556524b88e9d30dc7fc5b0dc32078c166fda7",
+   "sha256": "0dv92vhski35g7wdnr4nvjm51bsa7pn8xbq9svp30y28mq8v9gni"
   },
   "stable": {
    "version": [
@@ -50828,7 +50957,7 @@
   "stable": {
    "version": [
     0,
-    36,
+    37,
     1
    ],
    "deps": [
@@ -50837,8 +50966,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "cc533e4b14c522d0cc44ee646b0a36c408c10425",
-   "sha256": "12vd1xzmj9140a4hfkjmxg5mdj9m03nk31yx9yq1mrgjd89xxp6k"
+   "commit": "bf28314d9e3287ad1674f80d8a80d2245c0159ae",
+   "sha256": "1v02h68s1fir6s7y3zjq0s8gmg5qkac637yf3mv68lglb9cwqjll"
   }
  },
  {
@@ -50888,11 +51017,11 @@
   "repo": "brownts/gpr-ts-mode",
   "unstable": {
    "version": [
-    20230813,
-    1727
+    20240404,
+    1258
    ],
-   "commit": "2e4f89743b115b3e09f0574d0a6e67a7422c554c",
-   "sha256": "0g5pxggra2ijlfyw25bp4j8i741pmn0mxy0srqdwvhjlmpy57nhr"
+   "commit": "a92ab100759cddb51d042adf109f1831a57dbff8",
+   "sha256": "0ijyn9x6i47h9rxnfj51mhkd8qh5mippnnbbh8h388wsbgkj470s"
   }
  },
  {
@@ -50992,28 +51121,28 @@
   "repo": "karthink/gptel",
   "unstable": {
    "version": [
-    20240321,
-    1740
+    20240428,
+    314
    ],
    "deps": [
     "compat",
     "transient"
    ],
-   "commit": "12e00cbd092de95ae7f11aa207cd41dd9fabf883",
-   "sha256": "0ri0saa5750nay1ck46lxa6h21nxh9sgs0n1khr92wda1rinh85g"
+   "commit": "306fe3bd8c2933b48a871976161a7030c7e5b9f8",
+   "sha256": "0zdjzjv6znfzdrjdpkvnhbrb2dkqf9kgg4z2hgl2wmx4lkwnvcdx"
   },
   "stable": {
    "version": [
     0,
     8,
-    0
+    5
    ],
    "deps": [
     "compat",
     "transient"
    ],
-   "commit": "5dcbf40066f5b6fba27af7bf610348dbd781751e",
-   "sha256": "1n3kdylv50filla692j2vcjalw6yza80xlg90cw54m9jp9br8sch"
+   "commit": "45aae4f721e37139a57420273b6e4252229141d0",
+   "sha256": "1w9sji73dixch1b5i420j44qb3jd0zknpypz46g33pbyhg9xwqln"
   }
  },
  {
@@ -51070,10 +51199,10 @@
  },
  {
   "ename": "gradle-mode",
-  "commit": "771cc597daebf9b4aa308f8b350af91a515b44c9",
-  "sha256": "0lx9qi93wmiy9pxjxqp68scbcb4bx88b6jiqk3y8jg5cajizh24g",
+  "commit": "3539c3c724c52be88bb26fdc92a5d09a24c9cd86",
+  "sha256": "0lj3lf0i2491rqfxplcgf8nx9xpazygb2q0hynpq6rq5dkqdd63x",
   "fetcher": "github",
-  "repo": "jacobono/emacs-gradle-mode",
+  "repo": "scubacabra/emacs-gradle-mode",
   "unstable": {
    "version": [
     20150313,
@@ -52309,11 +52438,11 @@
   "repo": "clarete/hackernews.el",
   "unstable": {
    "version": [
-    20240214,
-    1452
+    20240405,
+    807
    ],
-   "commit": "34423948fd37e9f6904e4e3f6d103e311017ed09",
-   "sha256": "1b1s5bkrcsr7kzzm2ck5gwr21gn7r78grhis3zdrjnnxcny7pr5z"
+   "commit": "7c1e9de10fd6b299d45b383302d223d7e3285da9",
+   "sha256": "1006qy4hccjyr056rywnvmc65hypz1fi7j48vlzj2r7c2mqkcns5"
   },
   "stable": {
    "version": [
@@ -52333,11 +52462,11 @@
   "repo": "idlip/haki",
   "unstable": {
    "version": [
-    20240227,
-    1029
+    20240412,
+    1016
    ],
-   "commit": "0854346035d9070d347e4de710af41b293b85fb2",
-   "sha256": "0xb4bgb6cd92h7s0w440b25jli5ss7j910njrfmp5ifwraxjl0jm"
+   "commit": "a564a4feab9e1bd7f022128934ed55c83d120b69",
+   "sha256": "0f3mhvfmvjmkr0lncykkv95n8v5c8nygq209c4b76kwbap06lhcb"
   }
  },
  {
@@ -52514,15 +52643,15 @@
   "repo": "alphapapa/hammy.el",
   "unstable": {
    "version": [
-    20240306,
-    3
+    20240423,
+    407
    ],
    "deps": [
     "svg-lib",
     "ts"
    ],
-   "commit": "d06064633cb142cd52bfa65400fd243eb656ada8",
-   "sha256": "1gk7plcykxzi148cm2z0j731ag01fn54sj1k58nqy541n21qgk9f"
+   "commit": "e3b2e365140abd87537edc09cd87fb04268bc439",
+   "sha256": "166wjgkdrp2gdw10a8bkpqbiaqhhxlwmk80ia9djnz6js50hx8xq"
   },
   "stable": {
    "version": [
@@ -53150,30 +53279,30 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20240320,
-    1528
+    20240425,
+    825
    ],
    "deps": [
     "helm-core",
     "popup",
     "wfnames"
    ],
-   "commit": "eae4f5a24a2a5d9fac0ec1a9200362bf9efa911b",
-   "sha256": "1szf9whxq9xd3nn45wg0y6z2xc3g8rcahh3v28aw1v7p7pj5f1y4"
+   "commit": "753563ee010e865f3f0fd9d491c2052eb1347fd8",
+   "sha256": "103pnnki9338ahgz1z2jfl5fyix19mvlsq0cvgn1pnd7h75v14r9"
   },
   "stable": {
    "version": [
     3,
     9,
-    7
+    8
    ],
    "deps": [
     "helm-core",
     "popup",
     "wfnames"
    ],
-   "commit": "b04272a53e5b2db1fc7724d4ba84e51fd20e9c4f",
-   "sha256": "0f7vwrvxg83gril2y5qm4469nzhy51dg49zn643pni6cmhz7r9mx"
+   "commit": "6ae44dba0cb72a3a6950cbe36d104db9c69dfb49",
+   "sha256": "01lqwqjgg1m7ixm160z88cv6mbacs1vxbkvzcgns0lspxckvl1b1"
   }
  },
  {
@@ -54043,26 +54172,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20240324,
-    1909
+    20240411,
+    1719
    ],
    "deps": [
     "async"
    ],
-   "commit": "8068f5301cd1a8495dee6882de99ffec6f89f55f",
-   "sha256": "0h8g1hjkslhbm371kpsh1gqipl4zlva2fnvgqyspqmgmdpb8g49i"
+   "commit": "6ae44dba0cb72a3a6950cbe36d104db9c69dfb49",
+   "sha256": "01lqwqjgg1m7ixm160z88cv6mbacs1vxbkvzcgns0lspxckvl1b1"
   },
   "stable": {
    "version": [
     3,
     9,
-    7
+    8
    ],
    "deps": [
     "async"
    ],
-   "commit": "b04272a53e5b2db1fc7724d4ba84e51fd20e9c4f",
-   "sha256": "0f7vwrvxg83gril2y5qm4469nzhy51dg49zn643pni6cmhz7r9mx"
+   "commit": "6ae44dba0cb72a3a6950cbe36d104db9c69dfb49",
+   "sha256": "01lqwqjgg1m7ixm160z88cv6mbacs1vxbkvzcgns0lspxckvl1b1"
   }
  },
  {
@@ -54267,37 +54396,6 @@
   }
  },
  {
-  "ename": "helm-dired-history",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0qciafa42rbw0dxgkp5mbbwbrcziswmwdj2lszm0px1bip4x7yb8",
-  "fetcher": "github",
-  "repo": "jixiuf/helm-dired-history",
-  "unstable": {
-   "version": [
-    20170524,
-    1046
-   ],
-   "deps": [
-    "cl-lib",
-    "helm"
-   ],
-   "commit": "281523f9fc46cf00fafd670ba5cd16552a607212",
-   "sha256": "1bqavj5ljr350dckyf39i9plkb0rbhyd17ka94n2g6daapgpq0x6"
-  },
-  "stable": {
-   "version": [
-    1,
-    3
-   ],
-   "deps": [
-    "cl-lib",
-    "helm"
-   ],
-   "commit": "281523f9fc46cf00fafd670ba5cd16552a607212",
-   "sha256": "1bqavj5ljr350dckyf39i9plkb0rbhyd17ka94n2g6daapgpq0x6"
-  }
- },
- {
   "ename": "helm-dired-recent-dirs",
   "commit": "b46e83f2ea2c4df1ef343c79c7e249605c9639b3",
   "sha256": "05z2rybisp4nmc3w9p293qli50gmsyb6kfhxy9srxrsjfpxc5l14",
@@ -54431,35 +54529,6 @@
   }
  },
  {
-  "ename": "helm-etags-plus",
-  "commit": "e5d0c347ff8cf6e0ade80853775fd6b84f387fa5",
-  "sha256": "0lw21yp1q6iggzlb1dks3p6qdfppnqf50f3rijjs18lisp4izp99",
-  "fetcher": "github",
-  "repo": "jixiuf/helm-etags-plus",
-  "unstable": {
-   "version": [
-    20201003,
-    1424
-   ],
-   "deps": [
-    "helm"
-   ],
-   "commit": "52598fe69636add4b62cd9873041de5c6db9b7ac",
-   "sha256": "1mpwka62lk040693hllb5hrsf4n5vwkx6khi9i9dbyyc5xgppjm0"
-  },
-  "stable": {
-   "version": [
-    1,
-    1
-   ],
-   "deps": [
-    "helm"
-   ],
-   "commit": "99512856918e485862ceb21460476adb0349f525",
-   "sha256": "08ddxp1hm0ckx6gq9yl6dhh0jrfb6f747snchykl3z5p0ayknvlm"
-  }
- },
- {
   "ename": "helm-evil-markers",
   "commit": "71e3618dc6a9f614397d251398c6304345949d9b",
   "sha256": "12r5adwl9qanfvf3558niqdql67csg2lvyb6b6z3khdr34ac0sr6",
@@ -55929,14 +55998,14 @@
   "repo": "emacs-helm/helm-mu",
   "unstable": {
    "version": [
-    20230408,
-    2126
+    20240421,
+    1656
    ],
    "deps": [
     "helm"
    ],
-   "commit": "d3c23b63281ae7d1be7bd6ac0ea66dd0739deed3",
-   "sha256": "08d5i50nm651ak0kng420s8abl7gx7l0dgzr2a3hakyds06c5vgv"
+   "commit": "36bb948e239f21478939a6848c2b0a3985b27680",
+   "sha256": "18vr00vvra4sb91948h761k30bi9gm2vadyvsyk7r3jxmcyy1ixb"
   }
  },
  {
@@ -56128,8 +56197,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20240221,
-    1146
+    20240403,
+    2026
    ],
    "deps": [
     "dash",
@@ -56137,14 +56206,14 @@
     "org-ql",
     "s"
    ],
-   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
-   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
+   "commit": "1f264bf4649dc2ad90f16a763794561ee6164d84",
+   "sha256": "0425r0qjl83d1zq2z9myish3iqa6pc9ml2jlwmffjnj5gm3vgfsj"
   },
   "stable": {
    "version": [
     0,
     8,
-    5
+    6
    ],
    "deps": [
     "dash",
@@ -56152,8 +56221,8 @@
     "org-ql",
     "s"
    ],
-   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
-   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
+   "commit": "1f264bf4649dc2ad90f16a763794561ee6164d84",
+   "sha256": "0425r0qjl83d1zq2z9myish3iqa6pc9ml2jlwmffjnj5gm3vgfsj"
   }
  },
  {
@@ -58505,20 +58574,20 @@
   "repo": "tsdh/highlight-parentheses.el",
   "unstable": {
    "version": [
-    20220408,
-    845
+    20240408,
+    1126
    ],
-   "commit": "438a1cb2563e2a2496be4678cc0df8d5b22caf5d",
-   "sha256": "0ixjai9w9x4sm1lx9yljl58r7ydbbjlkb0a2pbv316l8qph8w44r"
+   "commit": "965b18dd69eff4457e17c9e84b3cbfdbfca2ddfb",
+   "sha256": "0wvhr5gzaxhn9lk36mrw9h4qpdax5kpbhqj44745nvd75g9awpld"
   },
   "stable": {
    "version": [
     2,
-    1,
-    1
+    2,
+    2
    ],
-   "commit": "438a1cb2563e2a2496be4678cc0df8d5b22caf5d",
-   "sha256": "0ixjai9w9x4sm1lx9yljl58r7ydbbjlkb0a2pbv316l8qph8w44r"
+   "commit": "965b18dd69eff4457e17c9e84b3cbfdbfca2ddfb",
+   "sha256": "0wvhr5gzaxhn9lk36mrw9h4qpdax5kpbhqj44745nvd75g9awpld"
   }
  },
  {
@@ -58921,11 +58990,11 @@
   "repo": "ideasman42/emacs-hl-block-mode",
   "unstable": {
    "version": [
-    20230521,
-    2306
+    20240422,
+    126
    ],
-   "commit": "768d92aa93c1894afb6f79feb5eb6b070ab24e4f",
-   "sha256": "1s0xiib43fp53srz57xcxkn91qxq8xcigbx0cwlcxnmjm772nfvl"
+   "commit": "c182a54a5ad0c7757be7fd5f18223528614a119d",
+   "sha256": "0rmdq00cgjfvi6pfcsmm0fk5wwplhirl5gmw76v0b983irmrg96c"
   }
  },
  {
@@ -58954,11 +59023,11 @@
   "repo": "ideasman42/emacs-hl-indent-scope",
   "unstable": {
    "version": [
-    20230801,
-    344
+    20240422,
+    204
    ],
-   "commit": "7734b40be12ab2ca34038896ec6223ecc82d89b4",
-   "sha256": "1psg26i8nxb4755dhjvp48j2wh5gm6rj0h1kqs8m6ivm18ns8mm2"
+   "commit": "b7816f73c1000975835ac28f54f8ecfc6648c0dc",
+   "sha256": "1jl1ica2idnrzcz7m1llvg6rak8kgdvjg7m3ymhlfbai2jycnw9f"
   }
  },
  {
@@ -58969,11 +59038,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20240209,
-    218
+    20240422,
+    211
    ],
-   "commit": "f658eff775fea05fa6deabf59a5fecf99660fa26",
-   "sha256": "07fm45vjm0aqa67gk4acip6k3p1n5wcjvv60s0m830awipkw4w6v"
+   "commit": "f32c04519f544634bd8dedf55d8bc458d9f64766",
+   "sha256": "1s5qvh12fnm1ryqvdf12p2czn796yxlgjcmxqhgxx8j3qplc47y9"
   }
  },
  {
@@ -59006,14 +59075,14 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20240101,
-    2217
+    20240415,
+    1538
    ],
    "deps": [
     "compat"
    ],
-   "commit": "7146bbcab5248f3fb9d09acb981b8e63f0c73413",
-   "sha256": "07q4piqxbwig12w4sm332v5apw2ph2frvm25jyxpfqsi59ri5vcz"
+   "commit": "36b66cde5777943ca0f190ad7a33fae3b2f6a404",
+   "sha256": "0v9mrkqxbvjpx1ynx8pja5djghwnix80vkbazrfv39j7shmx2dkh"
   },
   "stable": {
    "version": [
@@ -59036,16 +59105,16 @@
   "repo": "narendraj9/hledger-mode",
   "unstable": {
    "version": [
-    20231001,
-    834
+    20240415,
+    1812
    ],
    "deps": [
     "async",
     "htmlize",
     "popup"
    ],
-   "commit": "1b9c65298c34933d6667773d7fa1e89c9841038d",
-   "sha256": "1a0mdclam4s7f8cbikzcb17613x42bq0dyzbsxy1fqgil5n3qhv2"
+   "commit": "5492509a23047f0a1f05a112b47fa34eba7c5e1d",
+   "sha256": "1kwg5bi4290ak6zvnv85rhqim0jiyx49x0nzjhj09863p7fn4l1h"
   }
  },
  {
@@ -59204,38 +59273,6 @@
   }
  },
  {
-  "ename": "homebrew-mode",
-  "commit": "1e4007f6d15574098722fb427b6a9903f77afb21",
-  "sha256": "088wc5fq4r5yj1nbh7mriyqf0xwqmbxvblj9d2wwrkkdm5flc8mj",
-  "fetcher": "github",
-  "repo": "dunn/homebrew-mode",
-  "unstable": {
-   "version": [
-    20220907,
-    1656
-   ],
-   "deps": [
-    "dash",
-    "inf-ruby"
-   ],
-   "commit": "e32da1397ce176766e39c286861ef4c40d64bbf5",
-   "sha256": "1nslh3k6nvx5cgk2zjrfh9lhwkrs089p0hf93p0k8all3pvb7jbz"
-  },
-  "stable": {
-   "version": [
-    2,
-    0,
-    0
-   ],
-   "deps": [
-    "dash",
-    "inf-ruby"
-   ],
-   "commit": "8c04b040656dc99719efd7663c10f26f74df4a47",
-   "sha256": "0hqpj9fqq0b4nj7ya93jgkagafixqkinyr7qj8dsy2j1q458ynzf"
-  }
- },
- {
   "ename": "honcho",
   "commit": "76487b6776d148325c0200d2f788815f115feac9",
   "sha256": "1ywx67dmvackfx19p4fvrb8mm27a7pri3m3bwr2acwd29lrrid2x",
@@ -59320,11 +59357,11 @@
   "repo": "axelf4/hotfuzz",
   "unstable": {
    "version": [
-    20240114,
-    1729
+    20240414,
+    842
    ],
-   "commit": "0d89041ca494432d79e85b0454f21a75c6e21925",
-   "sha256": "1dax67xvi5pd1m5xp8f77ay3rnr28dyn1is8fj5dsn9cqxbqyzpx"
+   "commit": "864d07cadb0ecbbf6c296db6ecfbb38358436e21",
+   "sha256": "0r3slrzhbzgp7a48g2mg7q5yf3cx3xiz0vwjm50yq93xw4mxig8g"
   }
  },
  {
@@ -59608,11 +59645,11 @@
   "repo": "hniksic/emacs-htmlize",
   "unstable": {
    "version": [
-    20240212,
-    1001
+    20240422,
+    1351
    ],
-   "commit": "09d43dfa44899f194095bb3500a45ec5b34d59c6",
-   "sha256": "062ipq90mmjflp7syx5fpy0zykmdv1cjsd2baidbrydv9jzp2qzl"
+   "commit": "54ac89c5edc7a83344cf51d8be08e1e701f88863",
+   "sha256": "0sw9jc860fhlljq9s61qz6cgg2cf43zi2l0ff6mp4np5rdiyrwjd"
   },
   "stable": {
    "version": [
@@ -60053,17 +60090,17 @@
  },
  {
   "ename": "hyperbole",
-  "commit": "eeb6ed97ff5b0e63f5f10a4339d8f790806a6efa",
-  "sha256": "0v48smnd7bm65mjz2waahyi2favbsmynigya5s6xyhx0h6y3apxv",
+  "commit": "cc0dbece50cc4f6eb35f6f6a80af8ca2774410b5",
+  "sha256": "17q2rbk8k9hxawlwb8xz9l2jyjqsggl13izp3dnpm5xschbsm781",
   "fetcher": "git",
   "url": "https://git.savannah.gnu.org/git/hyperbole.git",
   "unstable": {
    "version": [
-    20240322,
-    1628
+    20240420,
+    1609
    ],
-   "commit": "2a10d5edf945a2faa89e59744a3b37ede7496010",
-   "sha256": "0nqih5cqbcs5l2s2kz57682gmkcajd3h7vlvs7nhkril99s85c9g"
+   "commit": "31c60562fc3b2c23719b2c617be8a65bc5d128ff",
+   "sha256": "18k4n5z33275p4idh3r5i1ym148lvnv4r88pqbwh2zb9wg4z1y1c"
   }
  },
  {
@@ -60074,8 +60111,8 @@
   "repo": "ushin/hyperdrive.el",
   "unstable": {
    "version": [
-    20240226,
-    743
+    20240424,
+    1953
    ],
    "deps": [
     "compat",
@@ -60085,8 +60122,8 @@
     "taxy-magit-section",
     "transient"
    ],
-   "commit": "9895acdd1bc14e9a63e3b6ef050510a67ae59e7d",
-   "sha256": "04x951f267gca33vjlzq4fh1xk1py9m9v8qkbsygv19rhqicad4z"
+   "commit": "3d509c7a5998511c2951eedcd236e5939c8c0fc5",
+   "sha256": "0z3ybggny7b7n3fnl4kpg4fgzqh4pdn0v55lsbrbfibvszhbfwxs"
   },
   "stable": {
    "version": [
@@ -60267,11 +60304,11 @@
   "repo": "mkcms/interactive-align",
   "unstable": {
    "version": [
-    20220629,
-    1241
+    20240326,
+    1233
    ],
-   "commit": "bc4d30d79f2f4b413288195ef19894ac0fd258b7",
-   "sha256": "18hldv1id2s3rhh6bsxnv6g0lvw912vlgidwz8540nl6j9vr64dv"
+   "commit": "764aea597b8c9292da2d91294bb6a70e7ad7d6d7",
+   "sha256": "1hdkkrcs86xmw6j5z7bqqvk4kdsf4a8ksr9bfzwkfs8sc68314zv"
   },
   "stable": {
    "version": [
@@ -60662,11 +60699,11 @@
   "repo": "ideasman42/emacs-idle-highlight-mode",
   "unstable": {
    "version": [
-    20240222,
-    2257
+    20240421,
+    647
    ],
-   "commit": "cfb4efba3bbe1f697f6545bee98c479c3f1081b0",
-   "sha256": "1z14xbvmc87dxs9l8igsrd8y70rhmgw4cljmw6q8znhl2733mbj1"
+   "commit": "531be0c2d6dc13c525138c1c9a0f59ac42268f58",
+   "sha256": "1vklsfac0m6wm9mlb7pdrwr0b559qgyvndbkl6221b3dvz0jnb96"
   }
  },
  {
@@ -61080,15 +61117,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20230802,
-    854
+    20240423,
+    1320
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "37c6b819903191acd85c56ef6f7ccf579b57eea4",
-   "sha256": "1m01n454rsj32w4pvg5y2c9jh88agf81w4x3fmvknjqncx9f1mv8"
+   "commit": "aa580b61eb3d409ae9ceb141547937ad27fae24c",
+   "sha256": "0ylb8my9qs9agqv6i7xj4lgca2pg0cdlqagn345pydjhgd8n5cbx"
   },
   "stable": {
    "version": [
@@ -61366,14 +61403,14 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20240101,
-    2217
+    20240415,
+    1539
    ],
    "deps": [
     "compat"
    ],
-   "commit": "769e13579ed19fba1fcb6de7036f5cc9357eb1a7",
-   "sha256": "0pfmrfndx1mwk21grb3kn50yxszm0yifyg3284xy4b60nk4gma6b"
+   "commit": "55c86a15fb253c7e351d55e762ece0a15dc816b9",
+   "sha256": "1svvjgp7ndn4i9rrg5idrqinhpfnmw0m5s5f4nr3c0zp44l2xn4i"
   },
   "stable": {
    "version": [
@@ -62156,7 +62193,7 @@
     "islisp-mode"
    ],
    "commit": "423b84fe4cc6944e36971225b3e19c888e7e4690",
-   "sha256": "174zjlgcikaydgx5npsbwqblzc61pxnnpw50nia8jhh8175j2sbl"
+   "sha256": "0m3vxm4q5kbdn3q524z50zvwdk63gixaqxw9qxa6d175iv0xfwv8"
   },
   "stable": {
    "version": [
@@ -62168,7 +62205,7 @@
     "islisp-mode"
    ],
    "commit": "18258f7134cfd8e0bd12538351b3cd23ae44cec1",
-   "sha256": "174zjlgcikaydgx5npsbwqblzc61pxnnpw50nia8jhh8175j2sbl"
+   "sha256": "1s6alrv1hfi1plj5lh826j0h71xvm2v092kglj3yvy34g73dgrna"
   }
  },
  {
@@ -62434,22 +62471,25 @@
   "repo": "chaosemer/init-dir",
   "unstable": {
    "version": [
-    20240320,
-    2117
+    20240326,
+    2204
    ],
    "deps": [
     "benchmark-init"
    ],
-   "commit": "90abd62ab6d2db311c92671c73228d6d80849930",
-   "sha256": "1jd0wm6lf6jrrm5c3yd96rwmmxnnzqk89n8c1l6gsnyxb01cnnc0"
+   "commit": "5f351041b0f81bfbf81437ce1d39bbd37de9319d",
+   "sha256": "0nb8y9jyrig1217pfddbcfsdfbvqchs8fvyi0hic283c2lygycsy"
   },
   "stable": {
    "version": [
     0,
-    1
+    2
+   ],
+   "deps": [
+    "benchmark-init"
    ],
-   "commit": "93e8ae3a83d4b90b84076a26ad7d34de4595b686",
-   "sha256": "06yydk6w8sg0hbwi4l6h5hvq39vb44ya4kx820cgp5y9zk6khsa3"
+   "commit": "5f351041b0f81bfbf81437ce1d39bbd37de9319d",
+   "sha256": "0nb8y9jyrig1217pfddbcfsdfbvqchs8fvyi0hic283c2lygycsy"
   }
  },
  {
@@ -62460,14 +62500,14 @@
   "repo": "emacs-jp/init-loader",
   "unstable": {
    "version": [
-    20210703,
-    902
+    20240401,
+    103
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ecab5a66b40227c4173992adfa5cfeae09f1657e",
-   "sha256": "0fkxv7i7jdlj0z5n4hfm8897pfy6jxmk8znpfr9564ay90cp445h"
+   "commit": "4ed535f887eb7ac72aedf282b7e4f5a2f7cb7582",
+   "sha256": "1q3fkds0cl9q7z3w2jqqisyblq09whcf2087h0wzl64zwg8ikz07"
   },
   "stable": {
    "version": [
@@ -62660,7 +62700,7 @@
     2108
    ],
    "commit": "8f13262ebcb3f271f1d188584d04ca6d87214111",
-   "sha256": "0cqc23y9n63a7kl2p1zrfcsxnclfxcszfmbh2hmbrs6q05ys0kzg"
+   "sha256": "1aa6c9rswwgxyh8js0bnjrzcmyqc1az7vr5m68lbbmsbjb495awq"
   }
  },
  {
@@ -63007,6 +63047,21 @@
   }
  },
  {
+  "ename": "ipe",
+  "commit": "335a26c767f410d28cab56ec8212fca423a39fec",
+  "sha256": "08dv1kxsmfs123glg0nbcqmadj2x221l4lszb2mza8wxwm9ylz00",
+  "fetcher": "github",
+  "repo": "BriansEmacs/insert-pair-edit.el",
+  "unstable": {
+   "version": [
+    20240428,
+    218
+   ],
+   "commit": "f1a7c5d464a937ec87c23a4a0bb41207eab07adf",
+   "sha256": "0ia0d3qw34l04phl75injihgi3i6m0299d1kj0wvdvm6b8ah5cnz"
+  }
+ },
+ {
   "ename": "iplayer",
   "commit": "6e9a97667365f1c30f53a6aeeb7b909a78888eb1",
   "sha256": "0wnxvdlnvlmspqsaqx0ldw8j03qjckkqzvx3cbpc2yfs55pm3p7r",
@@ -63339,7 +63394,7 @@
     1
    ],
    "commit": "18258f7134cfd8e0bd12538351b3cd23ae44cec1",
-   "sha256": "174zjlgcikaydgx5npsbwqblzc61pxnnpw50nia8jhh8175j2sbl"
+   "sha256": "1s6alrv1hfi1plj5lh826j0h71xvm2v092kglj3yvy34g73dgrna"
   }
  },
  {
@@ -63536,11 +63591,11 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20240214,
-    2118
+    20240405,
+    2019
    ],
-   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
-   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
+   "commit": "a38bc60eb78e38304d1183d98d4fc76671263ee1",
+   "sha256": "0vi26fpm6pyhi7475pgs73prrb0yw4k6nss02b7536p2pjnaxckq"
   },
   "stable": {
    "version": [
@@ -63663,39 +63718,6 @@
   }
  },
  {
-  "ename": "ivy-dired-history",
-  "commit": "ad37f6b04ff45fbffeadefc94db16baa27bcc2ac",
-  "sha256": "1vj073k5m0l8rx9iiisikzl053ad9mlhvbk30f5zmw9sw7b9blyl",
-  "fetcher": "github",
-  "repo": "jixiuf/ivy-dired-history",
-  "unstable": {
-   "version": [
-    20210715,
-    48
-   ],
-   "deps": [
-    "cl-lib",
-    "counsel",
-    "ivy"
-   ],
-   "commit": "dba848929cb063a5536cb442c70be1099e2f5baa",
-   "sha256": "1fkw82am49j49s0s3ql22hl9i2imypb0xkrmsgc7sr2hfsim56sd"
-  },
-  "stable": {
-   "version": [
-    1,
-    0
-   ],
-   "deps": [
-    "cl-lib",
-    "counsel",
-    "ivy"
-   ],
-   "commit": "3604840f85e4ff2d7ecab6233e820cb2ec5c8733",
-   "sha256": "0slisbnfcdx8jv0p67ag6s4l0m0jmrwcpm5a2jm6sai9x67ayn4l"
-  }
- },
- {
   "ename": "ivy-emms",
   "commit": "12b434e4c78b3428ee144559cb57ea41df8fb4c5",
   "sha256": "1kqjdw94f2mg5m0zcnah1xk59dp152dm4si2rd9c66jn79s2ai4a",
@@ -64609,7 +64631,7 @@
     1017
    ],
    "commit": "c2ad37e2ada14b5551a83211cc4692b39be4e5fb",
-   "sha256": "18ibnf995yymgxv7xz7xql6lnix3sxn6pn659b1vp00g5d5yl2jf"
+   "sha256": "05izmyp875pfbpygy54ybwkxnjv3fmam024pkjd70i5m6xmg4wi6"
   },
   "stable": {
    "version": [
@@ -65306,25 +65328,25 @@
   "repo": "minad/jinx",
   "unstable": {
    "version": [
-    20240311,
-    821
+    20240415,
+    423
    ],
    "deps": [
     "compat"
    ],
-   "commit": "b09efcb85b1a8db8054a3d5a298e8d9516836f16",
-   "sha256": "0dyfj85h54v3q8fb5sni3xvan78np1xrx4w2mnbsf95z4kac91mh"
+   "commit": "77cac7f240f45d6c4836e844bd68151c7f863298",
+   "sha256": "0paid82g8q7spbi4qb10vbg8izjw7347psybfpww4q0fsjjn6hhj"
   },
   "stable": {
    "version": [
     1,
-    4
+    6
    ],
    "deps": [
     "compat"
    ],
-   "commit": "b2ef3af2857896e20cff0488c46a4bfcfee39ecc",
-   "sha256": "14zamk2s20f6dnv23v9snya0mi1bs2nq6xpp5bj06kiymzwhcqjw"
+   "commit": "f4abad42cd0bdcff62ac325a644cb8faad186a4b",
+   "sha256": "0kl9jpd6a68q1s3lc74jkx0nsk66lpwg7zx61a5h0w0m410l1g1q"
   }
  },
  {
@@ -65415,11 +65437,11 @@
   "repo": "ideasman42/emacs-jit-lock-stealth-progress",
   "unstable": {
    "version": [
-    20230808,
-    1342
+    20240422,
+    105
    ],
-   "commit": "46d7a8a02a01c81125e35c81fdec5295bb4cbcd2",
-   "sha256": "0gzp5ml553kz5abh6fby11h4f3fqrbl8p5vr21c9yifc7wwjhc37"
+   "commit": "8f517230266faf1decb8e948110baef7539c9df3",
+   "sha256": "0n78ijl1z1rlyx8y83c71rhwf63lzicc39d05myj25r31may5k2l"
   }
  },
  {
@@ -65460,11 +65482,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20240213,
-    1405
+    20240425,
+    1650
    ],
-   "commit": "a307c5c1ddc2f32199b52f8183b72a0648d4a4e1",
-   "sha256": "15x9brm62zg9k1y69xp3hana27xrzrw099rnfzkvi2palgi7s6w5"
+   "commit": "7c88ff37c2a957a5d07be7a1c878b3325b55f719",
+   "sha256": "1fkf605g0g2vp9ls3g7n4fkwy9p24iyr4k02rfwfqj2m04gzzhws"
   }
  },
  {
@@ -65845,14 +65867,14 @@
   "repo": "mooz/js2-mode",
   "unstable": {
    "version": [
-    20240310,
-    1755
+    20240418,
+    6
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e92829da3d6387252a0a5737c0c5344cb3de1578",
-   "sha256": "163s57j12fcigr096m3rgw07nnhs099dij6x4k9vs3005jy43a8p"
+   "commit": "9b90d31ed968e5c51bd3e279d4003248ea896807",
+   "sha256": "0rn4kwisv6mxhia8a2w2z9iqkp5h64i83sqvmlpnayswh7s88pcy"
   },
   "stable": {
    "version": [
@@ -66026,26 +66048,26 @@
   "repo": "json-emacs/json-mode",
   "unstable": {
    "version": [
-    20240228,
-    1443
+    20240427,
+    1245
    ],
    "deps": [
     "json-snatcher"
    ],
-   "commit": "72f340d3fb4b796589e75cb5985797a7f177f34a",
-   "sha256": "1yy440aaf17y6nrlcq0phz0x5j3wcymcrdm8pm0rmwdxfmar0csx"
+   "commit": "77125b01c0ddce537085201098bea9b4b8ba6be3",
+   "sha256": "16jf8nrbxgwr7a5sgx088j9ymyvh4r6hnc65nqr0vgdjb6w1h598"
   },
   "stable": {
    "version": [
     1,
     9,
-    1
+    2
    ],
    "deps": [
     "json-snatcher"
    ],
-   "commit": "72f340d3fb4b796589e75cb5985797a7f177f34a",
-   "sha256": "1yy440aaf17y6nrlcq0phz0x5j3wcymcrdm8pm0rmwdxfmar0csx"
+   "commit": "77125b01c0ddce537085201098bea9b4b8ba6be3",
+   "sha256": "16jf8nrbxgwr7a5sgx088j9ymyvh4r6hnc65nqr0vgdjb6w1h598"
   }
  },
  {
@@ -66366,20 +66388,20 @@
   "repo": "llemaitre19/jtsx",
   "unstable": {
    "version": [
-    20240315,
-    1515
+    20240418,
+    2018
    ],
-   "commit": "e2fb775b30c2eadd33413d6b1dbdc41ba155c1fe",
-   "sha256": "1215g39mryl36ag5l1pbza7ll1wxd5q37kf8m90dddv9kkzag1a2"
+   "commit": "32dec6d5d5725a7fe2d50537e46c224349008896",
+   "sha256": "1g82cfkkv7vjsk29bfjjwjhwark1h371pzrfqnrm5sfpyn1h3nxv"
   },
   "stable": {
    "version": [
     0,
     4,
-    1
+    2
    ],
-   "commit": "cd84f2d021d8fd1b06dc594bea2f7d8ce753ad2d",
-   "sha256": "1k3rqi3kg84b420m91ycw7r2j42r17jks9a6v0b57lcdcvjbyccz"
+   "commit": "32dec6d5d5725a7fe2d50537e46c224349008896",
+   "sha256": "1g82cfkkv7vjsk29bfjjwjhwark1h371pzrfqnrm5sfpyn1h3nxv"
   }
  },
  {
@@ -66408,11 +66430,11 @@
   "repo": "JuliaEditorSupport/julia-emacs",
   "unstable": {
    "version": [
-    20240315,
-    1726
+    20240409,
+    1316
    ],
-   "commit": "2dfc869ff6b3878407fe7226669dfaae8d38d541",
-   "sha256": "0hqriyh857rvsdhp3pvv3diikaccf7lrjszpmkaaxjyr0d93p2z7"
+   "commit": "60f23fea669add4a1624573eb6383f4180f5a6c9",
+   "sha256": "0lsypckp0ghdbqbrw4m9dgq3w8bmyn15mv6iiya9f84bm6r60dn2"
   },
   "stable": {
    "version": [
@@ -66431,14 +66453,14 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20231026,
-    1005
+    20240408,
+    850
    ],
    "deps": [
     "s"
    ],
-   "commit": "4947319bc948b3f80d61b0d65a719737275949b8",
-   "sha256": "0vfpc4glkbl4ccz34i6fx9ny6zl9h69lw0sbv2rr526y7rr1cr7a"
+   "commit": "801d0fc3d8f6f08f66a11515e6517739a0b312a1",
+   "sha256": "074m8hzg66j9xk44l5qh3fdzwbs5sn97nlwnr5b097431hxwk119"
   },
   "stable": {
    "version": [
@@ -66479,8 +66501,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20240310,
-    1510
+    20240428,
+    522
    ],
    "deps": [
     "dash",
@@ -66489,8 +66511,8 @@
     "s",
     "spinner"
    ],
-   "commit": "a25ce847480a0c2bed24fad3f1ee62904c9c93a5",
-   "sha256": "07pcdfccsjf51389nivrxiqldvrb2gywqin7s7qy8ci684c6cpzi"
+   "commit": "a63ee2a61efd6af2d6a597bfa40cc98630406a8e",
+   "sha256": "15qqhpbak60bskws5hc6k02089vyzrhivj91jykzi38jzz3vy808"
   },
   "stable": {
    "version": [
@@ -66511,10 +66533,10 @@
  },
  {
   "ename": "julia-ts-mode",
-  "commit": "fd6521584f31c6d349aead6647b58fddbc1529c9",
-  "sha256": "1m6hm69pc1m47bk09cwlv544bkqy552nqg95w3shch18kslgli8n",
+  "commit": "eb0042c1f424c8fd6c051a4e6d537eed839742f1",
+  "sha256": "0ga7mwsf1qmwzkrjcj5fc7xa5qyzbh2xr8lphk3i7j6jazp1ff9c",
   "fetcher": "github",
-  "repo": "ronisbr/julia-ts-mode",
+  "repo": "JuliaEditorSupport/julia-ts-mode",
   "unstable": {
    "version": [
     20230921,
@@ -66700,8 +66722,8 @@
   "repo": "emacs-jupyter/jupyter",
   "unstable": {
    "version": [
-    20231204,
-    529
+    20240418,
+    1642
    ],
    "deps": [
     "cl-lib",
@@ -66710,23 +66732,23 @@
     "websocket",
     "zmq"
    ],
-   "commit": "da306a6dbda6f1e285281765a311938a1d9db022",
-   "sha256": "10inpbqnaqv1f8w2k9cv9dnczb547p3yw9dlndx3d8fwrryql40q"
+   "commit": "f1394d303be76a1fa44d4135b4f3ceab9387a16b",
+   "sha256": "0346ws7ym873dc3xbmpzlg371v0rgclz93hbfzcld7gv4g1dncfb"
   },
   "stable": {
    "version": [
-    0,
-    8,
-    3
+    1,
+    0
    ],
    "deps": [
     "cl-lib",
+    "org",
     "simple-httpd",
     "websocket",
     "zmq"
    ],
-   "commit": "455166712e606c9c6a8de763ea0a77548cadcef2",
-   "sha256": "0acn964xlpn265vry35lrkkpf9z5y4ml96xg8ifadkxwxymm1sh2"
+   "commit": "2059d79b2fecf6d25a6c796b69ab954645ec37d1",
+   "sha256": "0rf8d83bzc05v0w7zpqwcd89cdvrxwzpyf55vmmzj5j755bgxvhs"
   }
  },
  {
@@ -66737,10 +66759,10 @@
   "repo": "leon-barrett/just-mode.el",
   "unstable": {
    "version": [
-    20240312,
-    1626
+    20240424,
+    1809
    ],
-   "commit": "57d854c26033c2f629b63fa4be90236fd3015278",
+   "commit": "4c0df4cc4b8798f1a7e99fb78b79c4bf7eec12c1",
    "sha256": "0lxx22hp1j7q6cjr5ryiymkf7d70pcn5blihrd45h0h5swjx85fl"
   },
   "stable": {
@@ -66970,25 +66992,25 @@
   "repo": "bram85/kagi.el",
   "unstable": {
    "version": [
-    20240323,
-    905
+    20240424,
+    2021
    ],
    "deps": [
     "shell-maker"
    ],
-   "commit": "407781fe4e24e7c57a4751c43b16ae6a69d297f8",
-   "sha256": "0nfsnx4ll3m8h4pj69kgcc8jn3sbldq3xgj0wkrr4x672fg6nyil"
+   "commit": "b3d45264fb25aa95130352c65bc87ec4659e6e71",
+   "sha256": "0jm4h2sbj7wn6s520zi62l9iqggp2q5whpncc1mb3ckfvwn0vhfk"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "shell-maker"
    ],
-   "commit": "0570505cff30bf03afc44c4095791c99add9d11c",
-   "sha256": "013w68r9205m8q5vhzihawqvaliilspkzcs1n7ky9kpfvysqfnbw"
+   "commit": "a0e06cb928c2def572b4be0a19686e6997c83d92",
+   "sha256": "1x5nrdb2qvy66cbdvk0fc9bq8if3jqzlfnnqfc9y2ifgvh8hg1z5"
   }
  },
  {
@@ -67104,11 +67126,11 @@
   "repo": "meritamen/emacs-kanagawa-theme",
   "unstable": {
    "version": [
-    20240325,
-    305
+    20240424,
+    308
    ],
-   "commit": "fcc2960a911c74e041bc04a4c4b7fecf97f3d176",
-   "sha256": "0npqpbpqy5x4f6zj4gjlg6pv8ip935hv2wffid13rgb6pnd5w27s"
+   "commit": "dca0ee1e2978eb82b37c777d894dc447faa70619",
+   "sha256": "0ac5as108lsc89pggda52jskf110jx1mvdir5rmdpzrl9fdkacix"
   }
  },
  {
@@ -67149,16 +67171,16 @@
   "repo": "magnars/kaocha-runner.el",
   "unstable": {
    "version": [
-    20230511,
-    934
+    20240410,
+    1348
    ],
    "deps": [
     "cider",
     "parseedn",
     "s"
    ],
-   "commit": "9ba7b47d3a3834964f7fcad389081b3b282f692c",
-   "sha256": "0slspzc3zppavmdnw8xpih1iiqyqbyx4mm286lz0naw7g4yrpb12"
+   "commit": "ab5b4f32c733e238bdf08e10cab9a0606675faa4",
+   "sha256": "0qjbaahx04nrasz75ni3s3snhpbrcrv0a6g3gqqjs6f7kw327laj"
   },
   "stable": {
    "version": [
@@ -67382,26 +67404,27 @@
   "repo": "jinnovation/kele.el",
   "unstable": {
    "version": [
-    20230326,
-    33
+    20240415,
+    2325
    ],
    "deps": [
     "async",
     "dash",
     "f",
     "ht",
+    "memoize",
     "plz",
     "s",
     "yaml"
    ],
-   "commit": "15e841fb7bbc08545534e466ce831d6e80fd8901",
-   "sha256": "1pb552y0fp8fhipsjc1k5h3mm76j2dn6q7pznbv9wb48hw4x7z3n"
+   "commit": "8f3c4515ae55376f49d2be338d876686a34d121d",
+   "sha256": "16c7787aspgki933h6393142hxlxz97wcnvg8l4w9c763i5fkqxr"
   },
   "stable": {
    "version": [
     0,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
     "async",
@@ -67412,8 +67435,8 @@
     "s",
     "yaml"
    ],
-   "commit": "4cf5a16980c81d0d0fab044b72ac6ecb0d9a7814",
-   "sha256": "1wb58g56p99yzdhxcm1iflfvh51al95kpq923qq0pqlz1vqc7b6d"
+   "commit": "642c415a833a7a2aa1fb577261b1e2ae0c4bbb72",
+   "sha256": "07yb4sdgzqwr7snpvmc72zvpc5aq37gmwbjq4b05rwcrhcv88kc6"
   }
  },
  {
@@ -67583,14 +67606,14 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20240304,
-    1916
+    20240415,
+    1539
    ],
    "deps": [
     "compat"
    ],
-   "commit": "ec90b16baa0e9e7eb43d8c38e6cf6dccf75a95de",
-   "sha256": "19sjfydyagcr3vh989c8v0payd36qj3al4j00jwaj49qb3ck8g25"
+   "commit": "04fa2c65f0ae901ed3015f691ea70f7658ea24b8",
+   "sha256": "088grlq97g5csb1w84mjj7ffc3hjg55aa2i2km63xqx112l7h3m1"
   },
   "stable": {
    "version": [
@@ -67686,14 +67709,14 @@
   "repo": "tarsius/keymap-utils",
   "unstable": {
    "version": [
-    20240101,
-    2218
+    20240415,
+    1539
    ],
    "deps": [
     "compat"
    ],
-   "commit": "868c2b37abebc78c7dff72e1cb2ca85b93d07537",
-   "sha256": "0xrfmi4fcliag59cbrsxwdy9fblswn9iyjdfrp973jbkb5dkzwr6"
+   "commit": "06572084a7965b86262d7f1b52c32ed2dde86a9e",
+   "sha256": "1mlf3g1ywbh4xk5fv0nq9fw6c39xh9r87csr8c09dkrjlgp0fagn"
   },
   "stable": {
    "version": [
@@ -67878,20 +67901,20 @@
   "repo": "hperrey/khalel",
   "unstable": {
    "version": [
-    20230606,
-    1909
+    20240314,
+    1347
    ],
-   "commit": "85df973fe2785caee08d4ef5b23bdaae424a8d98",
-   "sha256": "1k88v8cg1b2dkb9v1jxmbl2sx22gz7xqqppbrnmlafyf3m3bg2hv"
+   "commit": "9dea9e45ebb2364f9fe873ca773b9324b34b720f",
+   "sha256": "0gqwqhbg4hjlgln5gvkppq3rx2iwrqpdp9ivwspnpfqxrn1b8ihd"
   },
   "stable": {
    "version": [
     0,
     1,
-    10
+    11
    ],
-   "commit": "85df973fe2785caee08d4ef5b23bdaae424a8d98",
-   "sha256": "1k88v8cg1b2dkb9v1jxmbl2sx22gz7xqqppbrnmlafyf3m3bg2hv"
+   "commit": "9dea9e45ebb2364f9fe873ca773b9324b34b720f",
+   "sha256": "0gqwqhbg4hjlgln5gvkppq3rx2iwrqpdp9ivwspnpfqxrn1b8ihd"
   }
  },
  {
@@ -67932,28 +67955,28 @@
   "repo": "khoj-ai/khoj",
   "unstable": {
    "version": [
-    20240314,
-    1838
+    20240427,
+    1312
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "fba0338787b3197e22d6b4ea7dc94be153be7396",
-   "sha256": "1h686dk9ghkx99bcbs1zf4z0pw69h85lr9a85pdm3am8k3rbxg4i"
+   "commit": "12258f02d7c526bc1c91afddbce165f78c3e8a7a",
+   "sha256": "1g863m2h3xss2aq3xqvh271rjrgzdld7p3qhglc6xz1qn6pvv41g"
   },
   "stable": {
    "version": [
     1,
-    7,
-    0
+    11,
+    1
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "fba0338787b3197e22d6b4ea7dc94be153be7396",
-   "sha256": "1h686dk9ghkx99bcbs1zf4z0pw69h85lr9a85pdm3am8k3rbxg4i"
+   "commit": "12258f02d7c526bc1c91afddbce165f78c3e8a7a",
+   "sha256": "1g863m2h3xss2aq3xqvh271rjrgzdld7p3qhglc6xz1qn6pvv41g"
   }
  },
  {
@@ -68389,11 +68412,11 @@
   "repo": "bricka/emacs-kotlin-ts-mode",
   "unstable": {
    "version": [
-    20240318,
-    1601
+    20240417,
+    838
    ],
-   "commit": "5cf2ab3a50ccae4eb23482f5d0a615fa2d22504b",
-   "sha256": "17qdsfb5vbfk1dfj5314xq3i0k5gk1l9893pqbp8ijad0hs5lvl5"
+   "commit": "a8747af6465b384941ce8f199bdfecb3d0c09812",
+   "sha256": "044i01kvpilvj6f8h4xn9a0kkpbmq724adphj51pvibv736w4k4s"
   }
  },
  {
@@ -68526,8 +68549,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20240201,
-    2021
+    20240419,
+    1521
    ],
    "deps": [
     "dash",
@@ -68535,8 +68558,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "7affc4269e2a2925f68f073863af0929854002f2",
-   "sha256": "1956rr9wpdq9zfqks76r21j6hpq5fyvnxia1dqi4hfngyqkfkn2p"
+   "commit": "eb41a6420d20142e5cd33cd34e17654294c99c86",
+   "sha256": "1zqm65vng1fiwfra21hz0xqnbiqh97av8jr981rczxin0byic66a"
   },
   "stable": {
    "version": [
@@ -68817,8 +68840,8 @@
   "repo": "isamert/lab.el",
   "unstable": {
    "version": [
-    20240317,
-    1949
+    20240404,
+    736
    ],
    "deps": [
     "async-await",
@@ -68829,8 +68852,8 @@
     "request",
     "s"
    ],
-   "commit": "bd88c08c02203a66048412672b894c0d7dab3da3",
-   "sha256": "0zxxa99n3wh77fm03mpnz2kxhgs6x2gqhznxh2gy5lx1yd8kg7jp"
+   "commit": "ca6a02c567adb562305d0887140d631e2d6f01f6",
+   "sha256": "02q2w84rpq0cl7crl6k875wj5g1gq5w1kqlr2whq3jwv1ajfcyg1"
   },
   "stable": {
    "version": [
@@ -68937,16 +68960,16 @@
   "repo": "Deducteam/lambdapi",
   "unstable": {
    "version": [
-    20240130,
-    1533
+    20240425,
+    941
    ],
    "deps": [
     "eglot",
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "bc447c9ab7f9a6ff6b30cabab467f445e30ae86c",
-   "sha256": "13qnkhb68v62q6v4ydzn15qrdkz7whxpa7birnh0rqha39shxb6d"
+   "commit": "a4bc3a492ff542be2989b545362cd98ed38412e1",
+   "sha256": "1968s3bmwhjrvp2lrwbjkjij0xl3s6isxy1fhdkhrpin0iyfizy9"
   },
   "stable": {
    "version": [
@@ -69110,11 +69133,11 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20240205,
-    2150
+    20240325,
+    1223
    ],
-   "commit": "1ad782d7e448c1e8d8652861f01f4a58315826c3",
-   "sha256": "153810jq4rbgpzvbhz2i1dyrj8bmdf4zxsrhfg0b70iq4bh78bz6"
+   "commit": "c05a566ab5c938b31873b24d698c3d9ff0948ea9",
+   "sha256": "01rhxsbsn4ilkc9z2556lmpzvnx2d2a2xzmxq3932sd55al98whg"
   },
   "stable": {
    "version": [
@@ -69446,6 +69469,15 @@
    ],
    "commit": "e7c3b573fc05fe4d3d322389079909311542e799",
    "sha256": "0ciycsqzyj6ld60c7sfqjq59ln3jvk3w9vy606kqzpcvj01ihmv1"
+  },
+  "stable": {
+   "version": [
+    1,
+    1,
+    0
+   ],
+   "commit": "e7c3b573fc05fe4d3d322389079909311542e799",
+   "sha256": "0ciycsqzyj6ld60c7sfqjq59ln3jvk3w9vy606kqzpcvj01ihmv1"
   }
  },
  {
@@ -69523,6 +69555,36 @@
   }
  },
  {
+  "ename": "lazy-ruff",
+  "commit": "fa727e3b6572b6c5c6469e06b4b6083b87047823",
+  "sha256": "07bp5ris4wr8dhbn55nj6zynd7dw5476dnjj1slz9z3yq15frmkh",
+  "fetcher": "github",
+  "repo": "christophermadsen/emacs-lazy-ruff",
+  "unstable": {
+   "version": [
+    20240402,
+    2200
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "c180bb6b0a1d9a65f8963d1b67f09086412bd95f",
+   "sha256": "1g22lqhp1zvikw5i9r3njsfyy4mn0n9xhiq514k9hgvn6y4rglvz"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    4
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "114fb5a892a89b5736df5bbf59eede0bede0f800",
+   "sha256": "1a2sn0jjcdya9d2z2r4banybkynwcrg96khnlqixkm0q7zbdasw2"
+  }
+ },
+ {
   "ename": "lcb-mode",
   "commit": "fd1380a9ba363f62f297e3ab2995341258b51fd1",
   "sha256": "184vd5ll0ms2lspzv8zz2zbairsr8i9p3gs28hrnnwm6mrpx4n18",
@@ -69873,11 +69935,11 @@
   "repo": "ledger/ledger-mode",
   "unstable": {
    "version": [
-    20240324,
-    1619
+    20240423,
+    445
    ],
-   "commit": "34a74306ec9e0f542fd421fd4b7edd2e99d8e94d",
-   "sha256": "1fpgzkjszyd4nrxp0qxn8r7475rzplvz7clm4j4agv7nzjkp8m0m"
+   "commit": "c66e3e9adfb5d91f83a401387fad345f12004c8a",
+   "sha256": "1i0rar36xzv2gqkn8cn29m5xz0pwmd5y5in8iac2h2fcxvd48vc5"
   },
   "stable": {
    "version": [
@@ -70723,14 +70785,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20231225,
-    1354
+    20240409,
+    1250
    ],
    "deps": [
     "avy"
    ],
-   "commit": "9153eafc776549376bb85d9ff555fef83aca8285",
-   "sha256": "0bdmd8df8qhk48imk22sgwccyiw1xg9x6hmiwh4d8xiazj0fhaym"
+   "commit": "9ead085e9e6798ec4ea4791d9906d6655ea2b402",
+   "sha256": "055p9p6qnzhnlm97gnbjwk1dls796zsbsvcphlivkx4zlval099w"
   }
  },
  {
@@ -70849,6 +70911,21 @@
   }
  },
  {
+  "ename": "lirve",
+  "commit": "67708cb34ff0000d571b732792e7d7d82bd4084a",
+  "sha256": "160k3kpc0ldxzbqhnvd71jmslwjnbh8cmy474d07ccqjcsn8mkb0",
+  "fetcher": "github",
+  "repo": "tanrax/lirve.el",
+  "unstable": {
+   "version": [
+    20240419,
+    1918
+   ],
+   "commit": "ff3031fa82d854411da40a32c6191d201b4abf09",
+   "sha256": "1m4bg931w83vyhrpgsmdyl6hkknnd99mmvj34g0drhb9170sx0kb"
+  }
+ },
+ {
   "ename": "liso-theme",
   "commit": "27b849f3a41a5ae3d497cef02a95c92fd479b93b",
   "sha256": "014a71dnhnr0dr36sl2h8ffp6il9nasij31ahqz0bjgn4r16s5gy",
@@ -70875,7 +70952,7 @@
     2206
    ],
    "commit": "2b719baf0ccba79e28fcb3c2633c4849d976ac23",
-   "sha256": "1hlqairbjlrcbzb4r5fjm80znr9hdgny3vgm27dwwxxa340m0r6i"
+   "sha256": "0rxqam6cgi404m8n45mw73j3jdd2gb3iwpmyyixbv3cxfb7y1b0l"
   },
   "stable": {
    "version": [
@@ -70884,7 +70961,7 @@
     4
    ],
    "commit": "2b719baf0ccba79e28fcb3c2633c4849d976ac23",
-   "sha256": "1hlqairbjlrcbzb4r5fjm80znr9hdgny3vgm27dwwxxa340m0r6i"
+   "sha256": "0rxqam6cgi404m8n45mw73j3jdd2gb3iwpmyyixbv3cxfb7y1b0l"
   }
  },
  {
@@ -71270,15 +71347,15 @@
   "repo": "sulami/literate-calc-mode.el",
   "unstable": {
    "version": [
-    20231125,
-    29
+    20240402,
+    808
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "a1a78f26dea70aac1c4df7f5767c8f5c1643d7d1",
-   "sha256": "1asy8g4jsivgqjjlbp8h3q0ksjjwdfvd0sp09ha8cm0n9f991201"
+   "commit": "ceddadc4f130626d3430fc8c5cfff71628221a60",
+   "sha256": "1chs7kpfwjl65p0m4zlgx3lhsixlis9bg3lilmlhw65436y7nl8s"
   }
  },
  {
@@ -71430,20 +71507,20 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20240304,
-    1642
+    20240419,
+    404
    ],
-   "commit": "eafd9848fe6eeea14373c6969c3bd9e5e0838fe2",
-   "sha256": "0qzrv3m7drigvfzg7f5w26aksqy5nk47s8mzhrs3dlg9597xdkn0"
+   "commit": "bea9903bca0ece7546df9a00883f17e4eb49b4c7",
+   "sha256": "0mv9fsmjvixdk3db8j1cw7i2bgi2phwbdwwr0fq96azxzzgqh5jx"
   },
   "stable": {
    "version": [
     4,
     11,
-    2
+    4
    ],
-   "commit": "ae29b9dfca83a83037d780424a85d617cddd2e47",
-   "sha256": "0pj4hxi3cl1nhvbmqsh2vh654b20zvqychxr2i70nwhjax8yq6kd"
+   "commit": "bea9903bca0ece7546df9a00883f17e4eb49b4c7",
+   "sha256": "0mv9fsmjvixdk3db8j1cw7i2bgi2phwbdwwr0fq96azxzzgqh5jx"
   }
  },
  {
@@ -71544,11 +71621,11 @@
   "repo": "tarsius/llama",
   "unstable": {
    "version": [
-    20240312,
-    1636
+    20240415,
+    1539
    ],
-   "commit": "e73736d3bd3a8284a2d48266a0cfdb0c9b9217e4",
-   "sha256": "0f3ysf9rpy1pkg9czl8lblp97l1prv7qb6jsgs206mwbyg1lar15"
+   "commit": "40d671b35e51afbc0d690f33c965d322375c4b27",
+   "sha256": "1khnl8z1hf7qrwmxikkdmxhb9fp1ngbr6x3lh2n4nrr5kinmqf3c"
   },
   "stable": {
    "version": [
@@ -71964,28 +72041,28 @@
   "repo": "doublep/logview",
   "unstable": {
    "version": [
-    20231014,
-    1840
+    20240421,
+    705
    ],
    "deps": [
     "datetime",
     "extmap"
    ],
-   "commit": "9140067afdc2f0d1eb493dc4dfdb53645289dd2b",
-   "sha256": "1sjyxm1a1h971ak5l1js4inx921pf3wx15h220j2pvj4d7arj6f8"
+   "commit": "090fd9a5817ccce733d5aa496b6ebb462560a717",
+   "sha256": "00kwka83kr4826393wjl0skhnzay8b4bfnn7dafv6zzqc84s3bi9"
   },
   "stable": {
    "version": [
     0,
     17,
-    1
+    4
    ],
    "deps": [
     "datetime",
     "extmap"
    ],
-   "commit": "daaa89e969c6a6bb6d93526449a697b4e64bccf2",
-   "sha256": "12vahr4nln20yflxbav9q7y0clhni28h2cajji8q11jyrd4w84jx"
+   "commit": "56591f85ea145a46fa532f4a6ec5b724922d32db",
+   "sha256": "1jd2179wm44f1gxh8qsrnv6nldaz4xzgp4kpamjd53n928s16q10"
   }
  },
  {
@@ -72262,8 +72339,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20240215,
-    14
+    20240401,
+    1646
    ],
    "deps": [
     "dap-mode",
@@ -72275,8 +72352,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "f51c80f5458d8ba4db9dd3781d190c6c32213250",
-   "sha256": "0spc9wmqllb4kcn4cvyj2f7k6lzaz2gd86msf49raqddf023665f"
+   "commit": "ee476aa9bb891873943bb4f9dc4b729921c2de37",
+   "sha256": "1k5h8x4fk6n71hhi8sc5wqasfkf0887hh787n8xdfmkhxc9gids3"
   },
   "stable": {
    "version": [
@@ -72306,8 +72383,8 @@
   "repo": "emacs-lsp/lsp-docker",
   "unstable": {
    "version": [
-    20240318,
-    2039
+    20240419,
+    1428
    ],
    "deps": [
     "dash",
@@ -72317,8 +72394,8 @@
     "s",
     "yaml"
    ],
-   "commit": "5554349883af05fd25d6bbd56d7116d7f965d493",
-   "sha256": "1ybcnha6kbqcx7jrm666jbrnw5hkbws7n541zl2d4jl1gpv09g5y"
+   "commit": "16a0cfbe06813a1191b19e412445f9d34cd7493f",
+   "sha256": "1ry8yxrb0172n1lnqi4av4wmqvhaqyh55ih2xs0hnd8b6ziywafq"
   }
  },
  {
@@ -72626,14 +72703,14 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20240318,
-    224
+    20240425,
+    2049
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "c4bc1515be815b58d76bed2dbc5e7c400c37d6be",
-   "sha256": "0n2vgwag68wsszmjid0zz0jip7nb03chs3v1vh0zm15y0ri0rjl3"
+   "commit": "c473ed37aa0f2769bb0b4c344cc28f95975dbc17",
+   "sha256": "1bqvrhmvp0bxk10fqmra38aczgs6r6gwac2ppmn0fxz85g7ryvfp"
   },
   "stable": {
    "version": [
@@ -72658,8 +72735,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20231017,
-    911
+    20240413,
+    851
    ],
    "deps": [
     "dap-mode",
@@ -72672,8 +72749,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "da7e54ed65f4e153c94b9c54689908dce142ef37",
-   "sha256": "17zs7s6dmaprdc000b9779flk4iw61gi1xgn2wxwq9bxn1l2p9ny"
+   "commit": "01060e9df33bb077ba6bb56ccfebc140aef8f8f3",
+   "sha256": "0whjz5vh9xf35nvr5an52d7qsf2ayr2pfwvr37qhz1rjg0rv2kzd"
   },
   "stable": {
    "version": [
@@ -72703,8 +72780,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20240324,
-    1820
+    20240427,
+    2141
    ],
    "deps": [
     "dash",
@@ -72715,25 +72792,26 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "17e583c253e0cba71ee8a0c25743933c478d5c62",
-   "sha256": "168dpcmjvv590awqzlv5hfc2lpwx1nwn830cqy55nnds4gvmp23s"
+   "commit": "32bf5aa458f2bafb318a34bed64cb3f681aa0b51",
+   "sha256": "1a1g0b4yrwqqj8kpvmpqsjdrshk1kyhy54d9yhpfj4f4gghmay2f"
   },
   "stable": {
    "version": [
-    8,
+    9,
     0,
     0
    ],
    "deps": [
     "dash",
+    "eldoc",
     "f",
     "ht",
     "lv",
     "markdown-mode",
     "spinner"
    ],
-   "commit": "5e0524cc9a4e21c4fe5b35153ad33e7b8a4f9117",
-   "sha256": "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl"
+   "commit": "a478e03cd1a5dc84ad496234fd57241ff9dca57a",
+   "sha256": "1p4979qbmllmmszmnyml0msxkza4pm14rdacmqczbfs3cs9n6bd3"
   }
  },
  {
@@ -72863,16 +72941,16 @@
   "repo": "emacs-lsp/lsp-pyright",
   "unstable": {
    "version": [
-    20231006,
-    1212
+    20240416,
+    610
    ],
    "deps": [
     "dash",
     "ht",
     "lsp-mode"
    ],
-   "commit": "2f2631ae242d5770dbe6cb924e44c1ee5671789d",
-   "sha256": "1gk23a56jf1v4f4ag07hzji5pw3mq1rq622ggbvqcbc2i2bnvdn1"
+   "commit": "b891a5071fcb4371d7d817069cbb04f5bd160468",
+   "sha256": "1qiqbjvp315m7mjsyj1ab53fpk6m6qn6pjzkxls1m0rmmjmszzg4"
   },
   "stable": {
    "version": [
@@ -73060,15 +73138,15 @@
   "repo": "merrickluo/lsp-tailwindcss",
   "unstable": {
    "version": [
-    20230407,
-    951
+    20240420,
+    1411
    ],
    "deps": [
     "f",
     "lsp-mode"
    ],
-   "commit": "6ade9cacd1db89da0e9c0941a86408a42091d479",
-   "sha256": "0mlr3f3j5vhzmaqd4g3nxvh9slh78bcgml8372cszn0h4f9xvm4v"
+   "commit": "3e3cc80a448e9dd24663eaa41742cda686dac5ab",
+   "sha256": "1llnign4yb4v6c8r7q25b4s63swxlgfxr5acf51s8h4x8rrb11w2"
   },
   "stable": {
    "version": [
@@ -73090,8 +73168,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20230811,
-    611
+    20240406,
+    2141
    ],
    "deps": [
     "dash",
@@ -73100,13 +73178,13 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "e66ae2196503d4e84334519e56b4388feffa5060",
-   "sha256": "1x3qylhhk862l88s80r6paagyjh8bw8kamx4hpwh429r88mb9l6v"
+   "commit": "e223fbb6c09ebcd1366d631c191fab485f0678b8",
+   "sha256": "181rlny54gn2621jrihgq6dwdmpdhmb63awlw6jdzvv4v62fs2r1"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "dash",
@@ -73115,8 +73193,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "d82df44d632f331a46eaf1f7a37eb6b1ada0c69b",
-   "sha256": "05ivqa5900139jzjhwc3nggwznhm8564dz4ydcxym2ddd63571k0"
+   "commit": "b90c95e3d1e709ab1e1f8332977ba49384571566",
+   "sha256": "0clifff6xhi1irmx08wjdl13vlh05a7c108hmzzqmmklg76zyr04"
   }
  },
  {
@@ -73127,30 +73205,30 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20230811,
-    552
+    20240424,
+    412
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "0dd39900c8ed8145d207985cb2f65cedd1ffb410",
-   "sha256": "1p6lrxvbrq3lv7a1xmbbrsjmgw75p2ay7bpbgdvimrv56fcdys96"
+   "commit": "a59fb5d02eaa97908a06cfc07156de73458c8ae8",
+   "sha256": "1fy172s224ddpdilqflbd3dhs3s6xb2gash6a5svw3lp92mwdnl9"
   },
   "stable": {
    "version": [
-    8,
+    9,
     0,
-    1
+    0
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "9a8983d95d823ae62e5f842a4bd433c860131398",
-   "sha256": "1pd5lvjlmd6zq64py21yi5zxhcza9g5q48ngfivv7fi7pf3vsv00"
+   "commit": "8aa8b175fc4cdf2d16f6f3fdb2904e8874610c8a",
+   "sha256": "162bxyhiqz4saxvh6n3sdb9hx7px5wpy45wbfg5aiqzlqwgqyg42"
   }
  },
  {
@@ -73527,14 +73605,14 @@
   "repo": "emacsorphanage/macrostep",
   "unstable": {
    "version": [
-    20240320,
-    2226
+    20240328,
+    2134
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b56965e66c82b529ac752fa2abe6ffa3a1dbef58",
-   "sha256": "1d3xnbmg6vz42y9327kapd14f4khnm1ii4bbskcwpimirnr9bnk0"
+   "commit": "e28d0a028f702d2dbf9a33ab691c3459268ed35e",
+   "sha256": "0gw2429mgivvjjpx149m26i6yiayhs9s9g8lx5r64kccdci1xrl1"
   },
   "stable": {
    "version": [
@@ -73657,14 +73735,14 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20240216,
-    921
+    20240409,
+    1410
    ],
    "deps": [
     "compat"
    ],
-   "commit": "6ac83927a6c294619bb99cb1ceb2ecf352498599",
-   "sha256": "0x70dd12w0p44c7b5273fwi51sr2giqcl230170v8vk9rn73p12i"
+   "commit": "7540f14d3d62856313b5cbebefcfd813784ee77b",
+   "sha256": "1rbidw6scix7wcx09wfjhnln1ar5b9f1bdj9k7mfjcvb46mmaczq"
   },
   "stable": {
    "version": [
@@ -73687,8 +73765,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240320,
-    2336
+    20240426,
+    2118
    ],
    "deps": [
     "compat",
@@ -73699,8 +73777,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "0e8f25a8d8011328f2bf082232c720b24c2a12c2",
-   "sha256": "0x8qqfpxl1mr8s3q8z38bfng4raxkhnr7djymyagisbblnbxr9zj"
+   "commit": "49ba535f526266b69fcaf7442acfa59ad8473caf",
+   "sha256": "0mcy3sndpajhg95ivr8cl5jsk7pnfc4zhjwyjxsj6yqqc77rw92h"
   },
   "stable": {
    "version": [
@@ -73759,14 +73837,14 @@
   "repo": "ideasman42/emacs-magit-commit-mark",
   "unstable": {
    "version": [
-    20240220,
-    2101
+    20240421,
+    931
    ],
    "deps": [
     "magit"
    ],
-   "commit": "e5aa6a69af963fd25779f5211a7c3d91a65c6b0f",
-   "sha256": "01drp4rlmafzmcqw67nca845ya6532arzddngf6fa4i4q04n8142"
+   "commit": "d09d0df6f8a697446e9fac77428b32997b94c59e",
+   "sha256": "1cd1z9vrmavxdwzxnwbimzcq51c3g8rzd7va01z5k8alh6n98gim"
   }
  },
  {
@@ -73976,16 +74054,16 @@
   "repo": "douo/magit-gptcommit",
   "unstable": {
    "version": [
-    20240303,
-    1649
+    20240406,
+    807
    ],
    "deps": [
     "dash",
     "gptel",
     "magit"
    ],
-   "commit": "28485542a14966141208daf6baedb3833ad2357d",
-   "sha256": "0wl1hccwalrm585kv5jin8975jmymff9xl8jw6rnw1bdrn59a4wl"
+   "commit": "3584b1036574c704e5bae04274b8849590a097b0",
+   "sha256": "1rfiaqdpkf9xh57gf4vsz65f2mnhzxyadddwxyk1yfzan1il7j01"
   }
  },
  {
@@ -74210,15 +74288,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20240311,
-    1407
+    20240426,
+    1325
    ],
    "deps": [
     "compat",
     "dash"
    ],
-   "commit": "8a3c1ccdda8185255ce76adc2ba41b9a43f18b8c",
-   "sha256": "11srw91xq20cv0zd41cvb4pi5x4hdxphsq5y7p8cpxfkvxzvh0nq"
+   "commit": "fef45b274ecb4dc0448bd34dac26f7eaff621e59",
+   "sha256": "1mh6lj5w52id5v7bl0j5789cbg5kirz1r76g5xrby6grk3zln942"
   },
   "stable": {
    "version": [
@@ -74350,8 +74428,8 @@
   "repo": "alphapapa/magit-todos",
   "unstable": {
    "version": [
-    20240321,
-    759
+    20240421,
+    1131
    ],
    "deps": [
     "async",
@@ -74363,8 +74441,8 @@
     "s",
     "transient"
    ],
-   "commit": "332ce763f7336ea356964b92723678aa1ed4640f",
-   "sha256": "0npqns8fy0brxp8mcxbzf7n0ssrz0gb0h8ggqdfc0csal1bjs283"
+   "commit": "f73921e484dbae056e84080c743dffd241cb6bf3",
+   "sha256": "0axy2pnvs7n091cfvsr54a4px5vxj5pbi0lzqak3n4zpzw0vdf0r"
   },
   "stable": {
    "version": [
@@ -75038,25 +75116,25 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20240323,
-    2015
+    20240404,
+    451
    ],
    "deps": [
     "compat"
    ],
-   "commit": "3275d1f85cb020280979a050054b843f7563aea2",
-   "sha256": "0lljik22flx6khc26xyk8qr91p883mgh29fl8rnyyvdlljlsj33a"
+   "commit": "58eb5fd6e5cc21b12c5455ae69e7ae93579647bc",
+   "sha256": "196gjpmzra9azhrnvlhx50dlc59390hq4wxn0f9m4n86ig4i5dr0"
   },
   "stable": {
    "version": [
     1,
-    5
+    6
    ],
    "deps": [
     "compat"
    ],
-   "commit": "98f6e58c12d57283bd7c1cb241664c966dc38ac3",
-   "sha256": "12ncif2lv6d7r2g87lyjr7idbqa283ijb3qgd5a61i3760czs7d6"
+   "commit": "58eb5fd6e5cc21b12c5455ae69e7ae93579647bc",
+   "sha256": "196gjpmzra9azhrnvlhx50dlc59390hq4wxn0f9m4n86ig4i5dr0"
   }
  },
  {
@@ -75315,6 +75393,21 @@
   }
  },
  {
+  "ename": "markdown-ts-mode",
+  "commit": "71f9f3d92d8c442092953b1ca16ec1f6ffa4aa57",
+  "sha256": "02kd9cn962aln4k4bxm7gasiy92qal05rdkyl5b6jq9zkl7qjr6m",
+  "fetcher": "github",
+  "repo": "LionyxML/markdown-ts-mode",
+  "unstable": {
+   "version": [
+    20240422,
+    2329
+   ],
+   "commit": "2f1ee8b94cdf53cebc31ae08ecfbba846193d5e1",
+   "sha256": "1fhvsfa4q46xa092dkpgki8qhfs71x414yrqlxnf2vfs9bd6w7pn"
+  }
+ },
+ {
   "ename": "markdownfmt",
   "commit": "16cee5fe003e3afc7daf6858ed83843b52e44901",
   "sha256": "1wzsw90z988bm94cw4jw5gzjcicgiz4qgn1nsdm8nim9rp43bj17",
@@ -75510,28 +75603,28 @@
   "repo": "martianh/mastodon.el",
   "unstable": {
    "version": [
-    20240309,
-    1753
+    20240327,
+    1353
    ],
    "deps": [
     "persist",
     "request"
    ],
-   "commit": "90aeac60805ed49da29781b979b6ab3edab671aa",
-   "sha256": "1l4arid01m5475wq4sy8j598ww13847sbpg9grl71r72rs83071w"
+   "commit": "d54aa9aa3e4276b9519ff9123e9dc0c123d9dd3b",
+   "sha256": "096zsjlqx2cv4zq607f9n7mr60d5avhfczf3nxsa8wkjsj97qrlh"
   },
   "stable": {
    "version": [
     1,
     0,
-    18
+    19
    ],
    "deps": [
     "persist",
     "request"
    ],
-   "commit": "90aeac60805ed49da29781b979b6ab3edab671aa",
-   "sha256": "1l4arid01m5475wq4sy8j598ww13847sbpg9grl71r72rs83071w"
+   "commit": "d54aa9aa3e4276b9519ff9123e9dc0c123d9dd3b",
+   "sha256": "096zsjlqx2cv4zq607f9n7mr60d5avhfczf3nxsa8wkjsj97qrlh"
   }
  },
  {
@@ -75669,11 +75762,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20230712,
-    1655
+    20240418,
+    1949
    ],
-   "commit": "9c03ebf876eb8af911d7ce6edda581efa1346f41",
-   "sha256": "095krmn2h6ckfmhwi14nywn278k2ivay50kjssn7sn267i0gbkyp"
+   "commit": "005954382db3df9c41585701467cedffe48b2ff4",
+   "sha256": "018m24csl0d3p8987m7dhb2d3wjkb4r9agxfww31gaszc4bdaar5"
   }
  },
  {
@@ -75773,7 +75866,7 @@
     "test-simple"
    ],
    "commit": "1334f44725bd80a265de858d652f3fde4ae401fa",
-   "sha256": "1milqql0p9gp4dn9phn4fw1izf37wizpirvmzh5s71rwzrr6a9ix"
+   "sha256": "1h1lqrl3p9qgkicds8v44vdry19g53rya56hdj3cz5q8xj1nisn1"
   }
  },
  {
@@ -76094,11 +76187,11 @@
   "repo": "baaash/melancholy-theme",
   "unstable": {
    "version": [
-    20230330,
-    835
+    20240417,
+    136
    ],
-   "commit": "a5c4360f57793401b63b0df382e845b4845c8f97",
-   "sha256": "0351m7py16kxfri5z2d4k89ld1x9kvgj82xd0dv9pyp7pkxrfxwz"
+   "commit": "7ba2bb3f062e798236bfb589381691c5bd9a22be",
+   "sha256": "071a2d9yvfz1cv4fnd1djdbcnqc73v6vb6jgg0nlp1f5dvy9r89x"
   }
  },
  {
@@ -76154,11 +76247,20 @@
   "repo": "gvol/emacs-memento-mori",
   "unstable": {
    "version": [
-    20231220,
-    155
+    20240407,
+    1417
+   ],
+   "commit": "7cc2e89511c1c131789737b4c9daeee0147916f0",
+   "sha256": "1chf40k3gf1gzqlcivl8ry6nwaps7b9cbkmy10pviaslwijifyzh"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    1
    ],
-   "commit": "880df15f3b8ab49deb77586549a2afdec95778b5",
-   "sha256": "153iyz0pxsah1sn2c3x01m2ssclz9jzp2q9ynybr9ly0xl11qnzf"
+   "commit": "5dce0fcd3a2c2becf72e8691d0f66e851b8597a1",
+   "sha256": "1zhwvx9ljsvjr1dv46m98d11645w2sid69jcqp674aif2gm84fw0"
   }
  },
  {
@@ -76246,11 +76348,11 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20240321,
-    931
+    20240407,
+    1642
    ],
-   "commit": "59c058c3ccf55badda65d55a56aa30cd025441c7",
-   "sha256": "1wx6p4a7p8rl8hp3ylcw7z9cjrvyxi66lkn4wb4khvlz45c75f0n"
+   "commit": "99e08c92bb5d8a695062ce53e2cffeffd3a058a6",
+   "sha256": "12fp6bj38a4rcxrra4w50wb4qrl5jbw1wyp5hhx26ayh99ajaigi"
   },
   "stable": {
    "version": [
@@ -76463,11 +76565,11 @@
   "repo": "wentasah/meson-mode",
   "unstable": {
    "version": [
-    20240211,
-    823
+    20240218,
+    1834
    ],
-   "commit": "ed7d3071059429d816a878f879cb5cfabfa34485",
-   "sha256": "1lx52n6i057s6nin7bmv0sg0craiw2rjmb464cp893hdhb3a576c"
+   "commit": "c8f4fbf075bb5db2bc0872afe02af2edac075e4e",
+   "sha256": "135glcrnbr7wmrygrngsxpma8bxajpxlanbkvk08v92p7ar6a21j"
   },
   "stable": {
    "version": [
@@ -76728,11 +76830,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20240305,
-    27
+    20240427,
+    946
    ],
-   "commit": "d41dc93785d231f1e391ba61893aacd1331d5726",
-   "sha256": "1amz0d27xik7zx3mkfr08v5izjvqiabw08x6yzlw60hjx9pafzzl"
+   "commit": "82c531e328ca1073e4d4115ca844ba9f0859c4a1",
+   "sha256": "0xbbdz6yac4qkz1w0ljip9g7knlpp8mhsi6y9pczww1hg05kqlcb"
   },
   "stable": {
    "version": [
@@ -76798,20 +76900,20 @@
   "repo": "purpleidea/mgmt",
   "unstable": {
    "version": [
-    20240305,
-    605
+    20240330,
+    2205
    ],
-   "commit": "90f6d4e5630ab69d737fdf7f17c81843a9c6a081",
-   "sha256": "0a9w5mg5jfbjvkljmqrn1jicfffc888g1ngdipqqvq85hfpcdz44"
+   "commit": "1b00af6926d8699d9d04062f28fddd43c6340bac",
+   "sha256": "0mwbym8j4d4jhba0a1kqmgmdjw7rix91cly45pwjd0g47szm96pl"
   },
   "stable": {
    "version": [
     0,
     0,
-    24
+    26
    ],
-   "commit": "53f9f352335857736f625a019fe14c6750f78434",
-   "sha256": "13jx2ndbjqa5rgslaplx551nnm240pdzcw7bx63wihk85c617lyg"
+   "commit": "1b00af6926d8699d9d04062f28fddd43c6340bac",
+   "sha256": "0mwbym8j4d4jhba0a1kqmgmdjw7rix91cly45pwjd0g47szm96pl"
   }
  },
  {
@@ -76822,26 +76924,26 @@
   "repo": "yoshinari-nomura/mhc",
   "unstable": {
    "version": [
-    20240311,
-    1117
+    20240419,
+    10
    ],
    "deps": [
     "calfw"
    ],
-   "commit": "79ab5687cd4e979d2613f5515c8016058ca9b3c2",
-   "sha256": "16b4a82j8qbcmqx4a21fhj47q7p2cq1vjqmbsw6wxg1bxlcc6z2g"
+   "commit": "b527a88748651d06222ad24f7417941088515275",
+   "sha256": "00wgf4jia9cxjpykzndsgn1jbnm6yqc7l3svfk2hj5j2ga1fax7g"
   },
   "stable": {
    "version": [
     1,
     2,
-    6
+    7
    ],
    "deps": [
     "calfw"
    ],
-   "commit": "79ab5687cd4e979d2613f5515c8016058ca9b3c2",
-   "sha256": "16b4a82j8qbcmqx4a21fhj47q7p2cq1vjqmbsw6wxg1bxlcc6z2g"
+   "commit": "b527a88748651d06222ad24f7417941088515275",
+   "sha256": "00wgf4jia9cxjpykzndsgn1jbnm6yqc7l3svfk2hj5j2ga1fax7g"
   }
  },
  {
@@ -77043,14 +77145,14 @@
   "repo": "liuyinz/mini-echo.el",
   "unstable": {
    "version": [
-    20240311,
-    2001
+    20240418,
+    1047
    ],
    "deps": [
     "hide-mode-line"
    ],
-   "commit": "9b3fd955e04ec168fa769a79cb9f480e84f90ffd",
-   "sha256": "1dw1l3w9y9p0128ywazlglbbxmsmzhngj1q1x640k174vlwx48hg"
+   "commit": "adeb402f5e508424960b6165d596b25fd6a6d756",
+   "sha256": "0jcac2p3ml17q6fsf8jaxc0nx17jjj3z1zvcsqv0k2r53ya8k41x"
   },
   "stable": {
    "version": [
@@ -77272,14 +77374,14 @@
   "repo": "tarsius/minions",
   "unstable": {
    "version": [
-    20240101,
-    2220
+    20240415,
+    1544
    ],
    "deps": [
     "compat"
    ],
-   "commit": "07caa8c30b12c35f3fe563a036f9823c4a6a5f01",
-   "sha256": "07419zfsi871i6lg5g0f99d8ai2znifcfidywly3mb1hrizzylb1"
+   "commit": "ef234da0625397b994c0a17d1038037732c3c457",
+   "sha256": "1zd1gjg16yggmccpvv7fv32pfmh2a6227p21q2vdh8f1p0bwm10p"
   },
   "stable": {
    "version": [
@@ -77491,7 +77593,7 @@
     1
    ],
    "commit": "beb22e85f6073a930f7338a78bd186e3090abdd7",
-   "sha256": "1yf21gm4ziplmgx8yn7jqq45mwfiindbrman7fc5b9ifq78x9ryn"
+   "sha256": "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"
   }
  },
  {
@@ -77520,20 +77622,20 @@
   "repo": "jdtsmith/mlscroll",
   "unstable": {
    "version": [
-    20240119,
-    2149
+    20240420,
+    1515
    ],
-   "commit": "47182e0afb966994e4ea26842652fb4da9735103",
-   "sha256": "0h52m1gc0ynajfkxl1xhi4p7hz0kfs1fp6i1wy0qpp7x53w4aig8"
+   "commit": "cb9d7a256b8998565795d4be469d5a8dea96eb16",
+   "sha256": "1mvgb8fi7w0rpksfz4aalmn7f5a67zbq6a64cx9cmmqnn6r3llss"
   },
   "stable": {
    "version": [
     0,
     1,
-    8
+    10
    ],
-   "commit": "d4661c2bfd20da79185b904d8a28357e3c4d9c7d",
-   "sha256": "160lwh0sqragpm10i6yp1pvqjz0y16zqfg0fgkwzks10s8lcq6aq"
+   "commit": "cb9d7a256b8998565795d4be469d5a8dea96eb16",
+   "sha256": "1mvgb8fi7w0rpksfz4aalmn7f5a67zbq6a64cx9cmmqnn6r3llss"
   }
  },
  {
@@ -77762,20 +77864,20 @@
   "repo": "DCsunset/modaled",
   "unstable": {
    "version": [
-    20240302,
-    12
+    20240330,
+    1956
    ],
-   "commit": "0d8f8941f3e31a19641db4b21dd7d963c514ec92",
-   "sha256": "0vylps3x6jqfy8la1hq3969qms2pcmrcg8dnsbbydinngvh46szn"
+   "commit": "01ef8befac15f77f1b9129bade37e78b6bf7d612",
+   "sha256": "1nza8pff0adj6sp20wr3yb8a7jdlklwk49qwamb09pal3lidq7pf"
   },
   "stable": {
    "version": [
     0,
     8,
-    2
+    3
    ],
-   "commit": "f372a5759e40b79bb4868d12209a5eb7dc661a54",
-   "sha256": "0kiksf8kax0l33aqag9igmwkm0yccmijzji4ff2bcil2dmxcj47r"
+   "commit": "01ef8befac15f77f1b9129bade37e78b6bf7d612",
+   "sha256": "1nza8pff0adj6sp20wr3yb8a7jdlklwk49qwamb09pal3lidq7pf"
   }
  },
  {
@@ -77863,14 +77965,14 @@
   "repo": "tarsius/mode-line-debug",
   "unstable": {
    "version": [
-    20240101,
-    2221
+    20240415,
+    1545
    ],
    "deps": [
     "compat"
    ],
-   "commit": "b5fbea38d6d92b50be14be99065b44b0ef832983",
-   "sha256": "02d9q9bfak5dpv2v4q2qicrwf82gn8fj0srhalcnlzkrgfv9z0jz"
+   "commit": "0ff591110c9db0bbc1372234902e28486c168a86",
+   "sha256": "0whjiadyygq8i3mf325zha8jl6hxm1q44rwvmlzvxzmjm42ag2gg"
   },
   "stable": {
    "version": [
@@ -77893,11 +77995,11 @@
   "repo": "ideasman42/emacs-mode-line-idle",
   "unstable": {
    "version": [
-    20230704,
-    12
+    20240421,
+    623
    ],
-   "commit": "1dc0115bd4864b8b8cc9cbaac75c03d764070873",
-   "sha256": "006ynxzakfc11lz9s915agdiiisnbfxiv9a7mj9g0890qh7isjvy"
+   "commit": "3bc67905ea3349ec20d4c537a0c5f2e833b9e905",
+   "sha256": "03z1940h3p5hlmgl0n82im4hn04rcmw4xwq3ygmqg999l10dcr2c"
   }
  },
  {
@@ -78037,11 +78139,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20240322,
-    519
+    20240427,
+    843
    ],
-   "commit": "bea2f68833e1f46ef60eba25f67a8ab162e7bccb",
-   "sha256": "1h4wzarzgk06v14xxsya0fym4bd17vgmkw3skd8sc81bak2fb74d"
+   "commit": "56bd9c8f32b4179e4207f553f8656934c0076a85",
+   "sha256": "0id7b9gl1cl2w2q921fx1gvmh9dsvll9r93k0yszn6v3hf98sjpm"
   },
   "stable": {
    "version": [
@@ -78061,11 +78163,11 @@
   "repo": "kuanyui/moe-theme.el",
   "unstable": {
    "version": [
-    20240308,
-    921
+    20240417,
+    1111
    ],
-   "commit": "56286c6b869520807596e3e8af1b37c50e5a1349",
-   "sha256": "122zn5hvpc56cg6c8h6j9v2cqimzrqlrr49glqfw9wix648xapzm"
+   "commit": "0fb1274cb29863597e627757230feedf7d90482c",
+   "sha256": "015wi8nx18705yqrkgrvk52rsb2nyv91c04wyx6imwfvfp2vh52d"
   },
   "stable": {
    "version": [
@@ -78228,11 +78330,11 @@
   "repo": "ideasman42/emacs-mono-complete",
   "unstable": {
    "version": [
-    20230808,
-    1345
+    20240421,
+    1234
    ],
-   "commit": "d22df33d3523f1c0adf62bc0546da22792a2852d",
-   "sha256": "0g0xlxn33yi8v0smncwjz46mxnc742zryssmf1w4k00856ydd6bm"
+   "commit": "3cb92a75cf20e1a5394e77e0e44a6b1c14cf315b",
+   "sha256": "1jzjy4pwwlyphj0warfywfqm2025wfkb8hvnn0478j26hs7141xs"
   }
  },
  {
@@ -78355,7 +78457,7 @@
     1309
    ],
    "commit": "d1c024fdf9543fbc0101cd2c6e8b248378f591cd",
-   "sha256": "1xvx26xbd0ylih6xyvwylzjl7z5dbw9sv828p5zykr6fg2kz9nb3"
+   "sha256": "11r54zj0q14f88wl6bp46gz4j2wv6cb37d42b2hfvhkgh88a71c5"
   },
   "stable": {
    "version": [
@@ -78364,7 +78466,7 @@
     1
    ],
    "commit": "d5b6b5b3552a5b84f4f887e2f805d9e72747fab2",
-   "sha256": "1xvx26xbd0ylih6xyvwylzjl7z5dbw9sv828p5zykr6fg2kz9nb3"
+   "sha256": "19yh93kkyailczv1yyg7jhmzwl768sg0rk4as5kgqays87h9bnfn"
   }
  },
  {
@@ -78399,14 +78501,14 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20240311,
-    1617
+    20240415,
+    1545
    ],
    "deps": [
     "compat"
    ],
-   "commit": "65116ee9a8d8ca5a9e1e579b5957e0e7673c1dfe",
-   "sha256": "196r6nwfjj0gj1b356gb0snqq4iqkv0k35nd17mmg48qdl517n4v"
+   "commit": "28abaf874b87b6d6c09ef1ab63856de4ed743974",
+   "sha256": "033wg9qfw2rklinvii6dqpqcdg0agxsn2njq3ywq0xwwldhmms6p"
   },
   "stable": {
    "version": [
@@ -78526,14 +78628,14 @@
   "repo": "tarsius/morlock",
   "unstable": {
    "version": [
-    20240125,
-    1741
+    20240415,
+    1545
    ],
    "deps": [
     "compat"
    ],
-   "commit": "2a62e20a7648747e74313ebcf3932fa8a858739b",
-   "sha256": "0pg5pz6k51kvipdyq80w4sishfns53kfqjqz4qhnbiwjb6h1c3pb"
+   "commit": "ea728ba7dbae47d8516a6026038c305092d38078",
+   "sha256": "0qa4i6hx9xljrmhds7xfnyq391p7hkzdmkfa16yhfs75479dw805"
   },
   "stable": {
    "version": [
@@ -78699,20 +78801,20 @@
   "repo": "amnn/move-mode",
   "unstable": {
    "version": [
-    20240309,
-    2223
+    20240409,
+    2159
    ],
-   "commit": "b07983c8df12fa428117cea8e09067ae952871d9",
-   "sha256": "09dnxmx0rc3v26fhi5s9f7ri05fx9p02m284qhkgr82ipdn0whnb"
+   "commit": "f974cc69f279c45026f7386e0194be74779334a8",
+   "sha256": "1wz3dw39bv351gxqwis7lbsynr04fniprymjdb0xdcfhdfxnpy3x"
   },
   "stable": {
    "version": [
     1,
-    0,
-    1
+    1,
+    0
    ],
-   "commit": "b07983c8df12fa428117cea8e09067ae952871d9",
-   "sha256": "09dnxmx0rc3v26fhi5s9f7ri05fx9p02m284qhkgr82ipdn0whnb"
+   "commit": "f974cc69f279c45026f7386e0194be74779334a8",
+   "sha256": "1wz3dw39bv351gxqwis7lbsynr04fniprymjdb0xdcfhdfxnpy3x"
   }
  },
  {
@@ -79284,22 +79386,7 @@
     812
    ],
    "commit": "98110bb9c300fc9866dee8e0023355f9f79c9b96",
-   "sha256": "1ysj9x9m1lxg1gy0z7y07qsi3g26qfqdwwa8kjkf40pchb2wxg0s"
-  }
- },
- {
-  "ename": "mu4e-crypto",
-  "commit": "64a39c1ab11c4bfee737bda22b39eea47e07ed74",
-  "sha256": "0zcyrm9027h7vm6fnldb331yvxwnjsm5bw3a21ynxvirh7dw9lf5",
-  "fetcher": "github",
-  "repo": "meritamen/mu4e-crypto",
-  "unstable": {
-   "version": [
-    20240120,
-    646
-   ],
-   "commit": "8eb4ce811044aa93f3527adf35984aa502ac0d4b",
-   "sha256": "0231q37vj960f6czr2l5fqsgsdiyndlls35dvqzlmzrqpzjcj81m"
+   "sha256": "080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"
   }
  },
  {
@@ -79346,20 +79433,20 @@
   "repo": "mkcms/mu4e-overview",
   "unstable": {
    "version": [
-    20240219,
-    2302
+    20240330,
+    1441
    ],
-   "commit": "7843cb64c861729bfd57ec3e8ad7faf6edb2e543",
-   "sha256": "1sq5lfhs00dr3mc25wjm2y18ac78rh7dkj4f67kndhrrr99z6zcg"
+   "commit": "758ea4b3945fa377ae33e45f8213280d38e0551d",
+   "sha256": "0qdxsfsambbrb3dbch4pyjm9k59cbjlzkx9075aipdi8nl0nvygf"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
-   "commit": "0e711f47f9bab8bea9fe4f8e857920b879e70dcd",
-   "sha256": "0zh4pi4d74cs9p8ll7fzq8chxk84safvb7svxcss692jjsqvj89y"
+   "commit": "758ea4b3945fa377ae33e45f8213280d38e0551d",
+   "sha256": "0qdxsfsambbrb3dbch4pyjm9k59cbjlzkx9075aipdi8nl0nvygf"
   }
  },
  {
@@ -79370,11 +79457,11 @@
   "repo": "wavexx/mu4e-query-fragments.el",
   "unstable": {
    "version": [
-    20211030,
-    2307
+    20240415,
+    1421
    ],
-   "commit": "8d93ede3772353e2dbc307de03e06e37ea6a0b6c",
-   "sha256": "0pl9hiwl5snpw9cfga0v9ypw83mz4nw6754whd4f37fs9xc6df31"
+   "commit": "14b38e4a7b7aae47f3c1bdccb6680f8c38c645bf",
+   "sha256": "037lg0h9mgp0393gxqdxqkgl0kb77rh72bf8frswjjg0df5pdwbn"
   }
  },
  {
@@ -79385,28 +79472,29 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20230105,
-    1443
+    20240401,
+    1150
    ],
    "deps": [
     "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "ba223d69fa9edf7b039bd728f4630c64b08c39ff",
-   "sha256": "0ss7ipp80wflrhxa1x974bb9gvc8fnrrcdzf8gzxzlabgw1qsjwl"
+   "commit": "e0f60e314d034e02fbc3696c3cb9e3598eed9070",
+   "sha256": "0n6s4qab595rda1xfyad9qvry1ipfih4jzkaxabhw3a60jk3h3vy"
   },
   "stable": {
    "version": [
     0,
-    5
+    7
    ],
    "deps": [
+    "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "33fa9f584034978006108a4498566e933493f852",
-   "sha256": "01636rhmgnjz9z81xppqlrlwwg0jcy48k9p3hh865wncp1q2jsb5"
+   "commit": "e0f60e314d034e02fbc3696c3cb9e3598eed9070",
+   "sha256": "0n6s4qab595rda1xfyad9qvry1ipfih4jzkaxabhw3a60jk3h3vy"
   }
  },
  {
@@ -80247,11 +80335,11 @@
   "repo": "kenranunderscore/emacs-naga-theme",
   "unstable": {
    "version": [
-    20240324,
-    1932
+    20240327,
+    819
    ],
-   "commit": "7cef2b6097bb73a6a293a81a0f1fca1e9893321c",
-   "sha256": "13xrpd13rxv5zp4w1hgyayyjxa0ap7g505yrhdq8sfirlsfic57g"
+   "commit": "a044e5eb5bf9bbefe34982ae9cc80ac9739a3e58",
+   "sha256": "13m17vwwrcs44xhzkh80nssgsn9p84f5vl50zk4y1712d087pc0d"
   }
  },
  {
@@ -80848,20 +80936,20 @@
   "repo": "babashka/neil",
   "unstable": {
    "version": [
-    20231214,
-    736
+    20240402,
+    1032
    ],
-   "commit": "abfe86474986a36c6c0daa56f8c4b6e1fb883743",
-   "sha256": "06bh762as20mlbydixbnfmn4i03gh4sz3iwv38chb5ma26w59m13"
+   "commit": "9a795828e4c201a47c5851157868c06f2ca37448",
+   "sha256": "0fxla1s6sn9gzqrkmlm00klhbfa7h0ki80j8jp68zlqc984ah5a2"
   },
   "stable": {
    "version": [
     0,
-    2,
-    63
+    3,
+    65
    ],
-   "commit": "076fb8339e4ea935c1a530a740b6eb6257c55962",
-   "sha256": "1vz50fkf1nw1md8p239pisvpba9q1y3ygvs6yfb37jvrxh6a1k4r"
+   "commit": "9a795828e4c201a47c5851157868c06f2ca37448",
+   "sha256": "0fxla1s6sn9gzqrkmlm00klhbfa7h0ki80j8jp68zlqc984ah5a2"
   }
  },
  {
@@ -80949,11 +81037,11 @@
   "repo": "rainstormstudio/nerd-icons.el",
   "unstable": {
    "version": [
-    20240319,
-    833
+    20240412,
+    1831
    ],
-   "commit": "8095215a503d8048739de8b4ea4066598edb8cbb",
-   "sha256": "1zwhslj2r63dmwgbv031b63rhhghf2nv8wb9zx31rdqh96g53s28"
+   "commit": "fb395120e9de33b276d16caaccaefd98d4340b92",
+   "sha256": "0iyjd18b3v730ixz5ayr72m4z8p6vv5m0nplpndl0s7a7ypdm9l9"
   },
   "stable": {
    "version": [
@@ -81249,6 +81337,21 @@
   }
  },
  {
+  "ename": "neut-mode",
+  "commit": "aeb247528ba4d426ae558152318649bc164e8ea0",
+  "sha256": "112z4wyl9n8g8nqwwdf94cfjd3fg79klagzjw0cwp20iv59ljijs",
+  "fetcher": "github",
+  "repo": "vekatze/neut-mode",
+  "unstable": {
+   "version": [
+    20240414,
+    2254
+   ],
+   "commit": "e75f5f6bbcab4c042f331fcb2d0a628516cfec5f",
+   "sha256": "16iv3vn3inwjh29zk00w1l1cm8jqp96n2hrkgpmhcj0kbliy298h"
+  }
+ },
+ {
   "ename": "never-comment",
   "commit": "ef3f8e712c10d63fea009951d7916fe376267cbe",
   "sha256": "0sn8y57895bfpgiynnj4m9b3x3dbb9v5fwkcwmf9jr39dbf98v6s",
@@ -81361,20 +81464,20 @@
   "repo": "ajc/nginx-mode",
   "unstable": {
    "version": [
-    20170612,
-    437
+    20240412,
+    402
    ],
-   "commit": "a2bab83c2eb233d57d76b236e7c141c2ccc97005",
-   "sha256": "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"
+   "commit": "c4ac5de975d65c84893a130a470af32a48b0b66c",
+   "sha256": "1zal05l3lnb41pvfxwkzrcf39g7amqbaaffxn3wz7qa45gvvc6fw"
   },
   "stable": {
    "version": [
     1,
     1,
-    9
+    10
    ],
-   "commit": "a2bab83c2eb233d57d76b236e7c141c2ccc97005",
-   "sha256": "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs"
+   "commit": "c4ac5de975d65c84893a130a470af32a48b0b66c",
+   "sha256": "1zal05l3lnb41pvfxwkzrcf39g7amqbaaffxn3wz7qa45gvvc6fw"
   }
  },
  {
@@ -81578,11 +81681,11 @@
   "stable": {
    "version": [
     1,
-    11,
-    1
+    12,
+    0
    ],
-   "commit": "a524bf3f6bacd1b4ad85d719eed2737d8562f27a",
-   "sha256": "14kshkxdn833nkz2qkzb3w531dcqj6haad90gxj70ic05lb7zx9f"
+   "commit": "65d0dfcbbea6b8ca7d8a3a0f673ecb522379e43c",
+   "sha256": "0jlqqbhmzhlwfhf1axdi3qm6gd1l66s66dw9cn83h9akgvpjf0vv"
   }
  },
  {
@@ -81731,10 +81834,10 @@
  },
  {
   "ename": "nix-ts-mode",
-  "commit": "568c5226265ec062c71818f74197b5620589b46a",
-  "sha256": "1aa4grbk9rqfw37zivakv5a4fs8rrlrfdqg4ajnbafd320d0jfm2",
+  "commit": "5722db7ce30ad773fceaafeece7e9b7d56dcdf71",
+  "sha256": "19sps8vaq49cx3lykqnfkc9xki5czawd69d6sbg0lsd15hpjnqqk",
   "fetcher": "github",
-  "repo": "remi-gelinas/nix-ts-mode",
+  "repo": "nix-community/nix-ts-mode",
   "unstable": {
    "version": [
     20231107,
@@ -82014,14 +82117,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20240321,
-    710
+    20240415,
+    1545
    ],
    "deps": [
     "compat"
    ],
-   "commit": "dcc7af41cc6b48d446c0a76bae029898f82cc2e3",
-   "sha256": "103cmw2cxbq9n4csh0n3rrq57caa1fdby7ry0izcdnaaph7rwhqc"
+   "commit": "554d890c5d5b59ebcf83c67256d0012e23cd07f0",
+   "sha256": "0x0dk7yvrzcw1pjn86gqck5ksg48dnipvwir6va20i7cgi060qfy"
   },
   "stable": {
    "version": [
@@ -82226,7 +82329,7 @@
     0
    ],
    "commit": "7825f88cb881a84eaa5cd1689772819a18eb2943",
-   "sha256": "0f8s7mhcs1ym4an8d4dabfvhin30xs2d0c5gv875hsgz8p3asgxs"
+   "sha256": "009did3i3i8yi0virq606l02w1mw0gdyiqablqg7m368gx0gfvh5"
   }
  },
  {
@@ -82267,11 +82370,11 @@
   "repo": "hhamud/noir-ts-mode",
   "unstable": {
    "version": [
-    20230827,
-    2052
+    20240331,
+    137
    ],
-   "commit": "bb47c9b770b7401c0ecdac0bb54466df6ca62d29",
-   "sha256": "1bbxj2nglnbyj7v4n50mj3icwhdbp37jj0p4wkwizgqvgxy6cgjl"
+   "commit": "eb399cc69a3229f4141e193f98efead51d9b3cc8",
+   "sha256": "1nv2ccbsww7vkpxx0i5ds655ihkqxa1mvc6wq2lnla845j3mrpd8"
   },
   "stable": {
    "version": [
@@ -82304,7 +82407,7 @@
     0
    ],
    "commit": "dfe065acdd06be176fce3ab150fae699b2ad1a13",
-   "sha256": "1nqxw9s41ln91gjrglrbyhqasakgk0542ymhbwivw9l19yyizmaz"
+   "sha256": "0m5rfwp2y8iz7lrshdy09nk6dhrd7bgwb0761cmz1ky8w6f3di7v"
   }
  },
  {
@@ -82460,11 +82563,11 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20231006,
-    2337
+    20240406,
+    1803
    ],
-   "commit": "e4ead7656c72092bf30c43283057c2d4c4107962",
-   "sha256": "0wab9n0rn9k76js1sl4wwiivvifqnjf58n8iwyscqsmkrkhcdc47"
+   "commit": "cd89065dc36e36b22a2a53832d2cac9b06fba41c",
+   "sha256": "179x3kz1504zlilh5y5h50sk5d0d9rhl6r6ccfgp4am2nn0d1qp7"
   },
   "stable": {
    "version": [
@@ -82484,15 +82587,15 @@
   "repo": "tarsius/notmuch-addr",
   "unstable": {
    "version": [
-    20240101,
-    2221
+    20240422,
+    15
    ],
    "deps": [
     "compat",
     "notmuch"
    ],
-   "commit": "1253c6ff1359acef42f04c021c6204b8e726b071",
-   "sha256": "1wvap0vg0b1daccw1523f5baf9sp7qivrrpk2bg0sdaq37pzkbm7"
+   "commit": "e5755c5a752d2026b1c847bc5944bdd5f015c1a6",
+   "sha256": "0ysb99rda0ix6lcb8z8p72wb6z35agyn9jd1z0jxhqpp5xyajjsl"
   },
   "stable": {
    "version": [
@@ -82576,15 +82679,15 @@
   "repo": "tarsius/notmuch-maildir",
   "unstable": {
    "version": [
-    20240101,
-    2221
+    20240415,
+    1545
    ],
    "deps": [
     "compat",
     "notmuch"
    ],
-   "commit": "2b6a49c8b1f35338bb231f39155b6da0a0b639d5",
-   "sha256": "0r3fjq0b1zssjbhq9075cihqn0a255lrqkl9vcb3ypy0gwr7hy9r"
+   "commit": "3a7240e6728731b427a763228c60104602f0fe4b",
+   "sha256": "13cajk4pb0x5r9azxilibc4v9xg3pxqiy0cx14b6kh6l9b0f26pq"
   },
   "stable": {
    "version": [
@@ -82608,16 +82711,16 @@
   "repo": "tarsius/notmuch-transient",
   "unstable": {
    "version": [
-    20240302,
-    2332
+    20240421,
+    2351
    ],
    "deps": [
     "compat",
     "notmuch",
     "transient"
    ],
-   "commit": "f08ef922b88d90a7cad348743c8470f443b1fa8e",
-   "sha256": "1v20cz1kkd0p82hrdkq7wy30wgi37idrzcxk3n23ypmhmylig82a"
+   "commit": "ef7a977a16e2c6a0ed3e139bdd6cc00a42b8c758",
+   "sha256": "1njy6cq7b9n2shvcgzrl8b3iclcyhx24bq1li1p292ipj3x3rkg4"
   },
   "stable": {
    "version": [
@@ -82642,14 +82745,14 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20230715,
-    1434
+    20240407,
+    1219
    ],
    "deps": [
     "esxml"
    ],
-   "commit": "cc31ce0356226c3a2128119b08de6107e38fdd17",
-   "sha256": "0k09dd0j8m8607dv61qm4q1jk9hvn39sxzk5ckcalafjanp7l0r6"
+   "commit": "9b7bef950d68c2518710c480729d6bb6026e9489",
+   "sha256": "10lxy18zs8bkld0ql75kdxdmbmr8h68lsk8a960iy3j1jg1rz1sn"
   },
   "stable": {
    "version": [
@@ -83065,7 +83168,7 @@
     1249
    ],
    "commit": "44d506105989873dc1725e0cfc675925b35c9c98",
-   "sha256": "1g030806d2l238sr173ypdkkq0g8kf8qdp7a1ls5d3rw0bng4ds1"
+   "sha256": "0lgz0sknnrxmc7iy4lniday1nwpz4q841c3w2hm72aiwn5z21h22"
   }
  },
  {
@@ -83173,6 +83276,26 @@
   }
  },
  {
+  "ename": "oauth2-auto",
+  "commit": "06aefc0887f50215e69260a6e4f883a3d34e83e5",
+  "sha256": "165f6rpgi3fwx4qby1wq5h19362xn2shwkymibv64yscx9r0mpiq",
+  "fetcher": "github",
+  "repo": "telotortium/emacs-oauth2-auto",
+  "unstable": {
+   "version": [
+    20240326,
+    2225
+   ],
+   "deps": [
+    "aio",
+    "alert",
+    "dash"
+   ],
+   "commit": "ff9a45e27621aad5b1a2e12a09b01f3e4eaecf96",
+   "sha256": "00vwxdxgcnx86i56093vp5j75zgg7iilpzxrhl4s9ccg00vp220n"
+  }
+ },
+ {
   "ename": "oauth2-request",
   "commit": "d8fd29717d69408c845d44077b5223902051dbd9",
   "sha256": "1yb9wgc1p6rbsarb7yhwwrpsjz2adnf9k590c9sif9vx3llras2g",
@@ -83470,18 +83593,18 @@
   "unstable": {
    "version": [
     20240324,
-    315
+    320
    ],
-   "commit": "2b614d108445b8462b491af09092b0f65c237e42",
-   "sha256": "1246ji8kx5hznwbb55fvi446gsjbd0znwd2zjv6ygxsp4lcbrsib"
+   "commit": "d9c3e446467badad571eef8832232ae5a6f9f05b",
+   "sha256": "1l3hifa88jvzr75rz4cc5q0w8y60qnw7jin6x3fcam8915a1nd2f"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
-   "commit": "ee94c0d432b98d4b003b179e2109c3114ea54d9b",
-   "sha256": "06zkjnv324bwj1bd2kdvxar0is992qngl5n94d4z2cpx3zcn2c5q"
+   "commit": "d9c3e446467badad571eef8832232ae5a6f9f05b",
+   "sha256": "1l3hifa88jvzr75rz4cc5q0w8y60qnw7jin6x3fcam8915a1nd2f"
   }
  },
  {
@@ -84142,20 +84265,19 @@
   "repo": "pinetr2e/ob-napkin",
   "unstable": {
    "version": [
-    20200817,
-    1259
+    20240405,
+    1223
    ],
-   "commit": "7af5e8af08da8455c489909afbd9528a61f570e7",
-   "sha256": "1rmfxbnl2y6yx1869sm5203k7hch481wh5dq6lik5bj00cf3knc6"
+   "commit": "497bde38772e6fd2a393dd292435ae3787580db4",
+   "sha256": "16qpmabp57231mpjvx7wbcxxbhp3i7ir1yhp792yxfibjz1gi299"
   },
   "stable": {
    "version": [
     0,
-    9,
-    1
+    10
    ],
-   "commit": "7af5e8af08da8455c489909afbd9528a61f570e7",
-   "sha256": "1rmfxbnl2y6yx1869sm5203k7hch481wh5dq6lik5bj00cf3knc6"
+   "commit": "497bde38772e6fd2a393dd292435ae3787580db4",
+   "sha256": "16qpmabp57231mpjvx7wbcxxbhp3i7ir1yhp792yxfibjz1gi299"
   }
  },
  {
@@ -84846,19 +84968,19 @@
   "unstable": {
    "version": [
     20230915,
-    941
+    934
    ],
-   "commit": "6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3",
-   "sha256": "0ry8lvp0cfw304y79gq28b2vx5a75lkybrkddm3qldgqxwgakdsw"
+   "commit": "d57fd7cfa878a6862f4dbcf80f98a30d63872ab3",
+   "sha256": "04hfcyi9nl5ghchv1r3bshq968xxhlkvv1jd6j35mk2jca1wdkmz"
   },
   "stable": {
    "version": [
     0,
     26,
-    1
+    2
    ],
-   "commit": "6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3",
-   "sha256": "0ry8lvp0cfw304y79gq28b2vx5a75lkybrkddm3qldgqxwgakdsw"
+   "commit": "f5727b32127730a2722f86c7119eb6d8f884e26d",
+   "sha256": "0qkralffnq141ksl5y6564lmryqhks72kvf3rblg8pnzjbcsad5v"
   }
  },
  {
@@ -85060,26 +85182,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20240319,
-    1005
+    20240414,
+    1312
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "0a44a385a565b8e39908c36dd32d5b231ffee9bd",
-   "sha256": "1gjmnxplpm7p4ylsypds809jqxw942anddq09v8frnrrbhi5q0sh"
+   "commit": "4a8000a196e663be9fec61d0e6fed27814945086",
+   "sha256": "1rcydba1si626bqdh6j8537lnivyvr201dw7dmrxvkqpk9q6v1xy"
   },
   "stable": {
    "version": [
     4,
-    22,
-    0
+    24,
+    3
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "0a44a385a565b8e39908c36dd32d5b231ffee9bd",
-   "sha256": "1gjmnxplpm7p4ylsypds809jqxw942anddq09v8frnrrbhi5q0sh"
+   "commit": "4a8000a196e663be9fec61d0e6fed27814945086",
+   "sha256": "1rcydba1si626bqdh6j8537lnivyvr201dw7dmrxvkqpk9q6v1xy"
   }
  },
  {
@@ -85130,16 +85252,16 @@
   "repo": "tarsius/ol-notmuch",
   "unstable": {
    "version": [
-    20240101,
-    2222
+    20240415,
+    1546
    ],
    "deps": [
     "compat",
     "notmuch",
     "org"
    ],
-   "commit": "881991d94a1ad750633fcf1f2d8a9e0616979be3",
-   "sha256": "1hc4bkkg42pj1i3vy6jm0rqvviiizn61nph74nvms5v08fb0yn09"
+   "commit": "05f3fc9ea77d32892726c94cd7a876733890da91",
+   "sha256": "1jbwi4vpvcl7zzbx5rjmpmxp1mh1lxbprgxryqmj5mync0gx3a0k"
   },
   "stable": {
    "version": [
@@ -85848,20 +85970,20 @@
   "repo": "danielfleischer/opensub",
   "unstable": {
    "version": [
-    20230716,
-    1018
+    20240405,
+    750
    ],
-   "commit": "216f60baf8cfd527fd84676b7389f463a04ae80c",
-   "sha256": "1hgkpkcgy342wyzdvnb0lb9vpr6fsym42ahgmmnq63ijw5r5kiq5"
+   "commit": "2e3d55fd1ebc909caa81b06f3323d123ec557d03",
+   "sha256": "1bw3sp5i9zanrkgkwd69rc11ay3pmk5x42ifgyvg08ql7zlghxx2"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
-   "commit": "216f60baf8cfd527fd84676b7389f463a04ae80c",
-   "sha256": "1hgkpkcgy342wyzdvnb0lb9vpr6fsym42ahgmmnq63ijw5r5kiq5"
+   "commit": "2e3d55fd1ebc909caa81b06f3323d123ec557d03",
+   "sha256": "1bw3sp5i9zanrkgkwd69rc11ay3pmk5x42ifgyvg08ql7zlghxx2"
   }
  },
  {
@@ -85959,11 +86081,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20240320,
-    1638
+    20240401,
+    959
    ],
-   "commit": "3847f311077efa17951a786d2759f2639c5f43c8",
-   "sha256": "1gc3ysa1yhi6pz8bafbdpj0avdhms0rfd1r3k5mrhnm8mgh6zq8q"
+   "commit": "ac4aeb66f331f4c4a430d5556071e33177304c37",
+   "sha256": "1nphxjsxd6bi7lbhx5r1nzay6gkkwhm1q995k90gg9zcnyxz9k0c"
   },
   "stable": {
    "version": [
@@ -86201,30 +86323,30 @@
   "repo": "eyeinsky/org-anki",
   "unstable": {
    "version": [
-    20240311,
-    2016
+    20240427,
+    1628
    ],
    "deps": [
     "dash",
     "promise",
     "request"
    ],
-   "commit": "f4737a04a82f8592ef623da40e65881ee5aed718",
-   "sha256": "1rqzjppaf2h7y5lvqzjll9dg71gwkm81wgczqswxgd880r3v29a4"
+   "commit": "75c2cd6ababf3e2808107af32efc754bfd06a88b",
+   "sha256": "1plh177491bbfaybpaphd407iaadlm9imsdpkd8nws0qa9sflaw5"
   },
   "stable": {
    "version": [
     3,
-    2,
-    5
+    3,
+    0
    ],
    "deps": [
     "dash",
     "promise",
     "request"
    ],
-   "commit": "f4737a04a82f8592ef623da40e65881ee5aed718",
-   "sha256": "1rqzjppaf2h7y5lvqzjll9dg71gwkm81wgczqswxgd880r3v29a4"
+   "commit": "75c2cd6ababf3e2808107af32efc754bfd06a88b",
+   "sha256": "1plh177491bbfaybpaphd407iaadlm9imsdpkd8nws0qa9sflaw5"
   }
  },
  {
@@ -86634,14 +86756,14 @@
   "repo": "dengste/org-caldav",
   "unstable": {
    "version": [
-    20240302,
-    2226
+    20240415,
+    1535
    ],
    "deps": [
     "org"
    ],
-   "commit": "21da50c95b279b5fa528b353181275f935de1e1d",
-   "sha256": "1rmd2d0w6f28cgdp4vibs4h2nz69i25s0s4x7vwhfjx8393bmyc0"
+   "commit": "086a8f385138ef71f7e29f78f19fb3a65f8ee27c",
+   "sha256": "09j9sbjpj9bgxx2rrrmsyz9vk0xmhsljy6qrdjjzm230k80817xw"
   },
   "stable": {
    "version": [
@@ -86813,14 +86935,14 @@
   "repo": "ArneBab/emacs-org-clock-daytime",
   "unstable": {
    "version": [
-    20240303,
-    846
+    20240403,
+    1115
    ],
    "deps": [
     "org"
    ],
-   "commit": "82e2cd5a523f5fda75176a08eb120a0872700add",
-   "sha256": "1xbhigbb7r1cfp0f63bg3k6x9kqbxffjvykfvj84llgjzqjns6rg"
+   "commit": "f10c7b92a5b2a25f2300b885c2c70526ada50d9c",
+   "sha256": "1a1scmv3m8r4mm2nr4iw7nihv5ms8h16r2pvmghkb7w5lqd0p8cv"
   }
  },
  {
@@ -86957,14 +87079,14 @@
   "url": "https://repo.or.cz/org-contacts.git",
   "unstable": {
    "version": [
-    20240311,
-    850
+    20240410,
+    1128
    ],
    "deps": [
     "org"
    ],
-   "commit": "6660db078f7687af3bc31f702e3e957d4d7654bd",
-   "sha256": "0i0jkdn2wd7q9nzacaldhwx0i027951j0dp24pgkq34radqldjmb"
+   "commit": "0ff9a6dae6c1b67f0da0c63bc75b8c1063eac85d",
+   "sha256": "00ds6zyraf2nzj73mr3ncq2p9dn1b39cddqwj0fsglk3hlwg7d87"
   }
  },
  {
@@ -87005,14 +87127,14 @@
   "repo": "gsingh93/org-custom-cookies",
   "unstable": {
    "version": [
-    20220928,
-    114
+    20240414,
+    44
    ],
    "deps": [
     "org"
    ],
-   "commit": "e57e0de5b8200224bf5d44b62481c542986f2f13",
-   "sha256": "1r3m7nvx10yzxsasld3h59psml4r7kmz2wn79n5xkppkpb0dbymn"
+   "commit": "5650c73d20e53310dab62f6a65754a55aea9b40b",
+   "sha256": "0sjjjmcalkvxw1v09av20bmsf4av60x2nkq0y792pwm80mgxcc0m"
   }
  },
  {
@@ -87193,7 +87315,7 @@
     "seq"
    ],
    "commit": "e55415221eedba2f2bd37a30cb71c842e344b5ee",
-   "sha256": "079x6rcz50rpw0vdq5q2kjpixz95k9f3j9dwk91r5111vvr428w3"
+   "sha256": "0gjkl8j8jrimg45z9bsfkkbvmxsplh3nyqgr8g8d5mqm0w9b4pn3"
   },
   "stable": {
    "version": [
@@ -87207,7 +87329,7 @@
     "seq"
    ],
    "commit": "4c114489e682e514e79701045d541ab6f3dc3fb4",
-   "sha256": "079x6rcz50rpw0vdq5q2kjpixz95k9f3j9dwk91r5111vvr428w3"
+   "sha256": "13y302lyscdqrba1sfx60yf5ji2xi7fbsvjsjbw7hiz63kg6rccy"
   }
  },
  {
@@ -87526,8 +87648,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20221212,
-    1817
+    20240426,
+    2253
    ],
    "deps": [
     "aio",
@@ -87538,8 +87660,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "9bb3720525ad1c45823abab8ce910dd1225e7dcd",
-   "sha256": "0b7i1xc21vsjcvbkakkgzhidnypc5anmb9mdkh9mab09d7kxkbc7"
+   "commit": "9f9d93e4f0d5863b1318e9e702e1ee6e841c2649",
+   "sha256": "1v0mq8fh3d0az6w9bgn599l8rmns741j92iw0fskarfyfyn63z57"
   },
   "stable": {
    "version": [
@@ -87969,7 +88091,7 @@
     "jami-bot"
    ],
    "commit": "020b03f299dad438f65d7bcbf93553b273fd7c33",
-   "sha256": "0fj166qawhnjbc14237fj8ph4f4xdjka7p8r2gxkfq6h0z101nr2"
+   "sha256": "18nhkmmrzs6i6px23c88wlml0gn43b38zfvpwq8bnabq3ak6q7j2"
   },
   "stable": {
    "version": [
@@ -88172,6 +88294,25 @@
   }
  },
  {
+  "ename": "org-linenote",
+  "commit": "8c973d58fba117d4c09fd09849251891a0904c7e",
+  "sha256": "11kv2xy8lzzs21mn5xp0cg1r3npajbwakrhi5j05z0x3p9i2v4am",
+  "fetcher": "github",
+  "repo": "seokbeomKim/org-linenote",
+  "unstable": {
+   "version": [
+    20240325,
+    320
+   ],
+   "deps": [
+    "projectile",
+    "vertico"
+   ],
+   "commit": "4c081f4bbe13c48df7cb17f2f006465b8b95196b",
+   "sha256": "0a8pcds5vv5px47gzvmv94ymvhki7kjqah8i4w43f0lpx9dhwqzx"
+  }
+ },
+ {
   "ename": "org-link-beautify",
   "commit": "2cbc9e1af903ffc900be7ec0ed1050ae9ad81011",
   "sha256": "1h4ppxc9giii3rg5hvpf2dm4c9w0wwd56ivmqyx0q4b9fi69lswa",
@@ -88303,7 +88444,7 @@
     9
    ],
    "commit": "edf9f6f7254f72be939daf92942f76f44b72d32d",
-   "sha256": "0ijlmfq6dbdmk3jpl87g4knk4l76yxf63nmk3n2nll3v3swbk22g"
+   "sha256": "0jmavx9cd49y7lqb0zjpfyslqfd21a1anhpb6n6ksrxn65q6pf9q"
   }
  },
  {
@@ -88443,14 +88584,14 @@
   "repo": "minad/org-modern",
   "unstable": {
    "version": [
-    20240316,
-    1109
+    20240428,
+    741
    ],
    "deps": [
     "compat"
    ],
-   "commit": "a2ff4c8e9cac412e8cb9c7faf618ac18146107ea",
-   "sha256": "19mn29f294wng6pgm1vwncx50963wnh7zj33ipynx8qxndbi6hsm"
+   "commit": "a06443c1d0251decada41a3bdca30f712cf9a96e",
+   "sha256": "18q7xab693ql68vlpxbn066pn7yshrmmqi6m0r2v4193mhlffflr"
   },
   "stable": {
    "version": [
@@ -88806,7 +88947,7 @@
     "ov"
    ],
    "commit": "b95b6a7ed9289637cb512232470633b330ca9713",
-   "sha256": "0gjvd7xd9kl06cgdyya2qbl7r4a9y4zfq1ci0109w5axs3zjin1m"
+   "sha256": "03x3n2ywgk2x7slpzy26bw3l9l000pd964z0yifvf9fqhpbk5d0r"
   }
  },
  {
@@ -89038,7 +89179,7 @@
     2
    ],
    "commit": "549fa6969660dcf0cf9bca5b7341d0cb48ec3b77",
-   "sha256": "0ksj6hssyr44qnvb32qj9lrq825ivvndhck9gzx4h7gbxmvq12a4"
+   "sha256": "12s74if74vw8q5awgrk0d1244ysfgb9kw3dxhypsccsbf413jmii"
   }
  },
  {
@@ -89195,8 +89336,8 @@
   "repo": "alphapapa/org-ql",
   "unstable": {
    "version": [
-    20240222,
-    200
+    20240403,
+    2027
    ],
    "deps": [
     "compat",
@@ -89211,14 +89352,14 @@
     "transient",
     "ts"
    ],
-   "commit": "e41fe9018a4699532ec875bedddc9746f8e362aa",
-   "sha256": "1rvnxlnpb6yk06frdfs1szz98823hqjmi646kwb00b39qhyynzfg"
+   "commit": "c9370982bfd4df04b590762bd795a7da3012c4dd",
+   "sha256": "1df7qd9f74gvpixpqchn1j47g4iwq6r9cvpc2g9cnb9mb16r2mjk"
   },
   "stable": {
    "version": [
     0,
     8,
-    5
+    6
    ],
    "deps": [
     "compat",
@@ -89233,8 +89374,8 @@
     "transient",
     "ts"
    ],
-   "commit": "bfff0b5517d55d01bf12de27e10a73c9a077767b",
-   "sha256": "1wnvrjx9r9f1ykfdafj9pz1b0n669bqmixb5q35kmahyjis8rswq"
+   "commit": "1f264bf4649dc2ad90f16a763794561ee6164d84",
+   "sha256": "0425r0qjl83d1zq2z9myish3iqa6pc9ml2jlwmffjnj5gm3vgfsj"
   }
  },
  {
@@ -89328,28 +89469,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20240318,
-    645
+    20240421,
+    716
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "827961d69d56a2c9a777dc6280d8cd832ede125b",
-   "sha256": "11if1c1a0i6i2wagjwqmvp2hfkv3slpq7r6dfbpkhlmils2hxr9p"
+   "commit": "81cf9dfd3be4480bbaa6d0b6452ea38e8d4e45c0",
+   "sha256": "1qbp198xg8pkd9zdvapq8bdsxilgqqync8m3r1csg8nz8lbpkk1b"
   },
   "stable": {
    "version": [
     3,
-    26,
-    0
+    28,
+    2
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "827961d69d56a2c9a777dc6280d8cd832ede125b",
-   "sha256": "11if1c1a0i6i2wagjwqmvp2hfkv3slpq7r6dfbpkhlmils2hxr9p"
+   "commit": "81cf9dfd3be4480bbaa6d0b6452ea38e8d4e45c0",
+   "sha256": "1qbp198xg8pkd9zdvapq8bdsxilgqqync8m3r1csg8nz8lbpkk1b"
   }
  },
  {
@@ -89415,7 +89556,7 @@
     "org-ref"
    ],
    "commit": "abcd622e4edaa5e4480bcd1e7e4953f67c90e036",
-   "sha256": "1467vskijg2n8k7fa2jj2hz8xr2s04r8a89521wmz54cza21g5j4"
+   "sha256": "08ia6gn0x0yydl28dhghifyxz0mrn0asllqg4s449gaz729cxqkd"
   }
  },
  {
@@ -89507,8 +89648,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20240307,
-    1757
+    20240426,
+    1644
    ],
    "deps": [
     "avy",
@@ -89524,8 +89665,8 @@
     "request",
     "s"
    ],
-   "commit": "190248311f90cfc4f0cceef20c7bd52a5d5aa66f",
-   "sha256": "079lmfl2zm8pb0xlkansw9rbxrpn3dnmzwjajp2gma03b4gnw4v8"
+   "commit": "feaf7ea25cefaa347e6d593bf3a56064b92f16d6",
+   "sha256": "0ksyrc3wcbw965mpg6avd2qawksbz745lyqh15hlsmx70q0rvs02"
   },
   "stable": {
    "version": [
@@ -90024,14 +90165,14 @@
   "repo": "jcfk/org-sliced-images",
   "unstable": {
    "version": [
-    20240324,
-    2009
+    20240325,
+    710
    ],
    "deps": [
     "org"
    ],
-   "commit": "3a3d1704f82e909056294b3ac1da350dfea1ce30",
-   "sha256": "084anl78vq77i3j5jw0rq0cj383si0yp87d8z2amck6dg11gmn33"
+   "commit": "f3964d4ba421953fe9f109a99811b6d884ca56ab",
+   "sha256": "0lf275dqvgjfsh6kfmrb05gxcv78ng6pdijj2b1c2arw4pwsjb0r"
   }
  },
  {
@@ -90443,14 +90584,14 @@
   "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20240216,
-    939
+    20240422,
+    607
    ],
    "deps": [
     "nerd-icons"
    ],
-   "commit": "6ec9f65e98df1e7f8a55c98bd2a3c0433fbfc5db",
-   "sha256": "15glg771jh3xp1fyyyvrqbxfv7vxy91vg54cg204h04gl3z1bwdd"
+   "commit": "2f8b66e7aa2227411665f36d96bfc8a1b184bfbb",
+   "sha256": "0qz3f8phczmpyj8n6m9851cscwb7z0nkn4b5w79k21pgfhcmp6zf"
   }
  },
  {
@@ -90535,36 +90676,6 @@
   }
  },
  {
-  "ename": "org-themis",
-  "commit": "60e0efe4f201ed96e90c437e3e7205e0344d4676",
-  "sha256": "08rajz5y7h88fh94s2ad0f66va4vi31k9hwdv8p212bs276rp7ln",
-  "fetcher": "github",
-  "repo": "zellio/org-themis",
-  "unstable": {
-   "version": [
-    20160122,
-    404
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "78aadbbe22b1993be5c4accd0d3f91a4e85c9a3c",
-   "sha256": "1apd5yyr12skagma7xpzrh22rhplmhhv0pma4zf5b0i6nkxy06j2"
-  },
-  "stable": {
-   "version": [
-    0,
-    4,
-    1
-   ],
-   "deps": [
-    "cl-lib"
-   ],
-   "commit": "4b4bf1fa1e853664bf006dda8afe2db00e522aaa",
-   "sha256": "12fksqi9flf84h1lbmbcjnqxa7dairp50wvlwfhbp1hbb8l9z63a"
-  }
- },
- {
   "ename": "org-tidy",
   "commit": "47c3731d47cd408457a677230d525e7ba6baf7c0",
   "sha256": "0k8hm6vlmwzvqjfs0yh8jxgizlmfrd7crc4p29lizp4dfp17b1fj",
@@ -90838,7 +90949,7 @@
     "org-ql"
    ],
    "commit": "a7c386ff134c71fd4f1f042e320751f077d57ddb",
-   "sha256": "11xbm6161rd5kv2bffqw678a7bymclvhpmm1qjxsvmi8bhfk1ls0"
+   "sha256": "1xc9g82pmd6fl48bbibwp5rb044cj2j0gw9d6qvn73pqdg8mj9jy"
   }
  },
  {
@@ -91101,16 +91212,16 @@
   "repo": "akhramov/org-wild-notifier.el",
   "unstable": {
    "version": [
-    20240223,
-    1211
+    20240325,
+    744
    ],
    "deps": [
     "alert",
     "async",
     "dash"
    ],
-   "commit": "1b04c4104ad72bbb3ced161ba99e1055ff766138",
-   "sha256": "0d3rmli39sxdjp2rv0xlwjilgf9xsys20j66cb44a58mb5x61y2w"
+   "commit": "4c1679c12ebe0e4a97494d0673a5484f9e4d0ba6",
+   "sha256": "0d7zrawh4im8iyp2z32p4g8fbyznfq4liaxhavq89z8pliiv9zny"
   },
   "stable": {
    "version": [
@@ -91487,16 +91598,16 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20240101,
-    2222
+    20240415,
+    1546
    ],
    "deps": [
     "compat",
     "magit",
     "org"
    ],
-   "commit": "84bcb5c318f01b9ffc8d5aa18a7c393fe9c714b2",
-   "sha256": "0apwwjdndhkghax5dnp4v9xh4018i4gngz5bannzvkhp26izaf3y"
+   "commit": "ca3bf7aa20074e25fee37b71cfef127b93a3dde7",
+   "sha256": "1ml64ddahk6szbynzrjm4zglkxhv9lgmaipm6fysalx48nxqvshh"
   },
   "stable": {
    "version": [
@@ -91521,8 +91632,8 @@
   "repo": "magit/orgit-forge",
   "unstable": {
    "version": [
-    20240101,
-    2222
+    20240415,
+    1546
    ],
    "deps": [
     "compat",
@@ -91531,8 +91642,8 @@
     "org",
     "orgit"
    ],
-   "commit": "f2ff9e5ad68b3e860379a1d368ad6d8a9696b719",
-   "sha256": "1pm03d65jw6jvfypl6syl5z2jl1vn0gp67xwjx7934q1fq4gm0nx"
+   "commit": "7b010465ab96bea6d380ae1cfbd7999d528f1de9",
+   "sha256": "0xqwzb7jmh7mlq4b6wk7kkhgwjwb399bv215bx2n3iq9bi2x6mv8"
   },
   "stable": {
    "version": [
@@ -91559,16 +91670,16 @@
   "repo": "tarsius/orglink",
   "unstable": {
    "version": [
-    20240101,
-    2222
+    20240415,
+    1547
    ],
    "deps": [
     "compat",
     "org",
     "seq"
    ],
-   "commit": "f62d2804026c10a1da0b7c4a4cb0d647bb2e4829",
-   "sha256": "0id5ms2zjjanih2isdq0043ry1ygj22cci3cpjc6h3si6m4jrj89"
+   "commit": "e513f25024b2db082dbdbd8bd713d57a2b7456eb",
+   "sha256": "0dmh9j9dz3j7h881126zj9bpbzh5sr444qw5029wfmsq4x5ls0yg"
   },
   "stable": {
    "version": [
@@ -91992,14 +92103,14 @@
   "repo": "xuchunyang/osx-dictionary.el",
   "unstable": {
    "version": [
-    20240226,
-    511
+    20240330,
+    942
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8f16ffb465b64c9dd566c8b7316b34896ce4c52b",
-   "sha256": "047y7zrih5d5x7m9i116yq951iyscb7ika1z4y864mqhd0ljhwvb"
+   "commit": "6abfd6908b0dc773020466225c908000870b383b",
+   "sha256": "16mvkrs82g6zhaa10r28v8br0cshv1bsbywyb1qkc8hdkj1hh37j"
   },
   "stable": {
    "version": [
@@ -92213,14 +92324,14 @@
   "repo": "tarsius/outline-minor-faces",
   "unstable": {
    "version": [
-    20240101,
-    2223
+    20240415,
+    1547
    ],
    "deps": [
     "compat"
    ],
-   "commit": "77dd2a24f3db3641980cca515fbc4cfafdf03630",
-   "sha256": "1w4n9zwd2ipc8pw6vvxx0xah9zxv0avv075j77k0is5j51iwn635"
+   "commit": "9f5c75e996388ead3472cd0dce8e9fc00407e210",
+   "sha256": "11jn4y2pa5v6bkijaf0d6ahg9zbz4mn11v9g1j46ldjwg3c7mbsf"
   },
   "stable": {
    "version": [
@@ -92910,7 +93021,7 @@
     "s"
    ],
    "commit": "e8cd440632fd46812d7311360f565828a12380b7",
-   "sha256": "0v2lrmak1lhaccwm2a68z4w554ng38wpk0sbw2qaj8qn03gv9dn4"
+   "sha256": "118km0hgxf1nss765cnykqyymjhg30pim9qjyxl31v07khr1d373"
   }
  },
  {
@@ -92921,11 +93032,11 @@
   "repo": "DamienCassou/ox-linuxmag-fr",
   "unstable": {
    "version": [
-    20240319,
-    2034
+    20240326,
+    722
    ],
-   "commit": "eab473296b8319a052ca30d27e07508e876ca8d9",
-   "sha256": "007f3r38xnsg1b0srzx2qvcjbkdnkfh0mkhpa8fcph9wdnc4aj6z"
+   "commit": "893a401db7d3b93e977b3c2608169dbb6e3fbdce",
+   "sha256": "1fh36w8iyrh5pqrfrcrh0f6clrmin5vg7r7hcg70z8s6w08ylzfy"
   },
   "stable": {
    "version": [
@@ -93630,14 +93741,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20240306,
-    2234
+    20240415,
+    1547
    ],
    "deps": [
     "compat"
    ],
-   "commit": "236ef4e4d615699d4ba8b7ad28bd40b87d269411",
-   "sha256": "1s5ik92l3nz4k19l4a73p8y2pp4zx22w4iinj892kx5xakdh1s10"
+   "commit": "d9ce37b82529827ce720ad3ccf4af887d19fcfb0",
+   "sha256": "1hnv0yjc0yyjcp369z9nlvyxiqmzs0zqz5g6ly9cc3g43bjfavbj"
   },
   "stable": {
    "version": [
@@ -93672,25 +93783,25 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20240311,
-    1058
+    20240330,
+    1458
    ],
    "deps": [
     "let-alist"
    ],
-   "commit": "fce93b7edf4e971b2cbe3425c1d773ffe0aa8a62",
-   "sha256": "1myhdhb3kwq03f3p7qgb9bk8srs1wlag4ch4kl26yb9213mzx8gv"
+   "commit": "17e4ab20dd3e36fa540007b4f4047170c23bdb10",
+   "sha256": "1xr7sq7pvvdw9prf2vds048s5s7fq1s0cxs21sxdc54sszy17nsg"
   },
   "stable": {
    "version": [
     0,
-    22
+    23
    ],
    "deps": [
     "let-alist"
    ],
-   "commit": "fce93b7edf4e971b2cbe3425c1d773ffe0aa8a62",
-   "sha256": "1myhdhb3kwq03f3p7qgb9bk8srs1wlag4ch4kl26yb9213mzx8gv"
+   "commit": "17e4ab20dd3e36fa540007b4f4047170c23bdb10",
+   "sha256": "1xr7sq7pvvdw9prf2vds048s5s7fq1s0cxs21sxdc54sszy17nsg"
   }
  },
  {
@@ -93701,25 +93812,25 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20240311,
-    1058
+    20240330,
+    1458
    ],
    "deps": [
     "package-lint"
    ],
-   "commit": "fce93b7edf4e971b2cbe3425c1d773ffe0aa8a62",
-   "sha256": "1myhdhb3kwq03f3p7qgb9bk8srs1wlag4ch4kl26yb9213mzx8gv"
+   "commit": "17e4ab20dd3e36fa540007b4f4047170c23bdb10",
+   "sha256": "1xr7sq7pvvdw9prf2vds048s5s7fq1s0cxs21sxdc54sszy17nsg"
   },
   "stable": {
    "version": [
     0,
-    22
+    23
    ],
    "deps": [
     "package-lint"
    ],
-   "commit": "fce93b7edf4e971b2cbe3425c1d773ffe0aa8a62",
-   "sha256": "1myhdhb3kwq03f3p7qgb9bk8srs1wlag4ch4kl26yb9213mzx8gv"
+   "commit": "17e4ab20dd3e36fa540007b4f4047170c23bdb10",
+   "sha256": "1xr7sq7pvvdw9prf2vds048s5s7fq1s0cxs21sxdc54sszy17nsg"
   }
  },
  {
@@ -94330,14 +94441,14 @@
   "repo": "tarsius/paren-face",
   "unstable": {
    "version": [
-    20240101,
-    2224
+    20240415,
+    1547
    ],
    "deps": [
     "compat"
    ],
-   "commit": "d36fab3529aa3e046493ec373f2c080874cc184f",
-   "sha256": "1kliaybdcgfs6wadxggb8r82vdnhfa39aar3f8i9vq6w21ljdr4r"
+   "commit": "0cad6a4657ebfcdd2902746b99f01fea7cc05bd7",
+   "sha256": "17r70dwlg23kpv2dx4j7bs3pshisgz1j8k70vv3izyq0qg0n6vlp"
   },
   "stable": {
    "version": [
@@ -94384,20 +94495,20 @@
   "repo": "justinbarclay/parinfer-rust-mode",
   "unstable": {
    "version": [
-    20240319,
-    1546
+    20240419,
+    415
    ],
-   "commit": "3e95b19cd1e0ec5a8f92ea0a4a1f74ce6a8997ba",
-   "sha256": "0rkrn8imvi9vk6vi3wgv0a6zgxvw5jjvj58h5n79maw13rzdnwzf"
+   "commit": "823188f3d8d1f00693c3d1d754e58ad95ad0a8dd",
+   "sha256": "0cfn4na6xrapc096yyqs0kw8ni7ls49fds9k92ahlr67919m437v"
   },
   "stable": {
    "version": [
     0,
     8,
-    5
+    6
    ],
-   "commit": "3e95b19cd1e0ec5a8f92ea0a4a1f74ce6a8997ba",
-   "sha256": "0rkrn8imvi9vk6vi3wgv0a6zgxvw5jjvj58h5n79maw13rzdnwzf"
+   "commit": "39f588e3f58ef1a8a301c031f831b8f74fbb3ec1",
+   "sha256": "1pr4dqzawgqid2aws31zxnlf3363bgnj7djav324b5q2xic5qfy7"
   }
  },
  {
@@ -94672,6 +94783,30 @@
   }
  },
  {
+  "ename": "password-menu",
+  "commit": "4881eb8662e068c32776e63306c26c982c170e0e",
+  "sha256": "0qk6c1j5sj4b5xkpl4xx5g3g4l7cavbjfc177mc5s5b31lmr3kwj",
+  "fetcher": "github",
+  "repo": "rnadler/password-menu",
+  "unstable": {
+   "version": [
+    20240407,
+    2241
+   ],
+   "commit": "46fb7241f7ee8ff646b9a3ea1b3138031de1c0d6",
+   "sha256": "07ksbdzb17pmdgyrk77wf3nr5pn9y95jf8c1hmdi4bifvhqyr4c6"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "commit": "46fb7241f7ee8ff646b9a3ea1b3138031de1c0d6",
+   "sha256": "07ksbdzb17pmdgyrk77wf3nr5pn9y95jf8c1hmdi4bifvhqyr4c6"
+  }
+ },
+ {
   "ename": "password-mode",
   "commit": "28dafa392a378e7de2c6992fe17b33f6379dc6b8",
   "sha256": "1rxh6jg99qxagc6i2xgvswvw93h4ma7j8lhjr4ln44vbgyhzph11",
@@ -95260,15 +95395,15 @@
   "repo": "vedang/pdf-tools",
   "unstable": {
    "version": [
-    20240317,
-    848
+    20240411,
+    1703
    ],
    "deps": [
     "let-alist",
     "tablist"
    ],
-   "commit": "93e74924517d39483b432d6c3c9b8f8b8f0eb50c",
-   "sha256": "1js123pg2qbq5ql1hc7lwzrs4wqcdghsypvvwsm1qm9mi017g1h6"
+   "commit": "94e9f20a78f64a83daf641891923681a52d03919",
+   "sha256": "0gz20v97aaf7mny029xwypnagy6cm20hh4slcsfhcd0s9dvdqfsl"
   },
   "stable": {
    "version": [
@@ -95759,14 +95894,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20240218,
-    437
+    20240414,
+    359
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "460311b6e76f33de947908da74b6cbf66118d487",
-   "sha256": "13h83c4xn1xq29w24bgpkycacxswn34mdyx2lav5czwkmyi16ri8"
+   "commit": "ec48cb3bdda8c5ea12da89a12aa925ed1905a0b7",
+   "sha256": "1hg059nnyarnkx0wh1vl7qkdaqb2p7ifk9ciz35s6ffnc242jas5"
   },
   "stable": {
    "version": [
@@ -95948,19 +96083,19 @@
   "repo": "emarsden/pg-el",
   "unstable": {
    "version": [
-    20240314,
-    1247
+    20240414,
+    1912
    ],
-   "commit": "686dbe8cc7a94c65faf933695093645e53aa3318",
-   "sha256": "18v03ix5vg8a8w2ic5gik052p15d2mgnb112dvnxba69dyz6vsm3"
+   "commit": "4b71a337fedf16678e546fa8d1df0ea496762f40",
+   "sha256": "0m1pcabz5mxxxsk0ixw8388q9fkbydkj64mnzn371a9jxdl16b0v"
   },
   "stable": {
    "version": [
     0,
-    30
+    32
    ],
-   "commit": "bca35bd60fde1f561e21080768017f6727469d88",
-   "sha256": "1g04izsnvxinbwvzx0sj643ix5jlwdd7dkl61nvaqkkkm3g35jp6"
+   "commit": "4b71a337fedf16678e546fa8d1df0ea496762f40",
+   "sha256": "0m1pcabz5mxxxsk0ixw8388q9fkbydkj64mnzn371a9jxdl16b0v"
   }
  },
  {
@@ -96426,8 +96561,8 @@
   "repo": "emacs-php/phpactor.el",
   "unstable": {
    "version": [
-    20221023,
-    608
+    20240407,
+    1500
    ],
    "deps": [
     "async",
@@ -96435,8 +96570,8 @@
     "f",
     "php-runtime"
    ],
-   "commit": "dde09addf36017527441a855054406f8ffc4e534",
-   "sha256": "11jah2d520qqyfil2qbhblph233a9wjwzbhpc7yzhbqdm29pr9vr"
+   "commit": "1916e35e08d746a6ff8a2cd88ae43bdb6842feab",
+   "sha256": "0c9diqgy8v0bcx5011z2sd0q7s2xn2f4y7mpgv0x5fi0qh2a1mw1"
   },
   "stable": {
    "version": [
@@ -97619,17 +97754,17 @@
   "repo": "alphapapa/pocket-lib.el",
   "unstable": {
    "version": [
-    20190720,
-    1957
+    20240407,
+    2247
    ],
    "deps": [
     "dash",
     "kv",
-    "request",
+    "plz",
     "s"
    ],
-   "commit": "f794e3e619e1f6cad25bbfd5fe019a7e62820bf4",
-   "sha256": "0iv03wjwmz0di8n5bndmq5r18r1pq999v1scyay0jm1cxlksqafg"
+   "commit": "b13c899223a15481738c3105f07ee2205dcc937c",
+   "sha256": "0b5451fwsjqb603mmgw6kpd8w4gvndg3fxbdb44ib2245ynr5mms"
   },
   "stable": {
    "version": [
@@ -97672,8 +97807,8 @@
   "repo": "alphapapa/pocket-reader.el",
   "unstable": {
    "version": [
-    20230904,
-    539
+    20240407,
+    2303
    ],
    "deps": [
     "dash",
@@ -97683,11 +97818,10 @@
     "ov",
     "peg",
     "pocket-lib",
-    "rainbow-identifiers",
     "s"
    ],
-   "commit": "ef6b6892ef13eff3479d79c7f6bc918dd0444e88",
-   "sha256": "10zlalqmdrdp46i2hxk1gf0wdqv74x99qq91a8acqjx30jnld9j6"
+   "commit": "cb9f6b108ebd3a67f77fb75d85351ffb3b0bb3d4",
+   "sha256": "0d0mfagx43sqrfyshnwm4acvh6h06jl6l11nvppqhb2hdrrdx0ia"
   },
   "stable": {
    "version": [
@@ -97774,29 +97908,28 @@
   "repo": "cybniv/poetry.el",
   "unstable": {
    "version": [
-    20240103,
-    947
+    20240329,
+    1103
    ],
    "deps": [
     "pyvenv",
     "transient"
    ],
-   "commit": "ca2cffb0b174e9d814ad95178af84b525dd2b64d",
-   "sha256": "18vl4fzgf97grz8r6sj1m3brr2cd6jcf5y60v4jhnllwkjfnx52i"
+   "commit": "1dff0d4a51ea8aff5f6ce97b154ea799902639ad",
+   "sha256": "0n5v6c75pal2xd8p453jrd046zkv0y1pzgn5w2n2ws1009pw6crs"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
-    "cl",
-    "transient",
-    "xterm-color"
+    "pyvenv",
+    "transient"
    ],
-   "commit": "6fb34742a66421c6104e02d65e8d391fc4494ab5",
-   "sha256": "0hdicdskf928s7qdlzxq25ibfmwi8llmyhy1bj2py56wr2qv3cfy"
+   "commit": "2cbc690c8c1153e578ecb376367d355a7669f9ec",
+   "sha256": "1b473vpj5ac9pgkcgqgjqska5g6gr81djvixphb9r58334wyr9d2"
   }
  },
  {
@@ -97912,34 +98045,32 @@
   "repo": "mavit/poly-ansible",
   "unstable": {
    "version": [
-    20220113,
-    1656
+    20240418,
+    1123
    ],
    "deps": [
     "ansible",
     "ansible-doc",
     "jinja2-mode",
-    "polymode",
-    "yaml-mode"
+    "polymode"
    ],
-   "commit": "6d74fe80b7e61a35aa0fa36a520eaf5c9c027c51",
-   "sha256": "0idzq8fyspzfq3nwcn58k01rlqrqyywx2732ld994slmiwgyggas"
+   "commit": "5c4423671c051db26a48de72773abdf2395bb6aa",
+   "sha256": "0fmbxhn8cbfdad37m1jssm1jblia0b4fzdv89lrz0k5wqyzlkz4g"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "ansible",
     "ansible-doc",
     "jinja2-mode",
-    "polymode",
-    "yaml-mode"
+    "polymode"
    ],
-   "commit": "d76f6ec2374ec46ad78f2d0c3e1d1d91ee44c2bf",
-   "sha256": "0f0yq6gmkp194nxk90ipprglf1xkmxrgz1rkgrhfslvxq4q2l81h"
+   "commit": "5c4423671c051db26a48de72773abdf2395bb6aa",
+   "sha256": "0fmbxhn8cbfdad37m1jssm1jblia0b4fzdv89lrz0k5wqyzlkz4g"
   }
  },
  {
@@ -98695,11 +98826,11 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20230714,
-    227
+    20240426,
+    604
    ],
-   "commit": "017deece88360c7297265680d78a0bb316470716",
-   "sha256": "1gv46z6dyy04ivd2sbsifmr140gxv16dbwfzmxj1q9gvhlxxnxc8"
+   "commit": "468ac1ab50d7e0feae2c06f12596bbc169f2abe4",
+   "sha256": "10q76iggl3hpdhwzm48kadn129i2567fjnpxid8kxmqffk712k8y"
   },
   "stable": {
    "version": [
@@ -98962,8 +99093,8 @@
   "repo": "blahgeek/emacs-pr-review",
   "unstable": {
    "version": [
-    20240206,
-    414
+    20240426,
+    1202
    ],
    "deps": [
     "ghub",
@@ -98971,8 +99102,8 @@
     "magit-section",
     "markdown-mode"
    ],
-   "commit": "5294434883aa61f24ca6d2768a83ca924645a186",
-   "sha256": "1jbq0z5vz8isc41144iy7i72hk6njnxz068cmpb7gxcs9jdxvg6n"
+   "commit": "0a15e3616de643abd18c51da601f72ea4d88256b",
+   "sha256": "0dljczzvhirmwbnrpza982anfb5bsxw2g1jwi1pgxmjawvn8z7n7"
   }
  },
  {
@@ -99847,14 +99978,14 @@
   "repo": "TxGVNN/project-tasks",
   "unstable": {
    "version": [
-    20240321,
-    340
+    20240408,
+    611
    ],
    "deps": [
     "project"
    ],
-   "commit": "2db15b1dd88a92d51890ed1b6ab1007ec09c30a4",
-   "sha256": "1zapqprbfw99jv0kii1ajwlz9ix9d7w66lf8l67h7nzqls5pqi3j"
+   "commit": "87852d5290154e21cbb07b2685fa46edc4963977",
+   "sha256": "0f50panks1j9yzfwwizk85al00lp46lpc1r0s18j3gx7bda588xg"
   },
   "stable": {
    "version": [
@@ -100160,8 +100291,8 @@
   "repo": "mohkale/projection",
   "unstable": {
    "version": [
-    20240317,
-    1257
+    20240421,
+    1410
    ],
    "deps": [
     "compat",
@@ -100169,8 +100300,27 @@
     "project",
     "s"
    ],
-   "commit": "20548689eead0a86fcc921491047f392fd6b120f",
-   "sha256": "02ncfcbkwj933crrhca5wmfv55qpsc7szjvbdapkazzg5j4gqmlr"
+   "commit": "d0aa74fbe08d7e28b95a0d2006399565f51655ef",
+   "sha256": "1j02vy7s10c8ddhfclj66xfnk34rb5paf2hzjm9lnpn4krif64wm"
+  }
+ },
+ {
+  "ename": "projection-dape",
+  "commit": "9b114dafe3799c768dbae169df34397c88fee651",
+  "sha256": "0ggq1jr46am1qlf934vc431bjwpyvw8pasg6n9p9b16hc77r1i1x",
+  "fetcher": "github",
+  "repo": "mohkale/projection",
+  "unstable": {
+   "version": [
+    20240325,
+    1931
+   ],
+   "deps": [
+    "dape",
+    "projection"
+   ],
+   "commit": "68abb9dfab5e85daa31961be10362ca02effeeeb",
+   "sha256": "1zksskn924v4la718326gyafwgmlbrrj6k78wrv422a1n9wrq0s2"
   }
  },
  {
@@ -100375,11 +100525,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20240306,
-    2002
+    20240425,
+    939
    ],
-   "commit": "a6f8243ed2860cc7c9cb051496f1543d981e9f7e",
-   "sha256": "0fdzak693zb5lndxkdgb8af5hpichgkhhpxnl6pcnd1r6v01ahnr"
+   "commit": "6cace58d0d632c4eafa18959319a484fb5c07238",
+   "sha256": "128ixkmfjs4g83r00fvj7wp0azgmmabkhhhv8mqqm7zbj9rii611"
   },
   "stable": {
    "version": [
@@ -100488,10 +100638,10 @@
   "stable": {
    "version": [
     26,
-    0
+    1
    ],
-   "commit": "d6511091a0cab1ad13f676a02676ad2a0e5eb9ae",
-   "sha256": "0qi72mfwck0a3iwzvacl497bmz872pyzrdgya0w47r29y65z0m3g"
+   "commit": "2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5",
+   "sha256": "1n7w40wypayplykxhknm6sljzbfbm64mg1zysrjidac3hwqkxh7n"
   }
  },
  {
@@ -100929,7 +101079,7 @@
     2031
    ],
    "commit": "d76c5d5589a4f8a94cc5537686d9a3b46ea7cc59",
-   "sha256": "1bkkgs2agy00wivilljkj3a9fsb2ba935icjmhbk46zjc6yf3y6q"
+   "sha256": "03872n1v5qqqblviq9sf2ml6ibs50mcjrh0i35sb0m7l202nh52b"
   },
   "stable": {
    "version": [
@@ -100937,7 +101087,7 @@
     8
    ],
    "commit": "708cae8e67dbae293c7c4be0ca5e49d76fac6714",
-   "sha256": "1bkkgs2agy00wivilljkj3a9fsb2ba935icjmhbk46zjc6yf3y6q"
+   "sha256": "1v48i37iqrrwbyy3bscicfq66vbbml4sg0f0n950bnk0qagjx8py"
   }
  },
  {
@@ -101172,11 +101322,11 @@
   "repo": "ideasman42/emacs-py-autopep8",
   "unstable": {
    "version": [
-    20231025,
-    2256
+    20240421,
+    840
    ],
-   "commit": "3e3f6c182455bf85284cda7f4ffe639444b84940",
-   "sha256": "05xqdja61p3c3sx836z3c1jjbm0ih2mrw13qnkp2hhh3ahyz2qql"
+   "commit": "3b103f2a99a71c4b4733689d074f895b2606fbe4",
+   "sha256": "0zmpbg1zi66mx9r1nbzkx0nkimzhfzvhfcl8cjfffbpqpikpw50w"
   },
   "stable": {
    "version": [
@@ -101841,10 +101991,10 @@
  },
  {
   "ename": "python-cell",
-  "commit": "0549866c5e96f673ec9dec298e7ff9d5779d443b",
-  "sha256": "07i3vyci52jvslq28djwkgx1r157wvxd99rvqlxnmmsl5yj4k1jf",
+  "commit": "3c7664b33aad6a03e3482bbed57bf5b9878361a8",
+  "sha256": "13sm5nq14ds1cbv144vrbrj2crghkrsy6vywxg8m3av833n4ijmv",
   "fetcher": "github",
-  "repo": "thisch/python-cell.el",
+  "repo": "twmr/python-cell.el",
   "unstable": {
    "version": [
     20240126,
@@ -102038,7 +102188,7 @@
     0
    ],
    "commit": "906b0a107f7bcfe6e32bcfedb977e6f0f99fda59",
-   "sha256": "17clkgs94dgq5nsjlwkr52m5s446ibfss3qc8a8m0zaz6j4f8l1m"
+   "sha256": "0d7hc2llr9dkjyfgyyjb2k72rny0j395a29pqgqgqyrwcn8b1py1"
   }
  },
  {
@@ -102049,8 +102199,8 @@
   "repo": "wbolster/emacs-python-pytest",
   "unstable": {
    "version": [
-    20240314,
-    1038
+    20240416,
+    1128
    ],
    "deps": [
     "dash",
@@ -102058,8 +102208,8 @@
     "s",
     "transient"
    ],
-   "commit": "46fd006462258a3366723fafacdf2db6a6ae689d",
-   "sha256": "1ahpzay6gbxrcin4ldcp1sm17fcvg94n729haj3zgcalsmhjlx90"
+   "commit": "9f850e22df93812a5b109968c549f9b3dd828ed1",
+   "sha256": "1f5b7ffcpmry2xiphclc4vv1zqva9rrhn08fgjq8qhdq3x0i5jah"
   },
   "stable": {
    "version": [
@@ -102155,7 +102305,7 @@
     "python"
    ],
    "commit": "e606469aafec2e6beda8c589540b88a5a6f6f33f",
-   "sha256": "0vyipfsppissa87pdnbksamdby0yl2q8nzawqivv6smn33jp6vsn"
+   "sha256": "00i7cc4r7275l22k3708xi4hqw2j44yivdb1madzrpf314v3kabr"
   }
  },
  {
@@ -102752,11 +102902,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20240319,
-    2002
+    20240418,
+    1446
    ],
-   "commit": "fd3e3ddf12aef6d7661b5a2c0f70afc7107b7fd9",
-   "sha256": "15ciqhns9q6gqv8wxjd71mijacpsi3lg4f1hqy8z58r7gzjr8av7"
+   "commit": "d5f4007fd2c2604673125035f4852dce1b639b33",
+   "sha256": "0di1xb89i6r9lxc86ny53f7w7pqqd0r21qrf663jkjxlakhbwjzk"
   }
  },
  {
@@ -103365,19 +103515,19 @@
   "repo": "simenheg/rdf-prefix",
   "unstable": {
    "version": [
-    20230321,
-    1949
+    20240403,
+    1710
    ],
-   "commit": "70d1ef453fc55f0bfbb4bd3127112332e5b0f623",
-   "sha256": "1jbbaq9h9k2gacrd0kwsav0s5w682wdxgs6pkj9d3c0zg5c3m8mk"
+   "commit": "c591608d12278b293a14c27ab2df72a269eb535d",
+   "sha256": "144syl2rcvnnys6agzac962skiwl1xkm1xfkqsgb01ivflb2bx3c"
   },
   "stable": {
    "version": [
     1,
-    13
+    14
    ],
-   "commit": "70d1ef453fc55f0bfbb4bd3127112332e5b0f623",
-   "sha256": "1jbbaq9h9k2gacrd0kwsav0s5w682wdxgs6pkj9d3c0zg5c3m8mk"
+   "commit": "c591608d12278b293a14c27ab2df72a269eb535d",
+   "sha256": "144syl2rcvnnys6agzac962skiwl1xkm1xfkqsgb01ivflb2bx3c"
   }
  },
  {
@@ -103976,11 +104126,11 @@
   "repo": "ideasman42/emacs-recomplete",
   "unstable": {
    "version": [
-    20230910,
-    1154
+    20240422,
+    15
    ],
-   "commit": "4c9002938fa0480c68e22b86c20d20cea6396ce6",
-   "sha256": "09ipia5rp787xxmz5chv9d86g2jjbkz92v1aqz3nkf2avrl8f8il"
+   "commit": "9b4ab842e37eed9b8314ba81b4eac49beeea8c1c",
+   "sha256": "1m9cz4g672wzsf2np7lzksgxl75bc790nq51gy97qrsjbwn6gj99"
   }
  },
  {
@@ -104428,11 +104578,11 @@
   "repo": "alvarogonzalezsotillo/region-occurrences-highlighter",
   "unstable": {
    "version": [
-    20231122,
-    1110
+    20240417,
+    2146
    ],
-   "commit": "f9ad995553be1e6dd70540d7ab1ca0be3077438e",
-   "sha256": "0nqg4mr9218avv6yfpgzcr8ah2y9sq9bfpkdavsiaj3ispa0fhhd"
+   "commit": "a1ade7985656faf00f8a6afda885e8bdf959d133",
+   "sha256": "01j8i1z6mf7c2g59yzx6hrd799pxk6rdq2dvsl1r0bppgi5kv8dy"
   }
  },
  {
@@ -104825,26 +104975,26 @@
  },
  {
   "ename": "repo",
-  "commit": "1729d4ea9498549fff3594b971fcde5f81592f84",
-  "sha256": "0z4lcswh0c6xnsxlv33bsxh0nh26ydzfl8sv8xabdp5a2gk6bhpb",
+  "commit": "8438830e9048bc93cb30e1bc01368f44e978714e",
+  "sha256": "003brbwi5l9wsap74f75v2x0ngdkpks43xq5lhvix0795kcsf83s",
   "fetcher": "github",
-  "repo": "canatella/repo-el",
+  "repo": "snogge/repo-el",
   "unstable": {
    "version": [
-    20240119,
-    859
+    20240425,
+    1307
    ],
-   "commit": "a257b3f8f47fbb4fc7d5dea967dc543e01c58fee",
-   "sha256": "084d968fgf79vas4jjmm0rmvaf2d4zqxd6c63s2xzcxql1byybzn"
+   "commit": "1572f3ee82eaadc06e741f03e1889281308c79fa",
+   "sha256": "0y8j3hf5r69fxj2vsbaxwr9qdchddn53w25xzmxv1kfh6hbagzv3"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "7b3ce731f1209d74113cb65a2d6aa6f54ce8ed27",
-   "sha256": "0jgiawdnzjlrpx2j1y6djwbqncdpmyfd31q1qf1890049y8ppxnb"
+   "commit": "1572f3ee82eaadc06e741f03e1889281308c79fa",
+   "sha256": "0y8j3hf5r69fxj2vsbaxwr9qdchddn53w25xzmxv1kfh6hbagzv3"
   }
  },
  {
@@ -105140,6 +105290,68 @@
   }
  },
  {
+  "ename": "retraction-viewer",
+  "commit": "5d4b3aba837a2d8470f0ffbb7289b06519329d8d",
+  "sha256": "1xvhqapkykka6x697zzjb2x9664fa70f3g6imd5aqmliwb2j956x",
+  "fetcher": "sourcehut",
+  "repo": "swflint/retraction-viewer",
+  "unstable": {
+   "version": [
+    20240419,
+    1316
+   ],
+   "deps": [
+    "plz"
+   ],
+   "commit": "280fbb60c44a184e0060640966ad9ddc80602e21",
+   "sha256": "0a9zrlhb943ni4bqc9ma8f2wx0y7vp51jmmf8b0kgy82yx8m6blq"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    4
+   ],
+   "deps": [
+    "plz"
+   ],
+   "commit": "87efb813a0dd3b320299d771779e68efe4344cf0",
+   "sha256": "0kmhmak47c9ffi0wc21k1qrq8gxgdzv064s38vzfw67781d6mi8a"
+  }
+ },
+ {
+  "ename": "retraction-viewer-section",
+  "commit": "5d4b3aba837a2d8470f0ffbb7289b06519329d8d",
+  "sha256": "114ngh654q0mdxavmpqrkmwr98ivw0cxdn07a1mgvfb0mcfrr2za",
+  "fetcher": "sourcehut",
+  "repo": "swflint/retraction-viewer",
+  "unstable": {
+   "version": [
+    20240419,
+    837
+   ],
+   "deps": [
+    "retraction-viewer",
+    "universal-sidecar"
+   ],
+   "commit": "87efb813a0dd3b320299d771779e68efe4344cf0",
+   "sha256": "0kmhmak47c9ffi0wc21k1qrq8gxgdzv064s38vzfw67781d6mi8a"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    4
+   ],
+   "deps": [
+    "retraction-viewer",
+    "universal-sidecar"
+   ],
+   "commit": "87efb813a0dd3b320299d771779e68efe4344cf0",
+   "sha256": "0kmhmak47c9ffi0wc21k1qrq8gxgdzv064s38vzfw67781d6mi8a"
+  }
+ },
+ {
   "ename": "retrie",
   "commit": "12ed1c6d8e2aa4f73b793f9e16e8e13985fae944",
   "sha256": "1y0zknhc2wkq6kpmz2bylwqla1xd7n7l3650zj2bi8g84ly777af",
@@ -105313,11 +105525,11 @@
   "repo": "ideasman42/emacs-revert-buffer-all",
   "unstable": {
    "version": [
-    20230109,
-    536
+    20240421,
+    836
    ],
-   "commit": "08e90d2d75f5d5900ca2a0d2670592bcf2b2d68f",
-   "sha256": "0yiki0vlxa7xkw19c4gwf5cxl32bhd2nm6ibpfamsh145gq4i8g7"
+   "commit": "d49462047ebb442d7872f12007380797ee49473c",
+   "sha256": "0qhkvrbhsvw3vwawj47xb23i11i1pkcypcmn4r4fy65qcpzjm12g"
   }
  },
  {
@@ -105433,7 +105645,7 @@
     1940
    ],
    "commit": "4aab5a5be16b69b47ef5e67d02782df5e41dbd7b",
-   "sha256": "1zq4nnp3yqv46129kazm76bvdqvjjhlrfg95bkdxvkd7qrdjc9a3"
+   "sha256": "1pancvhm4g4010814jy1cdhdrjh5hlig2j31fcsa5jn331d7rj6g"
   },
   "stable": {
    "version": [
@@ -105442,7 +105654,7 @@
     0
    ],
    "commit": "4aab5a5be16b69b47ef5e67d02782df5e41dbd7b",
-   "sha256": "1zq4nnp3yqv46129kazm76bvdqvjjhlrfg95bkdxvkd7qrdjc9a3"
+   "sha256": "1pancvhm4g4010814jy1cdhdrjh5hlig2j31fcsa5jn331d7rj6g"
   }
  },
  {
@@ -105590,7 +105802,7 @@
     0
    ],
    "commit": "c7c6b726806df7e8cb25a41b213a207850c91cb7",
-   "sha256": "18rba101m9vmjl4mf3x0k7wvbgn6qmay9la745vzpr3lx1f4nn98"
+   "sha256": "0p044wg9d4i6f5x7bdshmisgwvw424y16lixac93q6v5bh3xmab5"
   }
  },
  {
@@ -105787,7 +105999,7 @@
     "web-mode"
    ],
    "commit": "6cf58cf04fee933113857af07414b3f27c24b505",
-   "sha256": "0b3gqs1lsk80shirsc41zajzjbg1sgzksmnfazffx88h612p7ygd"
+   "sha256": "0s3hs0w6hz8vx4172mfraiqfjhd1a9h1w61ra6fklc5fjf3y8pn8"
   },
   "stable": {
    "version": [
@@ -105799,7 +106011,7 @@
     "web-mode"
    ],
    "commit": "6cf58cf04fee933113857af07414b3f27c24b505",
-   "sha256": "0b3gqs1lsk80shirsc41zajzjbg1sgzksmnfazffx88h612p7ygd"
+   "sha256": "0s3hs0w6hz8vx4172mfraiqfjhd1a9h1w61ra6fklc5fjf3y8pn8"
   }
  },
  {
@@ -105855,26 +106067,26 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20240319,
-    254
+    20240327,
+    308
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "863dcfc41e15200e476995586c2aa7bc9cabc5c8",
-   "sha256": "02s2kp7nh924i2iwys1q3yx4zgwj9hxnfl0x3ny5lzz8j2ijb3vn"
+   "commit": "e8c86ee553589ff03418102426420b5049d4a044",
+   "sha256": "070r79mdydhv6l7mia7xshzmp0jgvkfjvnpgg361m5xs92mprxfr"
   },
   "stable": {
    "version": [
     0,
     8,
-    4
+    6
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "34ce25eb9b1956389276adeca93b679bf0a84451",
-   "sha256": "0kvyfyr4b0z0l964a8z9shy8nlnxzxc2ljcc02gj2pn1rn1wz0gq"
+   "commit": "43a85c2eb6e52f4e684919210dd84d67289938c1",
+   "sha256": "14apmvbs89si3v5hsiz11dckp8fdfidm14lc090lswq7mgk7h79s"
   }
  },
  {
@@ -106057,7 +106269,7 @@
     4
    ],
    "commit": "71e475ab35555e0a1eca26d73acf1ced911e422e",
-   "sha256": "0y18i4ly61jyvxymvgjr99arhxfn5y5s659jnqf4gvyp3d671dkf"
+   "sha256": "0x3mmf4gq4d0cqfqbkrrpwhayvmplacck0zc9nlzcn35y17jzpcz"
   }
  },
  {
@@ -106086,8 +106298,8 @@
   "repo": "mbeutelspacher/ros.el",
   "unstable": {
    "version": [
-    20231212,
-    729
+    20240328,
+    855
    ],
    "deps": [
     "cl-lib",
@@ -106100,8 +106312,8 @@
     "transient",
     "with-shell-interpreter"
    ],
-   "commit": "66e0cc154dc7d8ae105f2c95ed9f6a16445945d0",
-   "sha256": "1c5c8678vclr7z9jgfyr67cz77ny810vybimx3bgxflanh9w102a"
+   "commit": "7ddba9077b3bc48074c8fac72159368bb612c42b",
+   "sha256": "0hbqnn5hwq6ssn57c248bkv1mxpx6lchfv5r4hk2xdl9v7d2aav0"
   }
  },
  {
@@ -106728,11 +106940,11 @@
   "repo": "ideasman42/emacs-run-stuff",
   "unstable": {
    "version": [
-    20230601,
-    19
+    20240421,
+    807
    ],
-   "commit": "65afd896896a68e6262187745f5e3ac5145ba1ed",
-   "sha256": "0dk24izzkg01rm2cyrq1iwmrdcsfpzzyrplz1njhmwhpq9ys65iz"
+   "commit": "518ffa247bc71e31514d9e90257107da32f94939",
+   "sha256": "0rcdsia5kvmw1fxrydg18yg976axm1ki7vsg80binafb1p47s6rm"
   }
  },
  {
@@ -106843,11 +107055,11 @@
   "repo": "rust-lang/rust-mode",
   "unstable": {
    "version": [
-    20240313,
-    157
+    20240415,
+    936
    ],
-   "commit": "87bf4ea711456c858445ec4c22b3552fd796708d",
-   "sha256": "16sc646nc54fnr52y5zrgpcr4rb7isbmc9gf8fd164k2x64h8gv0"
+   "commit": "e54bbae8c4c2af580b5721ad5ac151f2ad19293e",
+   "sha256": "1vzgyizvn3p7f1p8awnlm4n2fh7b6j3cs636zyqpqck32x4pdqda"
   },
   "stable": {
    "version": [
@@ -107448,11 +107660,11 @@
   "repo": "hvesalai/emacs-sbt-mode",
   "unstable": {
    "version": [
-    20240208,
-    626
+    20240404,
+    1105
    ],
-   "commit": "bcf8d6040021013430b39d6f6766ce1aab0b691a",
-   "sha256": "0mfa8qlv4hgqsfxci7ikmfjy9kns67v21k9laa9kbphzxm82qp21"
+   "commit": "cc68728a6ef0600aad369157b3a2d0ce56afba9b",
+   "sha256": "0378c40mx6yfv9cz14sbhck8c1xm4wbj2l7jr0xbq1zj7sp1frc8"
   },
   "stable": {
    "version": [
@@ -107543,11 +107755,11 @@
   "repo": "KaranAhlawat/scala-ts-mode",
   "unstable": {
    "version": [
-    20240309,
-    1136
+    20240420,
+    1150
    ],
-   "commit": "0a34b23b3b71be1e0ce307df873434c08408fc57",
-   "sha256": "0dzzygq4cfckmwr7a5lhr140kyy45z15q02r4c9kaxz9cjg4zdvf"
+   "commit": "d9424fa74acf930664c43d4c9f9625d8bfdd4d21",
+   "sha256": "0sc2sx3pgifcnd2zw7nvk3f8z3v1zh2q94d9rnlayvwr6y4cnlq4"
   }
  },
  {
@@ -107890,11 +108102,11 @@
   "repo": "ideasman42/emacs-scroll-on-drag",
   "unstable": {
    "version": [
-    20230313,
-    546
+    20240421,
+    803
    ],
-   "commit": "179c2acecc48d3ceca4b449b2a225d684002bb32",
-   "sha256": "0v7d4mrsvckbb66kvskfb9rfrhg8p0zbkr6jqdspfl1p3x8zs2nk"
+   "commit": "f1a39a34f6ba350bcb6fe5927584d6e1cbaf72e5",
+   "sha256": "1igr324vhzl19z7crw5v8g0zc5wznqjdnx1fq3jxqjmq3185a9d6"
   }
  },
  {
@@ -107905,11 +108117,11 @@
   "repo": "ideasman42/emacs-scroll-on-jump",
   "unstable": {
    "version": [
-    20240204,
-    1217
+    20240421,
+    905
    ],
-   "commit": "c079d9321646bf4fd65b684fcd130cc4833c2e43",
-   "sha256": "0isisg0pkl8hl0xd310jbmflyga1sy1a5sdd673py9jmz5nbiz00"
+   "commit": "b89127aa03a1add43017493c51f1f09b775bc92c",
+   "sha256": "1i3hq9lhb0rsq3ccwkaw151bk4gb68d0vwzwklxwaz4yx2np9rn8"
   }
  },
  {
@@ -108006,20 +108218,20 @@
   "repo": "precompute/sculpture-themes",
   "unstable": {
    "version": [
-    20230905,
-    439
+    20240424,
+    1715
    ],
-   "commit": "7165c7655873ca3c3dc9ff878ddf8a9bdabcf4d4",
-   "sha256": "0w1jx2033nrki4r9yw2hwg4rvsqq3jj1als0im6ia1rk1x8fxqq8"
+   "commit": "723a3b348e9970e3f85910bdf319925c4f241a7d",
+   "sha256": "1nr1zd651mjgqaqfbmmn8l06iylszcn5qcrfswq9l5p3znm0d1x9"
   },
   "stable": {
    "version": [
     1,
-    4,
-    3
+    5,
+    1
    ],
-   "commit": "a21871b75cc7cb575ceb43640d039307fbb412e1",
-   "sha256": "0ki45bvc93p76mxpsm5pyknqgf67xz6c122yssps1hcxhdazij5v"
+   "commit": "723a3b348e9970e3f85910bdf319925c4f241a7d",
+   "sha256": "1nr1zd651mjgqaqfbmmn8l06iylszcn5qcrfswq9l5p3znm0d1x9"
   }
  },
  {
@@ -108160,7 +108372,7 @@
     "s"
    ],
    "commit": "91c56311b48a26aa6ef5a113b0a828e174059b0a",
-   "sha256": "10ikd6ksz5adpldyx9h8s3qnwc488rqixzwnd0rjjwqigmllj9lb"
+   "sha256": "1iyq8m75gzyx2ww919i4zl63gajsaczgwax214a1jgf8x91j590k"
   }
  },
  {
@@ -108318,14 +108530,14 @@
   "repo": "captainflasmr/selected-window-accent-mode",
   "unstable": {
    "version": [
-    20240209,
-    1230
+    20240427,
+    833
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "e83efa67c4a9d1935c657a15b4487102cb6655de",
-   "sha256": "14i8h50n49mw9960vlsahzf1rbn1mj9400gapil9id9q2xysdpmd"
+   "commit": "79397e634a89c5e16de1d317f735aafe75c78aea",
+   "sha256": "0dwb4j62n13dg8kl2maci1668v0nsnc55xfjfva3wm5singb72zl"
   },
   "stable": {
    "version": [
@@ -108426,14 +108638,14 @@
   "repo": "jerryxgh/semantic-thrift",
   "unstable": {
    "version": [
-    20230711,
-    958
+    20240415,
+    1206
    ],
    "deps": [
     "thrift"
    ],
-   "commit": "87029282bd59cbba6ae815c0b1a207f02813f5dc",
-   "sha256": "0bvwj401ixc9zclsm0xzkrw62jrsa24dsrgpb6fyra91rvnmwm27"
+   "commit": "a2ff23acc72f7955a485e08e2819d4892d5e6dca",
+   "sha256": "0d5qb2s6hcsn6937p3fj4kayyyfn5i9fms117gh5x1iirkis9cg8"
   }
  },
  {
@@ -108851,11 +109063,11 @@
   "repo": "vspinu/sesman",
   "unstable": {
    "version": [
-    20240115,
-    2143
+    20240417,
+    1723
    ],
-   "commit": "ec7390c0d0fb8b278aa06848634f922bc893de31",
-   "sha256": "1is8ny27xzlx2shhps75xi0hdipkj7jphbsl1bgzwvmln9jqfd9v"
+   "commit": "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022",
+   "sha256": "1gl2dv7smyxkga4b5dflahqhasw9k15ppc4s0py29454p5k861yi"
   },
   "stable": {
    "version": [
@@ -109000,14 +109212,14 @@
   "url": "https://depp.brause.cc/shackle.git",
   "unstable": {
    "version": [
-    20211118,
-    1129
+    20240402,
+    1315
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f1467db75a8fa5d51c676181fb308ccbf7b05e6f",
-   "sha256": "00dsk1v7rqj6rbm3lbvgv7dib8wqding5122ln1rrgddqyrrb2fs"
+   "commit": "ae25e7e0e593520c8590440fe5e3c0ea8053dc26",
+   "sha256": "0qh7fwcs1ach4y1vd7nfa8m3afv64vm95ix3q9dzi6k6wa86i12f"
   },
   "stable": {
    "version": [
@@ -109582,11 +109794,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20240208,
-    217
+    20240423,
+    31
    ],
-   "commit": "dc5136d20a546cbf741e0e5835a441859fdab384",
-   "sha256": "1iwzdgkx2711kcbzrkizifff071wnqgpm22s6pq8l1i0p8dn3rbz"
+   "commit": "1da8d4f11cc5f79bce124d0a32be59be18359373",
+   "sha256": "063klgl664n8qw82g7c31vsbw1npw7l2jc5n2g9bndhhq8hg5g2g"
   }
  },
  {
@@ -109772,27 +109984,28 @@
   "repo": "chenyanming/shrface",
   "unstable": {
    "version": [
-    20230805,
-    500
+    20240401,
+    957
    ],
    "deps": [
     "language-detection",
     "org"
    ],
-   "commit": "946154a05b14a270f80351d5b2a98b19aa6c5745",
-   "sha256": "0qqvw7az7cr20kss7szvwqmbznqb160jg13akdxkiiksgzng0f90"
+   "commit": "b82a174ee33f19ed96c7e8c85ec362eab147d4aa",
+   "sha256": "0qspg55r397p6p16c4cps547x2w7gdplshy3scr810iwphrzsvfy"
   },
   "stable": {
    "version": [
     2,
     6,
-    3
+    4
    ],
    "deps": [
+    "language-detection",
     "org"
    ],
-   "commit": "3dc6b980a4235b084abeae500a377e60026c28ef",
-   "sha256": "1gg0z15a4rygi0dxabnlpjh56sa7kwxw3fji6ibk70l1jwgd7ydc"
+   "commit": "41e7cfcb42f97d652835e0b702f29aae5955f1f4",
+   "sha256": "144w7fvfrk3659d5ig8rbl3qwmcb5ssgnqgs798vfwanni7r1ggg"
   }
  },
  {
@@ -109826,7 +110039,7 @@
     "s"
    ],
    "commit": "9b8cfb59a2dcee8b39b680ab9adad5ecb1f53c0b",
-   "sha256": "1xnby24gpxij1z03wvx89s459jw0f8bwhgi80xvdq8gxhbbz2w7a"
+   "sha256": "0kx0c4syd7k6ff9j463bib32pz4wq0rzjlg6b0yqnymlzfr1mbki"
   }
  },
  {
@@ -110035,11 +110248,11 @@
   "repo": "ideasman42/emacs-sidecar-locals",
   "unstable": {
    "version": [
-    20240227,
-    151
+    20240421,
+    655
    ],
-   "commit": "2b2b765387f2cbae9935c3ee6e2a32aa8d68f1b8",
-   "sha256": "1nbdip04zdk583s0glbfa5g657vvhsia3h19nr6gwakvlkgv33wb"
+   "commit": "3daf8c07fac7c4ada7a02a1edad2f64894463614",
+   "sha256": "1jzsc1vxkxyvh66s6xz064s252jh2s6jrh157gi3rzkfkc7gcdwz"
   }
  },
  {
@@ -110050,14 +110263,14 @@
   "repo": "emacs-sideline/sideline",
   "unstable": {
    "version": [
-    20240319,
-    315
+    20240404,
+    900
    ],
    "deps": [
     "ht"
    ],
-   "commit": "04a525f624e1a42c47a2755fbc63be32104f44cb",
-   "sha256": "1imbb2026vrlrqwjay05442q42w8a1vhb5chl6rdhs504vxaxdp3"
+   "commit": "c1729b2b9d2ca6b37bf605ca2271e570f30316f0",
+   "sha256": "0ck92g14fhhi1xg76na8ck8ivv5wx5igh898wzr5p6qx92mv5hf7"
   },
   "stable": {
    "version": [
@@ -110109,16 +110322,16 @@
   "repo": "emacs-sideline/sideline-flycheck",
   "unstable": {
    "version": [
-    20240313,
-    2304
+    20240402,
+    2255
    ],
    "deps": [
     "flycheck",
     "ht",
     "sideline"
    ],
-   "commit": "1b3fc4d41b93ab3fa3754d188545d9e8cc0150f1",
-   "sha256": "0qh2v4jx0bvpcgac3h7kbd87bvgqdrvr7fw2m2syjspfbk7jqb65"
+   "commit": "212b8193becc012d39ccb1e68abf0e19f68764f4",
+   "sha256": "0g6i9ql35w9p3k941g2n9rj0md7j1snr6dpm9y4sid8fbyxvs1f2"
   },
   "stable": {
    "version": [
@@ -110172,8 +110385,8 @@
   "repo": "emacs-sideline/sideline-lsp",
   "unstable": {
    "version": [
-    20240101,
-    918
+    20240403,
+    2210
    ],
    "deps": [
     "dash",
@@ -110182,8 +110395,8 @@
     "s",
     "sideline"
    ],
-   "commit": "0a085a29b943eede42824981b5d0cd9fb951e9d8",
-   "sha256": "0xpqxdfqy8wv2wcqwzwhhmvlg15d120sicp2965qsp762slafqhc"
+   "commit": "69aca6403509abb4f5c5ba8499e98f80f81ebc88",
+   "sha256": "0jh81bc7dl309v6bxfh2d39f9lbp61bsdanflym33lsvdyl59zrk"
   },
   "stable": {
    "version": [
@@ -110453,7 +110666,7 @@
     "rtm"
    ],
    "commit": "37c5feffea7c9b571279b6f549d06cf9c0720273",
-   "sha256": "1kkhnsxr8zrb21k4ckyg69nsndwy4zdkvfw2drk4v1vnbgx8144f"
+   "sha256": "0rwvlhwg66ny0rm972wjfz41ck9kqmbax49wkagrkimm1cdrjfia"
   }
  },
  {
@@ -110641,8 +110854,8 @@
   "repo": "magit/sisyphus",
   "unstable": {
    "version": [
-    20240106,
-    1315
+    20240415,
+    1548
    ],
    "deps": [
     "compat",
@@ -110650,8 +110863,8 @@
     "llama",
     "magit"
    ],
-   "commit": "85f73d86b9a058461e77ed4db372aafcf6666a13",
-   "sha256": "0z4ipba6zjck49wlm47b5f0c1mwi8dqylh2aq6xxlrcw4f3nn1lr"
+   "commit": "38285f880302b9a2363085d816d6cd660ff7d17d",
+   "sha256": "0vkyfc9rbc22x7a7qy8i3w97a8p65qvjz5jxiqbh2vldp57hx5f7"
   },
   "stable": {
    "version": [
@@ -110965,27 +111178,25 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20240324,
-    2347
+    20240427,
+    406
    ],
    "deps": [
     "macrostep"
    ],
-   "commit": "7e8e754f0eec45beeb7294b1c2d28257fa24ad29",
-   "sha256": "0q51rghv7baz2ni983cvzhmnxhskshwzcc6ab6x75rmayfwpipir"
+   "commit": "c2e45e7004743fdd8620e2fea67f30a17b6a558a",
+   "sha256": "1f8i31b2b21v5r0awahhjqn499agalqnzy8lyp3wj91r0pbsqn1f"
   },
   "stable": {
    "version": [
     2,
-    29,
-    1
+    30
    ],
    "deps": [
-    "cl-lib",
     "macrostep"
    ],
-   "commit": "d85dd9899f7524513c8ad1bd47b0dd248b1915cb",
-   "sha256": "10as5qz1f838rqf0jkd28zlz0sahls5rzpbx3mw48k2vgkjl24z6"
+   "commit": "ef2af895a9e79306f0789e72b101aa39e960c900",
+   "sha256": "0qb7m65gq0mbxfrdppkh3k4jn13i14i07ziga4r8b3rmrxhrmlv0"
   }
  },
  {
@@ -111222,11 +111433,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20231213,
-    1030
+    20240413,
+    2145
    ],
-   "commit": "ed17d2c2bd7aead0fbb09c3d22861c80a522a097",
-   "sha256": "1hgxv0mj89n3ll4cisxmkqb9xfqrxwahyzr0a4jijh4z94j71l8w"
+   "commit": "0ebe705c08af7126e0b2ce66a33fc7d23864b193",
+   "sha256": "1a7xi627dqm9zvhj5ky50h7z4nkcr54xal05mgq8hf9r0c8xba9g"
   },
   "stable": {
    "version": [
@@ -111764,15 +111975,15 @@
   "repo": "Fuco1/smartparens",
   "unstable": {
    "version": [
-    20240324,
-    946
+    20240416,
+    2253
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "ddc6233ea6fc2da7a3a8e44face465c15631b02b",
-   "sha256": "1hv4v9451qjbakpw1ivz4yas8f9xbmxj48f1jn37y31x6j2d1bnn"
+   "commit": "d3b616843167f04b8a9f53dd25e84818c9f6fbce",
+   "sha256": "04vv9swkn3l2lcdb4ncmc6vr3967mglfgiabn1978gyhv4xp9nwm"
   },
   "stable": {
    "version": [
@@ -111796,11 +112007,11 @@
   "repo": "myuhe/smartrep.el",
   "unstable": {
    "version": [
-    20150509,
-    230
+    20240416,
+    2148
    ],
-   "commit": "f0ff5a6d7b8603603598ae3045c98b011e58d86e",
-   "sha256": "1sjwqi8w83qxihqmcm7z0vwmrz1az0y266qgj2nwfv39bri6y4i6"
+   "commit": "fdf135e3781b286174b5de4d613f12c318d2023c",
+   "sha256": "11r3j2p420y5y3r0ffz91498cda2l4b2kkyhngri5i4dcncmngwy"
   },
   "stable": {
    "version": [
@@ -112197,16 +112408,16 @@
   "repo": "danielfm/smudge",
   "unstable": {
    "version": [
-    20231217,
-    1531
+    20240413,
+    2104
    ],
    "deps": [
     "oauth2",
     "request",
     "simple-httpd"
    ],
-   "commit": "a847e344887863e9c8aa37c909c64350defd1b73",
-   "sha256": "112844fr8pw6g6b95iiyhmbhmy0hqml0lgc59d16llgd463dbc32"
+   "commit": "4a9c5b34e9bc0a694d0faf8c2f83dc244b8b6a2f",
+   "sha256": "1xiqxw87sdk9mgy7fdbmzqaf58dc1grhkigirg1bd0b2q5kbnbwx"
   }
  },
  {
@@ -112352,15 +112563,15 @@
   "repo": "SpringHan/sniem",
   "unstable": {
    "version": [
-    20240228,
-    1320
+    20240423,
+    858
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "50ead3321c448261d974ca05cd811fcd2232aeda",
-   "sha256": "1lx3mqmr8b3hccn6m6gzl12y3z8h6va7479daib1qy489inlk6wz"
+   "commit": "1791011310fe8d48fc8c5b79b32cb5cf586fb081",
+   "sha256": "0jdsyfj83y1i9dfc7d8d840brgz5q02cyxp4iqkq3a065gsajrwr"
   }
  },
  {
@@ -112566,26 +112777,26 @@
   "repo": "hlissner/emacs-solaire-mode",
   "unstable": {
    "version": [
-    20211213,
-    102
+    20240407,
+    1751
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8af65fbdc50b25ed3214da949b8a484527c7cc14",
-   "sha256": "1lkm09wznal0grpz61ikc77mjrri1x1bi79qwyf1cah9s0wv3isq"
+   "commit": "8ccdceeb9298b3c4e35f630914f467bf164f39ad",
+   "sha256": "164qqzmj1321rkvpiwpr5xnm1nbniibjkymfw5az32m2acdwk52j"
   },
   "stable": {
    "version": [
     2,
     0,
-    4
+    5
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8af65fbdc50b25ed3214da949b8a484527c7cc14",
-   "sha256": "1lkm09wznal0grpz61ikc77mjrri1x1bi79qwyf1cah9s0wv3isq"
+   "commit": "8ccdceeb9298b3c4e35f630914f467bf164f39ad",
+   "sha256": "164qqzmj1321rkvpiwpr5xnm1nbniibjkymfw5az32m2acdwk52j"
   }
  },
  {
@@ -112766,14 +112977,14 @@
   "repo": "emacsfodder/emacs-soothe-theme",
   "unstable": {
    "version": [
-    20220922,
-    349
+    20240415,
+    837
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "d8aee0fca549d535ebb7b5fd1a8017f12925d16b",
-   "sha256": "1bcwm07j0w8876vlzfpyh789n00w5dafx42zdbl612dpf6awika4"
+   "commit": "a8d3d964cfe9fc2157f45d2d26647a450ed9161a",
+   "sha256": "1c58b6rq890mklm5cv3hnnhwvjn4vb0ipvka0vdzmhpbbr4hkhf1"
   },
   "stable": {
    "version": [
@@ -113373,11 +113584,11 @@
   "repo": "ideasman42/emacs-spatial-navigate",
   "unstable": {
    "version": [
-    20230115,
-    633
+    20240421,
+    908
    ],
-   "commit": "11f281ae16b541ede9b4fadf96200e1728eb6ed0",
-   "sha256": "1wl8fvm9v3gsbdn0y9xzwnfh4ak5cdn0xdp0g816q5y3r5dyiywp"
+   "commit": "4f85fe3ae4d240a35d3d7edd8b865612024f9dda",
+   "sha256": "0vdqjw2ih7fngqy34wmxszq9bil49l3gnhh2ig6x3ah2wf47g401"
   }
  },
  {
@@ -113388,11 +113599,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20240316,
-    58
+    20240425,
+    103
    ],
-   "commit": "d1b325c8e7e2ac079de1314f91b980b354117248",
-   "sha256": "0870vlygdkyd8b6z9kykiqw48b64s0rrr68ir3ig30wmzs2r2441"
+   "commit": "28801aa911d43bb0b2545f83781a3c629266fd72",
+   "sha256": "15a26n645snjr92vp46pyv1pbkskb8arvvfb6hi8sy8m4vxc1bm3"
   }
  },
  {
@@ -113430,11 +113641,11 @@
   "repo": "brailcom/speechd-el",
   "unstable": {
    "version": [
-    20220608,
-    1422
+    20240427,
+    2112
    ],
-   "commit": "7e30c439729d5635ddd341ad5ab16f832a4619ea",
-   "sha256": "18xgqp8r1bgj63g2n08jbx4jwdcjn3p2lpdndyvfm394y2nzkcxr"
+   "commit": "64218c59f1636af6a0cb3690bf0bedae1dd17442",
+   "sha256": "1m7bfbk1iwdqa9dnf1b0isbl7pj3msxx4j6grr4d4pzb4hqphbfl"
   }
  },
  {
@@ -113516,11 +113727,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20230808,
-    1342
+    20240421,
+    2351
    ],
-   "commit": "540141a5764ceb403e78e22f6714e2dab3597bc7",
-   "sha256": "0m4ml9x4mc3h3ychjgnqcg4nwdxxr5qq6hrlwam7yb3ggndh19vq"
+   "commit": "7f9332a299b41e1fa4da9a82669f5981f6ffd3cc",
+   "sha256": "19155y36mxdqrrnqw62hmysprvw1dajap1y4rcx1nr7j9xkwjs6h"
   }
  },
  {
@@ -113964,14 +114175,14 @@
   "repo": "purcell/sqlformat",
   "unstable": {
    "version": [
-    20230808,
-    543
+    20240325,
+    1006
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "c28c5f85828b25f7f36320b585056ea4b7181a9f",
-   "sha256": "0shspminb6j5fjp34qqvglcn2i22fhs8if3f36sws3rzwhfml7jc"
+   "commit": "f1c8f864f11f4af65551de445dcf65543be0583b",
+   "sha256": "0amkd2ic80y9dvmgbiv5a2agrs56ajmz3x3ibg1vi5crn8gxad8h"
   },
   "stable": {
    "version": [
@@ -114154,11 +114365,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20240113,
-    2244
+    20240425,
+    1823
    ],
-   "commit": "78a31cc9714c80d41f19e33ce5b4cf09a14bfca9",
-   "sha256": "1xml90yrbswcq22lazrl5nwqamfflwry607zj88xk60xnxk2r55l"
+   "commit": "75b5b3e9b49bb450c1245ba7d7627ecb27baa53d",
+   "sha256": "0xaa2wa8p3606gclw2myj57sglii150dq9w26qisvhxym3i97r4k"
   },
   "stable": {
    "version": [
@@ -114626,20 +114837,20 @@
   "repo": "stacked-git/stgit",
   "unstable": {
    "version": [
-    20240218,
-    2150
+    20240407,
+    2229
    ],
-   "commit": "38ff3c3b2adc6d2c0f2e8fe5cb59f67d701741b3",
-   "sha256": "1g526gpcfjfkkh55by798hlgqph15vl0a1iw9332825wkqjawi6c"
+   "commit": "9afe502c74f51ed7d4e794da11c01e25718b0f64",
+   "sha256": "1sa9pndfjsja0gk7jc8vlfpzmahpvbqpb8b1dx6cl0568w13s1b5"
   },
   "stable": {
    "version": [
     2,
     4,
-    5
+    6
    ],
-   "commit": "38ff3c3b2adc6d2c0f2e8fe5cb59f67d701741b3",
-   "sha256": "1g526gpcfjfkkh55by798hlgqph15vl0a1iw9332825wkqjawi6c"
+   "commit": "9afe502c74f51ed7d4e794da11c01e25718b0f64",
+   "sha256": "1sa9pndfjsja0gk7jc8vlfpzmahpvbqpb8b1dx6cl0568w13s1b5"
   }
  },
  {
@@ -115615,8 +115826,8 @@
   "repo": "isamert/swagg.el",
   "unstable": {
    "version": [
-    20240324,
-    2014
+    20240326,
+    737
    ],
    "deps": [
     "compat",
@@ -115625,8 +115836,8 @@
     "s",
     "yaml"
    ],
-   "commit": "747102ae3448e8dcd5209308447375fd0fee4f89",
-   "sha256": "1azagz784g73zrcd092qmc5abk2rc9zq225chp2db2mm0v1bf1c0"
+   "commit": "27d5e7d06c2296cd356ac4a5b97ec84f2dabbb53",
+   "sha256": "0c7j62rd9yd9ckk28gxbh0lffamm479v1zcl7rsdircfnkixkks3"
   },
   "stable": {
    "version": [
@@ -115876,6 +116087,21 @@
   }
  },
  {
+  "ename": "swift-ts-mode",
+  "commit": "8d5397099835d6aa85e99cf5a54e240e7515e405",
+  "sha256": "00vz0j00hfhzs6j9rqgah2h8zxnsnrl1v2dymjvyrgi3i7wdfny5",
+  "fetcher": "github",
+  "repo": "rechsteiner/swift-ts-mode",
+  "unstable": {
+   "version": [
+    20240414,
+    949
+   ],
+   "commit": "a62f4d84b836fe208d912c26fb561c93a0c8e296",
+   "sha256": "0zzx8fg17vzh0r8ln884zg2kd7qj1bn9mnnvcr4fiv0x4dc16sgg"
+  }
+ },
+ {
   "ename": "swift3-mode",
   "commit": "0ca9071199230d3c4c1b2e3a501736df87095fd3",
   "sha256": "14vm05p8ix09v73dkmf03i56yib8yk6h2r1zc9m4ym80fki4f520",
@@ -115907,14 +116133,14 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20240214,
-    2118
+    20240405,
+    1642
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "749ac1235a7948011cb0caddd4c31037e3314614",
-   "sha256": "0d598jxdrxjlszaikh27v7j2zdndisfqzb384d94siw4rwzfj4zr"
+   "commit": "e0b1a6c224afb652d11b315913b8ad0c3ca8ecbc",
+   "sha256": "06370wzd058lx1k9dl76zzs0r9nycnlggfxxdw2691q8ypjqbd7q"
   },
   "stable": {
    "version": [
@@ -116259,8 +116485,8 @@
   "repo": "drym-org/symex.el",
   "unstable": {
    "version": [
-    20230322,
-    2003
+    20240418,
+    806
    ],
    "deps": [
     "evil",
@@ -116273,8 +116499,8 @@
     "tree-sitter",
     "tsc"
    ],
-   "commit": "0b65804d08c9ff61ec6785b48ce9b3c3d4779cfe",
-   "sha256": "1cg5w8k99sd94wyjpbg73azghh59hbalp7vs8z62is4bfzm514hb"
+   "commit": "db8ac5b3039b91e28d4c403c98fcb799ec94369e",
+   "sha256": "065njm2610vhvsg1f0pm7ri51fp93f8234in1p791iqmmykdk7jx"
   },
   "stable": {
    "version": [
@@ -116451,14 +116677,14 @@
   "repo": "emacs-berlin/syntactic-close",
   "unstable": {
    "version": [
-    20240322,
-    857
+    20240328,
+    1753
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6cf74c73c9ef946819e3cb6faa8e482fb11ccd53",
-   "sha256": "0q959gaighs7qcyjyf0a1jqhc39b5zbivk5gvx4n54x65vy0lc2r"
+   "commit": "271c3aeaa9523c8fec41d9127513c09262bad990",
+   "sha256": "0b47xsdh4wcdrcp6yrif5bqwhsp6bsgmjnp7wdghzqsimmqck5jr"
   }
  },
  {
@@ -116932,19 +117158,18 @@
   "repo": "shuxiao9058/tabnine",
   "unstable": {
    "version": [
-    20240227,
-    1429
+    20240426,
+    516
    ],
    "deps": [
     "dash",
     "editorconfig",
     "language-id",
     "s",
-    "transient",
-    "vterm"
+    "transient"
    ],
-   "commit": "a46629994b485472a442517e4c287e7a493deb9e",
-   "sha256": "162bid314jsgjf98i2xpxklwdhmnq0115ha6xr5qd8j6sch0f7xv"
+   "commit": "06804c5fea50d79de458a99699a16adaf3c52498",
+   "sha256": "1k9qv7w9065j4k601yy5jk0ypx5vk4ji6viv61ss9z1b1fq37yiq"
   }
  },
  {
@@ -116955,14 +117180,14 @@
   "repo": "mclear-tools/tabspaces",
   "unstable": {
    "version": [
-    20240306,
-    1454
+    20240415,
+    1838
    ],
    "deps": [
     "project"
    ],
-   "commit": "73d9cecaeb671e14409c80b10a17be64acebc43c",
-   "sha256": "09h5lndv8sxv9v3s5jlg3yj949vfq3jf78h1zj59vpzgvgi5cf62"
+   "commit": "c21f28b96b63926a530babe50d2c4de81ebaaa18",
+   "sha256": "0pxmhh0pga7cq8pkbyj0hjmpbabhb3322gy33z9nahy3m616m6hy"
   }
  },
  {
@@ -117122,11 +117347,11 @@
   "repo": "11111000000/tao-theme-emacs",
   "unstable": {
    "version": [
-    20231117,
-    1840
+    20240426,
+    439
    ],
-   "commit": "593494030bc7651efff0c79c62d5e21d3fd54f4f",
-   "sha256": "0741y62m8acpqk87s2bf2iw14m1nppgisdvarvrgz55x6zvn1mk9"
+   "commit": "af5926c53aebc591f1c77eb8ca8ff1ea9a73eaa5",
+   "sha256": "1jb2klplyngmv6pl6v39y0072hqgpgs22i7yk3097kbxv8llmk5c"
   },
   "stable": {
    "version": [
@@ -117352,16 +117577,16 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20240322,
-    901
+    20240410,
+    928
    ],
    "deps": [
     "rainbow-identifiers",
     "transient",
     "visual-fill-column"
    ],
-   "commit": "7df0fead1683154dee24b3b61b4b575a89fab039",
-   "sha256": "09ppf5pgnan285hyfipa930wyi5qc8wf7b70wb9yh8xam7j1insf"
+   "commit": "d73e02dfe41580ff2d93a6c6feb2af254087bbf6",
+   "sha256": "1jg9l1dkiji5mqhbbfmgi0p4gdzw0m8hf7k4imnn61046llar8q0"
   },
   "stable": {
    "version": [
@@ -117521,14 +117746,14 @@
   "repo": "Crandel/tempel-collection",
   "unstable": {
    "version": [
-    20240216,
-    1105
+    20240404,
+    1026
    ],
    "deps": [
     "tempel"
    ],
-   "commit": "6248e22b52fd7fb98bba977221eb8440c82e6c00",
-   "sha256": "1z1vawc62c2a72mkkyz8apczv6g2xbc3zj5zmj7jscc3p5b0h3lf"
+   "commit": "e87b1fee9554f9bc7415df053c8d8c9f03c13955",
+   "sha256": "1j762811nlnimzvsmv6h1l3mpsd8wxa2ay48n73wxj3cv8qxz82r"
   }
  },
  {
@@ -118067,11 +118292,16 @@
   "repo": "TxGVNN/terraform-doc",
   "unstable": {
    "version": [
-    20240119,
-    1413
+    20240328,
+    802
+   ],
+   "deps": [
+    "org",
+    "promise",
+    "request"
    ],
-   "commit": "1e6963662d50196efb78f906a4d3d8669454dbbb",
-   "sha256": "1w892ak6bl8armlqbhc6d690y8dm1fnf9sz7sz5zh6y3i92dnj6v"
+   "commit": "32e65a46d1c31d1524002cc50b33082a84045173",
+   "sha256": "0bvd1drvgfkz8as134f0xdwvsa56l0hl59i66d77yryix3mmlg1f"
   },
   "stable": {
    "version": [
@@ -118269,14 +118499,14 @@
   "repo": "TobiasZawada/texfrag",
   "unstable": {
    "version": [
-    20230117,
-    1746
+    20240415,
+    1043
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "6df9044c3d6bbb2a104f2c9b78ad10aa3cdf9506",
-   "sha256": "1qwp9nb0dswjr7alsrcwbjym0k56ncd0k5plhcsz8liz5886qfdy"
+   "commit": "d4d78e9ba4ae14cc554c31bb641dea38ab38babb",
+   "sha256": "1hkg2lrf6zf9cj95iys41xh0cwy0callpljyj6jj14qmq2s5kl5l"
   },
   "stable": {
    "version": [
@@ -118454,11 +118684,11 @@
   "repo": "monkeyjunglejuice/matrix-emacs-theme",
   "unstable": {
    "version": [
-    20240214,
-    747
+    20240422,
+    919
    ],
-   "commit": "1cfaa2b20d1dd9253b0654284eaff41e5a73d444",
-   "sha256": "1vslqg58yr7qa2431yl7z8zlziy71fl653js4xcljx8xfwqlynqh"
+   "commit": "2e373d5de799ef2546d6905949aa9ef21da5eea4",
+   "sha256": "15bf21y0sfsy1wpyazfcwr9cqs2vvmhwr2j2p37a2fiadrv27da4"
   }
  },
  {
@@ -118678,21 +118908,21 @@
   "repo": "facebook/fbthrift",
   "unstable": {
    "version": [
-    20240318,
-    1244
+    20240421,
+    1632
    ],
-   "commit": "9a64b4682510c27eab73440c56fca1eda9e05abd",
-   "sha256": "0m5nb9mq434wcfggdrpxyznbbp9psdkqqqdkps9jfs305qcld5zd"
+   "commit": "a1067af97a4a6070f4247657faf66ff25c1caffd",
+   "sha256": "0kjxyhr0kbw8dzd79gdj32srn5avnp4650ws1iy8q9rrppya9rr5"
   },
   "stable": {
    "version": [
     2024,
-    3,
-    18,
+    4,
+    22,
     0
    ],
-   "commit": "9a64b4682510c27eab73440c56fca1eda9e05abd",
-   "sha256": "0m5nb9mq434wcfggdrpxyznbbp9psdkqqqdkps9jfs305qcld5zd"
+   "commit": "a1067af97a4a6070f4247657faf66ff25c1caffd",
+   "sha256": "0kjxyhr0kbw8dzd79gdj32srn5avnp4650ws1iy8q9rrppya9rr5"
   }
  },
  {
@@ -118742,26 +118972,26 @@
   "repo": "tidalcycles/Tidal",
   "unstable": {
    "version": [
-    20230312,
-    1245
+    20240407,
+    1952
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "3ac320020d809ea626fc283839fecb10c9da4ce2",
-   "sha256": "1imqmg4naffiplpc3m74jvf26xwpy6026s61sg4si290qz3cvfq4"
+   "commit": "88f09edf6bef2228d5f530dea872b08a9d803066",
+   "sha256": "1r1d5hl49vdbwg5fcbfd0r0kwnc36knbfbr8fii4j73icm1g3frd"
   },
   "stable": {
    "version": [
     1,
     9,
-    4
+    5
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "3ac320020d809ea626fc283839fecb10c9da4ce2",
-   "sha256": "1imqmg4naffiplpc3m74jvf26xwpy6026s61sg4si290qz3cvfq4"
+   "commit": "88f09edf6bef2228d5f530dea872b08a9d803066",
+   "sha256": "1r1d5hl49vdbwg5fcbfd0r0kwnc36knbfbr8fii4j73icm1g3frd"
   }
  },
  {
@@ -119090,25 +119320,19 @@
   "repo": "aimebertrand/timu-line",
   "unstable": {
    "version": [
-    20231002,
-    1016
-   ],
-   "deps": [
-    "f"
+    20240405,
+    2022
    ],
-   "commit": "836cb92063076981f93e44f72dccd46a37e96785",
-   "sha256": "0ndhqsv11ai16y2pqcglqyhpzids4b7bzksmx5fs762vmmvm3r5z"
+   "commit": "3957234a4a7618376dc9ef40272f6aeabdf48843",
+   "sha256": "0msa4c6h6y1kl1q5rqjbf7i1hkpgp7k9qif7ssjq7dj6dlhakmb1"
   },
   "stable": {
    "version": [
     0,
-    8
-   ],
-   "deps": [
-    "f"
+    9
    ],
-   "commit": "676389f0f1609833e72701edc0a5fc80912167db",
-   "sha256": "0jxj3dyjppk8xiqjbq62z60hqrbzsa14x3yx5bjgzsghn27sq80f"
+   "commit": "3957234a4a7618376dc9ef40272f6aeabdf48843",
+   "sha256": "0msa4c6h6y1kl1q5rqjbf7i1hkpgp7k9qif7ssjq7dj6dlhakmb1"
   }
  },
  {
@@ -119119,19 +119343,19 @@
   "repo": "aimebertrand/timu-macos-theme",
   "unstable": {
    "version": [
-    20240317,
-    2007
+    20240401,
+    1346
    ],
-   "commit": "6079fa1bf9859955d30d6c51e7d8105588a9b588",
-   "sha256": "0f8jawiszqw2xwac2c3ipr8jdx7vfi5wr6xyd491m3faif4rmzz6"
+   "commit": "7734bd7287fa18cad8c146beabd52b52444e9da3",
+   "sha256": "0zm7wyjjwz9hlx23v1nvxnxgizb8q31bcg1fqh5gsgijka9fdzqx"
   },
   "stable": {
    "version": [
     1,
-    3
+    4
    ],
-   "commit": "43c2ebc4364c227e9e8943478c21250c594b3c50",
-   "sha256": "0lb7nlvmjmhq5dpqd2mdhn1h4hyy09bkpqmvz9dh8jwmgp8gfr04"
+   "commit": "7734bd7287fa18cad8c146beabd52b52444e9da3",
+   "sha256": "0zm7wyjjwz9hlx23v1nvxnxgizb8q31bcg1fqh5gsgijka9fdzqx"
   }
  },
  {
@@ -119177,7 +119401,7 @@
     9
    ],
    "commit": "0505a7c0d306632972f29e584e83e0cd58eba2ce",
-   "sha256": "04b6lyrn9hj754ykb07ks60c602h5gla11scyisnzga662li16ib"
+   "sha256": "0k4jpfc9m6834gng6w4zab8jh0d4i3dh5yvn89mlznsb9r9d6148"
   }
  },
  {
@@ -119338,11 +119562,11 @@
   "repo": "vifon/tmsu.el",
   "unstable": {
    "version": [
-    20240117,
-    1813
+    20240421,
+    1056
    ],
-   "commit": "c7dc44c97bf420ff0da5d552abfc9782bed70602",
-   "sha256": "1qn9y3nyx7796yx7qs8j368dskdfnpxhw1vvhlm9xd4dv8sxqjka"
+   "commit": "46e0c960629c82c090f42c196876aaf4d6edff1a",
+   "sha256": "0bmshvrw66rhszqqgfvnpvgvjzqvwi5mlylzz4v3dhvpr32bpb3b"
   }
  },
  {
@@ -119788,7 +120012,7 @@
     "s"
    ],
    "commit": "a715f7f2df416b8a6c827a9493ce7004180a3a4f",
-   "sha256": "188cdgic25wrb4jdgdcj070a0pxsh3m0rd9d2r6i1s1n1nalrs6g"
+   "sha256": "08awv1vbqg0x0h7f036sh07vypm8lq6b5g36gq9dmyfaqci9ccw6"
   }
  },
  {
@@ -119832,7 +120056,7 @@
     "base32"
    ],
    "commit": "927257e97a602b6979a75028e8417bf1499582d4",
-   "sha256": "1vw1vpnxa4qxbdsmis8d0df3qhwr1c5h0q04rvwmyviixd729mlr"
+   "sha256": "1jbpf28918pjiqhw8rackv9r8iq9ydd3jw1zwwifznglmpyca7jk"
   }
  },
  {
@@ -120109,15 +120333,15 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20240321,
-    2209
+    20240421,
+    1737
    ],
    "deps": [
     "compat",
     "seq"
    ],
-   "commit": "55d5d41b48d7f7bc1ecf1f90c012d7821dff5724",
-   "sha256": "1mdcph2g0nbava3npa7bz463jqrz8rp9zmjgx8rqk7bdz2gd2yai"
+   "commit": "2dd0102ec3df901d421fc338e5c768467cc54ecf",
+   "sha256": "02qhhm37pmqpm51hn7sz7wn34x1vwixxka2fvlllq1vbmvzxinp6"
   },
   "stable": {
    "version": [
@@ -120406,15 +120630,15 @@
   "repo": "tarsius/tray",
   "unstable": {
    "version": [
-    20240101,
-    2226
+    20240415,
+    1549
    ],
    "deps": [
     "compat",
     "transient"
    ],
-   "commit": "15c08ec2b57ce0535f54242088d6051d2cf9a049",
-   "sha256": "0p9hg76a3ah8910r11da0c8ig4c6jpyinqnkgn15y0w3kb1zsh23"
+   "commit": "1ce8c7c74dec199e1045fec3c79cb9ff433b1735",
+   "sha256": "1b1i5hb9r8z6r1npbip8swgfizdkhwl1x5b6b9k9552i6gxm1qbz"
   },
   "stable": {
    "version": [
@@ -120585,26 +120809,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20240324,
-    1936
+    20240425,
+    231
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "c56cb511045d50e30f78508c54494e025d6af2cb",
-   "sha256": "0xxksxa8i37d33izkkfjmq0igyir98szxywkjg9rs28hj55m7zfj"
+   "commit": "ace4624f78ddb6c29e4efa904c6dd8636fad53fe",
+   "sha256": "1kaklazmr26gh6ff8p7r2xs1pc40ajwlhhinsbnl52prz3bc7702"
   },
   "stable": {
    "version": [
     0,
     12,
-    163
+    182
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "c56cb511045d50e30f78508c54494e025d6af2cb",
-   "sha256": "0xxksxa8i37d33izkkfjmq0igyir98szxywkjg9rs28hj55m7zfj"
+   "commit": "f75e8c1b4aa6c13d4b9a48545993d66a1d7e2eb1",
+   "sha256": "0zvz1kmx145g73wh2zjvrswcl9iiqlq59dlwf88p93n7wzk2ivbg"
   }
  },
  {
@@ -121019,20 +121243,20 @@
   "repo": "renzmann/treesit-auto",
   "unstable": {
    "version": [
-    20240223,
-    1450
+    20240420,
+    1457
    ],
-   "commit": "299dd88c9e5f1ff91a8f1989ad1e97e86c220020",
-   "sha256": "0c29ldai6fq413y14b4n3sh3s46vffdpg9xgspjklkq9ja1l0lw7"
+   "commit": "ecd898c4879614bf36d84a77c08a10aca25c3841",
+   "sha256": "190sv2ig3lisp2yiwy38ng8k9ckhpgjga5njnf88qnyp3r44bvcc"
   },
   "stable": {
    "version": [
     1,
     0,
-    4
+    5
    ],
-   "commit": "299dd88c9e5f1ff91a8f1989ad1e97e86c220020",
-   "sha256": "0c29ldai6fq413y14b4n3sh3s46vffdpg9xgspjklkq9ja1l0lw7"
+   "commit": "09d1c8c4b5bd981c6d613c95cf0ad859ad1fbc53",
+   "sha256": "1a2d49chymhfbd9w0msksyyqgsywn17mkzqglaw0k794sb1gzx2q"
   }
  },
  {
@@ -121274,14 +121498,14 @@
   "repo": "echawk/tsort.el",
   "unstable": {
    "version": [
-    20231027,
-    334
+    20240417,
+    120
    ],
    "deps": [
     "compat"
    ],
-   "commit": "3f9cffdbd4ac83a6a69dd4ccbb135e95950494ad",
-   "sha256": "0zssgrkzsn3q2g8ayhs31c408yhsggmyrzfscklvvdhmgg5qcabj"
+   "commit": "32e4f5b7b6de6f012a51f3d7ec151579d7b3e4a7",
+   "sha256": "0ib900rldqni4aiwd19a8r9v3wwnfkki4p45mrxj9rv152fwiywx"
   }
  },
  {
@@ -121808,20 +122032,20 @@
   "repo": "md-arif-shaikh/tzc",
   "unstable": {
    "version": [
-    20230504,
-    445
+    20240403,
+    332
    ],
-   "commit": "e815b43790d9a517f89a2bb592c665bd911a4477",
-   "sha256": "03bl4mfvmf5zkybl38j73zmq523ykafj81md83fimjnd57zlbml3"
+   "commit": "8f425cd6f020b5082445be9547e9308be73c6adf",
+   "sha256": "0wbgw4hvjqdflwjkyk9iscjh7243m9blbh9rzwinggkilgw44j2i"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "6b11c8b2b6f207750d77542ff8e6ea1665be81c4",
-   "sha256": "0hb0m3f2na8xg3hnxwqk99hh04vgjkncssg07chx9bkrl20bvvv0"
+   "commit": "8f425cd6f020b5082445be9547e9308be73c6adf",
+   "sha256": "0wbgw4hvjqdflwjkyk9iscjh7243m9blbh9rzwinggkilgw44j2i"
   }
  },
  {
@@ -122118,7 +122342,7 @@
     0
    ],
    "commit": "c2f4870aff70efe70a8d1b089e56d3a2d6d048b9",
-   "sha256": "14ybav1f82m2gsxkciwlc0pm01ihqqaqq6arnjqvgxdnw0z6qniq"
+   "sha256": "0i6jfr4l7mr8gpavmfblr5d41ck8aqzaf4iv1qk5fyzsb6yi0nla"
   }
  },
  {
@@ -122176,11 +122400,11 @@
   "repo": "ideasman42/emacs-undo-fu",
   "unstable": {
    "version": [
-    20230808,
-    1340
+    20240422,
+    6
    ],
-   "commit": "0e74116fd5c7797811a91ba4eadef50d67523eb6",
-   "sha256": "0m5kj393jvg7r7mxjkg1riahxk20fc323agwdb86026z2cv2xl2x"
+   "commit": "d935af2c57ecfa14248a70b3fe8a84fb78fef209",
+   "sha256": "1zy4sxllmh0qa876qnc4h89f5fda3vcrgs4xpy7y1bgbfcpwks0q"
   }
  },
  {
@@ -122191,11 +122415,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20240204,
-    1215
+    20240421,
+    834
    ],
-   "commit": "2b355c9d39b2688f859a762f2289f23fd16fadc4",
-   "sha256": "1r81m5zpckqkqxb4mfz9k2m17n8n790l69zhcx9i0711wxhcszqk"
+   "commit": "75d78310c86901f01b35d47f3ac1a5c8368abba4",
+   "sha256": "0ywyjg8zpa8dzz6sw5zvzfck44iapr0iymmpbxh4ymli663fmw9p"
   }
  },
  {
@@ -123281,11 +123505,11 @@
   "repo": "jcs-elpa/use-ttf",
   "unstable": {
    "version": [
-    20240101,
-    928
+    20240401,
+    611
    ],
-   "commit": "e0f61ad6c0b6ecf89ff0b43c430b15c94ec8c8b3",
-   "sha256": "11mp10s7pdkr5zrx793767n4y5afm8n9c8gxhs1scvqz3hpw46b5"
+   "commit": "694282b9ba7669fcbceb7088808147f68e3ac066",
+   "sha256": "1760x85gisl5s2wh7b4y7h334b2vv7cz2a158w0w2kjgshbjdwdi"
   },
   "stable": {
    "version": [
@@ -123324,11 +123548,11 @@
   "repo": "ideasman42/emacs-utimeclock",
   "unstable": {
    "version": [
-    20230601,
-    25
+    20240421,
+    702
    ],
-   "commit": "484d426a2ecc1ac7b922fd93c7d03da23510fb63",
-   "sha256": "00r4mbn5wc5h1c1xrmx1dhic4zvjmgihrnm863nn2823f33n2hdr"
+   "commit": "c4df85ac38b270628c4dacd9f6fb1da197f5aedd",
+   "sha256": "0fjws4y6njbcbz36kv5d85fn71026vw7ywd5vv1b4s39qzlyjqzi"
   }
  },
  {
@@ -123422,19 +123646,19 @@
   "repo": "non/uxntal-mode",
   "unstable": {
    "version": [
-    20231010,
-    438
+    20240327,
+    153
    ],
-   "commit": "9cc325992309e7b6f6ea75d64e12fde2a85320ed",
-   "sha256": "024nwljjl9bkdl815j1l4qp1zkd2nmv6xl94aym393k6dnlvplwi"
+   "commit": "1b114d97069a8c004f0ca58e0c69d61d897cef75",
+   "sha256": "1nbfqhb00cly3z897gc06j8kg8apya209wprjya7ak8iiq7cr012"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
-   "commit": "a6e15c3ff1cfb05598db20ab494f783ba96f52ab",
-   "sha256": "0jxsn07w5iplc4xcdlljq8cpr0vf68p7wdqi9msv5hbcjrwk6as3"
+   "commit": "1b114d97069a8c004f0ca58e0c69d61d897cef75",
+   "sha256": "1nbfqhb00cly3z897gc06j8kg8apya209wprjya7ak8iiq7cr012"
   }
  },
  {
@@ -124111,11 +124335,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20240317,
-    1608
+    20240426,
+    2014
    ],
-   "commit": "a430847beb925ae82007d70f32f3bab38f0054e9",
-   "sha256": "0amcnyslr4inpms48ricln6nm1yp1rkbrpv1qgabml3f70x1faz9"
+   "commit": "24784e7a81a937b4b294a2a57238999c53d6e5d1",
+   "sha256": "1z47qjhb427hrdmpxmjq4h5q20lzppy35im46dl5m3yzvx3k5aha"
   },
   "stable": {
    "version": [
@@ -124166,14 +124390,14 @@
  },
  {
   "ename": "verilog-ext",
-  "commit": "f7452f1040c770f9eee8d9bb490d249561449057",
-  "sha256": "0hxvfw36ywn1sv1hfrshzwhb1fv8d28q8pk7vlwdsp4266n42i9r",
+  "commit": "a9f8ea0aa05b70aaf8aca910dda0d43a67b17a8f",
+  "sha256": "00wm1j0lhnp0fm18ibm04r7hzyvbzi79zbamp4dy36njv1ibh9dl",
   "fetcher": "github",
   "repo": "gmlarumbe/verilog-ext",
   "unstable": {
    "version": [
-    20240212,
-    57
+    20240407,
+    1352
    ],
    "deps": [
     "ag",
@@ -124188,14 +124412,14 @@
     "verilog-ts-mode",
     "yasnippet"
    ],
-   "commit": "9da79ac0c79e8819381002c205ae6817bbc9b642",
-   "sha256": "1jnnppvmp090c8mbkkq7daf2f497c3kzriph1d8pm4ph067d5ymz"
+   "commit": "1454457a85c9fb10145f45f80e1d3baa065017e5",
+   "sha256": "1rngn0w88a18hy1cba8qlc71zh3k5611rx4zgvnx8n0b8n6j1758"
   },
   "stable": {
    "version": [
     0,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
     "ag",
@@ -124210,8 +124434,8 @@
     "verilog-ts-mode",
     "yasnippet"
    ],
-   "commit": "0976770f9fc2722357672e532e7a86bc304de171",
-   "sha256": "196d531zd48sjdmjaqa828z5m3izc4x4wdk2rxx56nn2dahl7fz8"
+   "commit": "2488a25267d1e3b612f1da617d5a9506d6db8275",
+   "sha256": "02qgvb6rxg114picmr9v82rhk4nx848xgxddlq3hlcdvmr15szq2"
   }
  },
  {
@@ -124222,20 +124446,20 @@
   "repo": "gmlarumbe/verilog-ts-mode",
   "unstable": {
    "version": [
-    20240211,
-    210
+    20240406,
+    2147
    ],
-   "commit": "b055f7b4a7abdc1e1eb9eb5a99ddc288369982d0",
-   "sha256": "0khjhikw3ksk6lb2f7nwppp9l9vrfgq5jlwyfyrx0s9w6jyf64yc"
+   "commit": "f2dda1b25a06661569e393b04902be6a8e992b90",
+   "sha256": "18bmp1al4wsz7pcal39qbgb0q2zmib1xvjxz78ylwimpd8x81i7l"
   },
   "stable": {
    "version": [
     0,
     1,
-    2
+    3
    ],
-   "commit": "572508e9dc562a1718ddc857682c4f37dfbf5654",
-   "sha256": "06f989qkms4gnj0jrr1a2rkjwsgn0g8fqaz8sky4nwvvs3wmmm99"
+   "commit": "f2dda1b25a06661569e393b04902be6a8e992b90",
+   "sha256": "18bmp1al4wsz7pcal39qbgb0q2zmib1xvjxz78ylwimpd8x81i7l"
   }
  },
  {
@@ -124306,14 +124530,14 @@
   "repo": "baron42bba/vertica-snippets",
   "unstable": {
    "version": [
-    20240221,
-    1629
+    20240327,
+    1013
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "efaf893698358a305b1c52fd22a6842b59940855",
-   "sha256": "13ikkmarxcv19938p3za3crpbh8003xmlg8afyfyrm4z7pann1qj"
+   "commit": "11dd101eb431b7fc7695e5ad3b2a6444ac49e7a4",
+   "sha256": "03zba07d7d1c96ygkw1779v9ybnaap2668ss5w92zfzc8b45yvdr"
   }
  },
  {
@@ -124324,25 +124548,25 @@
   "repo": "minad/vertico",
   "unstable": {
    "version": [
-    20240128,
-    1526
+    20240424,
+    1959
    ],
    "deps": [
     "compat"
    ],
-   "commit": "4a7da56b02c6aefff8f6b4574a530a7cb54bc21a",
-   "sha256": "0p84pnp14jcmxlmxpl6wpq2f3rfy4lr92gial1a35aigcins4657"
+   "commit": "1def56a1e678ff9a8eeafafda9c474a5fbb097c4",
+   "sha256": "0cxaqlg0mllrnf7zx7j6rdmx3x42s9b2marisi7zwfiymsnbgarr"
   },
   "stable": {
    "version": [
     1,
-    7
+    8
    ],
    "deps": [
     "compat"
    ],
-   "commit": "cf8b2abf5207696c054c33214c86e3969d415054",
-   "sha256": "03m5v4r6n10ydmr1lks0d91dlirxlsh82l0qlac8qqfz09g0p76a"
+   "commit": "1def56a1e678ff9a8eeafafda9c474a5fbb097c4",
+   "sha256": "0cxaqlg0mllrnf7zx7j6rdmx3x42s9b2marisi7zwfiymsnbgarr"
   }
  },
  {
@@ -124424,14 +124648,14 @@
  },
  {
   "ename": "vhdl-ext",
-  "commit": "de655c347e9c4c91ac415cf8b77c2bcd10ff98fe",
-  "sha256": "0wyh2dy8dv23ll5g9yjaw1azl8gnxwxbysb4ynyfzf1r13f2y74i",
+  "commit": "6ce292a56ee703a58d88306bc12a4cd20a8483af",
+  "sha256": "1gk71s61gwha230r0ddvmzyw1qx68vz1nqnj61fkm5nclf72cf0s",
   "fetcher": "github",
   "repo": "gmlarumbe/vhdl-ext",
   "unstable": {
    "version": [
-    20240212,
-    153
+    20240407,
+    1353
    ],
    "deps": [
     "ag",
@@ -124443,14 +124667,14 @@
     "ripgrep",
     "vhdl-ts-mode"
    ],
-   "commit": "64111386bd793ceb6a8f78ab5f5caf5655fb3aa0",
-   "sha256": "08pal1ba55bdbnjb7lqrl7v2z3rys2a8ng8gsxidfx1400lmxg1c"
+   "commit": "bd5f97d811f4444ab523a5faace8e599a90d972d",
+   "sha256": "1x72kmwzyhwkxrqx4ijajz8wsxm389mj48ba2y9z1vpsiijvp7i6"
   },
   "stable": {
    "version": [
     0,
-    4,
-    1
+    5,
+    0
    ],
    "deps": [
     "ag",
@@ -124462,8 +124686,8 @@
     "ripgrep",
     "vhdl-ts-mode"
    ],
-   "commit": "978224be71c1b5ee237cb6d7f729599cfba99ce3",
-   "sha256": "1g1sw3w9ns9wvn22nbdc8pxmm55y565r6hfbid1vibv5mgwqi5xy"
+   "commit": "08fc11c16c1e4425fe1dcc352e005c193112c1d7",
+   "sha256": "1q474h728zf6fv7zkh6fhfb81icqmyn48g6df79106z28vvfqdz7"
   }
  },
  {
@@ -124483,7 +124707,7 @@
     "outshine"
    ],
    "commit": "9cb2354874608d971be407ad9299ed918a6c061a",
-   "sha256": "1qfjwsxi3w2gdl258jbk5d3z645gs6zccxx2iah54zbgql17pgj9"
+   "sha256": "0gak3gvqw1pvall2rx82npil283z83aq79w5pw2a5rhi8a3imha4"
   },
   "stable": {
    "version": [
@@ -124496,7 +124720,7 @@
     "outshine"
    ],
    "commit": "5202db4c6a511a90a950a723293d11d55ec05264",
-   "sha256": "1qfjwsxi3w2gdl258jbk5d3z645gs6zccxx2iah54zbgql17pgj9"
+   "sha256": "1ygx8g9cxyyhhpcqan1ca4g741s3dd141bcmp6jjqbjfn2gqraz6"
   }
  },
  {
@@ -124507,20 +124731,20 @@
   "repo": "gmlarumbe/vhdl-ts-mode",
   "unstable": {
    "version": [
-    20240211,
-    213
+    20240406,
+    2155
    ],
-   "commit": "1d17c43993bf9eab97b0658a46fa17e64fc8eb4b",
-   "sha256": "1q2q538f6l9kvnlnnf1i39p21wblcy77lr24fcg1xl5ykrj3pjdc"
+   "commit": "eaeefce408085159cacf1ee9424fee20f20b6c39",
+   "sha256": "0p7qw4b8p1rgxd6zh9gpgxvhx7cr0xb9sjykmz74mscl4nfg7wck"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
-   "commit": "768fc7afed0e3928bf74fca93ec68329ded89003",
-   "sha256": "0h33fbdji2ghqb0ppsna0x1h5qc6fcj0qyky1igxgdl3xxq38crp"
+   "commit": "eaeefce408085159cacf1ee9424fee20f20b6c39",
+   "sha256": "0p7qw4b8p1rgxd6zh9gpgxvhx7cr0xb9sjykmz74mscl4nfg7wck"
   }
  },
  {
@@ -124692,11 +124916,11 @@
   "repo": "nverno/vimscript-ts-mode",
   "unstable": {
    "version": [
-    20231022,
-    1758
+    20240426,
+    818
    ],
-   "commit": "20aea980ef94d643100638f2528aafc4b136e20c",
-   "sha256": "141mhzqv0fchcp6r6r3w8nismxa6a455d4z0ap6hcla2mxvszrwh"
+   "commit": "e806f59f870e268bfe879bdc7b5134e641c42c0f",
+   "sha256": "0n5k0rl7panzbzjfaj6y3qcirr9c809fh0p9156v33ah3jl71a2l"
   }
  },
  {
@@ -124818,20 +125042,20 @@
   "repo": "joostkremers/visual-fill-column",
   "unstable": {
    "version": [
-    20240223,
-    2340
+    20240411,
+    656
    ],
-   "commit": "5b9f9309bdf040b72bb2c3d99d1d8a0f0d98c308",
-   "sha256": "1imliz6fb5bxwcflkiqgk82xa34qkxaxzmy3rmj1cy2va148afx9"
+   "commit": "e04d3521b6dc2435de4c4a4b9cac5feb194f0d5b",
+   "sha256": "1bsymwzpvp4rqljidrixp3kc7kxjwsy5mkap6jw9rvpm6apy3b0n"
   },
   "stable": {
    "version": [
     2,
     6,
-    2
+    3
    ],
-   "commit": "5b9f9309bdf040b72bb2c3d99d1d8a0f0d98c308",
-   "sha256": "1imliz6fb5bxwcflkiqgk82xa34qkxaxzmy3rmj1cy2va148afx9"
+   "commit": "e04d3521b6dc2435de4c4a4b9cac5feb194f0d5b",
+   "sha256": "1bsymwzpvp4rqljidrixp3kc7kxjwsy5mkap6jw9rvpm6apy3b0n"
   }
  },
  {
@@ -125047,11 +125271,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20240223,
-    1002
+    20240410,
+    216
    ],
-   "commit": "52006b40c7293f524ecb99d3899db7d95c77b317",
-   "sha256": "1njcy6hpvg7505agv619r924gs8ymjfyizxm8s70h3skwpg79yfm"
+   "commit": "26fb8e1dee98fd8d423abc35655859e1098325ee",
+   "sha256": "0ixa8kk4m0bg03qcahli8pp6srcavggkrfncyqg5igf8wg7d1wy5"
   },
   "stable": {
    "version": [
@@ -125070,11 +125294,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20240223,
-    1002
+    20240410,
+    216
    ],
-   "commit": "36f583c6b36cab827394548a8c9647c3fd066bb1",
-   "sha256": "0wd80m6796y0j0pzbw3qk4v8973x3cjimj7rh9ss7y22sqky5mmc"
+   "commit": "0ede987bac1c8dbeb07990a75e70b63cf9baf7e2",
+   "sha256": "0y5p2jbcjby0hrnhh2z99j27wsvkk8lrwdq2krd5188ssj66ca17"
   },
   "stable": {
    "version": [
@@ -125147,11 +125371,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20240318,
-    1617
+    20240325,
+    1551
    ],
-   "commit": "303decd923ef83a184b861d34081fd8635484a03",
-   "sha256": "15srbva8s19valai3ji794k0fha2xz3jhw81rg75mpnwcd5cxynb"
+   "commit": "ae4ae1aef2fcae98a37aad83f2a6aeeaeacedd4f",
+   "sha256": "180fa3ihcgp9f6gnp9z34cpc1k8ai75kmdagb4rc9qqb4z8lp9i2"
   }
  },
  {
@@ -125671,16 +125895,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20240229,
-    1209
+    20240426,
+    1520
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "e525f27d29e122bb8baefa1837816f9001fa5085",
-   "sha256": "0gphh1qh55jkg2a8gvwjf5f60jhjk3c3y40iikgvgw6hnx3aw8ga"
+   "commit": "8a0ea2146ee919a5344bb25f198d45016bc716d9",
+   "sha256": "1w57d6zcqxm6q7rsc6kz84idcpz15rr67jzmfbc2mfiprfvrip1j"
   }
  },
  {
@@ -125751,11 +125975,11 @@
   "repo": "gmlarumbe/wavedrom-mode",
   "unstable": {
    "version": [
-    20230913,
-    2246
+    20240329,
+    1800
    ],
-   "commit": "b360aa39c87e033b65676d3ac542bc26fd5abd34",
-   "sha256": "1fml8yv4l8f83vrqj725vx60ld81hcgjdhg2v7d0gip30w0b1v3h"
+   "commit": "758a29e975e76ad616bbe18b657a5ce78fd32d32",
+   "sha256": "091aagn1mi1in4kn94b2cvcw0hfm7zfypgsc7gg5bq8hklg000vq"
   },
   "stable": {
    "version": [
@@ -125971,11 +126195,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20240315,
-    1838
+    20240413,
+    1455
    ],
-   "commit": "a9d21841224da3295f2dd0a90022f5e435e48046",
-   "sha256": "19v4mwa1arnxrznqq8x7zsqlgvgznmw4yn8yd77jyr5lcvw43nax"
+   "commit": "005aa62d6f41fbf9bc045cac3b3b772716ee8ba7",
+   "sha256": "15bd89dwpvsfgc2m0jnnmmwqfqzrd2z9nv2qjdac339ddivm2lp8"
   },
   "stable": {
    "version": [
@@ -126390,11 +126614,19 @@
   "repo": "thierryvolpiatto/wfnames",
   "unstable": {
    "version": [
-    20230924,
-    1538
+    20240418,
+    1005
+   ],
+   "commit": "2f014c48fde0979da4ce3c0dbda81389c61a26bc",
+   "sha256": "15ly5cnq8bkh035mf9mvrbddqc2ajgv3fn7k3gdkivd68nk0wjb8"
+  },
+  "stable": {
+   "version": [
+    1,
+    2
    ],
-   "commit": "19b452fb698a5ba3b0f1d6e7d69a5e19af2c83e7",
-   "sha256": "0iihs4iam27m2ggmhy9x0np0awirxhzy78q677ng734zdig6bccz"
+   "commit": "2f014c48fde0979da4ce3c0dbda81389c61a26bc",
+   "sha256": "15ly5cnq8bkh035mf9mvrbddqc2ajgv3fn7k3gdkivd68nk0wjb8"
   }
  },
  {
@@ -126609,11 +126841,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20240312,
-    2033
+    20240423,
+    1320
    ],
-   "commit": "96911a1d3faf8426a33241f4821319e98421f380",
-   "sha256": "0icplq3rnvaixx83phmwzspcw4wy1wzfcxhkf16fna2ik2i35829"
+   "commit": "ba323d6712d54806aa82847d017e94eafcf99d6f",
+   "sha256": "1ainrah6qnn9qvjcfgx133v4rvvyq15iy7kvi2rmbxxlfj5x6y1i"
   },
   "stable": {
    "version": [
@@ -127436,14 +127668,14 @@
   "repo": "magit/with-editor",
   "unstable": {
    "version": [
-    20240101,
-    2226
+    20240415,
+    1558
    ],
    "deps": [
     "compat"
    ],
-   "commit": "d43db3c58c34d4dbc3ce6f68ec24fecf3452b20e",
-   "sha256": "00rykgc0ffs6qih60w1qlh73jlm5dlrshvbinl1fglm4agm7h5yf"
+   "commit": "1b4526453ef6bdee30635f469aa26085c02b1ac1",
+   "sha256": "1qv84lg4g4kihv53vrklm0rmh9hqiwk23bynldiwvmiq39fqasyw"
   },
   "stable": {
    "version": [
@@ -127686,6 +127918,25 @@
   }
  },
  {
+  "ename": "wordcount-section",
+  "commit": "6f3b48f594a00659debafc09bdc129d40feb89b4",
+  "sha256": "1likzbgvazlkjb9vq873lr4j60ldqkfiq8z29x4rvcybzaabf89f",
+  "fetcher": "sourcehut",
+  "repo": "swflint/emacs-universal-sidecar",
+  "unstable": {
+   "version": [
+    20240323,
+    1901
+   ],
+   "deps": [
+    "compat",
+    "universal-sidecar"
+   ],
+   "commit": "b67153c880284db0ed9864370b16287fd855fb54",
+   "sha256": "0irbpsfndggi1fmwsnqdr6nky4b9xbiila5rxkbrr28y2r6bxsck"
+  }
+ },
+ {
   "ename": "wordel",
   "commit": "a0186cd951d0d4a6eb5b1f872d7114e24ce479a2",
   "sha256": "0xdj3fqkq1cixmr7nnzl0ch4zl9mpd0x1y8svdcqz0a1ncg6pg9g",
@@ -128080,32 +128331,32 @@
  },
  {
   "ename": "wttrin",
-  "commit": "1b2b6876562f1fadd4af1ea9b279ac4dc1b21660",
-  "sha256": "0msp8lja9nz6khz3dkasv8hnhkaayqxd7m58kma03hpkcjxnaxil",
+  "commit": "510ba3b42e9e1330fd26940d9c2f427112180485",
+  "sha256": "1b1xqqqif379sgna193qpl9i1s7ihm5mml8w4s8c39bnn56fpaxg",
   "fetcher": "github",
-  "repo": "bcbcarl/emacs-wttrin",
+  "repo": "cjennings/emacs-wttrin",
   "unstable": {
    "version": [
-    20170614,
-    1206
+    20240422,
+    1633
    ],
    "deps": [
     "xterm-color"
    ],
-   "commit": "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc",
-   "sha256": "1ai655f10iayb4vw0ass2j3x83f4vsv90326mnywkzfl3sxd432z"
+   "commit": "9b98fedc44b1ddcebaa48df2975493b37797c2fb",
+   "sha256": "180amp1n0qdn6m6vlzg0ddfxfqf37fjaswfxdxn03298j0jgzw14"
   },
   "stable": {
    "version": [
     0,
-    1,
-    0
+    2,
+    4
    ],
    "deps": [
     "xterm-color"
    ],
-   "commit": "d595240d92788791da2218d12efd6a77eee06217",
-   "sha256": "0mbc3ndggv2rbmfcfhw8bsx3qw6jy684hxz5dqa88lfb6vs5knzc"
+   "commit": "9b98fedc44b1ddcebaa48df2975493b37797c2fb",
+   "sha256": "180amp1n0qdn6m6vlzg0ddfxfqf37fjaswfxdxn03298j0jgzw14"
   }
  },
  {
@@ -128631,14 +128882,14 @@
   "repo": "js-emacs/xref-js2",
   "unstable": {
    "version": [
-    20210310,
-    1238
+    20240417,
+    1454
    ],
    "deps": [
     "js2-mode"
    ],
-   "commit": "fd6b723e7f1f9793d189a815e1904364dc026b03",
-   "sha256": "0iny4qswyicrax36d4sgyfrw3giwjd1440bmlksd36y8zjkqqym0"
+   "commit": "db816e926302293c134d1260322b0553953a43e2",
+   "sha256": "0wsi4ix44h0vzjbw25iga4ghk5l06398l7fpv75iayyspmnl6gxq"
   },
   "stable": {
    "version": [
@@ -128660,11 +128911,11 @@
   "repo": "ideasman42/emacs-xref-rst",
   "unstable": {
    "version": [
-    20230601,
-    21
+    20240421,
+    814
    ],
-   "commit": "0811365a6ac240463aac9ddfcefb9ed8630e3da8",
-   "sha256": "1lgjp63ma3rb6rikn0bsyn4q1a1xf6gbnynpy6blsn0442ik2blk"
+   "commit": "c6dd6cc6df1d9dd311cb0f421b86beadfa3156ce",
+   "sha256": "0cb7ijk4x65r9wxwgrvwjqh1s8mg9vj3d41208rgn9q3849krg48"
   }
  },
  {
@@ -128786,19 +129037,19 @@
   "repo": "lordpretzel/xwidgets-reuse",
   "unstable": {
    "version": [
-    20231205,
-    1315
+    20240331,
+    1644
    ],
-   "commit": "4d5cfd24bc470def508e1301951d4057831d852f",
-   "sha256": "1p0zgd3x83la4w7bhy1f1daamnyfv7sk93bba25w39jgyjw3bd75"
+   "commit": "5653c8a3ac13615d171599b3ada87512bd1a6fb9",
+   "sha256": "0pbk5dqhj9ccxvpfzpbfg6c709j209r1idkljb32ssfcdfyld49h"
   },
   "stable": {
    "version": [
     0,
-    2
+    3
    ],
-   "commit": "3f95d81bfce1b3c52f9dcf2890cd2559a5287a33",
-   "sha256": "1i6g4n2pnp3r0pyn4p6xryh0x44lyvazy8kc1bfrzwzf6py9wmq0"
+   "commit": "5653c8a3ac13615d171599b3ada87512bd1a6fb9",
+   "sha256": "0pbk5dqhj9ccxvpfzpbfg6c709j209r1idkljb32ssfcdfyld49h"
   }
  },
  {
@@ -129295,14 +129546,14 @@
   "repo": "joaotavora/yasnippet",
   "unstable": {
    "version": [
-    20240308,
-    815
+    20240406,
+    1314
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "33587a8551b8f6991b607d3532062a384c010ce1",
-   "sha256": "1412iz2k8fvkgb0kdnmv7g3mw8fqa8smbxzs2w8c2ahbm4bprrfq"
+   "commit": "eb5ba2664c3a68ae4a53bb38b85418dd131b208f",
+   "sha256": "1n4vrl504hiiiz44h30zr5azkzm160zrxbcxim5f6nc55lgpkvqk"
   },
   "stable": {
    "version": [
@@ -129325,14 +129576,14 @@
   "repo": "elken/yasnippet-capf",
   "unstable": {
    "version": [
-    20240309,
-    1316
+    20240420,
+    1531
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "9043f8275176a8f198ce8e81fadab1870fa165bb",
-   "sha256": "19czzfjcd9m34ga51m5s10rlxp3v4q7fbq0cb5mc99ahbl763z9n"
+   "commit": "ea2bbf4f1c5c133ca7105a5cda2bc01c8e378ef5",
+   "sha256": "07aqjni44hick55mphz4xq6rap7m3p5nbbc7x63984r0aa25ckac"
   }
  },
  {
@@ -129554,14 +129805,14 @@
   "url": "https://git.thanosapollo.org/yeetube",
   "unstable": {
    "version": [
-    20240320,
-    1033
+    20240411,
+    1328
    ],
    "deps": [
     "compat"
    ],
-   "commit": "f9c28a527a60811c4b60bdd3730ca25c9522739a",
-   "sha256": "0idnvy7jgry8q3vf3532xdfxz62hc9qdn5ssb6mp32kmya9c3v3j"
+   "commit": "dfcbb8498b30b83d6f97d5777603d5f2dce39298",
+   "sha256": "013j8nm736lpkp2ygmgwdfbrylmwvlsgbf6qmscpfvn01n6w9s37"
   },
   "stable": {
    "version": [
@@ -129829,10 +130080,10 @@
  },
  {
   "ename": "ytel",
-  "commit": "447dac94507a1fd6791d08e0f8225c261d1fae2b",
-  "sha256": "0adxiw83rah9hln3k8gm6s7ks3xpqfknypjb9j51lxcabc7c1677",
+  "commit": "f01e793028a76e9033dd2e1e55e1ad475685fb69",
+  "sha256": "0sg5bjv6zknwvdbklmai9ilisja97lv30dq8n9h3fp47kw19fhyf",
   "fetcher": "github",
-  "repo": "grastello/ytel",
+  "repo": "manabiseijin/ytel",
   "unstable": {
    "version": [
     20200725,
@@ -129952,11 +130203,11 @@
   "repo": "bbatsov/zenburn-emacs",
   "unstable": {
    "version": [
-    20231120,
-    2002
+    20240331,
+    1350
    ],
-   "commit": "373a07f99ee595dee83b6cee8b6841b5d1c01e38",
-   "sha256": "03n87wcjbbpfgbx487676fzbrzzqj0cmiwcpikbws74fnr9ayplg"
+   "commit": "14dda0596a7cd0750fc6566eacc203a126f136c2",
+   "sha256": "1cyspxwjjhflafkyb2mkcfc1227i8kzmxgz3yvrj3ykdsim9pjwy"
   },
   "stable": {
    "version": [
@@ -130386,14 +130637,14 @@
   "repo": "ziglang/zig-mode",
   "unstable": {
    "version": [
-    20240301,
-    1618
+    20240416,
+    1636
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "b6f5375efeb97026410190f352f1044214fa0289",
-   "sha256": "0nll0ib9yvmjvysvvvmfdq5gl2zrwymzrifmmvifns8ddc2iv9ql"
+   "commit": "b4170b747ae4c45d145ff8bcb7fafe095e17b4c6",
+   "sha256": "1zzi7xlhhrzaxrwy20ida561n3rdjn25k3pkjvvjl073cr35hmyw"
   }
  },
  {
@@ -130929,7 +131180,7 @@
     "request"
    ],
    "commit": "98323098c37a444de49cfef44f1506e9386e8c5f",
-   "sha256": "18hi6m2ngl9yz599q5bhifafi4vz1adc06bjl0bhb3rs62vbkwk2"
+   "sha256": "1zr67h0w49rsi84mgf6jdili28h8782q6vjl8za0iq1hcx9zqxyf"
   }
  },
  {
diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix
index f252923897d18..59cced7ec49a5 100644
--- a/pkgs/applications/editors/emacs/make-emacs.nix
+++ b/pkgs/applications/editors/emacs/make-emacs.nix
@@ -45,6 +45,7 @@
 , libxml2
 , llvmPackages_14
 , m17n_lib
+, mailutils
 , makeWrapper
 , motif
 , ncurses
@@ -75,6 +76,7 @@
 , withGlibNetworking ? withPgtk || withGTK3 || (withX && withXwidgets)
 , withGpm ? stdenv.isLinux
 , withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
+, withMailutils ? true
 , withMotif ? false
 , withNS ? stdenv.isDarwin && !(variant == "macport" || noGui)
 , withPgtk ? false
@@ -304,39 +306,47 @@ mkDerivation (finalAttrs: {
     ImageIO
   ];
 
+  # Emacs needs to find movemail at run time, see info (emacs) Movemail
+  propagatedUserEnvPkgs = lib.optionals withMailutils [
+    mailutils
+  ];
+
   hardeningDisable = [ "format" ];
 
   configureFlags = [
-    "--disable-build-details" # for a (more) reproducible build
-    "--with-modules"
+    (lib.enableFeature false "build-details") # for a (more) reproducible build
+    (lib.withFeature true "modules")
   ] ++ (if withNS then [
-    "--disable-ns-self-contained"
+    (lib.enableFeature false "ns-self-contained")
   ] else if withX then [
-    "--with-x-toolkit=${toolkit}"
-    "--with-xft"
-    "--with-cairo"
+    (lib.withFeatureAs true "x-toolkit" toolkit)
+    (lib.withFeature true "cairo")
+    (lib.withFeature true "xft")
   ] else if withPgtk then [
-    "--with-pgtk"
+    (lib.withFeature true "pgtk")
   ] else [
-    "--with-gif=no"
-    "--with-jpeg=no"
-    "--with-png=no"
-    "--with-tiff=no"
-    "--with-x=no"
-    "--with-xpm=no"
+    (lib.withFeature false "gif")
+    (lib.withFeature false "jpeg")
+    (lib.withFeature false "png")
+    (lib.withFeature false "tiff")
+    (lib.withFeature false "x")
+    (lib.withFeature false "xpm")
   ])
   ++ lib.optionals (variant == "macport") [
-    "--enable-mac-app=$$out/Applications"
-    "--with-gnutls=yes"
-    "--with-mac"
-    "--with-xml2=yes"
+    (lib.enableFeatureAs true "mac-app" "$$out/Applications")
+    (lib.withFeature true "gnutls")
+    (lib.withFeature true "mac")
+    (lib.withFeature true "xml2")
+  ]
+  ++ lib.optionals stdenv.isDarwin [
+    (lib.withFeature withNS "ns")
   ]
-  ++ (lib.optional stdenv.isDarwin (lib.withFeature withNS "ns"))
   ++ [
     (lib.withFeature withCompressInstall "compress-install")
     (lib.withFeature withToolkitScrollBars "toolkit-scroll-bars")
     (lib.withFeature withNativeCompilation "native-compilation")
     (lib.withFeature withImageMagick "imagemagick")
+    (lib.withFeature withMailutils "mailutils")
     (lib.withFeature withSmallJaDic "small-ja-dic")
     (lib.withFeature withTreeSitter "tree-sitter")
     (lib.withFeature withXinput2 "xinput2")
diff --git a/pkgs/applications/editors/jetbrains/bin/versions.json b/pkgs/applications/editors/jetbrains/bin/versions.json
index 880858ef56b58..8fc5468aa5882 100644
--- a/pkgs/applications/editors/jetbrains/bin/versions.json
+++ b/pkgs/applications/editors/jetbrains/bin/versions.json
@@ -28,33 +28,33 @@
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
       "version": "2024.1.1",
-      "sha256": "2fd861d6fc91815466fc1f3b2bbd2177e55f1ea2c086fa10cf979de773d9cc06",
+      "sha256": "d83df71dacb8d71cd7af6ca06267b7006b9172d121b316a8a3ad41db7c870193",
       "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.tar.gz",
-      "build_number": "241.15989.74"
+      "build_number": "241.15989.158"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "783539f254e4d62f4fae153a9e737f1d69db1e44676c4d1513775571a68950e4",
-      "url": "https://download.jetbrains.com/go/goland-2024.1.tar.gz",
-      "build_number": "241.14494.238"
+      "version": "2024.1.1",
+      "sha256": "d952641bb05a38c771ae64b381f7d3735e20695df89180cc7f5ba9b31c0e437d",
+      "url": "https://download.jetbrains.com/go/goland-2024.1.1.tar.gz",
+      "build_number": "241.15989.157"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "01d1b224c5e88592f954b17796a76fa8391cdcafef27264e703c7ffe47bb4065",
-      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.tar.gz",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "4d4221630c4d1dcb9f198370f82d9364014a4a624684ad8b3958be9f01eb656a",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.1.tar.gz",
+      "build_number": "241.15989.150"
     },
     "idea-ultimate": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "b9083da939eacbcdf24b84cb9c45a1291bb33715f05fc7e10f2cff065d7c3fea",
-      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "d78b5ad0cf8325ca0659aae36b9979a581dab6cf8c7cd127cfb7f86440f282c9",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.1.tar.gz",
+      "build_number": "241.15989.150"
     },
     "mps": {
       "update-channel": "MPS RELEASE",
@@ -76,18 +76,18 @@
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "96048ea55ef45f1af0ebe12ad0e38e2763c9e5d654b9e174b33aaa12665d836b",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.tar.gz",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "715f30966c5597adc6ef544051a796de8a6cc5a5182938b8e14a1e6ad5e5edfd",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.1.tar.gz",
+      "build_number": "241.15989.155"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
-      "version": "2024.1",
-      "sha256": "2451d3ef7642151306354418c5237b326271e2653a09b869e5883a262a2916ad",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.tar.gz",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "b7e12b8d16164137f4cb0677fcac18af78aa117d33c511cce3fcf3972b4e3b17",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.1.tar.gz",
+      "build_number": "241.15989.155"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
@@ -159,33 +159,33 @@
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
       "version": "2024.1.1",
-      "sha256": "f500422ce9f2c7edb6515b3e7c6336df94000f0c2c454fe207a295489dcf3a0d",
+      "sha256": "6ea42d3605f5dc25b67b5254947bb3cd1a3cce7e81520ae5f486224bbbbc5de3",
       "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.tar.gz",
-      "build_number": "241.15989.74"
+      "build_number": "241.15989.158"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "f3cae5c83ca99d3b0e0ef20282f2434879ef89a59ca2c770c31b855e45b8f6f3",
-      "url": "https://download.jetbrains.com/go/goland-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.238"
+      "version": "2024.1.1",
+      "sha256": "d5577561744d4cedf7c092acde9faafbcd57527678693a964517383cdf831eeb",
+      "url": "https://download.jetbrains.com/go/goland-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.157"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "a13e7a53b5c8a512fbcb72957f24e5515618a5533f17d72914da5445b736dac1",
-      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "ae95111e01ce8f2f6dc0083306f121d8eb229dc001f1a5f0d69e4d20b2bc1d3c",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.150"
     },
     "idea-ultimate": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "e73756a96a2e958441facb2b9be7ba30b463a63235f37a757866800162f293bd",
-      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "4cec9ac0fbc1468708a9ae226a94d0ad1ef73829d49537d4363abd2ecda4bc62",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.150"
     },
     "mps": {
       "update-channel": "MPS RELEASE",
@@ -207,18 +207,18 @@
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "de8259a4cea264a2263bf771d74949ca25a2b9a8ffc5bbbc7c42d2faace6bd09",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "525c18749d9e2abd3ae2abea68c6be202348a9a026077f5782042baf12acf100",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.155"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz",
-      "version": "2024.1",
-      "sha256": "a1f43b2392b7fc6b0c062524593c19fb0721b4ec1a1a59a06e39a61da2dce258",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1-aarch64.tar.gz",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "141fbfb473e78270ec161f938963c77cdaad16cfc32985b9ec7a70fdb5e3e0bc",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.1-aarch64.tar.gz",
+      "build_number": "241.15989.155"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
@@ -290,33 +290,33 @@
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
       "version": "2024.1.1",
-      "sha256": "4513e26abf40f69a6eecd7f52d20a0f20e82a87722d4e8a4bd71718a4cba51b0",
+      "sha256": "0e230192d3532e4740a354bf7f58ae2efd4036607cb9ef4eaf4cca1ca0354df0",
       "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1.dmg",
-      "build_number": "241.15989.74"
+      "build_number": "241.15989.158"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "4684665fa5d33e3b97a445ffdb29238b995408537be0f706ce05ef1505ffb632",
-      "url": "https://download.jetbrains.com/go/goland-2024.1.dmg",
-      "build_number": "241.14494.238"
+      "version": "2024.1.1",
+      "sha256": "189d8582a0474e1f6eac858f3528af85d6ca36918d659f66edf2fd26d70b07af",
+      "url": "https://download.jetbrains.com/go/goland-2024.1.1.dmg",
+      "build_number": "241.15989.157"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "a0ed1fbb4f7c69a046869b3e1cd61faee193518374ac5d4dde4256f846c3b4e2",
-      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.dmg",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "b38881e1db85082fe167b24e7022aef958a9129bf07b56aff47ec43ac894c427",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.1.dmg",
+      "build_number": "241.15989.150"
     },
     "idea-ultimate": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "aaecd61f3258d555cb5b2993d04a56955f6dd4cb7a393b58928e4548817750e1",
-      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.dmg",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "2a32561669c4f21ed134006d4fe9c948881dc3b8e12c00f11c1616952f6975cc",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.1.dmg",
+      "build_number": "241.15989.150"
     },
     "mps": {
       "update-channel": "MPS RELEASE",
@@ -338,18 +338,18 @@
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "86162e01cba91d7fac7f06442ba4f2b969191cef3bba7c11fced30ac4aa87b34",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.dmg",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "73485ede957df2dc5c4a2936aa6d380fefccf1f5523407a1ad22ef6d757901d5",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.1.dmg",
+      "build_number": "241.15989.155"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
-      "version": "2024.1",
-      "sha256": "32882869eb3dbe44ed74ff5c916222cf7f60af23775c58430e2967b0cbe90846",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.dmg",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "3acd4e5f9d78229cc70664f25068732f7e0b7afa7f8895280e9698870e5cdccb",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.1.dmg",
+      "build_number": "241.15989.155"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
@@ -421,33 +421,33 @@
       "update-channel": "Gateway RELEASE",
       "url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
       "version": "2024.1.1",
-      "sha256": "840eb4ae9d2de9bbe353007798a6337f307f177e907754382ce7bef8be060e01",
+      "sha256": "c82e70fd6688c218da7a541ac0a0d06652389112f73a667964ee7a8e0a5bfc44",
       "url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2024.1.1-aarch64.dmg",
-      "build_number": "241.15989.74"
+      "build_number": "241.15989.158"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "92b8567751ceb8aaa95535cbe76d495035be9602fa84cccb18e6e25bbd2bcff5",
-      "url": "https://download.jetbrains.com/go/goland-2024.1-aarch64.dmg",
-      "build_number": "241.14494.238"
+      "version": "2024.1.1",
+      "sha256": "c04972578b92b2e8a9c0dfa52c01f09d9ed8640f12cf17e454d37ae6bea24a4a",
+      "url": "https://download.jetbrains.com/go/goland-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.157"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "e49f9a3dc01bd28aa4065642352f358d8b17680ff7207145c918d1f52b046447",
-      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1-aarch64.dmg",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "fc5bdc7c325708d0754d9bd4868db02c1c3b9a14e910dd641b76478e5b805441",
+      "url": "https://download.jetbrains.com/idea/ideaIC-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.150"
     },
     "idea-ultimate": {
       "update-channel": "IntelliJ IDEA RELEASE",
       "url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "fd09f791834713e02c7cd28e4bf35b89e6f55e09970db3a720a4c59044874973",
-      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1-aarch64.dmg",
-      "build_number": "241.14494.240"
+      "version": "2024.1.1",
+      "sha256": "bc1d350f18c493cd24c479f6c4f5b167b2cc62b8ff6e43e831b8ab90d4e079d2",
+      "url": "https://download.jetbrains.com/idea/ideaIU-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.150"
     },
     "mps": {
       "update-channel": "MPS RELEASE",
@@ -469,18 +469,18 @@
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "0cd62c5640d455e576a502fb23d5e6f3b71a2507e838bdec1a1be6a3fd6804e8",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1-aarch64.dmg",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "68e55873a82457fcb8eb1033dbb4e0be817f5b5423b067d8b632fbe5f1d6a4bb",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.155"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
-      "version": "2024.1",
-      "sha256": "9c1d71668eb5de90f1f498477630a5d474a10ec90ee6ca61a8039f42505f5ca7",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1-aarch64.dmg",
-      "build_number": "241.14494.241"
+      "version": "2024.1.1",
+      "sha256": "091a2531325c1df23619ee50998d5d7d7348dc9d25fd7416ccb07aa7d6100c39",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2024.1.1-aarch64.dmg",
+      "build_number": "241.15989.155"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json
index 2f2effa5918bd..cbc1207aabede 100644
--- a/pkgs/applications/editors/jetbrains/plugins/plugins.json
+++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json
@@ -18,15 +18,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/164/515255/IdeaVim-2.10.2-signed.zip"
       },
       "name": "ideavim"
@@ -36,7 +36,7 @@
         "idea-ultimate"
       ],
       "builds": {
-        "241.14494.240": "https://plugins.jetbrains.com/files/631/521307/python-241.14494.314.zip"
+        "241.15989.150": "https://plugins.jetbrains.com/files/631/530669/python-241.15989.166.zip"
       },
       "name": "python"
     },
@@ -58,15 +58,15 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "241.14494.238": null,
-        "241.14494.240": null,
-        "241.14494.241": null,
         "241.14494.325": null,
         "241.15989.101": null,
         "241.15989.102": null,
         "241.15989.105": null,
         "241.15989.113": null,
         "241.15989.121": null,
+        "241.15989.150": null,
+        "241.15989.155": null,
+        "241.15989.157": null,
         "241.15989.49": null
       },
       "name": "kotlin"
@@ -89,15 +89,15 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "241.14494.238": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip"
       },
       "name": "ini"
@@ -108,8 +108,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.240": "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip",
-        "241.15989.102": "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip"
+        "241.15989.102": "https://plugins.jetbrains.com/files/7219/529388/Symfony_Plugin-2023.1.271.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/7219/529388/Symfony_Plugin-2023.1.271.zip"
       },
       "name": "symfony-support"
     },
@@ -119,8 +119,8 @@
         "phpstorm"
       ],
       "builds": {
-        "241.14494.240": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
-        "241.15989.102": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
+        "241.15989.102": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip"
       },
       "name": "php-annotations"
     },
@@ -133,11 +133,11 @@
         "rust-rover"
       ],
       "builds": {
-        "241.14494.238": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip",
-        "241.15989.101": "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip",
-        "241.15989.49": "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip"
+        "241.15989.101": "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip"
       },
       "name": "python-community-edition"
     },
@@ -158,14 +158,14 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
-        "241.14494.238": null,
-        "241.14494.240": null,
-        "241.14494.241": null,
         "241.14494.325": null,
         "241.15989.102": null,
         "241.15989.105": null,
         "241.15989.113": null,
         "241.15989.121": null,
+        "241.15989.150": null,
+        "241.15989.155": null,
+        "241.15989.157": null,
         "241.15989.49": null
       },
       "name": "-deprecated-rust"
@@ -187,14 +187,14 @@
       ],
       "builds": {
         "233.13135.979": null,
-        "241.14494.238": null,
-        "241.14494.240": null,
-        "241.14494.241": null,
         "241.14494.325": null,
         "241.15989.102": null,
         "241.15989.105": null,
         "241.15989.113": null,
         "241.15989.121": null,
+        "241.15989.150": null,
+        "241.15989.155": null,
+        "241.15989.157": null,
         "241.15989.49": null
       },
       "name": "-deprecated-rust-beta"
@@ -209,10 +209,10 @@
         "ruby-mine"
       ],
       "builds": {
-        "241.14494.238": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
-        "241.15989.113": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip"
+        "241.15989.113": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip"
       },
       "name": "ide-features-trainer"
     },
@@ -233,17 +233,17 @@
         "webstorm"
       ],
       "builds": {
-        "233.13135.979": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.14494.325": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.101": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.102": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.105": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.113": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.121": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip",
-        "241.15989.49": "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip"
+        "233.13135.979": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.14494.325": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.101": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.102": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.105": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.113": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.121": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip",
+        "241.15989.49": "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip"
       },
       "name": "nixidea"
     },
@@ -253,8 +253,8 @@
         "idea-ultimate"
       ],
       "builds": {
-        "241.14494.238": "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip"
+        "241.15989.150": "https://plugins.jetbrains.com/files/9568/521002/go-plugin-241.15989.21.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/9568/521002/go-plugin-241.15989.21.zip"
       },
       "name": "go"
     },
@@ -276,15 +276,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip"
       },
       "name": "csv-editor"
@@ -307,15 +307,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip"
       },
       "name": "vscode-keymap"
@@ -338,15 +338,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/12559/508216/keymap-eclipse-241.14494.150.zip"
       },
       "name": "eclipse-keymap"
@@ -369,15 +369,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/13017/508253/keymap-visualStudio-241.14494.150.zip"
       },
       "name": "visual-studio-keymap"
@@ -400,15 +400,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.238": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.240": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
-        "241.14494.241": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.14494.325": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.101": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.102": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.105": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.113": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.121": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.150": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.155": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
+        "241.15989.157": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
         "241.15989.49": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
       },
       "name": "darcula-pitch-black"
@@ -431,15 +431,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip"
       },
       "name": "github-copilot"
@@ -462,15 +462,15 @@
       ],
       "builds": {
         "233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.238": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.240": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
-        "241.14494.241": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.14494.325": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.102": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.105": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.113": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.121": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.155": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
+        "241.15989.157": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
         "241.15989.49": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
       },
       "name": "netbeans-6-5-keymap"
@@ -482,9 +482,9 @@
         "rust-rover"
       ],
       "builds": {
-        "241.14494.240": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip",
         "241.15989.101": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip",
-        "241.15989.121": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip"
+        "241.15989.121": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip",
+        "241.15989.150": "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip"
       },
       "name": "rust"
     }
@@ -503,16 +503,16 @@
     "https://plugins.jetbrains.com/files/17718/517133/github-copilot-intellij-1.5.2.5345.zip": "sha256-BaBYXN8eulaJtJSKrz9bZ2Yn8029goSAUvjYU+BaiIU=",
     "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
     "https://plugins.jetbrains.com/files/22407/526873/intellij-rust-241.25989.101.zip": "sha256-v1r14zx591Vr8JmQxfysQ/aO8HDYCorwnnOEKDIfx+Y=",
-    "https://plugins.jetbrains.com/files/631/521307/python-241.14494.314.zip": "sha256-LFPN3bURT4gauDdoOgs+Rnq90RZ68/mrpw7/hfsq7VI=",
+    "https://plugins.jetbrains.com/files/631/530669/python-241.15989.166.zip": "sha256-1mdv8xJfaa8Ln4/jsnyQyd6C19C8++XYpOBDU67SDGc=",
     "https://plugins.jetbrains.com/files/6981/513562/ini-241.14494.240.zip": "sha256-QC42nC7mEE3X1cmKj8jkwzpDJzX7ZoOPEd9y6i8IuvM=",
     "https://plugins.jetbrains.com/files/6981/527916/ini-241.15989.113.zip": "sha256-JgFoDqeMxdg3E9ZWHVsJGSygKAifFCEa9S+RdLFkLBI=",
-    "https://plugins.jetbrains.com/files/7219/525744/Symfony_Plugin-2023.1.270.zip": "sha256-JSMTavSX9dzcOjbeuI7HBThtztwkyUqGOtCXNbCsfio=",
+    "https://plugins.jetbrains.com/files/7219/529388/Symfony_Plugin-2023.1.271.zip": "sha256-vboCsF7e4Kx56hkKEXkFO9A/ElxNAITi4cIFwLcXxCU=",
     "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=",
     "https://plugins.jetbrains.com/files/7322/513587/python-ce-241.14494.240.zip": "sha256-6YC/aoiTRLAh87C2v3k24BLBH/tsdTWuDK/CBv8y1QI=",
-    "https://plugins.jetbrains.com/files/7322/524818/python-ce-241.15989.69.zip": "sha256-RG4pXcX8KpN1es6qvuU/YL+2LUuOCyzkxy09tJ/XAIE=",
+    "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip": "sha256-VJWFzUk/lloFCfHbXX7lQRV6bGseCqEPA8XOLlkqNho=",
     "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
     "https://plugins.jetbrains.com/files/8554/508289/featuresTrainer-241.14494.150.zip": "sha256-D2gF9bLAEFd1+6vZskiM2Eyl5e8hmyh/VHrmW2NociE=",
-    "https://plugins.jetbrains.com/files/8607/519418/NixIDEA-0.4.0.12.zip": "sha256-D2HFG2tQy719+baHjUyizoq67tv6lDZrX3s6HDlBRA0=",
-    "https://plugins.jetbrains.com/files/9568/513582/go-plugin-241.14494.240.zip": "sha256-66Gx4XFn5DEZ/wCkN7IFQKtp+P0R9PoEAXmwOB97Q3A="
+    "https://plugins.jetbrains.com/files/8607/530004/NixIDEA-0.4.0.13.zip": "sha256-6MI3mRCzSWmdMfjlkE4SMZmKnvWLjMGmYvcPw0PoBNY=",
+    "https://plugins.jetbrains.com/files/9568/521002/go-plugin-241.15989.21.zip": "sha256-4wM2FFZMTJlWEmxoSrZgkJXdSxUUtDoGZGrobnrMH78="
   }
 }
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index fa0e485d71287..9a3522c5a5311 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -1,30 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "kakoune-unwrapped";
-  version = "2023.08.05";
+  version = "2024.05.09";
   src = fetchFromGitHub {
     repo = "kakoune";
     owner = "mawww";
-    rev = "v${version}";
-    sha256 = "sha256-RR3kw39vEjsg+6cIY6cK2i3ecGHlr1yzuBKaDtGlOGo=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-Dfp33zk9ZUMrCZRfPNfoSX6rgQKItvOQx+CuRNQgtTA=";
   };
-  patches = [
-    # Use explicit target types for gather calls to bypass clang regression
-    #
-    # Since clang-16 there has been a regression in the P0522R0 support.
-    # (Bug report at https://github.com/llvm/llvm-project/issue/63281)
-    #
-    # Closes mawww/kakoune#4892
-    (fetchpatch {
-      url = "https://github.com/mawww/kakoune/commit/7577fa1b668ea81eb9b7b9af690a4161187129dd.patch";
-      hash = "sha256-M0jKaEDhkpvX+n7k8Jf2lWaRNy8bqZ1kRHR4eG4npss=";
-    })
-  ];
   makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ];
 
-  preConfigure = ''
-    export version="v${version}"
+  postPatch = ''
+    echo "v${finalAttrs.version}" >.version
   '';
 
   enableParallelBuilding = true;
@@ -51,4 +39,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 74afc2182dd52..8b38e1c6e6e4a 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "9.1.0200";
+  version = "9.1.0377";
 
   outputs = [ "out" "xxd" ];
 
@@ -8,7 +8,7 @@ rec {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    hash = "sha256-MAMd+k4GpFUwEZzQTWtzSpYY6AEez+FMiqexozYK3Y4=";
+    hash = "sha256-cfN/QbnpWIQmLtpXWPc1JnaaX+J10ietObN/B9lE1F0=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index ce83128e98b10..64aa5b639a9b4 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -11,6 +11,7 @@
 , perl
 , luajit
 , darwin
+, libiconv
 , python3
 }:
 
@@ -127,7 +128,7 @@ stdenv.mkDerivation {
       --replace " -L${stdenv.cc.libc}/lib" "" \
       --replace " -L${darwin.libobjc}/lib" "" \
       --replace " -L${darwin.libunwind}/lib" "" \
-      --replace " -L${darwin.libiconv}/lib" ""
+      --replace " -L${libiconv}/lib" ""
 
     # All the libraries we stripped have -osx- in their name as of this time.
     # Assert now that this pattern no longer appears in config.mk.
diff --git a/pkgs/applications/editors/vim/plugins/deprecated.json b/pkgs/applications/editors/vim/plugins/deprecated.json
index c2c2ca8a56ffc..3fb71c316c45a 100644
--- a/pkgs/applications/editors/vim/plugins/deprecated.json
+++ b/pkgs/applications/editors/vim/plugins/deprecated.json
@@ -7,6 +7,14 @@
         "date": "2021-12-21",
         "new": "cmp-tmux"
     },
+    "fern-vim": {
+        "date": "2024-05-12",
+        "new": "vim-fern"
+    },
+    "gina-vim": {
+        "date": "2024-05-12",
+        "new": "vim-gina"
+    },
     "gist-vim": {
         "date": "2020-03-27",
         "new": "vim-gist"
@@ -47,8 +55,12 @@
         "date": "2021-09-03",
         "new": "sqlite-lua"
     },
+    "suda-vim": {
+        "date": "2024-05-12",
+        "new": "vim-suda"
+    },
     "vim-fsharp": {
-        "date": "2024-05-06",
+        "date": "2024-05-12",
         "new": "zarchive-vim-fsharp"
     },
     "vim-jade": {
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 5bd533dd11fcc..1f59cc3e35411 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -65,12 +65,12 @@ final: prev:
 
   Coqtail = buildVimPlugin {
     pname = "Coqtail";
-    version = "2024-04-19";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "c74271e68dfc9e125e6ae197879eb50c7b34512d";
-      sha256 = "1x2yhdmmm5sbfpqbkrivwa05hx8vk5xa3468db3554clawkp2mnj";
+      rev = "60d5fef9e8f272ca9dd40d68dd692fb448a5f606";
+      sha256 = "0acwav5f9hrjcwg3lw2l8dhh9y5yqcd0af8wkimzryfa1k7vqxiq";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -173,24 +173,24 @@ final: prev:
 
   LazyVim = buildVimPlugin {
     pname = "LazyVim";
-    version = "2024-05-03";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "LazyVim";
       repo = "LazyVim";
-      rev = "530e94a9fa19577401e968a9673282c3d79f01e3";
-      sha256 = "1hjin3p1w6qypq8374mixd5jxz6zviddp3is0a4x9c5047s2ivi2";
+      rev = "a0afe8fef9dc76b469a78435cdd3f2c5ee01f282";
+      sha256 = "0xibikcqxw35dggh2hzqaxa4lcn07y4fn6inn91slcll0zihn0xx";
     };
     meta.homepage = "https://github.com/LazyVim/LazyVim/";
   };
 
   LeaderF = buildVimPlugin {
     pname = "LeaderF";
-    version = "2024-04-30";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "b73af2cbe778e560b723bc65eb385302257f44a4";
-      sha256 = "1y0bxr88v3kkay5vqz1k2m3c65aw0fnb50ip85x8ksjfxhvxjqll";
+      rev = "de37c621a099a72d21e1731d4932d5b62cdc37bd";
+      sha256 = "1bb6xz9hdgl8gzhmkshgc0s5cmy68k8vwqx898a0v7gd3jg8p755";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPlugin {
     pname = "SchemaStore.nvim";
-    version = "2024-05-03";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "2ef728ff7e790431f1f71052bfd4c5568157e110";
-      sha256 = "1y25yp9n3x8w2psrmcbzbm4gghr368ly9amksw0z7g4jnkw1913p";
+      rev = "35a0998728380a17b8590447e8207391411c667a";
+      sha256 = "1rb3fnw5pdsg22f8nsvxf37b5hmkq5gl9qyv3xis1ydm2l4vi7k8";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -498,12 +498,12 @@ final: prev:
 
   actions-preview-nvim = buildVimPlugin {
     pname = "actions-preview.nvim";
-    version = "2024-05-03";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "aznhe21";
       repo = "actions-preview.nvim";
-      rev = "ceb6e06d1c8c30d8ddfe3afb03cd2c47b08b2798";
-      sha256 = "076z8cjkzkwy6qnjavsj8mvbq5f5kld2jdcq0x337hsfmzgj3s6h";
+      rev = "e8d41b608e24319548637685c7cfa66fadaff2b2";
+      sha256 = "1nvly9hhf02dfcqp0saf7inh502mdyivha2ksqyq0f07bp1qkzcd";
     };
     meta.homepage = "https://github.com/aznhe21/actions-preview.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   aerial-nvim = buildVimPlugin {
     pname = "aerial.nvim";
-    version = "2024-04-24";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "83a79f39b709c20be4c830d241379fa85ef21a7c";
-      sha256 = "0097knf20gkc622pdpkxhhjl6fim8h4130xhigv6xa52jsl4jdl2";
+      rev = "228fad11393322537d9662c0347f75549a3d6c0a";
+      sha256 = "1498ys4z2pzkk6x59ygnq18j53zypin2zxmlc4vvc74v640v3iml";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -583,12 +583,12 @@ final: prev:
 
   ale = buildVimPlugin {
     pname = "ale";
-    version = "2024-05-01";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "70eeae54fbd5c2e254604d543674f02d42c0ccdd";
-      sha256 = "0wyahv3gb56kaqw9mz9jklnc8h20zis1fc4662cyaks14fav9cjc";
+      rev = "c88bddfa83dbb96c2f57426794ed98a0e181ea7e";
+      sha256 = "06mbkp68wwl1pnpzl1plfv3g7089ljlkp3bw5rgj0xjq5yd4bkfi";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -691,24 +691,24 @@ final: prev:
 
   arrow-nvim = buildVimPlugin {
     pname = "arrow.nvim";
-    version = "2024-04-24";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "otavioschwanck";
       repo = "arrow.nvim";
-      rev = "a133010d392e5e12f28e3315d634c74912b3ec24";
-      sha256 = "1870j9681pc0zdjip5nk1cdmdac37kd9phvjmz1q4jvy9m4hy475";
+      rev = "33f3ce4c710c1717c491119016808c8d529d76a2";
+      sha256 = "0qagjxl3c8gp19q6ghj9cv5yv7naqm2d6p83bfrbkw92ba2i8nli";
     };
     meta.homepage = "https://github.com/otavioschwanck/arrow.nvim/";
   };
 
   astrotheme = buildVimPlugin {
     pname = "astrotheme";
-    version = "2024-04-10";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "AstroNvim";
       repo = "astrotheme";
-      rev = "8b316aa3ecd8c4206430379c0b1da0b4e7969ab9";
-      sha256 = "120fz8z6bmsp7dqjhg8dygbgv1q4bzwk0k8ji55xa2w6bc8ji3ii";
+      rev = "7e47b7900229365bc0dca2a2eee2acc62dfc9dc3";
+      sha256 = "14gjl0w921c3bgl4hcvv1px42j1z7i2bsqh91lps33r18sj3x833";
     };
     meta.homepage = "https://github.com/AstroNvim/astrotheme/";
   };
@@ -1375,12 +1375,12 @@ final: prev:
 
   chadtree = buildVimPlugin {
     pname = "chadtree";
-    version = "2024-04-26";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "dac7ee382afa77dec64df11eac8cb7be830a69a6";
-      sha256 = "1l34c38rc35wp6mhccbvxq5ddj39gc770rdnyhg9nxqzsql281js";
+      rev = "28ec469ed46c6366dbda7f3a4f57b204d7bf8e49";
+      sha256 = "1f9bmaj0lhiwzig0g36gbsy3mkq2lmcqx762h4z3kn1acci3dlk1";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1531,12 +1531,12 @@ final: prev:
 
   cmake-tools-nvim = buildVimPlugin {
     pname = "cmake-tools.nvim";
-    version = "2024-05-05";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "Civitasv";
       repo = "cmake-tools.nvim";
-      rev = "1c309e42bf0fe1ee79caa4de7b3cc39a170de382";
-      sha256 = "1mnczi00llsr309zd3w45axlkffafms83f2dsdb8avmyfbjaf46w";
+      rev = "b221c5973ca520b0f079e16cd9919a8d944f7890";
+      sha256 = "0whqznv233hn8241h0nv5r30qcnlzf6ziqxpjcdsxp97s1vcg1pi";
     };
     meta.homepage = "https://github.com/Civitasv/cmake-tools.nvim/";
   };
@@ -1975,12 +1975,12 @@ final: prev:
 
   cmp-spell = buildVimPlugin {
     pname = "cmp-spell";
-    version = "2023-09-20";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "f3fora";
       repo = "cmp-spell";
-      rev = "32a0867efa59b43edbb2db67b0871cfad90c9b66";
-      sha256 = "1yr2cq1b6di4k93pjlshkkf4phhd3lzmkm0s679j35crzgwhxnbd";
+      rev = "694a4e50809d6d645c1ea29015dad0c293f019d6";
+      sha256 = "0qh86jbm1a843lc9p5z4gqarzpwq4vbb8cjlg7jn87ighx5cgzhr";
     };
     meta.homepage = "https://github.com/f3fora/cmp-spell/";
   };
@@ -2287,12 +2287,12 @@ final: prev:
 
   colorbuddy-nvim = buildVimPlugin {
     pname = "colorbuddy.nvim";
-    version = "2024-03-20";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "tjdevries";
       repo = "colorbuddy.nvim";
-      rev = "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e";
-      sha256 = "1xakrmhsjr5xy82g9vfjmsz2wy93gchsqg7lndvjjm175hsqd27a";
+      rev = "8b968581e5c19d22a861d5f3fe5dbd83394fa681";
+      sha256 = "184hvgv6cb25hfgkh07yx0mddygcj0qk19slwpj6z5i3xvywxab1";
     };
     meta.homepage = "https://github.com/tjdevries/colorbuddy.nvim/";
   };
@@ -2503,12 +2503,12 @@ final: prev:
 
   conform-nvim = buildVimPlugin {
     pname = "conform.nvim";
-    version = "2024-04-28";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "conform.nvim";
-      rev = "12b3995537f52ba2810a9857e8ca256881febbda";
-      sha256 = "1czcfc475qrf8mg9x5m0iziw8ap242w04zjdcild5yf30an3xh1g";
+      rev = "dc950e5717f1da65b1fcd986b1bbff0d6bd0e2ee";
+      sha256 = "08x0nl7gxmadv9as0i7yqcjb5npq8fa258vz6b4n1qx85dj99skr";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/conform.nvim/";
@@ -2576,12 +2576,12 @@ final: prev:
 
   copilot-vim = buildVimPlugin {
     pname = "copilot.vim";
-    version = "2024-05-03";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "b603990a639bb4b8651d054ef8d5a8fe5db56e0c";
-      sha256 = "0zkfdjxcbxs9bw01prmf6zavc41jv3688f7g88flp5cria4j9dw6";
+      rev = "dfa657c80c915a6a3eb6d9010046a0576ad25a37";
+      sha256 = "0jf0hljpg5yl26qazz3xpg7hcdv3ywjw81s4g2b42wsrwsmafzsf";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
@@ -2660,12 +2660,12 @@ final: prev:
 
   crates-nvim = buildVimPlugin {
     pname = "crates.nvim";
-    version = "2024-04-24";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "f00e11e8282b94f2a2e938d32712c99f0e0bdeb4";
-      sha256 = "0prrq6fgw1nhmqb80gbfkgnqqk209l1vzszw6k20b13r303adpyk";
+      rev = "7d8541ec0e3b30ac2c43864d3ee13a632e1231ed";
+      sha256 = "1zyzv2bq01c6mfmjf05sjxya6vq9yjdsdyc8gqxvlcyjilzff602";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -2756,12 +2756,12 @@ final: prev:
 
   cyberdream-nvim = buildVimPlugin {
     pname = "cyberdream.nvim";
-    version = "2024-05-05";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "scottmckendry";
       repo = "cyberdream.nvim";
-      rev = "a9cb4b229127e1b06964e73b5d55fad300b560be";
-      sha256 = "1zmzng24211752fpircdlxbw3hflja7366hymyszwl7x061w04n0";
+      rev = "c3eff4c5df805bb9451129151509d5624295f416";
+      sha256 = "0c6ypwik0w9p9ch2089dn8gxisx22fb7gzdzivbnn2i239fwc12n";
     };
     meta.homepage = "https://github.com/scottmckendry/cyberdream.nvim/";
   };
@@ -2804,12 +2804,12 @@ final: prev:
 
   debugprint-nvim = buildVimPlugin {
     pname = "debugprint.nvim";
-    version = "2024-04-28";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "andrewferrier";
       repo = "debugprint.nvim";
-      rev = "c7d04c3bf0a83e37434a4319040c2384a7f97acc";
-      sha256 = "1di8yxzag3siiqxvl5b11zgarpdwvd65apj5wlnwijp9nraxpgz9";
+      rev = "94d7d988c1d7dcb2f4c55d01d54bdb95c597639c";
+      sha256 = "0nvyb0d8c7klyng700wpard9jyhl0n3363v4czxqs3fisx4ppq9x";
     };
     meta.homepage = "https://github.com/andrewferrier/debugprint.nvim/";
   };
@@ -2912,12 +2912,12 @@ final: prev:
 
   denops-vim = buildVimPlugin {
     pname = "denops.vim";
-    version = "2024-05-05";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "vim-denops";
       repo = "denops.vim";
-      rev = "2a393849db9531d14106dcd437f9b7deb5012057";
-      sha256 = "08yzbr2y07aj4bl0z8zv925qdmfx4pvjwpqk7829rp62nng7dc18";
+      rev = "52bff98267685291fd083523d8446e8c233fe96d";
+      sha256 = "175xp085c0vycfr5pxwbz590y5lksia97xh6xd4nd06pq5ps91zv";
     };
     meta.homepage = "https://github.com/vim-denops/denops.vim/";
   };
@@ -3166,12 +3166,12 @@ final: prev:
 
   dhall-vim = buildVimPlugin {
     pname = "dhall-vim";
-    version = "2021-06-05";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "68500ef46ff3706f46c99db3be7a0c8abcf6a3ae";
-      sha256 = "0lwna4kcq7davfvh3535n8wl9jxkjm7cg6jgpisd17kvagihh8qw";
+      rev = "c1790ded928a57abba9ebc8f46cf57a52733af04";
+      sha256 = "05jd65bxclgmb97hyg9akcz4zw7n81wh53a1dp7rxvannbxzd6db";
     };
     meta.homepage = "https://github.com/vmchale/dhall-vim/";
   };
@@ -3395,12 +3395,12 @@ final: prev:
 
   efmls-configs-nvim = buildVimPlugin {
     pname = "efmls-configs-nvim";
-    version = "2024-05-05";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "creativenull";
       repo = "efmls-configs-nvim";
-      rev = "51cb9191aa2776477e2e75180f9a466f0efaac43";
-      sha256 = "0yaxr9vjxj5ah7p98gzhdid8iwhjr64a76rlx0jjvmbzbz26vv8l";
+      rev = "f477186ecc12ac025a9948d17edc69242e1ee96b";
+      sha256 = "0mgljq23h4phk5r6dnkyijyv54j71h2cgvxjg4c8lgnqvas0cksl";
     };
     meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
   };
@@ -3492,12 +3492,12 @@ final: prev:
 
   everforest = buildVimPlugin {
     pname = "everforest";
-    version = "2024-03-27";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "4d67edd8d4701b00cee37073d53053a650264541";
-      sha256 = "1jlr4wjbmzjgr823csai7ii3yq2gppl8kchhqngp76gpf4i81795";
+      rev = "c6b3315ed7e890128ff1e274969d4aca2eeb8185";
+      sha256 = "0sp8ykmc5006rshviyv955l3z85wanii822x5bdii9yrmlfmhgcj";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -3600,14 +3600,14 @@ final: prev:
 
   fern-vim = buildVimPlugin {
     pname = "fern.vim";
-    version = "2024-03-21";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "lambdalisue";
-      repo = "fern.vim";
-      rev = "928d355e4c06e08eb3c9062485a661f1d37b01d1";
-      sha256 = "1siyqx08cb36dh61gy7hgmv0csdjbxnyam07is52w1x2pik0167h";
+      repo = "vim-fern";
+      rev = "a675dff495a0a0fd15663ebbae585c19825a64c5";
+      sha256 = "1bxd4x5iac6c1ca5vxw2y1bxxlzjhn6gkxfnw91q68cj7lik5575";
     };
-    meta.homepage = "https://github.com/lambdalisue/fern.vim/";
+    meta.homepage = "https://github.com/lambdalisue/vim-fern/";
   };
 
   ferret = buildVimPlugin {
@@ -3660,12 +3660,12 @@ final: prev:
 
   firenvim = buildVimPlugin {
     pname = "firenvim";
-    version = "2024-04-28";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "glacambre";
       repo = "firenvim";
-      rev = "03ba12a5a92a02d171005775a8150998c4060a74";
-      sha256 = "0fa49443b21rzfvbyx4kri673y7nny8j3jgd591y71mfiaa7w5bw";
+      rev = "fc72687977e1c34259c42f0e408655cf2638760d";
+      sha256 = "18q5lby9hlhbd1z2bpnm9s2vrfz88g19rq78hx10d1vp3f576jla";
     };
     meta.homepage = "https://github.com/glacambre/firenvim/";
   };
@@ -3829,12 +3829,12 @@ final: prev:
 
   friendly-snippets = buildVimPlugin {
     pname = "friendly-snippets";
-    version = "2024-05-04";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "fa36367422da5a38560892e3db6d090a635d9d41";
-      sha256 = "13q4hby88b7s3qy5xxsk385hxdc89ypxd33ipanzbx4h1bkvxj3g";
+      rev = "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a";
+      sha256 = "03z76x6a444fxys8qnsjbafy3ij8hf3y15wn6gc22glxfqyfvjsn";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3935,26 +3935,26 @@ final: prev:
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
 
-  fzf-lua = buildVimPlugin {
+  fzf-lua = buildNeovimPlugin {
     pname = "fzf-lua";
-    version = "2024-04-01";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "5a44f0ace88de57743af661c9507ef5075aa6e2e";
-      sha256 = "1r9bi2a56gg827s9a0yk6skm85jl0x4ky1qk2ram4aaxpjfc2c6y";
+      rev = "9c953dfa7650191d892800333d187f3439e01afd";
+      sha256 = "1dzznjj2q2xsj9dvx0agsqi0c5y68d23mr9l6cpnz2rc2yfrisgi";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
 
   fzf-vim = buildVimPlugin {
     pname = "fzf.vim";
-    version = "2024-04-28";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "269c08641ed5a842a19c03ca14e3eac3ac7ea74b";
-      sha256 = "0fvqw0pkmynjhksy5hid2yzghjv25irkjvixz0dagggjwd635vx7";
+      rev = "99093bd103b847dd3ed149b0c9e7146c8ed46643";
+      sha256 = "08nsxc52zs9k98q9yxq8kzddzs78fg0v185wympq6k8ks15lk4qr";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
@@ -4024,21 +4024,21 @@ final: prev:
     version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "lambdalisue";
-      repo = "gina.vim";
+      repo = "vim-gina";
       rev = "ff6c2ddeca98f886b57fb42283c12e167d6ab575";
       sha256 = "09jlnpix2dy6kggiz96mrm5l1f9x1gl5afpdmfrxgkighn2rwpzq";
     };
-    meta.homepage = "https://github.com/lambdalisue/gina.vim/";
+    meta.homepage = "https://github.com/lambdalisue/vim-gina/";
   };
 
   git-blame-nvim = buildVimPlugin {
     pname = "git-blame.nvim";
-    version = "2024-04-13";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "ad1d1365c9189d89797fe8d559677d5f55dc2830";
-      sha256 = "1saw496nx8pimq1sn0ws2k10cvwg4r5q5dizfclm1rpxfp13485j";
+      rev = "fb84fad97cd4b51caee3c865e8a33a0d413b77a8";
+      sha256 = "0yn410ld7xrclpd24smf088xaig9zhv01612yv2qjbz9w16q689d";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
@@ -4117,12 +4117,12 @@ final: prev:
 
   gitsigns-nvim = buildNeovimPlugin {
     pname = "gitsigns.nvim";
-    version = "2024-05-04";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "bc933d24a669608968ff4791b14d2d9554813a65";
-      sha256 = "1c8vkgfpmagnczzjdnxg9md3wiw7irlv02v7v0yv2q0piii9s6av";
+      rev = "805610a9393fa231f2c2b49cb521bfa413fadb3d";
+      sha256 = "0cxcq40i84l1jblvvn913hiz9qik62g0iij097prxgz2jx66lvdz";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -4177,12 +4177,12 @@ final: prev:
 
   go-nvim = buildVimPlugin {
     pname = "go.nvim";
-    version = "2024-04-30";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "d5e2b8cdd84afdb0c49c42a6e8972acc645e0283";
-      sha256 = "04nxy9493jzjsf5lnfw86hnfp7xg9yn42091fjj40v3pr787398x";
+      rev = "4348ba67c29338af648ed9a0455bebb44fdb3ef3";
+      sha256 = "0rmry1zlm3b9i4kkxjx42kvhfgpjva55g4z2hifdjczrqasgv4sb";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -4345,36 +4345,36 @@ final: prev:
 
   gruvbox-material-nvim = buildVimPlugin {
     pname = "gruvbox-material.nvim";
-    version = "2024-05-05";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "f4z3r";
       repo = "gruvbox-material.nvim";
-      rev = "75a7ffdf3cc73177a2784ca2252d9f9f1adee974";
-      sha256 = "0rdsr1ajha40slzhz5i7cqcxhh0b0f6z174dss3yhdaqrhg0ci3b";
+      rev = "186bfd9fc87ada2e408158bc0f72799b46370add";
+      sha256 = "0a19dsjhx50fpl2apwwllpvc9bznigc4f41lhyb0ydldi6x0rg13";
     };
     meta.homepage = "https://github.com/f4z3r/gruvbox-material.nvim/";
   };
 
   gruvbox-nvim = buildVimPlugin {
     pname = "gruvbox.nvim";
-    version = "2024-05-03";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "dd0ab08b17d2ead7bdb4838b48e1d08034ead0f0";
-      sha256 = "04kdyrws4w9qhrk09kkh5wrk1cwi2jvnr1y790cyrjs0fch3f97g";
+      rev = "c442515506caa166118e157980f62a9ac24fa8c3";
+      sha256 = "07yp690ybjknlczbdglhrb9mdalf13s9pf190kv20a2yx8ipj1yq";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
 
   guard-collection = buildVimPlugin {
     pname = "guard-collection";
-    version = "2023-11-13";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "guard-collection";
-      rev = "13e00d19f418d68977c6bc803f0d23d09dce580d";
-      sha256 = "1zhq99hf722m5m842ghadj9akmb0y1sqkpmbhhk15jynnvv16ab6";
+      rev = "78df199510b9c8e2a1da0cdf71a01c4f6009a47d";
+      sha256 = "01y36ra8xrlr2s7lbxz5zw923rdhrnqwg0aa2hbpza7adwx8q0s0";
     };
     meta.homepage = "https://github.com/nvimdev/guard-collection/";
   };
@@ -4453,11 +4453,11 @@ final: prev:
 
   hare-vim = buildVimPlugin {
     pname = "hare.vim";
-    version = "2024-04-21";
+    version = "2024-05-12";
     src = fetchgit {
       url = "https://git.sr.ht/~sircmpwn/hare.vim";
-      rev = "960c7a342609f373414c1e7fe4be0dcc369716ff";
-      sha256 = "1dzpp050gl1a39vdmn57941qzxmyws0x1fqykq82babppn23hzpb";
+      rev = "188309129ac77590113f13d6f0da28c3f6f4d494";
+      sha256 = "0rz1hx3zljs3g5namlyzafvl12vi164vq3mqj02zd04hmm1rsr0b";
     };
     meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
   };
@@ -4500,12 +4500,12 @@ final: prev:
 
   haskell-tools-nvim = buildNeovimPlugin {
     pname = "haskell-tools.nvim";
-    version = "2024-05-05";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "fc2cd2960e44a473ee67c8385589537729ca3626";
-      sha256 = "0dk279lk4jm97mqsyycz9g7xbc790r1kl8ya4a4fnfpacjk4lysj";
+      rev = "f30928e90b68f4df82771ea4354cd913f005b829";
+      sha256 = "13h764dn7i9cy3cs5yvgh01yi3b2428wwsdq1mzdr88677ai5p3v";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -4560,12 +4560,12 @@ final: prev:
 
   heirline-nvim = buildVimPlugin {
     pname = "heirline.nvim";
-    version = "2024-02-14";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "heirline.nvim";
-      rev = "03cff30d7e7d3ba6fdc00925f015822f79cef908";
-      sha256 = "1bw4077h3cv01wnz0gv5qkdyxi8naszkgl11zi9mqb54asl69c41";
+      rev = "c52391dc4428d503f65e6bcb1533e6334f22a136";
+      sha256 = "0hplfmqy9gx21ifqyj23ydq7zsm9v0kfhhqb4s9bjb1djx9209j4";
     };
     meta.homepage = "https://github.com/rebelot/heirline.nvim/";
   };
@@ -4596,12 +4596,12 @@ final: prev:
 
   highlight-undo-nvim = buildVimPlugin {
     pname = "highlight-undo.nvim";
-    version = "2024-04-21";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "highlight-undo.nvim";
-      rev = "a0dbc6afa19b438ca5a6f54bc7f1a10399f21a15";
-      sha256 = "01731762ck8nj6ipfdrw30qnkim359gn6zplp41airwiyjji8dp7";
+      rev = "1ea1c79372d7d93c88fd97543880927b7635e3d2";
+      sha256 = "1lzml5yj3ak0rc4r2fmb1zpb9a01i5j6yk58m0qn960l2x5kav68";
     };
     meta.homepage = "https://github.com/tzachar/highlight-undo.nvim/";
   };
@@ -4631,12 +4631,12 @@ final: prev:
 
   hmts-nvim = buildVimPlugin {
     pname = "hmts.nvim";
-    version = "2024-03-14";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "calops";
       repo = "hmts.nvim";
-      rev = "473d74cf54da8f51aaa9993ec3e6bfae278eb47b";
-      sha256 = "14a6k53b002zvz336s6q5yznvyjfdn9y2qdnickhz2cwkrgr1hvf";
+      rev = "19a91816c123173a4551a6a04f2882338f20db1d";
+      sha256 = "1qw3b7zsp467bg8npingba5jsiiywyr0mgjhk8khvjnb1hjyld5w";
     };
     meta.homepage = "https://github.com/calops/hmts.nvim/";
   };
@@ -4787,12 +4787,12 @@ final: prev:
 
   image-nvim = buildNeovimPlugin {
     pname = "image.nvim";
-    version = "2024-04-30";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "3rd";
       repo = "image.nvim";
-      rev = "604692f493519128c58893c28273d4247bc71a4d";
-      sha256 = "12g5fwg1mzkqlmmr6kzg9vbqnr745n00a6j2za2si3g7wm277wji";
+      rev = "66af29f7244256eea82b2583ab65c2fab0567d0d";
+      sha256 = "17h7myyqcwqqn4wn6ci22maj2c7c4qbrjlqghxyf06k9icvwbjbb";
     };
     meta.homepage = "https://github.com/3rd/image.nvim/";
   };
@@ -4991,12 +4991,12 @@ final: prev:
 
   iron-nvim = buildVimPlugin {
     pname = "iron.nvim";
-    version = "2024-04-02";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "Vigemus";
       repo = "iron.nvim";
-      rev = "f6f199e3d353fc5761e2feda63b569a98897c66b";
-      sha256 = "1bwqval3lr12cqivfmmvxdi6da07000xbsn2ygiz4ym1a0a9jg5v";
+      rev = "7fc24223ed2a6292cd1d913761b08b6c18a30bd4";
+      sha256 = "0z08c8ygy9haaclnsrbdjvnpypfbfm7yvrwk9grvvfp7qsblzvhv";
     };
     meta.homepage = "https://github.com/Vigemus/iron.nvim/";
   };
@@ -5257,12 +5257,12 @@ final: prev:
 
   lazy-nvim = buildVimPlugin {
     pname = "lazy.nvim";
-    version = "2024-05-04";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "lazy.nvim";
-      rev = "d3974346b6cef2116c8e7b08423256a834cb7cbc";
-      sha256 = "1k8nx3wgh87kv15qa023caqxbngajx1f2b44g8bvzxhs5jf1ldfh";
+      rev = "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86";
+      sha256 = "0sc0590qgwpr9zxmks6k9bfh916zz8n4pv8j4idcxch9vv39inm4";
     };
     meta.homepage = "https://github.com/folke/lazy.nvim/";
   };
@@ -5317,24 +5317,24 @@ final: prev:
 
   leap-nvim = buildVimPlugin {
     pname = "leap.nvim";
-    version = "2024-05-04";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "f1f19fc268b406b00b50091f51f16d9634fbe449";
-      sha256 = "0s5bwc2j27l9yz5jp769sfk0h9ifvr4xzr43bvz7yk4hi136g1s6";
+      rev = "be68eec21e37415d15cffaabc959b8d3f9466665";
+      sha256 = "06h1lg2844p9m6618z71k9d4byajczvf02jc9cccw0inar33b8ac";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
 
   legendary-nvim = buildVimPlugin {
     pname = "legendary.nvim";
-    version = "2024-05-03";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "b15d9b6751d106bc5d94ed4567da3a134bef51a4";
-      sha256 = "08br65j9glb9z0x59vq8fcfiw5c29gjkvbfq3nyqlkrjcv8rh63i";
+      rev = "33108b19edadee8c2758f6bc574cc8335fdf89fb";
+      sha256 = "1w9zchqpbf3nvdxdx7xv5wy4my8xknnxwgcf3hvlycvxsg001xxd";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -5677,12 +5677,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPlugin {
     pname = "lsp-zero.nvim";
-    version = "2024-05-01";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "e00dcf8a6019a88139626c1668dccdc295abd324";
-      sha256 = "1q1qrnw9nlwgas7n7xxryaznprkjdfw94l974mhfzb1kzm1k2rz3";
+      rev = "f12d50716e8e59ea9f5cf484eac6968c33a95917";
+      sha256 = "07dsgbgqmdlv2lv498lwzb8vq7fl4hdlr4psym6ilssmqjc6xkx2";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -5712,12 +5712,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPlugin {
     pname = "lsp_signature.nvim";
-    version = "2024-03-17";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "c6aeb2f1d2538bbdfdaab1664d9d4c3c75aa9db8";
-      sha256 = "11njh62m56az4mmvzsqh2pm852bv1c1zp1m92ma4q5xgq2jvpg1v";
+      rev = "aed5d1162b0f07bb3af34bedcc5f70a2b6466ed8";
+      sha256 = "11x1mv3bzg7d9k2s69766p7abrzbdnv4knj6yx06b6vngdk2x03z";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -5748,12 +5748,12 @@ final: prev:
 
   lspsaga-nvim = buildVimPlugin {
     pname = "lspsaga.nvim";
-    version = "2024-04-27";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "nvimdev";
       repo = "lspsaga.nvim";
-      rev = "052234296f13e2705d5d290c7bd5a36d3dd81fde";
-      sha256 = "136ywjiv4vg4lkqbgqjhavm2nv8xgskbz2a5gkqsbilz8wqkrr46";
+      rev = "9a06eaf5622f4ac102b9c45faeea3a39a33ec5ba";
+      sha256 = "07kyz8mh373ddqzbydcm9f7nbsfassk9699bwbm879hipwjqm0ld";
     };
     meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
   };
@@ -5905,36 +5905,36 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPlugin {
     pname = "mason-lspconfig.nvim";
-    version = "2024-05-05";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "05744f0f1967b5757bd05c08df4271ab8ec990aa";
-      sha256 = "17w39gkj30d54xjdjxmwq11827l7ymwm2p8fx2x7lmmwin85imyb";
+      rev = "9ae570e206360e47d30b4c35a4550c165f4ea7b7";
+      sha256 = "147dhkrqz8fiwpafayk0ww685ncijjzxxd21nf93lagra9rx2l75";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
 
   mason-tool-installer-nvim = buildVimPlugin {
     pname = "mason-tool-installer.nvim";
-    version = "2024-04-11";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "WhoIsSethDaniel";
       repo = "mason-tool-installer.nvim";
-      rev = "b129892f783740e6cf741f2ea09fa5dd512aa584";
-      sha256 = "08152z7smaxv82v7ivp92n58lvr3ys7976795k0pxi8a99qj9kw7";
+      rev = "c1fbdcb0d8d1295314f1612c4a247253e70299d9";
+      sha256 = "1pxfnflbklpi7y71h7yq4ac20nimxc1fqh4kpxl8hifqnqgbllrs";
     };
     meta.homepage = "https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/";
   };
 
   mason-nvim = buildVimPlugin {
     pname = "mason.nvim";
-    version = "2024-03-21";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason.nvim";
-      rev = "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10";
-      sha256 = "1aaf19a4iqh8ayh4fghgs7inyg01fd7pdk3qr2pgz12mbawm62d9";
+      rev = "1b3d60405d1d720b2c4927f19672e9479703b00f";
+      sha256 = "00vlxxzxslf5g6irbz12bscxxksc3mwr4gz4gwxy7wjsx6f9iqnn";
     };
     meta.homepage = "https://github.com/williamboman/mason.nvim/";
   };
@@ -6049,12 +6049,12 @@ final: prev:
 
   mini-nvim = buildVimPlugin {
     pname = "mini.nvim";
-    version = "2024-05-04";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "fb4df45edec418443e4801719f1cb98e89697724";
-      sha256 = "15v2lrbwbjjkkrv6w7dzjc4yls2kqcfdgvhibgk702nkv3yz1py8";
+      rev = "c333187fcc76d7e772dac32c2a440a949fe34be4";
+      sha256 = "1mdqavyq7aar03c1za5z4ca7zgpb2knyy8zz0xlcxjz67q093zcr";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -6121,12 +6121,12 @@ final: prev:
 
   modus-themes-nvim = buildVimPlugin {
     pname = "modus-themes.nvim";
-    version = "2024-05-06";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "miikanissi";
       repo = "modus-themes.nvim";
-      rev = "705ea8debb9d9afe4e631166fcc6121782dd0b32";
-      sha256 = "0hs2ylf1rj0655kpwr4blh399r8k7lg0r2a4nbnymy1pbkx1gh1i";
+      rev = "85180b063e2ba89517d6a407529560733c8447fe";
+      sha256 = "193wja69vdsnqfzg4asbrv73qrwrvy481in28qkllwpamzw128d5";
     };
     meta.homepage = "https://github.com/miikanissi/modus-themes.nvim/";
   };
@@ -6145,12 +6145,12 @@ final: prev:
 
   molten-nvim = buildVimPlugin {
     pname = "molten-nvim";
-    version = "2024-05-01";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "benlubas";
       repo = "molten-nvim";
-      rev = "df5ccef3b6fda3582f7746e45327ee031f668826";
-      sha256 = "18sqq0jblwykp2cxy1nhwbz0sk0qk2yhwkprnpv37213lkyni66g";
+      rev = "ab9351baff839c2ea4b0c1b5d1ad8d4968c7f1c1";
+      sha256 = "16764rcq4y520i6y002vk3gq2vlrr62mbw0wvpr0nnv7z6gqrbis";
     };
     meta.homepage = "https://github.com/benlubas/molten-nvim/";
   };
@@ -6481,12 +6481,12 @@ final: prev:
 
   neoconf-nvim = buildVimPlugin {
     pname = "neoconf.nvim";
-    version = "2024-05-03";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neoconf.nvim";
-      rev = "d4a48c2a6fdeec138605cee4eb6f8c6fafd0b3ed";
-      sha256 = "115y09nj71gjrxz20f46pb464ipxds742nx2cvp8z1cslk0gq6qg";
+      rev = "bdd6c7dac2038d6495890dd84f451cf9f7425c50";
+      sha256 = "194yzgar18idsxrcwqnbs7bp8jib9ypr7kjv3kvz9lm4n49bgvcl";
     };
     meta.homepage = "https://github.com/folke/neoconf.nvim/";
   };
@@ -6553,12 +6553,12 @@ final: prev:
 
   neogit = buildVimPlugin {
     pname = "neogit";
-    version = "2024-05-05";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "NeogitOrg";
       repo = "neogit";
-      rev = "f4f7a1017da57f31c182c46fb2535099718fa178";
-      sha256 = "04hhg23xzfkbiq6b3wvz0sl84236s2d51lvnm41463f9wiqjnm3a";
+      rev = "a32f99a83d636ea7cd62cda6e24d76d14e5579ba";
+      sha256 = "13skbi6q45rgxngy0gqgzjq18i6n9y98wd9nk4rp5v8x786f3s0c";
     };
     meta.homepage = "https://github.com/NeogitOrg/neogit/";
   };
@@ -6625,12 +6625,12 @@ final: prev:
 
   neorg = buildVimPlugin {
     pname = "neorg";
-    version = "2024-05-01";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "03fb74927f358320f66cdd1337265c8e7f049fa3";
-      sha256 = "1qs0a4zq9983fm7hqjkpv08v1jwskih3nifg4q300qwc6rz5n8dg";
+      rev = "9b51b67aa92a77ca3e62f07cc0dc9de2e420166f";
+      sha256 = "07lld8g64aznk1hl2iajdp2fbk0bv8f3r5vavhxmqb1ifmwwqkzs";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -6709,12 +6709,12 @@ final: prev:
 
   neotest-bash = buildVimPlugin {
     pname = "neotest-bash";
-    version = "2024-04-15";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "rcasia";
       repo = "neotest-bash";
-      rev = "a3480f53300842922ecb79693e64bf51d4f22337";
-      sha256 = "1dbjv5zyw5nqqwgqagq0q2255byzgc9ckrzsbm2dc7svqp04hki9";
+      rev = "57eab5b80a5296dc3fc5b22112b3ed78da3a5732";
+      sha256 = "0sax4fbqykf2rbvhgmnhkz37ma7ck20dnpc78gns2hilg9ng5hrf";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/rcasia/neotest-bash/";
@@ -6783,12 +6783,12 @@ final: prev:
 
   neotest-go = buildVimPlugin {
     pname = "neotest-go";
-    version = "2024-02-24";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest-go";
-      rev = "6a2f996d89fe4631942e035b1c114544ee045043";
-      sha256 = "1jnsgkmsm2jmjd5zhkf3dhrbc04ysz3n0n28frsbvh839n3cdm7f";
+      rev = "27c80deab9cf5cb30b20ee407b3a6c7285518128";
+      sha256 = "11d8x7kqb4bxjwc4wdhxv5672i6svyj3k52p44711vlbcfal44j5";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest-go/";
   };
@@ -6820,24 +6820,24 @@ final: prev:
 
   neotest-haskell = buildVimPlugin {
     pname = "neotest-haskell";
-    version = "2024-05-03";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "7641b927cfea4697d070a2b7c626a6eef5aaab56";
-      sha256 = "0d59v5lqymgp71fcknqff2s5i7kl6r5c83ljimgbaqwpwff1a4y9";
+      rev = "1998a37753e5e364d7d2f8e7889ef8348234266c";
+      sha256 = "12kzw16b56262d7iffv286ipyhqmwwgk1klcjrgpsz640s7qyyqz";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
 
   neotest-java = buildVimPlugin {
     pname = "neotest-java";
-    version = "2024-05-02";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "rcasia";
       repo = "neotest-java";
-      rev = "2991ac582116bf01e4ff2e612c5e33c1b4e58fb0";
-      sha256 = "0ym735mb22gigpqm6pby1zlrylxabd56rjvyqg8xqv9ccnrb67f7";
+      rev = "d0058e2f389cdcd7b0682aea76300a2fc1b9f0b7";
+      sha256 = "05q5flyls4pgk8rzvjdqw0igw45wz23ny61kyjh0ag2b3zky1y34";
     };
     meta.homepage = "https://github.com/rcasia/neotest-java/";
   };
@@ -7204,12 +7204,12 @@ final: prev:
 
   nlsp-settings-nvim = buildVimPlugin {
     pname = "nlsp-settings.nvim";
-    version = "2024-05-06";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "nlsp-settings.nvim";
-      rev = "076025a0ec2e209c6241e50928e4976477d229d4";
-      sha256 = "1m3kv9516jzzh7v5k0m3h8cvk74cslhs8mzamrhxfj8k04pq97md";
+      rev = "0a8bcbbbcbed43ff86f1c3a19260a7918cc1bf2e";
+      sha256 = "0nnbqf4idhgffm125nfblgwlp3wkjdw4krz63cayrs8v13bvix8w";
     };
     meta.homepage = "https://github.com/tamago324/nlsp-settings.nvim/";
   };
@@ -7240,12 +7240,12 @@ final: prev:
 
   no-neck-pain-nvim = buildVimPlugin {
     pname = "no-neck-pain.nvim";
-    version = "2024-03-29";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "shortcuts";
       repo = "no-neck-pain.nvim";
-      rev = "34625be12649666b7ccb08761087cc97bb788552";
-      sha256 = "0g3vbsvxaf5ywaifffkhp0q0kmbw83xbmi7h7q1afdf10gi1xj24";
+      rev = "0b3299675e0100cceebfbee06a519bc688ec9df3";
+      sha256 = "1gr528pkwd70d97rdly0adv1smgnwskyzrng13i8qdz2nyhix20z";
     };
     meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
   };
@@ -7264,12 +7264,12 @@ final: prev:
 
   noice-nvim = buildVimPlugin {
     pname = "noice.nvim";
-    version = "2024-05-03";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "noice.nvim";
-      rev = "f4decbc7a80229ccc9f86026b74bdcf0c39e38a7";
-      sha256 = "01yhrmqqrw5779q1lbx6vwpyqvwhh9mai5x17vby0qr1l1gns7wd";
+      rev = "09102ca2e9a3e9302119fdaf7a059a034e4a626d";
+      sha256 = "1gzdwgizbl60fqiiiwrzfqbbds182qqlr3gyyzvgxbxijs3ajsk1";
     };
     meta.homepage = "https://github.com/folke/noice.nvim/";
   };
@@ -7336,12 +7336,12 @@ final: prev:
 
   nui-nvim = buildNeovimPlugin {
     pname = "nui.nvim";
-    version = "2024-05-04";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "274fa89a9b4bed746647c2917091902f882509ec";
-      sha256 = "1ii7hs97jci5lwa91x12j1sqdqyrbwybkqr9m7r4r9rzwnrzyz9m";
+      rev = "a3597dc88b53489d3fddbddbbd13787355253bb0";
+      sha256 = "1sg0b1vq6cggxw9vif7slp2362rw5xz2a0snhhmzz1frd2ckr72v";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
@@ -7432,12 +7432,12 @@ final: prev:
 
   nvim-bacon = buildVimPlugin {
     pname = "nvim-bacon";
-    version = "2024-04-10";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "Canop";
       repo = "nvim-bacon";
-      rev = "94f684baacf22c65e5ef889cfa943cfc90ee1cf4";
-      sha256 = "0b4xpmk6cv6k9h2vqk9773hszwy90d7y3fpjz1yqg9nxfvbdjp2b";
+      rev = "ad7b522ae85b7aab4981bcd34e9b513ce5849eda";
+      sha256 = "1baki6dfiahilkcgfdspbfj2mv3pf06nj7yamvranzpj04jadlx3";
     };
     meta.homepage = "https://github.com/Canop/nvim-bacon/";
   };
@@ -7456,12 +7456,12 @@ final: prev:
 
   nvim-bqf = buildVimPlugin {
     pname = "nvim-bqf";
-    version = "2024-03-29";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "52703d7adc3be3f7c09eea9a80c5b8caa615fb25";
-      sha256 = "030mqvi66rr05icqy2lix1v8sf3745a5v06288h6pq4vz4xj5a13";
+      rev = "7751b6ef9fbc3907478eaf23e866c4316a2ed1b4";
+      sha256 = "088s8n9xwkpcc5jyqa8hmrghbazzcqq44hxrlxp9zclqxpp29z16";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -7492,12 +7492,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPlugin {
     pname = "nvim-cmp";
-    version = "2024-04-23";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "8f3c541407e691af6163e2447f3af1bd6e17f9a3";
-      sha256 = "00axjaxgnv6s7rk89sk2wnq5nsqhmv0dm9sn6l1l3cg1vwqqjgxg";
+      rev = "24122371810089d390847d8ba66325c1f1aa64c0";
+      sha256 = "0s4va3b06agy070fkqghx460q20jddvni14gbvjdvgkaf56xn8f3";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -7612,12 +7612,12 @@ final: prev:
 
   nvim-dap = buildVimPlugin {
     pname = "nvim-dap";
-    version = "2024-04-18";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb";
-      sha256 = "0a75lxhzbwm66c1fa5b7zpsz3i7raljsbq4d3n5h8cfdv8hgcjch";
+      rev = "615a1b2046e1eaf7995e0ba8e8a65f344201349d";
+      sha256 = "1dmkacc78nkv9lp9h4jb79kisb72zxv3vk5nvq7157cn4zjc6x3c";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -7887,12 +7887,12 @@ final: prev:
 
   nvim-lint = buildVimPlugin {
     pname = "nvim-lint";
-    version = "2024-04-30";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "861a04313501563bb1b11f125ae9b7237a517b9b";
-      sha256 = "1na2gi7vccqjgjh4b2qjwcgn906aql4jsa81sfxbwrbb4rcjikk8";
+      rev = "83ee4952a968d89329e5a49b4648831d98124783";
+      sha256 = "1v6mwif781gib1knc3qrbxn2alijmabq6aizysjhmqwrvmpklkns";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -7923,12 +7923,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPlugin {
     pname = "nvim-lspconfig";
-    version = "2024-05-06";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "7383bacd57abd6d86e51765b80d7adf5707ab30d";
-      sha256 = "1qrpkxrnjp4ggj8ay533scgy0f6fcjdhivzfrkvs9vcdzdfnjr34";
+      rev = "94513a5b246cf32a8f87ca714af50911df63351c";
+      sha256 = "00rk7203h6w5sq1p4d3bba2q7xa20hp1nzw65qi7rkw9phjfxv58";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -8295,36 +8295,36 @@ final: prev:
 
   nvim-tree-lua = buildVimPlugin {
     pname = "nvim-tree.lua";
-    version = "2024-05-04";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "64f61e4c913047a045ff90bd188dd3b54ee443cf";
-      sha256 = "1j7r1avcwj79lyny3wjs71yyjjprbh0dv026ab78qcw1x9p0b3md";
+      rev = "78c4c083ed5d47e7fab7627d78ce33d3bcfb88f0";
+      sha256 = "1jchdyck8031ldgaracq4zc00026jyvhfcpp8p48z0ka8ypvkp9d";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPlugin {
     pname = "nvim-treesitter";
-    version = "2024-05-06";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "fc7657a071ad7be0616d7c66a74991a3c1b1dbcd";
-      sha256 = "0xayng2x920s9kh9xgpd34q4x5q034653ncx61rf04lfcq3hl4qv";
+      rev = "0d2c80b4d00c8f793e17d2d1d24d4aa5aaa88bc2";
+      sha256 = "0xs16s5g6i9g78xciq0ija5ak7jfdbz7b7dfgg5gca284xgl2ccq";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPlugin {
     pname = "nvim-treesitter-context";
-    version = "2024-05-02";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7";
-      sha256 = "1qp53mwmrj4cpjrj44d93q2igzv6nkbragn4ag8g7j1982vwnxl0";
+      rev = "1e52a2c4223c1e7b0def9c76a1f3757d372196c3";
+      sha256 = "02gn7fqmyj8ly8799vjdw1kxklpr710arvlb9gipd9rjmq7vjw0f";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
@@ -8367,12 +8367,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPlugin {
     pname = "nvim-treesitter-textobjects";
-    version = "2024-04-15";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c";
-      sha256 = "1jvx9nbz5sh09jnlcqm5qfyjvryibc3fpnfxim7adk5gb4160xws";
+      rev = "dfa4178c0cadb44f687603d72ad0908474c28dd9";
+      sha256 = "0y0sv6dhhghhxihmyvpwrvvbgi2m90m8vdmi3x09ap0yzfn2nmq2";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -8403,12 +8403,12 @@ final: prev:
 
   nvim-ts-context-commentstring = buildVimPlugin {
     pname = "nvim-ts-context-commentstring";
-    version = "2024-04-17";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "joosepalviste";
       repo = "nvim-ts-context-commentstring";
-      rev = "a6382f744f584bbf71d0a563af789af7190aabda";
-      sha256 = "12b12ndva3ck5y18mkmhzkbmaz65kjkqsjxvq5gfniz1br7n2y9j";
+      rev = "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f";
+      sha256 = "0b4cx7k53w3cjfnp6nyvvpi1dnnpdp4j67sszsra61fk8pyqp4w2";
     };
     meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
   };
@@ -8439,12 +8439,12 @@ final: prev:
 
   nvim-web-devicons = buildVimPlugin {
     pname = "nvim-web-devicons";
-    version = "2024-05-04";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "475fbcfcb6ee7c35aa33a6b6207ebd4032791d87";
-      sha256 = "1ara99md1vcbmqymqal206yyfisqiq7ghsrid274rm77zm1lf61q";
+      rev = "5b9067899ee6a2538891573500e8fd6ff008440f";
+      sha256 = "0d7gzk06f6z9wq496frbaavx90mcxvdhrswqd3pcayj2872i698d";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -8523,12 +8523,12 @@ final: prev:
 
   obsidian-nvim = buildVimPlugin {
     pname = "obsidian.nvim";
-    version = "2024-05-02";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "epwalsh";
       repo = "obsidian.nvim";
-      rev = "db41b1f20459293436fab510bec58c82a73bd1f7";
-      sha256 = "1v5bybcaazkkmjgpwb2gc7klp42kj3lghp52ikciyb65ywy458d9";
+      rev = "2e1f03416583232899dc1b6e27673da5e705abef";
+      sha256 = "1c3zxz60g7jgm3cd9xhzp73qa218b1z6rfiaf9n4wcbzb88c8scl";
     };
     meta.homepage = "https://github.com/epwalsh/obsidian.nvim/";
   };
@@ -8571,12 +8571,12 @@ final: prev:
 
   oil-nvim = buildVimPlugin {
     pname = "oil.nvim";
-    version = "2024-05-01";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "oil.nvim";
-      rev = "bcfc0a2e01def5019aa14fac2fc6de20dedb6d3d";
-      sha256 = "0yq419k1zbklcb2qihwcxgsrp7sh1hb13s56lpp7xs8bq0b7mkg8";
+      rev = "010b44a79d497c697686e2727049d3dd215bbbd6";
+      sha256 = "01hkrb8ddy2ivmfycxbx1lx756vjgkza0izc86gr5aa2l6dgvh18";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/oil.nvim/";
@@ -8632,12 +8632,12 @@ final: prev:
 
   onedark-nvim = buildVimPlugin {
     pname = "onedark.nvim";
-    version = "2024-01-29";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "1230aaf2a427b2c5b73aba6e4a9a5881d3e69429";
-      sha256 = "1npc9x2r0aass9swxmhryia90ar7f4nx8j456jzlf66lzbr8xrnp";
+      rev = "8e4b79b0e6495ddf29552178eceba1e147e6cecf";
+      sha256 = "1xxa0q9val9hl5jby2zqn7wlh0vkibj3s8mbmj8vfba4afqlqi0q";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -8692,12 +8692,12 @@ final: prev:
 
   onenord-nvim = buildVimPlugin {
     pname = "onenord.nvim";
-    version = "2024-03-08";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "rmehri01";
       repo = "onenord.nvim";
-      rev = "ce4aacbaa50b6b44a3e69eee6a3f380e96ccdbd0";
-      sha256 = "1i1n746bf0gfmq22ajj2p4f7819sql4f051gwjmcypd1hrn651lh";
+      rev = "f1e25fd839442d4b3c6bd36cfc7fa56edc629671";
+      sha256 = "0a24km5pd7r2zj0bwzi6wmnkf0lxr9gd82k6x4ybm5777z4bp66r";
     };
     meta.homepage = "https://github.com/rmehri01/onenord.nvim/";
   };
@@ -8752,12 +8752,12 @@ final: prev:
 
   orgmode = buildVimPlugin {
     pname = "orgmode";
-    version = "2024-05-01";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "d4cc3210f235a845de8d372d02482163d31ded93";
-      sha256 = "1wnfvyvkpgcdqchw8aqba5jczykc8cz99m7avm1y055iqph9wlvw";
+      rev = "cda615fa7c8607bfb7aaf7d2c9424dd5969f2625";
+      sha256 = "0wrayb63hd68kjjpkpmhjschw609cs4pb7lsjxnvhz3qifwiysja";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
@@ -8776,12 +8776,12 @@ final: prev:
 
   otter-nvim = buildVimPlugin {
     pname = "otter.nvim";
-    version = "2024-05-02";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "jmbuhr";
       repo = "otter.nvim";
-      rev = "f99c93c4516ef7fb5e6714dea7417793f946ab10";
-      sha256 = "1v34ka188gdhx1hy3ckq2kgmm8y1bdql84msxra5g8agd57ryvrb";
+      rev = "5cd161f28835fada50d99c89dc05041565a27bdb";
+      sha256 = "18vl93j93s9i22ybw3vl129kvhz8382yg8b1r1m0xnfyiklpkzg5";
     };
     meta.homepage = "https://github.com/jmbuhr/otter.nvim/";
   };
@@ -8800,12 +8800,12 @@ final: prev:
 
   overseer-nvim = buildVimPlugin {
     pname = "overseer.nvim";
-    version = "2024-04-24";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "overseer.nvim";
-      rev = "89942ad366c8a9bb93f82411de17dc7c644b4e3b";
-      sha256 = "1qs3l0ymcfc223yqk44vqwgvyr4brrd5pz1h7l9lk7p4hy34s9rc";
+      rev = "7ae60fcf9b1d9ad661e8936d50c6e3853b7c3cc0";
+      sha256 = "1wdrbz31n6f09ppvc129zadizabnaxy88gvcnwr9zn2xlbh1ndfi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/overseer.nvim/";
@@ -8921,12 +8921,12 @@ final: prev:
 
   persisted-nvim = buildVimPlugin {
     pname = "persisted.nvim";
-    version = "2024-05-03";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "persisted.nvim";
-      rev = "9c5fc98a4cb64f66b6f33cae9d31ee8cd54d43ed";
-      sha256 = "0n4hf1k7z7w3dvll3al0mk752768x5shbick2324aqh6l77jjx0x";
+      rev = "1e9fd63e25bdbb5dbb6b8b10f817b2446977146c";
+      sha256 = "1y61izajz6p2b1vfa20f3j5rl1fjbfmbzny3ywkfai4dsnrks8yi";
     };
     meta.homepage = "https://github.com/olimorris/persisted.nvim/";
   };
@@ -9005,12 +9005,12 @@ final: prev:
 
   plantuml-syntax = buildVimPlugin {
     pname = "plantuml-syntax";
-    version = "2024-02-22";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "309c15c77794433f276fb09eb4e3b8f381003cfd";
-      sha256 = "0g7yprik607gy01lamql1kpk25sdl54ckfrc9p11rrimal7rms38";
+      rev = "44054d6d2cbcf01a064858faa3364cd30d38057d";
+      sha256 = "0kwk96y6cn7l7w151438sdjflfc6c6irysg00b1q4h1f4x3fcfvq";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
@@ -9319,11 +9319,11 @@ final: prev:
 
   rainbow-delimiters-nvim = buildVimPlugin {
     pname = "rainbow-delimiters.nvim";
-    version = "2024-04-18";
+    version = "2024-05-11";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
-      rev = "7ef0766b5cd2f5cdf4fcb08886f0a2ebf65981fa";
-      sha256 = "0pw3dk0rnaa2llvgkqar1j5wqrh3lah2ygvxaqiy7760pyanh38c";
+      rev = "dd1156723eb8483e4403eb8765bbdff456b6981d";
+      sha256 = "1cj3hylb73wqgllr5wnqjlzlwqr9s4f5yb4g4s2lra4g7a08grxj";
     };
     meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim";
   };
@@ -9582,12 +9582,12 @@ final: prev:
 
   rustaceanvim = buildNeovimPlugin {
     pname = "rustaceanvim";
-    version = "2024-05-04";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "mrcjkb";
       repo = "rustaceanvim";
-      rev = "2eb8776df1aab03f514b38ddc39af57efbd8970b";
-      sha256 = "137k9skchcqplzrm07xkwxnrnnm3k5cam28a9yn2qaw4rmwf1zkp";
+      rev = "1c3d3a75bebcb16df2a093b147ba498185e4ab17";
+      sha256 = "1azz03ypygh1fk2gva9fyg294v8i3qig7yz4hncf05jm94wq137s";
     };
     meta.homepage = "https://github.com/mrcjkb/rustaceanvim/";
   };
@@ -9630,12 +9630,12 @@ final: prev:
 
   scnvim = buildVimPlugin {
     pname = "scnvim";
-    version = "2024-04-19";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "davidgranstrom";
       repo = "scnvim";
-      rev = "94e49fa6c596813247549cd594f5ab6246c79973";
-      sha256 = "1axbrakr3xpmvbdslh803xam72fg6ar428bgz04h0j2ygg75bqmy";
+      rev = "4777c0d661ea3776049b76d1328afc9879146420";
+      sha256 = "0y1qgfbza4v97ap0awpqh3f0zi94wwsc0jd391jvhjr18crankdl";
     };
     meta.homepage = "https://github.com/davidgranstrom/scnvim/";
   };
@@ -9823,12 +9823,12 @@ final: prev:
 
   smart-splits-nvim = buildVimPlugin {
     pname = "smart-splits.nvim";
-    version = "2024-05-03";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "smart-splits.nvim";
-      rev = "7c8118c6d568cbf71ce5c253f028d5d68eb3a044";
-      sha256 = "0clzgxw1b755kq9hbayhjl858jvpjivrcw94s8ciqar1wiq0bxdj";
+      rev = "159d4479a402d7f40cac1c097fa565fc2ba02cfb";
+      sha256 = "1hkx6c3krw0hsrz9jvja5c0cwk3vy3gm6z0imw1m4h3gddmijh8y";
     };
     meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/";
   };
@@ -10235,11 +10235,11 @@ final: prev:
     version = "2024-04-25";
     src = fetchFromGitHub {
       owner = "lambdalisue";
-      repo = "suda.vim";
+      repo = "vim-suda";
       rev = "b97fab52f9cdeabe2bbb5eb98d82356899f30829";
       sha256 = "12chb6hv6ynl54dzwb7qz6rf9vwjglxfnzcmmhc2q2wm0y264gbi";
     };
-    meta.homepage = "https://github.com/lambdalisue/suda.vim/";
+    meta.homepage = "https://github.com/lambdalisue/vim-suda/";
   };
 
   supertab = buildVimPlugin {
@@ -10524,13 +10524,13 @@ final: prev:
     pname = "telekasten.nvim";
     version = "2024-04-22";
     src = fetchFromGitHub {
-      owner = "renerocksai";
+      owner = "nvim-telekasten";
       repo = "telekasten.nvim";
       rev = "319276a7853ff996b7bb1ed4250d8047c84ad29d";
       sha256 = "05b8a9h8ni5pmj0x9r3pc8j4h77nbj2s6wmlx20w4h2vmwwp7k26";
       fetchSubmodules = true;
     };
-    meta.homepage = "https://github.com/renerocksai/telekasten.nvim/";
+    meta.homepage = "https://github.com/nvim-telekasten/telekasten.nvim/";
   };
 
   telescope-asynctasks-nvim = buildVimPlugin {
@@ -10680,12 +10680,12 @@ final: prev:
 
   telescope-manix = buildNeovimPlugin {
     pname = "telescope-manix";
-    version = "2024-05-05";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "telescope-manix";
-      rev = "f4c69bb9807367ee7b21a50d265c061ee58ea777";
-      sha256 = "193wv9lykjscc6cm2ycnygiw6d2kv02dpsqb944bhh7fkkgkc75i";
+      rev = "bfffb3a8cf1c0a4e615622c400fe13de973fe96b";
+      sha256 = "0ghrnb76ls1wnmjw525n9d203fc4y17azs8d6mcms4wf7kx7k4ag";
     };
     meta.homepage = "https://github.com/MrcJkb/telescope-manix/";
   };
@@ -10800,12 +10800,12 @@ final: prev:
 
   telescope-zf-native-nvim = buildVimPlugin {
     pname = "telescope-zf-native.nvim";
-    version = "2024-04-23";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "natecraddock";
       repo = "telescope-zf-native.nvim";
-      rev = "0b6ca4e354b706e2dce80f35ee6ff4cc75b9af08";
-      sha256 = "00hx112zkc65a8m5miw14f7k4z3gb310d667hnmvxda5ij2fss1s";
+      rev = "242ee15047e3400351982ef162301a898ec5cdda";
+      sha256 = "1kdjqi046nr052q9m50814k2df0nnmylgk8lcragc2z8sdnj5f73";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/natecraddock/telescope-zf-native.nvim/";
@@ -11174,12 +11174,12 @@ final: prev:
 
   triptych-nvim = buildVimPlugin {
     pname = "triptych.nvim";
-    version = "2024-04-21";
+    version = "2024-05-06";
     src = fetchFromGitHub {
       owner = "simonmclean";
       repo = "triptych.nvim";
-      rev = "a0e148aa979895fb4425b3653ee2ad15d64a4d90";
-      sha256 = "1gf2jdfpknap877ljpjbx37j4qg7lz91g9cd2p8l6894q322qw9z";
+      rev = "41dada0eb0f7c2b9d504df952be8535afab33115";
+      sha256 = "1h4hg5fxhvswcldh6lfn5sx8xbqn6kfzwk206c7xdqid1c4rcvw8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/simonmclean/triptych.nvim/";
@@ -11355,12 +11355,12 @@ final: prev:
 
   unison = buildVimPlugin {
     pname = "unison";
-    version = "2024-05-03";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "9739cfedb2eee6697dffa6e9fa0c097eb400e23e";
-      sha256 = "1c5n3risndd7blm4slvwgzih9pvhi0nzsipamf2px3326qrx3sca";
+      rev = "daa7dc3c20bb837ef3aacbee0f0158c79ae14d96";
+      sha256 = "0baq40wn0nlni61jsxg141zm77qkrry1vmjphfr99gbr3iyc1fi0";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -11463,12 +11463,12 @@ final: prev:
 
   vim-CtrlXA = buildVimPlugin {
     pname = "vim-CtrlXA";
-    version = "2024-04-07";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "Konfekt";
       repo = "vim-CtrlXA";
-      rev = "cb520cd3f9248b9ede236ff3da8ca3e0b68b6459";
-      sha256 = "1csbmjrdrlqsagz5b6hryrcglfdplwc7d26q4r20w37zx3f9qzw3";
+      rev = "d5c463d7a9b1249b3ecc03f796639fadf391c05f";
+      sha256 = "18jj5vqwz3xa3c9hyc1l0dcjnnxyb9a1wj4r5zg01ida5gsv3dkf";
     };
     meta.homepage = "https://github.com/Konfekt/vim-CtrlXA/";
   };
@@ -12531,12 +12531,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPlugin {
     pname = "vim-dadbod-ui";
-    version = "2024-05-01";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "5835df6497cc0e79cb149518d01f4f5c86dc546f";
-      sha256 = "13abp9ri5nbampwahw8dcmgzalqqq21lcb68zdpx520h3xkjkkxq";
+      rev = "b1675d1f56c12b0abac2ef74b94670fe27adcf93";
+      sha256 = "096rg4ydxyz6md2qla01wsgv9j00ysf6chxz9nyvp37w4av3illq";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -13925,12 +13925,12 @@ final: prev:
 
   vim-ledger = buildVimPlugin {
     pname = "vim-ledger";
-    version = "2024-05-02";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "ledger";
       repo = "vim-ledger";
-      rev = "58561ed511753c4ef0fd446010daa1c2b7979d42";
-      sha256 = "101hf1y607671yr488samydpn2hgp1hrj4qnxmicbsjyndg2c8dy";
+      rev = "7b97c8765bf920e92fd950a7a5bc37cb2b13a494";
+      sha256 = "0g66k9rrvdw0pkh7sqsdcms9viybqsibp1wpscync29ign7y12fa";
     };
     meta.homepage = "https://github.com/ledger/vim-ledger/";
   };
@@ -14009,12 +14009,12 @@ final: prev:
 
   vim-localvimrc = buildVimPlugin {
     pname = "vim-localvimrc";
-    version = "2024-03-18";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "embear";
       repo = "vim-localvimrc";
-      rev = "841a0645272a485564b8739df91c81bcc03da899";
-      sha256 = "0v5yqw5qv3xjl6rhzj18mmdgj8wh12gqvql4yyz1fddf39nkdg69";
+      rev = "ee9df429b91d3e6ea33e173ef864b02c377036d0";
+      sha256 = "1f5ld9fm4fysgz9xixqkv3a87gvisc0w9q31alb6ypk3ib697c57";
     };
     meta.homepage = "https://github.com/embear/vim-localvimrc/";
   };
@@ -14165,12 +14165,12 @@ final: prev:
 
   vim-markbar = buildVimPlugin {
     pname = "vim-markbar";
-    version = "2024-04-01";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "Yilin-Yang";
       repo = "vim-markbar";
-      rev = "94ac768d97b447c6c2a57fac3e555d4348a2919d";
-      sha256 = "1287mslww730536xa5fl9czi70hs42zdfaq84jd0azjf7vw6q04i";
+      rev = "9f5a948d44652074bf2b90d3da6a400d8a369ba5";
+      sha256 = "1r341ick9zdkmk7s0b7v6jqc4bzi7p9grh6bg08b7q72yv90wqvl";
     };
     meta.homepage = "https://github.com/Yilin-Yang/vim-markbar/";
   };
@@ -15426,12 +15426,12 @@ final: prev:
 
   vim-slime = buildVimPlugin {
     pname = "vim-slime";
-    version = "2024-05-01";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "947f96bdad01d0cf6e3886c2b0c910f4793b2f96";
-      sha256 = "028zax2lli0v0j2v65d2qmksny3a6m5wpxjsr8y16ryqsaipkk8h";
+      rev = "4a898d57f41bc35e99173c5a0a8720f1796459b5";
+      sha256 = "0pdxlrl7l4d0jvkm806dl8zq9gj7qncvyfncvffgvjvwgmkwdn31";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -15594,12 +15594,12 @@ final: prev:
 
   vim-spirv = buildVimPlugin {
     pname = "vim-spirv";
-    version = "2024-05-06";
+    version = "2024-05-12";
     src = fetchFromGitHub {
       owner = "kbenzie";
       repo = "vim-spirv";
-      rev = "8312705fb7038997464e32db83b6fc6ba6d70323";
-      sha256 = "13mzd4xkgg5hrv9wy8ynbys37plad8q1lwfvvnkigdnxac369hbq";
+      rev = "1f8ef77f2ae1990abcb99cee1a599280375e4349";
+      sha256 = "0mmkjpm82ibx8f22392mad4l8y6xssqbr2cf8cdrxbk22p3yzf86";
     };
     meta.homepage = "https://github.com/kbenzie/vim-spirv/";
   };
@@ -15798,12 +15798,12 @@ final: prev:
 
   vim-terraform = buildVimPlugin {
     pname = "vim-terraform";
-    version = "2024-02-13";
+    version = "2024-05-07";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "21f756b933cd11ac5990a6046fdc7c4e2a6c0aee";
-      sha256 = "1bp6nqsdn9h3ihy5y2na7n40nmjr1vqsjj845ks4kfrzfcsvmxms";
+      rev = "24de93afb05078bac6a2e966402cc1f672277708";
+      sha256 = "1d8r0qd3ncnh3rbax9vjd3rckjwikxydgy9zjklmgnhn51ynggzi";
     };
     meta.homepage = "https://github.com/hashivim/vim-terraform/";
   };
@@ -16555,12 +16555,12 @@ final: prev:
 
   vimspector = buildVimPlugin {
     pname = "vimspector";
-    version = "2024-02-17";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "def092693ea33eb2055fb2cfbcabb8e56ea77963";
-      sha256 = "0b4md13a4mdf2knmb0p3c83k3v04hl5y4z2sa2kci3shq41v694x";
+      rev = "c664d723ffe5d5179b906d8ef370b59e70b84f5a";
+      sha256 = "1953bdv2x0xs0cc6vjv3lsy9ipgv16la981wf83x64kxb1mkds0b";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -16568,12 +16568,12 @@ final: prev:
 
   vimtex = buildVimPlugin {
     pname = "vimtex";
-    version = "2024-05-05";
+    version = "2024-05-11";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "5732cd898cc7027e58191fe4be64da8dbc158995";
-      sha256 = "1m3i05p0vvryv74dwkxh40hapb8xg96bjq84p20q26q4lhnpczny";
+      rev = "8ca74380935beb4ed5d213bb55b2380cc1a83bd6";
+      sha256 = "1rmw0zqp1gwla5yml3i4smqpmqy8am0skgg786mrwkbs47harjfk";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -16664,12 +16664,12 @@ final: prev:
 
   vscode-nvim = buildVimPlugin {
     pname = "vscode.nvim";
-    version = "2024-04-26";
+    version = "2024-05-09";
     src = fetchFromGitHub {
       owner = "Mofiqul";
       repo = "vscode.nvim";
-      rev = "bf62428d842ed1fb9c33353be10af40bac51e825";
-      sha256 = "1g9zsrq6nxbs0gaxkmc6zam09z3rv6zrng25myd537vwdmnnd4r1";
+      rev = "1a2cb491a962acf3bbf53c6d0a61b4ec76012570";
+      sha256 = "1mjsy9g2hkrzhy6bhrphpiz3nr8wr4l7jxacbz224jm7x1i2zn1l";
     };
     meta.homepage = "https://github.com/Mofiqul/vscode.nvim/";
   };
@@ -16736,24 +16736,24 @@ final: prev:
 
   wiki-ft-vim = buildVimPlugin {
     pname = "wiki-ft.vim";
-    version = "2023-05-14";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "wiki-ft.vim";
-      rev = "d547e58dc7e6cf144e1d490a243b0788dd37104f";
-      sha256 = "1v6ra526m720njw1qbvmmw63mv58mjr0fkzq5gdiivrhk8kfg4zw";
+      rev = "10e3aa7ee58ae5351fc9ba0d692877a34cc99f08";
+      sha256 = "1cnqczi4pkfvd3q85qjmg6jd0kjn6l5lna2mlwfj15h528mkxjaw";
     };
     meta.homepage = "https://github.com/lervag/wiki-ft.vim/";
   };
 
   wiki-vim = buildVimPlugin {
     pname = "wiki.vim";
-    version = "2024-04-30";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "wiki.vim";
-      rev = "84e1e17198c738198d0effd8827437842a8b3a1b";
-      sha256 = "1l9ydins0h2qgq4zl98gnhj6jllllh4xxrn96jdrm4bf5g1x7g44";
+      rev = "afb7b9aa3b1058ae6f48e3bea7d5eae92bf00e99";
+      sha256 = "1qwcvbk0jf3x83q60bdp0j29xwkm49scwgrzfswpqf6xw1kyd7rk";
     };
     meta.homepage = "https://github.com/lervag/wiki.vim/";
   };
@@ -17085,12 +17085,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPlugin {
     pname = "catppuccin-nvim";
-    version = "2024-05-04";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "6af91673ceccbd6e073b66c439e7fce239f72d24";
-      sha256 = "0g4smxrlvrvpb8zzigca4gybvc5s6czh4wc85jpjjx8js80ckjqj";
+      rev = "d97387aea8264f484bb5d5e74f2182a06c83e0d8";
+      sha256 = "1wybci6cjadjd5z0wkx2jmwb9ir72s4g4qrd9qsjl2qjfiaf26k9";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -17205,12 +17205,12 @@ final: prev:
 
   nvchad-ui = buildVimPlugin {
     pname = "nvchad-ui";
-    version = "2024-04-30";
+    version = "2024-05-08";
     src = fetchFromGitHub {
       owner = "nvchad";
       repo = "ui";
-      rev = "9c16efc915346c7bde5288ad94f0ea40a7267d31";
-      sha256 = "0z9z23x2g72z2k7fdmgjz07r2lvn5jsmvb7md4jd98hjxjxid3zd";
+      rev = "4f507775f3935a39d994e7a1d3688e30f7fb8713";
+      sha256 = "0lrxhbcdmy2xpwwdxg9dyh954y7xxb8zc75b2lxf5z8lmpxi3ccp";
     };
     meta.homepage = "https://github.com/nvchad/ui/";
   };
@@ -17253,12 +17253,12 @@ final: prev:
 
   rose-pine = buildVimPlugin {
     pname = "rose-pine";
-    version = "2024-04-18";
+    version = "2024-05-10";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "17b466e79479758b332a3cac12544a3ad2be6241";
-      sha256 = "1fwwp7szzz2yp4z5hngqn8ll8765xv0nlhgcb75yj257kz7x5lq1";
+      rev = "b24b48d35b4f96bbc9a717d3220e959dbf89f6b1";
+      sha256 = "1bamxqqpq882klv5i7wdcm2pywwcjj3d85jvpw8w9wc15qkanqgm";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index 4d74487e584dc..6e629842aa0a1 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -27,12 +27,12 @@
   };
   angular = buildGrammar {
     language = "angular";
-    version = "0.0.0+rev=f12fc56";
+    version = "0.0.0+rev=10f21f3";
     src = fetchFromGitHub {
       owner = "dlvandenberg";
       repo = "tree-sitter-angular";
-      rev = "f12fc56469d778285fb35b5bdb943edcfe77c48a";
-      hash = "sha256-BR9siCgn3jPwlC1+HgJEo3N8I36nr0KGaOO2zWLv9T4=";
+      rev = "10f21f3f1b10584e62ecc113ab3cda1196d0ceb8";
+      hash = "sha256-hBvDFLIN4n0dbpH8FKe0sY8t4Jwa0GtrLt2GG04Qgn8=";
     };
     meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
   };
@@ -50,12 +50,12 @@
   };
   arduino = buildGrammar {
     language = "arduino";
-    version = "0.0.0+rev=8518c3f";
+    version = "0.0.0+rev=babb6d4";
     src = fetchFromGitHub {
       owner = "ObserverOfTime";
       repo = "tree-sitter-arduino";
-      rev = "8518c3fa6b8562af545a496d55c9abd78f53e732";
-      hash = "sha256-slPZSjN9SJQj4d5NDpxL1DbnnYia1Aroh7/bQJA2P0Q=";
+      rev = "babb6d4da69b359bbb80adbf1fe39c0da9175210";
+      hash = "sha256-nA/4SRlXfm8hMZw/GOQFAxzoPNAzVP0cCnHLc1ZawXU=";
     };
     meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
   };
@@ -105,12 +105,12 @@
   };
   bash = buildGrammar {
     language = "bash";
-    version = "0.0.0+rev=f8fb327";
+    version = "0.0.0+rev=2fbd860";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-bash";
-      rev = "f8fb3274f72a30896075585b32b0c54cad65c086";
-      hash = "sha256-sj1qYb42k0hXXcNCKg1hINYD11wDcVpnoPhZNtlYT6k=";
+      rev = "2fbd860f802802ca76a6661ce025b3a3bca2d3ed";
+      hash = "sha256-rCuQbnQAOnQWKYreNH80nlL+0A1qbWbjMvtczcoWPrY=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
   };
@@ -182,23 +182,23 @@
   };
   c = buildGrammar {
     language = "c";
-    version = "0.0.0+rev=1aafaff";
+    version = "0.0.0+rev=82fb86a";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c";
-      rev = "1aafaff4d26dac5a36dd3495be33e1c20161d761";
-      hash = "sha256-eix/BqsZzrJc+h1sHiG/IDtdyZvIsEdox71sPMNXs58=";
+      rev = "82fb86aa544843bd17a9f0f3dc16edf645a34349";
+      hash = "sha256-wiCgRSrJodNq7WVQTIDsQ6K/ZrgnSFdGG9kDegu6zGs=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
   };
   c_sharp = buildGrammar {
     language = "c_sharp";
-    version = "0.0.0+rev=e1384e2";
+    version = "0.0.0+rev=82fa8f0";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-c-sharp";
-      rev = "e1384e2f132936019b43aaaae154cd780fb497ce";
-      hash = "sha256-TxmJCKs7wqkceczHtOCVSzhlIZmpY86MuQo05Yy4J98=";
+      rev = "82fa8f05f41a33e9bc830f85d74a9548f0291738";
+      hash = "sha256-5GkU3/yVMCnNvNssad3vEIN8PlbLeQsRBlwgH2KUrBo=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
   };
@@ -259,12 +259,12 @@
   };
   comment = buildGrammar {
     language = "comment";
-    version = "0.0.0+rev=aefcc28";
+    version = "0.0.0+rev=5d8b29f";
     src = fetchFromGitHub {
       owner = "stsewd";
       repo = "tree-sitter-comment";
-      rev = "aefcc2813392eb6ffe509aa0fc8b4e9b57413ee1";
-      hash = "sha256-ihkBqdYVulTlysb9J8yg4c5XVktJw8jIwzhqybBw8Ug=";
+      rev = "5d8b29f6ef3bf64d59430dcfe76b31cc44b5abfd";
+      hash = "sha256-19jxH6YK3Rn0fOGSiWen5/eNKPKUSXVsIYB/QAPEA1I=";
     };
     meta.homepage = "https://github.com/stsewd/tree-sitter-comment";
   };
@@ -325,12 +325,12 @@
   };
   css = buildGrammar {
     language = "css";
-    version = "0.0.0+rev=2e868a7";
+    version = "0.0.0+rev=f6be52c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-css";
-      rev = "2e868a75a518531656b493cba36ef60d8c61cc89";
-      hash = "sha256-KGhTAYeuEkEDbKyKAI359RXpcdFjVHxWNLPAjZ4l+68=";
+      rev = "f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af";
+      hash = "sha256-V1KrNM5C03RcRYcRIPxxfyWlnQkbyAevTHuZINn3Bdc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
   };
@@ -348,12 +348,12 @@
   };
   cuda = buildGrammar {
     language = "cuda";
-    version = "0.0.0+rev=c794560";
+    version = "0.0.0+rev=e7878a9";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-cuda";
-      rev = "c794560823013fc4cc29944d862b7158d9585408";
-      hash = "sha256-YiLsKDLiiH8JUFdnaqYrEk7xy4IIAFUFVSjwhXEoD8U=";
+      rev = "e7878a9cf4157e9d6c8013ff5605c9f26d62894d";
+      hash = "sha256-1UCYWY6DvanLdFeS0ALHG3eJT/Rk/muZTkFm3YwF5II=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
   };
@@ -447,12 +447,12 @@
   };
   dockerfile = buildGrammar {
     language = "dockerfile";
-    version = "0.0.0+rev=439c3e7";
+    version = "0.0.0+rev=087daa2";
     src = fetchFromGitHub {
       owner = "camdencheek";
       repo = "tree-sitter-dockerfile";
-      rev = "439c3e7b8a9bfdbf1f7d7c2beaae4173dc484cbf";
-      hash = "sha256-sW3fCCAXNak4JszEPgspZFfOHtUlqnW3eRxzHNfzInk=";
+      rev = "087daa20438a6cc01fa5e6fe6906d77c869d19fe";
+      hash = "sha256-uDRDq6MYYV8nh6FDsQN3tdyZywEg8A224bfWrgFGvFs=";
     };
     meta.homepage = "https://github.com/camdencheek/tree-sitter-dockerfile";
   };
@@ -480,12 +480,12 @@
   };
   dtd = buildGrammar {
     language = "dtd";
-    version = "0.0.0+rev=5910ee2";
+    version = "0.0.0+rev=648183d";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "5910ee285378e07ff1e63a9f5d21898f62310aed";
-      hash = "sha256-X/DhTD/cNWoBxWvBBwPmGqAUtJjWkvo0PnbFK/lrTUg=";
+      rev = "648183d86f6f8ffb240ea11b4c6873f6f45d8b67";
+      hash = "sha256-O40z5VYmFeE8pkJ85Vu5DWV31YslIrwD80+4qnpoRNY=";
     };
     location = "dtd";
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
@@ -581,12 +581,12 @@
   };
   embedded_template = buildGrammar {
     language = "embedded_template";
-    version = "0.0.0+rev=6d791b8";
+    version = "0.0.0+rev=38d5004";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-embedded-template";
-      rev = "6d791b897ecda59baa0689a85a9906348a2a6414";
-      hash = "sha256-I4L3mxkAnmKs+BiNRDAs58QFD2r8jN1B2yv0dZdgkzQ=";
+      rev = "38d5004a797298dc42c85e7706c5ceac46a3f29f";
+      hash = "sha256-IPPCexaq42Em5A+kmrj5e/SFrXoKdWCTYAL/TWvbDJ0=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
   };
@@ -812,12 +812,12 @@
   };
   gleam = buildGrammar {
     language = "gleam";
-    version = "0.0.0+rev=a0b11a1";
+    version = "0.0.0+rev=8432ffe";
     src = fetchFromGitHub {
       owner = "gleam-lang";
       repo = "tree-sitter-gleam";
-      rev = "a0b11a15935b95848176c747a8b5776752d90d7c";
-      hash = "sha256-h7IDqQpqPFC5WwR2fPxCKLvvdYCFqm5CPf6EJ36qsxQ=";
+      rev = "8432ffe32ccd360534837256747beb5b1c82fca1";
+      hash = "sha256-PO01z8vyzDT4ZGPxgZl9PPsp/gktT2TaCwutMy87i8E=";
     };
     meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
   };
@@ -834,12 +834,12 @@
   };
   glsl = buildGrammar {
     language = "glsl";
-    version = "0.0.0+rev=9f61177";
+    version = "0.0.0+rev=8c9fb41";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-glsl";
-      rev = "9f611774fb5b95993e31e03f137b4a689c63f827";
-      hash = "sha256-WLKfP4gE2bOU5ksDmbcTdf6Gud8BoFOv3wX6UyNgkvM=";
+      rev = "8c9fb41836dc202bbbcf0e2369f256055786dedb";
+      hash = "sha256-aUM0gisdoV3A9lWSjn21wXIBI8ZrKI/5IffAaf917e4=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
   };
@@ -867,12 +867,12 @@
   };
   go = buildGrammar {
     language = "go";
-    version = "0.0.0+rev=eb68645";
+    version = "0.0.0+rev=7ee8d92";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-go";
-      rev = "eb68645662a3f7bf7fdd4bcb9531585f54c8570e";
-      hash = "sha256-RZx8M3QGX/+kfjbEB0+f2jeDZhGF+XGXwtb5oltxHrI=";
+      rev = "7ee8d928db5202f6831a78f8112fd693bf69f98b";
+      hash = "sha256-ARfpfMSXy+DpvUMJvUgjgReoyvGbrVwYutZD91JA4qc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
   };
@@ -999,12 +999,12 @@
   };
   haskell = buildGrammar {
     language = "haskell";
-    version = "0.0.0+rev=af32d88";
+    version = "0.0.0+rev=a50070d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-haskell";
-      rev = "af32d884088ce7b74541b5e51820baa7e305caae";
-      hash = "sha256-w4F1PtVjg7FWPRQQMSV8nU7GwCISiCgaIre+S63N+T0=";
+      rev = "a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19";
+      hash = "sha256-huO0Ly9JYQbT64o/AjdZrE9vghQ5vT+/iQl50o4TJ0I=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
   };
@@ -1066,12 +1066,12 @@
   };
   hlsl = buildGrammar {
     language = "hlsl";
-    version = "0.0.0+rev=de5d490";
+    version = "0.0.0+rev=feea0ff";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "tree-sitter-hlsl";
-      rev = "de5d490e52aa7be2a877df7022f93dff05f03eb9";
-      hash = "sha256-5eHyyk6m8VNjenjM1xDBhZcROwzSm/O+9GtgyiXNHFc=";
+      rev = "feea0ff6eccda8be958c133985dca8977db3d887";
+      hash = "sha256-VIrNt9pjNtwVbQKZGPota5blxbPGGEhdiRYtPNU/XtA=";
     };
     meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
   };
@@ -1165,12 +1165,12 @@
   };
   idl = buildGrammar {
     language = "idl";
-    version = "0.0.0+rev=d9a260e";
+    version = "0.0.0+rev=e885d7f";
     src = fetchFromGitHub {
       owner = "cathaysia";
       repo = "tree-sitter-idl";
-      rev = "d9a260eda455deaa36d2edf398963b0736ed0845";
-      hash = "sha256-4NQmZ8H5mmKQDaPlKkAgDKfARjM+m6G9Wb7PcQk+NS0=";
+      rev = "e885d7fd66c2549b7a28172400d645d27656f5cb";
+      hash = "sha256-japZBj8H+NTTw/Ne7prSjhZD6idcLjPCKEB3OjSSoxc=";
     };
     meta.homepage = "https://github.com/cathaysia/tree-sitter-idl";
   };
@@ -1231,12 +1231,12 @@
   };
   javascript = buildGrammar {
     language = "javascript";
-    version = "0.0.0+rev=c002746";
+    version = "0.0.0+rev=e88537c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-javascript";
-      rev = "c0027460e8f9629afeeb27f7949ecf961c82d707";
-      hash = "sha256-/h8h+Rxabs+uBs/c9K1nc/K7viygBhuH3DJbqeQSCpI=";
+      rev = "e88537c2703546f3f0887dd3f16898e1749cdba5";
+      hash = "sha256-/poR9qMfjWKJW6aw0s6VjNh7fkf/HvUJNZIeZ1YEwVM=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
   };
@@ -1253,23 +1253,23 @@
   };
   jsdoc = buildGrammar {
     language = "jsdoc";
-    version = "0.0.0+rev=6a6cf9e";
+    version = "0.0.0+rev=49fde20";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-jsdoc";
-      rev = "6a6cf9e7341af32d8e2b2e24a37fbfebefc3dc55";
-      hash = "sha256-fKscFhgZ/BQnYnE5EwurFZgiE//O0WagRIHVtDyes/Y=";
+      rev = "49fde205b59a1d9792efc21ee0b6d50bbd35ff14";
+      hash = "sha256-Mfau8071UiotdSS+/W9kQWhKF7BCRI8WtRxss/U0GQw=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
   };
   json = buildGrammar {
     language = "json";
-    version = "0.0.0+rev=80e623c";
+    version = "0.0.0+rev=94f5c52";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-json";
-      rev = "80e623c2165887f9829357acfa9c0a0bab34a3cd";
-      hash = "sha256-waejAbS7MjrE7w03MPqvBRpEpqTcKc6RgKCVSYaDV1Y=";
+      rev = "94f5c527b2965465956c2000ed6134dd24daf2a7";
+      hash = "sha256-16/ZRjRolUC/iN7ASrNnXNSkfohBlSqyyYAz4nka6pM=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
   };
@@ -1352,12 +1352,12 @@
   };
   kotlin = buildGrammar {
     language = "kotlin";
-    version = "0.0.0+rev=eca05ed";
+    version = "0.0.0+rev=c9cb850";
     src = fetchFromGitHub {
       owner = "fwcd";
       repo = "tree-sitter-kotlin";
-      rev = "eca05edbab1918d7d36a0d30d086ba7b6b1e8803";
-      hash = "sha256-cmtUGmytAgiqBi31CNxEX+vE3YXmH1hphsIHvGRd7SY=";
+      rev = "c9cb8504b81684375e7beb8907517dbd6947a1be";
+      hash = "sha256-fuEKCtCzaWOp0gKrsPMOW9oGOXnM2Qb652Nhn1lc1eA=";
     };
     meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
   };
@@ -1385,12 +1385,12 @@
   };
   lalrpop = buildGrammar {
     language = "lalrpop";
-    version = "0.0.0+rev=123d8b4";
+    version = "0.0.0+rev=854a40e";
     src = fetchFromGitHub {
       owner = "traxys";
       repo = "tree-sitter-lalrpop";
-      rev = "123d8b472e949b59f348c32e245107a34a3d8945";
-      hash = "sha256-+06eppRj7TynVYOMs30/7kUM69RqdmryIoBuiZJ7DvY=";
+      rev = "854a40e99f7c70258e522bdb8ab584ede6196e2e";
+      hash = "sha256-rVWmYF26DbPHoNRBv9FKEeacSbgw93PHy/wrQDGzlWk=";
     };
     meta.homepage = "https://github.com/traxys/tree-sitter-lalrpop";
   };
@@ -1608,12 +1608,12 @@
   };
   mlir = buildGrammar {
     language = "mlir";
-    version = "0.0.0+rev=ed52870";
+    version = "0.0.0+rev=a708e9b";
     src = fetchFromGitHub {
       owner = "artagnon";
       repo = "tree-sitter-mlir";
-      rev = "ed528701a1ee52d4735c3439da262c898e506fc3";
-      hash = "sha256-VDwKpSRRlZDjrJH7NqKUZm596M/glWhAimkmH0POue4=";
+      rev = "a708e9b3f3d7f2fc85ac3fd1d4317c51b101eab0";
+      hash = "sha256-ITimvcYGqPUrqg3Z9EyfhEznzME2TKBOJpr0Fbc3OoE=";
     };
     generate = true;
     meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
@@ -1777,12 +1777,12 @@
   };
   odin = buildGrammar {
     language = "odin";
-    version = "0.0.0+rev=b5f668e";
+    version = "0.0.0+rev=f25b8c5";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-odin";
-      rev = "b5f668ef8918aab13812ce73acd89fe191fb8c5e";
-      hash = "sha256-D/+ls8a5efAy3sBaH1eGEifEwBRmz+6bYIMGNji949Q=";
+      rev = "f25b8c5201c1480dc0c8c4155a059a79a5a40719";
+      hash = "sha256-720CY0OKlq1P+9g0VHQ6l0lTBjGy/tYiolL8e2ahd8o=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-odin";
   };
@@ -1832,47 +1832,47 @@
   };
   perl = buildGrammar {
     language = "perl";
-    version = "0.0.0+rev=96a17c4";
+    version = "0.0.0+rev=d4ebabd";
     src = fetchFromGitHub {
       owner = "tree-sitter-perl";
       repo = "tree-sitter-perl";
-      rev = "96a17c4c2dd345dc61f330d040684538d634bbc2";
-      hash = "sha256-I/76AfSPU5WOwch8inBWojIraJGVffnGvOpQepq6qYU=";
+      rev = "d4ebabd45bcb053fcc7f6688b5c8ed80c7ae7a32";
+      hash = "sha256-0WnI0L6Tuy3FD4XxCZR1HcQyo5uv0VXhK8eqopCAS+A=";
     };
     meta.homepage = "https://github.com/tree-sitter-perl/tree-sitter-perl";
   };
   php = buildGrammar {
     language = "php";
-    version = "0.0.0+rev=58054be";
+    version = "0.0.0+rev=d5aea05";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "58054be104db0809ea6f119514a4d904f95e5b5c";
-      hash = "sha256-oMn+0p+b01gSgGm5nrXO5FX9Je6y8bBNwP72x2e0hZU=";
+      rev = "d5aea05a70c5d021fa746516391f156d35658875";
+      hash = "sha256-Wk8JBHqAPIHDGQ6+cw/ATFdeFGZZZ3XgkPCuAOFUROs=";
     };
     location = "php";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   php_only = buildGrammar {
     language = "php_only";
-    version = "0.0.0+rev=58054be";
+    version = "0.0.0+rev=d5aea05";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "58054be104db0809ea6f119514a4d904f95e5b5c";
-      hash = "sha256-oMn+0p+b01gSgGm5nrXO5FX9Je6y8bBNwP72x2e0hZU=";
+      rev = "d5aea05a70c5d021fa746516391f156d35658875";
+      hash = "sha256-Wk8JBHqAPIHDGQ6+cw/ATFdeFGZZZ3XgkPCuAOFUROs=";
     };
     location = "php_only";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
   phpdoc = buildGrammar {
     language = "phpdoc";
-    version = "0.0.0+rev=f285e33";
+    version = "0.0.0+rev=1d0e255";
     src = fetchFromGitHub {
       owner = "claytonrcarter";
       repo = "tree-sitter-phpdoc";
-      rev = "f285e338d328a03920a9bfd8dda78585c7ddcca3";
-      hash = "sha256-kvAZ1+tbw6bAtLhPeNGi1rmnyNhBSL/nynQADX+4tMw=";
+      rev = "1d0e255b37477d0ca46f1c9e9268c8fa76c0b3fc";
+      hash = "sha256-EWj/Av8+Ri7KiC9LzH73ytufjkp3MxBPwfm6mF3IGD8=";
     };
     meta.homepage = "https://github.com/claytonrcarter/tree-sitter-phpdoc";
   };
@@ -2066,12 +2066,12 @@
   };
   ql = buildGrammar {
     language = "ql";
-    version = "0.0.0+rev=fa5c382";
+    version = "0.0.0+rev=42becd6";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ql";
-      rev = "fa5c3821dd2161f5c8528a8cbdb258daa6dc4de6";
-      hash = "sha256-5Fc9u7sTWG/RRcg/B5uiF8wjsbHCNt+fcOtCPgf4gyo=";
+      rev = "42becd6f8f7bae82c818fa3abb1b6ff34b552310";
+      hash = "sha256-OFqBI9u5Ik6AoG88v7qTVnol5H9O/n1vaZhoxQ7Sj70=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ql";
   };
@@ -2088,23 +2088,23 @@
   };
   qmljs = buildGrammar {
     language = "qmljs";
-    version = "0.0.0+rev=239f262";
+    version = "0.0.0+rev=2c57cac";
     src = fetchFromGitHub {
       owner = "yuja";
       repo = "tree-sitter-qmljs";
-      rev = "239f2627b4c7859fd9adc53609cb40fa0a5431ce";
-      hash = "sha256-xlQ/C8rrjOMUZpciOJ+gjmS4zlRJYnhWtkoBKxssXCA=";
+      rev = "2c57cac27e207425f8df15327884434cb12365a3";
+      hash = "sha256-LFOujMN9HMtDqjq2ZOP0oxydQHFS0wvL6ORBqruGXeM=";
     };
     meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
   query = buildGrammar {
     language = "query";
-    version = "0.0.0+rev=608c011";
+    version = "0.0.0+rev=d25e8d1";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "tree-sitter-query";
-      rev = "608c01187fb9f525a1e4cf585bb63d73dea280b7";
-      hash = "sha256-kOlWlABRCv0eZcTNOkRhJxA4t0IUUvk1pi1s8UiWons=";
+      rev = "d25e8d183f319497b8b22a2a1585975b020da722";
+      hash = "sha256-c4ttg5UXtRlUdtljQwczoBSR/oX+rnj5gUqR8EIYMKQ=";
     };
     meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
   };
@@ -2176,12 +2176,12 @@
   };
   regex = buildGrammar {
     language = "regex";
-    version = "0.0.0+rev=ba22e4e";
+    version = "0.0.0+rev=47007f1";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-regex";
-      rev = "ba22e4e0cb42b2ef066948d0ea030ac509cef733";
-      hash = "sha256-mb8y3lsbN5zEpVCeBQxGXSRqC3FKsvNg1Rb1XTSh3Qo=";
+      rev = "47007f195752d8e57bda80b0b6cdb2d173a9f7d7";
+      hash = "sha256-X1CEk4nLxXY1a3PHG+4uSDKAXmsJIhd0nVYieTaHOkk=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
   };
@@ -2242,12 +2242,12 @@
   };
   ron = buildGrammar {
     language = "ron";
-    version = "0.0.0+rev=f0ddc95";
+    version = "0.0.0+rev=7893855";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-ron";
-      rev = "f0ddc95a4b7bb21a7308642255a80f5496e69c5b";
-      hash = "sha256-Wi81LYFfQXjZzj2OuxB64sNDEim/eZKViMeQ0h/w88k=";
+      rev = "78938553b93075e638035f624973083451b29055";
+      hash = "sha256-Sp0g6AWKHNjyUmL5k3RIU+5KtfICfg3o/DH77XRRyI0=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-ron";
   };
@@ -2264,23 +2264,23 @@
   };
   ruby = buildGrammar {
     language = "ruby";
-    version = "0.0.0+rev=9d86f37";
+    version = "0.0.0+rev=788a63c";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-ruby";
-      rev = "9d86f3761bb30e8dcc81e754b81d3ce91848477e";
-      hash = "sha256-Ibfu+5NWCkw7jriy1tiMLplpXNZfZf8WP30lDU1//GM=";
+      rev = "788a63ca1b7619288980aaafd37d890ee2469421";
+      hash = "sha256-FvLSj0lTNNabneXrDH7/HQq4mcTLvBwhkPW/Pf48JWc=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
   };
   rust = buildGrammar {
     language = "rust";
-    version = "0.0.0+rev=0435214";
+    version = "0.0.0+rev=9c84af0";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-rust";
-      rev = "04352146022062c101b8ddd853adf17eadd8cf56";
-      hash = "sha256-4CTh6fKSV8TuMHLAfEKWsAeCqeCM2uo6hVmF5KWhyPY=";
+      rev = "9c84af007b0f144954adb26b3f336495cbb320a7";
+      hash = "sha256-mwnikq3s7Ien68DYT3p9oVGy7xjBgtiJMHAwMj5HXHI=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
   };
@@ -2353,12 +2353,12 @@
   };
   smali = buildGrammar {
     language = "smali";
-    version = "0.0.0+rev=3f65178";
+    version = "0.0.0+rev=fdfa6a1";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-smali";
-      rev = "3f6517855898ef23023e5d64a8b175d4ee8d646e";
-      hash = "sha256-K1cRK4D0BE9FNq1tpa0L3Crc+8woXIwhRPg86+73snk=";
+      rev = "fdfa6a1febc43c7467aa7e937b87b607956f2346";
+      hash = "sha256-S0U6Xuntz16DrpYwSqMQu8Cu7UuD/JufHUxIHv826yw=";
     };
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-smali";
   };
@@ -2386,12 +2386,12 @@
   };
   solidity = buildGrammar {
     language = "solidity";
-    version = "0.0.0+rev=fa5c61c";
+    version = "0.0.0+rev=b5a23ea";
     src = fetchFromGitHub {
       owner = "JoranHonig";
       repo = "tree-sitter-solidity";
-      rev = "fa5c61c7c5a2d9e8e99439e2cec90225f4acb86b";
-      hash = "sha256-evB+BQPPANC0JV7i74KYbGyFxE3N5OSOOF+ujA93y2E=";
+      rev = "b5a23ead0f69d38b5c9a630f52f5c129132c16ed";
+      hash = "sha256-xOW5C/Bcx2xg/6MPYulQkolWGwyQ+htRKvTnkFnqzOE=";
     };
     meta.homepage = "https://github.com/JoranHonig/tree-sitter-solidity";
   };
@@ -2421,12 +2421,12 @@
   };
   sourcepawn = buildGrammar {
     language = "sourcepawn";
-    version = "0.0.0+rev=3ca89fd";
+    version = "0.0.0+rev=6a67772";
     src = fetchFromGitHub {
       owner = "nilshelmig";
       repo = "tree-sitter-sourcepawn";
-      rev = "3ca89fdf998340a7973e276b39516d8902950f86";
-      hash = "sha256-AF7PiM0Tt6wqGdNsfMGSkgWXgZRDZGdKc7DQpUHuGUA=";
+      rev = "6a67772eed866cd6d247cc478a28c6a9272fc0ef";
+      hash = "sha256-sroMixo0FvPpC01F/hx5VV3h9ugdLhVbGeVnIlabyk0=";
     };
     meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
   };
@@ -2454,12 +2454,12 @@
   };
   squirrel = buildGrammar {
     language = "squirrel";
-    version = "0.0.0+rev=f93fd28";
+    version = "0.0.0+rev=0a50d31";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-squirrel";
-      rev = "f93fd2864dd05cc39b0490145fd86a1a93bfa3a3";
-      hash = "sha256-06cmaCyBkdwSmIHSEE0xr9V4M6pp+ApIZNopbnW3pok=";
+      rev = "0a50d31098e83c668d34d1160a0f6c7d23b571cc";
+      hash = "sha256-cLMAeDfZiHInA9+Td8FedRVSNv1vFE/bpCftRqV72d0=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-squirrel";
   };
@@ -2542,12 +2542,12 @@
   };
   swift = buildGrammar {
     language = "swift";
-    version = "0.0.0+rev=5f5d7a2";
+    version = "0.0.0+rev=c9c669b";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "5f5d7a2a04f2d367a010ed908cc956e7b05fde4f";
-      hash = "sha256-8BTyk99cc4kWpx1tvfMLyrKeZUQRRN0oMGw4Vz54Gtc=";
+      rev = "c9c669b4513479e07a0ff44cf14f72351959ac21";
+      hash = "sha256-OyT7jkGTuNG7eQrQvZRI49ipu+MMXTOz/1O7r42MaOk=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -2587,23 +2587,23 @@
   };
   tablegen = buildGrammar {
     language = "tablegen";
-    version = "0.0.0+rev=6b7eb09";
+    version = "0.0.0+rev=b117088";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-tablegen";
-      rev = "6b7eb096621443627cc5e29c8c34ff1fde482cf3";
-      hash = "sha256-kdOqHAyKAI4IgI2/GbEx13DWLB8JklURd3ndaicxUno=";
+      rev = "b1170880c61355aaf38fc06f4af7d3c55abdabc4";
+      hash = "sha256-uJCn2RdTnOf/guBUhfodgQ8pMshNh+xUJZunoLwNgrM=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-tablegen";
   };
   tact = buildGrammar {
     language = "tact";
-    version = "0.0.0+rev=f65460e";
+    version = "0.0.0+rev=034df21";
     src = fetchFromGitHub {
       owner = "tact-lang";
       repo = "tree-sitter-tact";
-      rev = "f65460eb0746037bc15913e2737afcf87745b66b";
-      hash = "sha256-qoyiJzM1GMvHMpI3unnW9SysHMEw28mb64Xt1pO/hTI=";
+      rev = "034df2162ed7b654efd999942e266be713c7cde0";
+      hash = "sha256-2+MVrDPuhrM0HE9uRG5LpmyXYy73Pv3MY20UXwBXalM=";
     };
     meta.homepage = "https://github.com/tact-lang/tree-sitter-tact";
   };
@@ -2632,12 +2632,12 @@
   };
   templ = buildGrammar {
     language = "templ";
-    version = "0.0.0+rev=c06e7bf";
+    version = "0.0.0+rev=d631f60";
     src = fetchFromGitHub {
       owner = "vrischmann";
       repo = "tree-sitter-templ";
-      rev = "c06e7bf0edfa211f6a7665a3c7fa25c1198850b2";
-      hash = "sha256-E2Dkq4o9RDzPHnIq9TgjXAtJS5u6l/zV6KAcq+NSD6Y=";
+      rev = "d631f60287c0904770bc41aa865e249594b52422";
+      hash = "sha256-rANNbNlybga+IGNfclMGX0On48sQ3WTWvw3bnhxKsZk=";
     };
     meta.homepage = "https://github.com/vrischmann/tree-sitter-templ";
   };
@@ -2688,12 +2688,12 @@
   };
   tlaplus = buildGrammar {
     language = "tlaplus";
-    version = "0.0.0+rev=763f9a4";
+    version = "0.0.0+rev=08d9156";
     src = fetchFromGitHub {
       owner = "tlaplus-community";
       repo = "tree-sitter-tlaplus";
-      rev = "763f9a4edcb1747595842164614aa143eec084dd";
-      hash = "sha256-xkJbiDsheVhcSoMRLLvF4GPOBPRsGxWClyF8khTd0CI=";
+      rev = "08d915655d360bb0b7592d38a533dcc17dcb8dfb";
+      hash = "sha256-zE48mJUoCiyF4YDQyZtxMIqUq+99BWT4XGxeTzcWLYY=";
     };
     meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
   };
@@ -2744,12 +2744,12 @@
   };
   tsx = buildGrammar {
     language = "tsx";
-    version = "0.0.0+rev=b00b8eb";
+    version = "0.0.0+rev=7b4275d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
-      hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
+      rev = "7b4275d077ae196fc0ce42ab3ad091574e3ec519";
+      hash = "sha256-oRvAU+g2wOZrUexWAsDTY+g9iSXVs5FvGlGIAdcfIfA=";
     };
     location = "tsx";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2778,12 +2778,12 @@
   };
   typescript = buildGrammar {
     language = "typescript";
-    version = "0.0.0+rev=b00b8eb";
+    version = "0.0.0+rev=7b4275d";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-typescript";
-      rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
-      hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
+      rev = "7b4275d077ae196fc0ce42ab3ad091574e3ec519";
+      hash = "sha256-oRvAU+g2wOZrUexWAsDTY+g9iSXVs5FvGlGIAdcfIfA=";
     };
     location = "typescript";
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -2801,12 +2801,12 @@
   };
   typst = buildGrammar {
     language = "typst";
-    version = "0.0.0+rev=4610172";
+    version = "0.0.0+rev=3924cb9";
     src = fetchFromGitHub {
       owner = "uben0";
       repo = "tree-sitter-typst";
-      rev = "4610172f312e8ce5184e6882be5ad1a1cd800fbe";
-      hash = "sha256-vIDVnm89mcbEDV8u6x2HO6CgkNaGEVMRRlrT3dLIFcQ=";
+      rev = "3924cb9ed9e0e62ce7df9c4fe0faa4c234795999";
+      hash = "sha256-W8mNIASM85btE3XychvagVJofIb+CkNT4XeIhdQt8FU=";
     };
     meta.homepage = "https://github.com/uben0/tree-sitter-typst";
   };
@@ -2857,12 +2857,12 @@
   };
   uxntal = buildGrammar {
     language = "uxntal";
-    version = "0.0.0+rev=4c5ecd6";
+    version = "0.0.0+rev=ad9b638";
     src = fetchFromGitHub {
       owner = "amaanq";
       repo = "tree-sitter-uxntal";
-      rev = "4c5ecd6326ebd61f6f9a22a370cbd100e0d601da";
-      hash = "sha256-vgeTsRJ3mlR02jXuucmXpszVOmusZwuV0xj/7sSs+WQ=";
+      rev = "ad9b638b914095320de85d59c49ab271603af048";
+      hash = "sha256-hR0EaYv1++MJ0pdBl3ZtyEljitnp5hgFWQa9F6b1KE4=";
     };
     meta.homepage = "https://github.com/amaanq/tree-sitter-uxntal";
   };
@@ -3012,24 +3012,24 @@
   };
   xml = buildGrammar {
     language = "xml";
-    version = "0.0.0+rev=5910ee2";
+    version = "0.0.0+rev=648183d";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-xml";
-      rev = "5910ee285378e07ff1e63a9f5d21898f62310aed";
-      hash = "sha256-X/DhTD/cNWoBxWvBBwPmGqAUtJjWkvo0PnbFK/lrTUg=";
+      rev = "648183d86f6f8ffb240ea11b4c6873f6f45d8b67";
+      hash = "sha256-O40z5VYmFeE8pkJ85Vu5DWV31YslIrwD80+4qnpoRNY=";
     };
     location = "xml";
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
   };
   yaml = buildGrammar {
     language = "yaml";
-    version = "0.0.0+rev=08ab1fb";
+    version = "0.0.0+rev=7b03fee";
     src = fetchFromGitHub {
       owner = "tree-sitter-grammars";
       repo = "tree-sitter-yaml";
-      rev = "08ab1fbc18beac06b2938495a2c6ab17b5a6abc5";
-      hash = "sha256-Xwx6UEfdOP3lakMvQB5CQjtrhSfkJ19eaT1YyUhRpss=";
+      rev = "7b03feefd36b5f155465ca736c6304aca983b267";
+      hash = "sha256-hjZQv8kMpjJ29Rl6CEBwb090rFNWP1HPkSECbmTr0zQ=";
     };
     meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-yaml";
   };
@@ -3046,12 +3046,12 @@
   };
   yuck = buildGrammar {
     language = "yuck";
-    version = "0.0.0+rev=a513732";
+    version = "0.0.0+rev=e877f6a";
     src = fetchFromGitHub {
       owner = "Philipp-M";
       repo = "tree-sitter-yuck";
-      rev = "a513732feb813426b51d1ead8397a9c285c411be";
-      hash = "sha256-XfenP9bXkskCfiq2sE8qLog0NmSecP50Ur+8HDtU4pQ=";
+      rev = "e877f6ade4b77d5ef8787075141053631ba12318";
+      hash = "sha256-l8c1/7q8S78jGyl+VAVVgs8wq58PrrjycyJfWXsCgAI=";
     };
     meta.homepage = "https://github.com/Philipp-M/tree-sitter-yuck";
   };
diff --git a/pkgs/applications/editors/vim/plugins/vim-clap/Cargo.lock b/pkgs/applications/editors/vim/plugins/vim-clap/Cargo.lock
index 0340204a82ccf..a03a20d495549 100644
--- a/pkgs/applications/editors/vim/plugins/vim-clap/Cargo.lock
+++ b/pkgs/applications/editors/vim/plugins/vim-clap/Cargo.lock
@@ -49,9 +49,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -63,53 +63,53 @@ dependencies = [
 
 [[package]]
 name = "anstyle"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
+checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -119,6 +119,87 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
+name = "axum"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "base64 0.21.7",
+ "bytes",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "hyper 1.2.0",
+ "hyper-util",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "serde_json",
+ "serde_path_to_error",
+ "serde_urlencoded",
+ "sha1",
+ "sync_wrapper 1.0.0",
+ "tokio",
+ "tokio-tungstenite",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "mime",
+ "pin-project-lite",
+ "rustversion",
+ "sync_wrapper 0.1.2",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "axum-extra"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0be6ea09c9b96cb5076af0de2e383bd2bc0c18f827cf1967bdd353e0b910d733"
+dependencies = [
+ "axum",
+ "axum-core",
+ "bytes",
+ "futures-util",
+ "headers",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "mime",
+ "pin-project-lite",
+ "serde",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
 name = "backtrace"
 version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -141,9 +222,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.5"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "bincode"
@@ -162,9 +243,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block"
@@ -173,13 +254,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[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 = "bstr"
-version = "1.7.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
+checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
 dependencies = [
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "serde",
 ]
 
@@ -195,9 +285,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.14.0"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytecount"
@@ -206,6 +296,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
 
 [[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
 name = "bytes"
 version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -234,9 +330,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.4"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36"
+checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
 dependencies = [
  "serde",
 ]
@@ -263,9 +359,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.83"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
  "jobserver",
  "libc",
@@ -285,9 +381,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -295,7 +391,7 @@ dependencies = [
  "num-traits",
  "serde",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -336,9 +432,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.7"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
+checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -346,37 +442,37 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.7"
+version = "4.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.0",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.4.7"
+version = "4.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
+checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
 
 [[package]]
 name = "cli"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "anyhow",
  "clap",
@@ -413,7 +509,7 @@ dependencies = [
 
 [[package]]
 name = "code_tools"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "cargo_metadata",
  "maple_config",
@@ -453,21 +549,21 @@ dependencies = [
 
 [[package]]
 name = "console"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "copypasta"
-version = "0.10.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d35364349bf9e9e1c3a035ddcb00d188d23a3c40c50244c03c27a99fc6a65ae"
+checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858"
 dependencies = [
  "clipboard-win",
  "objc",
@@ -478,9 +574,9 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -488,15 +584,24 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "crc32fast"
-version = "1.3.2"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
 dependencies = [
  "cfg-if",
 ]
@@ -539,46 +644,37 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -587,10 +683,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[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.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -598,39 +704,55 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.38",
+ "strsim 0.10.0",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.3"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
+name = "data-encoding"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+
+[[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
 ]
 
 [[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
 name = "directories"
 version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -641,7 +763,7 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "directories",
 ]
@@ -699,9 +821,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
 
 [[package]]
 name = "either"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
 name = "encode_unicode"
@@ -745,11 +867,11 @@ dependencies = [
 
 [[package]]
 name = "extracted_fzy"
-version = "0.1.52"
+version = "0.1.53"
 
 [[package]]
 name = "filter"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "icon",
  "matcher",
@@ -781,18 +903,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -805,9 +927,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -815,15 +937,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -832,38 +954,38 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.29"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -887,20 +1009,39 @@ dependencies = [
 ]
 
 [[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 = "gethostname"
-version = "0.3.0"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
  "libc",
- "winapi",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -909,9 +1050,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "git2"
@@ -943,15 +1084,15 @@ dependencies = [
 
 [[package]]
 name = "globset"
-version = "0.4.13"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
  "aho-corasick",
  "bstr",
- "fnv",
  "log",
- "regex",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
@@ -972,7 +1113,7 @@ dependencies = [
  "bstr",
  "grep-matcher",
  "log",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -993,17 +1134,17 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.21"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http",
- "indexmap 1.9.3",
+ "http 0.2.12",
+ "indexmap",
  "slab",
  "tokio",
  "tokio-util",
@@ -1012,9 +1153,9 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
 dependencies = [
  "cfg-if",
  "crunchy",
@@ -1022,15 +1163,33 @@ dependencies = [
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 
 [[package]]
-name = "hashbrown"
-version = "0.14.2"
+name = "headers"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9"
+dependencies = [
+ "base64 0.21.7",
+ "bytes",
+ "headers-core",
+ "http 1.1.0",
+ "httpdate",
+ "mime",
+ "sha1",
+]
+
+[[package]]
+name = "headers-core"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4"
+dependencies = [
+ "http 1.1.0",
+]
 
 [[package]]
 name = "heck"
@@ -1040,24 +1199,35 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "home"
-version = "0.5.5"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "http"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
 ]
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -1066,12 +1236,35 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http",
+ "http 0.2.12",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-body"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
+dependencies = [
+ "bytes",
+ "http 1.1.0",
+]
+
+[[package]]
+name = "http-body-util"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "http 1.1.0",
+ "http-body 1.0.0",
  "pin-project-lite",
 ]
 
@@ -1089,22 +1282,22 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-core",
  "futures-util",
  "h2",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.10",
+ "socket2",
  "tokio",
  "tower-service",
  "tracing",
@@ -1112,24 +1305,59 @@ dependencies = [
 ]
 
 [[package]]
+name = "hyper"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "smallvec",
+ "tokio",
+]
+
+[[package]]
 name = "hyper-rustls"
 version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
  "futures-util",
- "http",
- "hyper",
+ "http 0.2.12",
+ "hyper 0.14.28",
  "rustls",
  "tokio",
  "tokio-rustls",
 ]
 
 [[package]]
+name = "hyper-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+dependencies = [
+ "bytes",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "hyper 1.2.0",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+]
+
+[[package]]
 name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -1150,7 +1378,7 @@ dependencies = [
 
 [[package]]
 name = "icon"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "itertools 0.10.5",
  "pattern",
@@ -1165,9 +1393,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -1175,39 +1403,28 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.20"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 dependencies = [
+ "crossbeam-deque",
  "globset",
- "lazy_static",
  "log",
  "memchr",
- "regex",
+ "regex-automata 0.4.6",
  "same-file",
- "thread_local",
  "walkdir",
  "winapi-util",
 ]
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.1.0"
+version = "2.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
+checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.2",
+ "hashbrown",
 ]
 
 [[package]]
@@ -1265,9 +1482,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jni"
@@ -1293,18 +1510,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
 name = "jobserver"
-version = "0.1.27"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.65"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1323,9 +1540,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "libgit2-sys"
@@ -1342,6 +1559,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
+]
+
+[[package]]
 name = "libssh2-sys"
 version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1357,9 +1585,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.12"
+version = "1.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
 dependencies = [
  "cc",
  "libc",
@@ -1384,9 +1612,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
@@ -1400,9 +1628,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lsp-types"
@@ -1434,15 +1662,16 @@ dependencies = [
  "chrono",
  "clap",
  "cli",
+ "tikv-jemallocator",
  "tokio",
  "upgrade",
 ]
 
 [[package]]
 name = "maple_config"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
- "dirs 0.1.52",
+ "dirs 0.1.53",
  "once_cell",
  "paths",
  "serde",
@@ -1453,7 +1682,7 @@ dependencies = [
 
 [[package]]
 name = "maple_core"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "async-trait",
  "base64 0.13.1",
@@ -1463,7 +1692,7 @@ dependencies = [
  "code_tools",
  "colors-transform",
  "copypasta",
- "dirs 0.1.52",
+ "dirs 0.1.53",
  "filter",
  "futures",
  "git2 0.15.0",
@@ -1475,12 +1704,12 @@ dependencies = [
  "maple_config",
  "maple_derive",
  "maple_lsp",
+ "maple_markdown",
  "matcher",
  "once_cell",
  "parking_lot",
  "paths",
  "pattern",
- "percent-encoding",
  "printer",
  "rayon",
  "regex",
@@ -1488,7 +1717,7 @@ dependencies = [
  "rpc",
  "serde",
  "serde_json",
- "strsim",
+ "strsim 0.10.0",
  "sublime_syntax",
  "subprocess",
  "thiserror",
@@ -1503,7 +1732,7 @@ dependencies = [
 
 [[package]]
 name = "maple_derive"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "async-trait",
  "darling",
@@ -1511,14 +1740,15 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
  "types",
 ]
 
 [[package]]
 name = "maple_lsp"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
+ "dirs 0.1.53",
  "futures-util",
  "lsp-types",
  "parking_lot",
@@ -1534,14 +1764,33 @@ dependencies = [
 ]
 
 [[package]]
+name = "maple_markdown"
+version = "0.1.53"
+dependencies = [
+ "axum",
+ "axum-extra",
+ "once_cell",
+ "percent-encoding",
+ "pulldown-cmark",
+ "regex",
+ "serde_json",
+ "tokio",
+ "tracing",
+ "utils",
+ "webbrowser",
+]
+
+[[package]]
 name = "matcher"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "code_tools",
  "extracted_fzy",
  "fuzzy-matcher",
  "grep-matcher",
  "grep-regex",
+ "norm",
+ "nucleo-matcher",
  "pattern",
  "types",
 ]
@@ -1556,36 +1805,24 @@ dependencies = [
 ]
 
 [[package]]
-name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memmap2"
-version = "0.9.0"
+name = "matchit"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
-dependencies = [
- "libc",
-]
+checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
 [[package]]
-name = "memoffset"
-version = "0.7.1"
+name = "memchr"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
-dependencies = [
- "autocfg",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
-name = "memoffset"
-version = "0.9.0"
+name = "memmap2"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
- "autocfg",
+ "libc",
 ]
 
 [[package]]
@@ -1596,18 +1833,18 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
 ]
 
 [[package]]
 name = "mio"
-version = "0.8.9"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "wasi",
@@ -1621,15 +1858,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
-name = "nix"
-version = "0.26.4"
+name = "norm"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "ed5725a3379c44dc0adf3437af87cf21c10df473ed858d654b12603dea102508"
 dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset 0.7.1",
+ "memchr",
 ]
 
 [[package]]
@@ -1643,10 +1877,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "nucleo-matcher"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85"
+dependencies = [
+ "memchr",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
 name = "num-traits"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
 dependencies = [
  "autocfg",
 ]
@@ -1704,18 +1954,18 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "onig"
@@ -1753,9 +2003,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.100"
+version = "0.9.101"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae94056a791d0e1217d18b6cbdccb02c61e3054fc69893607f4067e3bb0b1fd1"
+checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
 dependencies = [
  "cc",
  "libc",
@@ -1800,9 +2050,9 @@ dependencies = [
 
 [[package]]
 name = "paths"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
- "dirs 0.1.52",
+ "dirs 0.1.53",
  "dunce",
  "itertools 0.10.5",
  "serde",
@@ -1811,7 +2061,7 @@ dependencies = [
 
 [[package]]
 name = "pattern"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "once_cell",
  "regex",
@@ -1819,9 +2069,29 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+
+[[package]]
+name = "pin-project"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.52",
+]
 
 [[package]]
 name = "pin-project-lite"
@@ -1837,18 +2107,18 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "plist"
-version = "1.5.1"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a4a0cfc5fb21a09dc6af4bf834cf10d4a32fccd9e2ea468c4b1751a097487aa"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
- "base64 0.21.5",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap",
  "line-wrap",
  "quick-xml",
  "serde",
@@ -1897,7 +2167,7 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "printer"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "filter",
  "icon",
@@ -1913,27 +2183,46 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
+name = "pulldown-cmark"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f0530d13d87d1f549b66a3e8d0c688952abe5994e204ed62615baaf25dc029c"
+dependencies = [
+ "bitflags 2.4.2",
+ "getopts",
+ "memchr",
+ "pulldown-cmark-escape",
+ "unicase",
+]
+
+[[package]]
+name = "pulldown-cmark-escape"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5d8f9aa0e3cbcfaf8bf00300004ee3b72f74770f9cbac93f6928771f613276b"
+
+[[package]]
 name = "quick-xml"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1976,9 +2265,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd"
 dependencies = [
  "either",
  "rayon-core",
@@ -1986,9 +2275,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -2020,24 +2309,24 @@ checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.2"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-automata 0.4.3",
+ "regex-automata 0.4.6",
  "regex-syntax 0.8.2",
 ]
 
@@ -2052,9 +2341,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -2069,31 +2358,25 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
-
-[[package]]
-name = "regex-syntax"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "reqwest"
-version = "0.11.22"
+version = "0.11.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b"
+checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
  "h2",
- "http",
- "http-body",
- "hyper",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
  "hyper-rustls",
  "ipnet",
  "js-sys",
@@ -2107,6 +2390,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "sync_wrapper 0.1.2",
  "system-configuration",
  "tokio",
  "tokio-rustls",
@@ -2127,21 +2411,22 @@ checksum = "1ebca96b1c05912d531790498048bab5b7b97a756a7bb9df71fa4ef7ef9814e1"
 
 [[package]]
 name = "ring"
-version = "0.17.5"
+version = "0.17.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 dependencies = [
  "cc",
+ "cfg-if",
  "getrandom",
  "libc",
  "spin",
  "untrusted",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rpc"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "serde",
  "serde_json",
@@ -2158,22 +2443,22 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
 
 [[package]]
 name = "rustix"
-version = "0.38.21"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.21.8"
+version = "0.21.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
 dependencies = [
  "log",
  "ring",
@@ -2183,11 +2468,11 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
 dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
 ]
 
 [[package]]
@@ -2201,10 +2486,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
 name = "ryu"
-version = "1.0.15"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
 
 [[package]]
 name = "safemem"
@@ -2239,38 +2530,38 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "serde"
-version = "1.0.190"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.190"
+version = "1.0.197"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.108"
+version = "1.0.114"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
 dependencies = [
  "itoa",
  "ryu",
@@ -2278,14 +2569,24 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_path_to_error"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6"
+dependencies = [
+ "itoa",
+ "serde",
+]
+
+[[package]]
 name = "serde_repr"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2301,6 +2602,17 @@ dependencies = [
 ]
 
 [[package]]
+name = "sha1"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
 name = "sharded-slab"
 version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2344,28 +2656,18 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2381,8 +2683,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "strsim"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+[[package]]
 name = "sublime_syntax"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "colors-transform",
  "rgb2ansi256",
@@ -2413,9 +2721,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2423,10 +2731,22 @@ dependencies = [
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "sync_wrapper"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "384595c11a4e2969895cad5a8c4029115f5ab956a9e5ef4de79d11a426e5f20c"
+
+[[package]]
 name = "syntect"
-version = "5.1.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91"
+checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1"
 dependencies = [
  "bincode",
  "bitflags 1.3.2",
@@ -2435,8 +2755,9 @@ dependencies = [
  "once_cell",
  "onig",
  "plist",
- "regex-syntax 0.7.5",
+ "regex-syntax 0.8.2",
  "serde",
+ "serde_derive",
  "serde_json",
  "thiserror",
  "walkdir",
@@ -2478,42 +2799,63 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.50"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 dependencies = [
  "cfg-if",
  "once_cell",
 ]
 
 [[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
 dependencies = [
  "deranged",
  "itoa",
+ "num-conv",
  "powerfmt",
  "serde",
  "time-core",
@@ -2528,10 +2870,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 dependencies = [
+ "num-conv",
  "time-core",
 ]
 
@@ -2571,9 +2914,10 @@ dependencies = [
  "libc",
  "mio",
  "num_cpus",
+ "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.5",
+ "socket2",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
@@ -2586,7 +2930,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2600,6 +2944,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "tokio-tungstenite"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
+dependencies = [
+ "futures-util",
+ "log",
+ "tokio",
+ "tungstenite",
+]
+
+[[package]]
 name = "tokio-util"
 version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2634,12 +2990,34 @@ version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
- "indexmap 2.1.0",
+ "indexmap",
  "toml_datetime",
  "winnow",
 ]
 
 [[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
+[[package]]
 name = "tower-service"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2651,6 +3029,7 @@ version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
+ "log",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -2658,11 +3037,12 @@ dependencies = [
 
 [[package]]
 name = "tracing-appender"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e"
+checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf"
 dependencies = [
  "crossbeam-channel",
+ "thiserror",
  "time",
  "tracing-subscriber",
 ]
@@ -2675,7 +3055,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
 ]
 
 [[package]]
@@ -2690,9 +3070,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-log"
-version = "0.1.4"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
  "log",
  "once_cell",
@@ -2701,9 +3081,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
  "matchers",
  "nu-ansi-term",
@@ -2729,9 +3109,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-bash"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "096f57b3b44c04bfc7b21a4da44bfa16adf1f88aba18993b8478a091076d0968"
+checksum = "57da2032c37eb2ce29fd18df7d3b94355fec8d6d854d8f80934955df542b5906"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -2739,9 +3119,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-c"
-version = "0.20.6"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30b03bdf218020057abee831581a74bff8c298323d6c6cd1a70556430ded9f4b"
+checksum = "4bbd5f3d8658c08581f8f2adac6c391c2e9fa00fe9246bf6c5f52213b9cc6b72"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -2749,9 +3129,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-cpp"
-version = "0.20.3"
+version = "0.20.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b4b625f46a7370544b9cf0545532c26712ae49bfc02eb09825db358b9f79e1"
+checksum = "46b04a5ada71059afb9895966a6cc1094acc8d2ea1971006db26573e7dfebb74"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -2789,9 +3169,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-javascript"
-version = "0.20.1"
+version = "0.20.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edbc663376bdd294bd1f0a6daf859aedb9aa5bdb72217d7ad8ba2d5314102cf7"
+checksum = "d015c02ea98b62c806f7329ff71c383286dfc3a7a7da0cc484f6e42922f73c2c"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -2799,9 +3179,9 @@ dependencies = [
 
 [[package]]
 name = "tree-sitter-json"
-version = "0.20.1"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d82d2e33ee675dc71289e2ace4f8f9cf96d36d81400e9dae5ea61edaf5dea6"
+checksum = "5a9a38a9c679b55cc8d17350381ec08d69fa1a17a53fcf197f344516e485ed4d"
 dependencies = [
  "cc",
  "tree-sitter",
@@ -2870,7 +3250,7 @@ dependencies = [
 
 [[package]]
 name = "tree_sitter"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "cc",
  "criterion",
@@ -2898,23 +3278,57 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
+
+[[package]]
+name = "tungstenite"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
+dependencies = [
+ "byteorder",
+ "bytes",
+ "data-encoding",
+ "http 1.1.0",
+ "httparse",
+ "log",
+ "rand",
+ "sha1",
+ "thiserror",
+ "url",
+ "utf-8",
+]
+
+[[package]]
+name = "typenum"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "types"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "icon",
  "pattern",
 ]
 
 [[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -2924,14 +3338,20 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
+name = "unicode-segmentation"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+
+[[package]]
 name = "unicode-width"
 version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2945,7 +3365,7 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "upgrade"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "indicatif",
  "reqwest",
@@ -2955,9 +3375,9 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2966,6 +3386,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "utf-8"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+
+[[package]]
 name = "utf8parse"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2973,7 +3399,7 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "utils"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "bytecount",
  "memchr",
@@ -2993,10 +3419,16 @@ 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 = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -3019,9 +3451,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.88"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -3029,24 +3461,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -3056,9 +3488,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -3066,28 +3498,28 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.52",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "web-sys"
-version = "0.3.65"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -3095,9 +3527,9 @@ dependencies = [
 
 [[package]]
 name = "webbrowser"
-version = "0.8.12"
+version = "0.8.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71"
+checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950"
 dependencies = [
  "core-foundation",
  "home",
@@ -3112,9 +3544,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.25.2"
+version = "0.25.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "which"
@@ -3155,15 +3587,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "winapi-wsapoll"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3171,11 +3594,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -3202,7 +3625,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -3237,17 +3660,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -3264,9 +3687,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -3282,9 +3705,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -3300,9 +3723,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -3318,9 +3741,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -3336,9 +3759,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -3354,9 +3777,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -3372,15 +3795,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
-version = "0.5.18"
+version = "0.5.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 dependencies = [
  "memchr",
 ]
@@ -3403,34 +3826,30 @@ checksum = "23f6174b2566cc4a74f95e1367ec343e7fa80c93cc8087f5c4a3d6a1088b2118"
 
 [[package]]
 name = "x11-clipboard"
-version = "0.8.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b41aca1115b1f195f21c541c5efb423470848d48143127d0f07f8b90c27440df"
+checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286"
 dependencies = [
+ "libc",
  "x11rb",
 ]
 
 [[package]]
 name = "x11rb"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
  "gethostname",
- "nix",
- "winapi",
- "winapi-wsapoll",
+ "rustix",
  "x11rb-protocol",
 ]
 
 [[package]]
 name = "x11rb-protocol"
-version = "0.12.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc"
-dependencies = [
- "nix",
-]
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
 
 [[package]]
 name = "xshell"
@@ -3449,7 +3868,7 @@ checksum = "7e2c411759b501fb9501aac2b1b2d287a6e93e5bdcf13c25306b23e1b716dd0e"
 
 [[package]]
 name = "xtask"
-version = "0.1.52"
+version = "0.1.53"
 dependencies = [
  "anyhow",
  "chrono",
diff --git a/pkgs/applications/editors/vim/plugins/vim-clap/default.nix b/pkgs/applications/editors/vim/plugins/vim-clap/default.nix
index dade53492fd22..ba23886437011 100644
--- a/pkgs/applications/editors/vim/plugins/vim-clap/default.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-clap/default.nix
@@ -11,13 +11,13 @@
 }:
 
 let
-  version = "0.52";
+  version = "0.53";
 
   src = fetchFromGitHub {
     owner = "liuchengxu";
     repo = "vim-clap";
     rev = "v${version}";
-    hash = "sha256-byG4DHa0rTzvlLW+d3eF8xCX8uft4b7HYJDqbVmTdNI=";
+    hash = "sha256-0D9HMFh0G9Dq78v/Aau7VXN9jBad6ZevqTCjx7FT9Yw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index a612379f0e692..d1ea92493c1c5 100644
--- a/pkgs/applications/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
@@ -85,10 +85,10 @@
         "src": {
             "owner": "libretro",
             "repo": "beetle-psx-libretro",
-            "rev": "54afe0284292fc6b83b9d515c86a553a8127a984",
-            "hash": "sha256-VZq8AZzjnTFh0GHh1mGIVAznTtJ+g0TJwTAXPUJdmI4="
+            "rev": "0c8abf7f9dda23874b5b9cecfcec519a9dfb032b",
+            "hash": "sha256-psGXpYzKI1QicoHxGhHwR92kymZ+9EaJUpGMcM2OMUY="
         },
-        "version": "unstable-2024-05-03"
+        "version": "unstable-2024-05-10"
     },
     "beetle-saturn": {
         "fetcher": "fetchFromGitHub",
@@ -287,10 +287,10 @@
         "src": {
             "owner": "libretro",
             "repo": "fbneo",
-            "rev": "3ece23fb10085098ac679f6bb61c20046b4a4b88",
-            "hash": "sha256-9dXQHkVYurUFnpnszGpdcTz/OcZh2J245O5r8gU5EQ8="
+            "rev": "573c9b99e3cc0b11a652b2f21a22dcb15a2c4dda",
+            "hash": "sha256-MTRv/F68GiEwt5iN4xilTWGgTw2mf2aAvqDExgeN/g0="
         },
-        "version": "unstable-2024-05-03"
+        "version": "unstable-2024-05-07"
     },
     "fceumm": {
         "fetcher": "fetchFromGitHub",
@@ -307,11 +307,11 @@
         "src": {
             "owner": "flyinghead",
             "repo": "flycast",
-            "rev": "0517a4600c46aa7f3db69eb827a5fcba40a1bda9",
-            "hash": "sha256-1tW6AwnzIZmiyQI8QFKn0ggBifONYR15tXSaRFu7n4k=",
+            "rev": "f13d7ad2dcf141f59a999090dbc0f78be196e665",
+            "hash": "sha256-YFLSUaEikwLPglHh3t8sHiKHRn5cchKzzkJlZDdgVsU=",
             "fetchSubmodules": true
         },
-        "version": "unstable-2024-05-03"
+        "version": "unstable-2024-05-11"
     },
     "fmsx": {
         "fetcher": "fetchFromGitHub",
@@ -348,20 +348,20 @@
         "src": {
             "owner": "libretro",
             "repo": "gambatte-libretro",
-            "rev": "1030f93780121359d058a7f9eca081286906d88b",
-            "hash": "sha256-nnV1le7H22tY90G8/jCYy+9LPaY32G//7S48RotUyT8="
+            "rev": "a7e645196f5e54904a056e390ac7ceb033037de0",
+            "hash": "sha256-pz/IQpjySByHnRu64Ysd1LJPrcImMQ0CfTRV4ONUsA0="
         },
-        "version": "unstable-2024-05-03"
+        "version": "unstable-2024-05-10"
     },
     "genesis-plus-gx": {
         "fetcher": "fetchFromGitHub",
         "src": {
             "owner": "libretro",
             "repo": "Genesis-Plus-GX",
-            "rev": "86f701ba43953152d0db4e1cf548395ff7a57f1d",
-            "hash": "sha256-pDXxGrHX7XUvZNDLuASEfVGDiP07SZFHg21ZiRzJFDU="
+            "rev": "ba9fc37cfa4930311a9c77b1d8a23df0cae95e9a",
+            "hash": "sha256-Smw0MoUfewlz0zYQmtFLB0n8l0KyyoInohXZ7d9Xrwk="
         },
-        "version": "unstable-2024-05-03"
+        "version": "unstable-2024-05-10"
     },
     "gpsp": {
         "fetcher": "fetchFromGitHub",
@@ -601,10 +601,10 @@
         "src": {
             "owner": "libretro",
             "repo": "opera-libretro",
-            "rev": "cacba231c3bd71833f06943e230fe03d8ebec0ab",
-            "hash": "sha256-pWLcolQw5ctWrL7YQUaUK04QPS4ReUeJhdig3O5T8BM="
+            "rev": "5121aa6d36eff884bd56ccbadb6c112f1e951fee",
+            "hash": "sha256-mD/BEUwbWmRtB9llsqhz+/DhrzH9HiuXyJkX0pBks5M="
         },
-        "version": "unstable-2024-04-24"
+        "version": "unstable-2024-05-06"
     },
     "parallel-n64": {
         "fetcher": "fetchFromGitHub",
@@ -674,10 +674,10 @@
         "src": {
             "owner": "libretro",
             "repo": "libretro-prboom",
-            "rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
-            "hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY="
+            "rev": "ab05295d81fed2bb9db9f68a7ceeec7a544191d8",
+            "hash": "sha256-ekVVxYg+Uet3pfir6P7PwI87p5XF2ATbFbux1t38ETs="
         },
-        "version": "unstable-2023-05-28"
+        "version": "unstable-2024-05-07"
     },
     "prosystem": {
         "fetcher": "fetchFromGitHub",
@@ -694,10 +694,10 @@
         "src": {
             "owner": "libretro",
             "repo": "libretro-uae",
-            "rev": "4806716da70cf1f030788b43190d71aae61e2041",
-            "hash": "sha256-MNqk8ItSC//82HsRfXVYCH+Xd2GV8OA/2heZprx89PY="
+            "rev": "106b98d50dab4b5648067096f0ba54acbf713fd3",
+            "hash": "sha256-UtZETlFrK59P6IK2i9Kt8qxRV8aEDMqxH7Oigm5sc1g="
         },
-        "version": "unstable-2024-04-19"
+        "version": "unstable-2024-05-04"
     },
     "quicknes": {
         "fetcher": "fetchFromGitHub",
@@ -814,10 +814,10 @@
         "src": {
             "owner": "libretro",
             "repo": "swanstation",
-            "rev": "6ed491d6ba46ac8ba64a580b3004a163c0725bd2",
-            "hash": "sha256-JRo1+zFBBtO0Ws7x32bltcm5WoDSIZBgLdPl75lpKAo="
+            "rev": "929958a1acaa075e32e108118b550e0449540cb6",
+            "hash": "sha256-UofVxdi+e1Y9d0ML/8lGahJCx5xnW5j9oDssRKrxYLU="
         },
-        "version": "unstable-2024-04-26"
+        "version": "unstable-2024-05-06"
     },
     "tgbdual": {
         "fetcher": "fetchFromGitHub",
diff --git a/pkgs/applications/emulators/vbam/default.nix b/pkgs/applications/emulators/vbam/default.nix
index 80fd7636aacbf..3e7a7e2f47cd8 100644
--- a/pkgs/applications/emulators/vbam/default.nix
+++ b/pkgs/applications/emulators/vbam/default.nix
@@ -14,6 +14,8 @@
 , sfml
 , zip
 , zlib
+, wrapGAppsHook3
+, gsettings-desktop-schemas
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-t5/CM5KXDG0OCByu7mUyuC5NkYmB3BFmEHHgnMY05nE=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook3 ];
 
   buildInputs = [
     cairo
@@ -41,6 +43,7 @@ stdenv.mkDerivation rec {
     zlib
     wxGTK32
     gtk3
+    gsettings-desktop-schemas
   ];
 
   cmakeFlags = [
@@ -56,5 +59,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ lassulus netali ];
     homepage = "https://vba-m.com/";
     platforms = lib.platforms.linux;
+    mainProgram = "visualboyadvance-m";
   };
 }
diff --git a/pkgs/applications/finance/irpf/default.nix b/pkgs/applications/finance/irpf/default.nix
index b693aee613f74..9bf9c1f2d0cc5 100644
--- a/pkgs/applications/finance/irpf/default.nix
+++ b/pkgs/applications/finance/irpf/default.nix
@@ -11,7 +11,7 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "irpf";
-  version = "2024-1.0";
+  version = "2024-1.1";
 
   # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
   # Para outros sistemas operacionais -> Multi
@@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation rec {
     year = lib.head (lib.splitVersion version);
   in fetchzip {
     url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${version}.zip";
-    hash = "sha256-x47Ud/aSfPuZYMZSGhJLnNFtNE62I+WjaFFatJPMPYg=";
+    hash = "sha256-7Eh5XhZKs2DAQC33ICUG+mgjEU7H3jdYZSeiHNJ6I6Q=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper copyDesktopItems ];
@@ -71,7 +71,7 @@ stdenvNoCC.mkDerivation rec {
     license = licenses.unfree;
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
-    maintainers = with maintainers; [ atila ];
+    maintainers = with maintainers; [ atila bryanasdev000 ];
     mainProgram = "irpf";
   };
 }
diff --git a/pkgs/applications/gis/zombietrackergps/default.nix b/pkgs/applications/gis/zombietrackergps/default.nix
index 47a4329ae19d9..4acedbac2a2f8 100644
--- a/pkgs/applications/gis/zombietrackergps/default.nix
+++ b/pkgs/applications/gis/zombietrackergps/default.nix
@@ -1,67 +1,61 @@
-{ mkDerivation
-, lib
-, fetchFromGitLab
-, qmake
-, qtcharts
-, qtsvg
-, marble
-, qtwebengine
-, ldutils
+{
+  mkDerivation,
+  lib,
+  fetchFromGitLab,
+  gitUpdater,
+  wrapQtAppsHook,
+  cmake,
+  marble,
+  libsForQt5,
 }:
-
 mkDerivation rec {
   pname = "zombietrackergps";
-  version = "1.10";
+  version = "1.15";
 
   src = fetchFromGitLab {
     owner = "ldutils-projects";
     repo = pname;
-    rev = "v_${version}";
-    sha256 = "sha256-qRhCAOVWyDLD3WDptPRQVq+VwyFu83XQNaL5TMsGs4Y=";
+    # latest revision is not tagged upstream, use commit sha in the meantime
+    #rev = "v_${version}";
+    rev = "cc75d5744965cc6973323f5bb77f00b0b0153dce";
+    sha256 = "sha256-z/LFNRFdQQFxEWyAjcuGezRbTsv8z6Q6fK8NLjP4HNM=";
   };
 
-  buildInputs = [
-    ldutils
-    qtcharts
-    qtsvg
-    marble.dev
-    qtwebengine
-  ];
+  buildInputs =
+    [
+      marble.dev
+    ]
+    ++ (with libsForQt5; [
+      qtbase
+      qtcharts
+      qtsvg
+      qtwebengine
+      ldutils
+    ]);
 
   nativeBuildInputs = [
-    qmake
+    cmake
+    wrapQtAppsHook
   ];
 
-  prePatch = ''
-    substituteInPlace ztgps.pro --replace "../libldutils" "libldutils"
-    substituteInPlace tests.pro --replace "../libldutils" "libldutils"
-
-    ln -s ${ldutils} libldutils
-  '';
-
   preConfigure = ''
     export LANG=en_US.UTF-8
-    export INSTALL_ROOT=$out
   '';
 
-  preInstall = ''
-    substituteInPlace Makefile.ztgps --replace '$(INSTALL_ROOT)' ""
-    substituteInPlace Makefile.art --replace '$(INSTALL_ROOT)' ""
-  '';
-
-  postInstall = ''
-    install -Dm644 build/rcc/*.rcc -t $out/share/zombietrackergps
-  '';
+  cmakeFlags = [
+    "-DLDUTILS_ROOT=${libsForQt5.ldutils}"
+  ];
 
-  qmakeFlags = [ "ZombieTrackerGPS.pro" ];
+  passthru.updateScript = gitUpdater {
+    rev-prefix = "v_";
+  };
 
   meta = with lib; {
     description = "GPS track manager for Qt using KDE Marble maps";
     homepage = "https://www.zombietrackergps.net/ztgps/";
     changelog = "https://www.zombietrackergps.net/ztgps/history.html";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ sohalt ];
+    maintainers = with maintainers; [sohalt];
     platforms = platforms.linux;
-    broken = true;  # doesn't build with latest Marble
   };
 }
diff --git a/pkgs/applications/graphics/halftone/default.nix b/pkgs/applications/graphics/halftone/default.nix
index 81e70e401fc8a..c29bcb8ccd1d4 100644
--- a/pkgs/applications/graphics/halftone/default.nix
+++ b/pkgs/applications/graphics/halftone/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "halftone";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "tfuxu";
     repo = pname;
-    rev = version;
-    hash = "sha256-7fa6afrGt8SXli2KHzzRIqTBBaN3Hk0coYwxe66jLsg=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-o55eimlDy86mbwveARxVXauMQEneAchVi2RNaj6FYxs=";
   };
 
   format = "other";
diff --git a/pkgs/applications/graphics/symbolic-preview/default.nix b/pkgs/applications/graphics/symbolic-preview/default.nix
index 6f3103ecb8a67..5d8ef439f0130 100644
--- a/pkgs/applications/graphics/symbolic-preview/default.nix
+++ b/pkgs/applications/graphics/symbolic-preview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "symbolic-preview";
-  version = "0.0.3";
+  version = "0.0.9";
 
   src = fetchurl {
-    url = "https://gitlab.gnome.org/World/design/symbolic-preview/uploads/df71a2eee9ea0c90b3d146e7286fec42/symbolic-preview-${version}.tar.xz";
-    sha256 = "08g2sbdb1x5z26mi68nmciq6xwv0chvxw6anj1qdfh7npsg0dm4c";
+    url = "https://gitlab.gnome.org/World/design/symbolic-preview/uploads/e2fed158fc0d267f2051302bcf14848b/symbolic-preview-${version}.tar.xz";
+    hash = "sha256-kx+70LCQzzWAw2Xd3fKGq941540IM3Y1+r4Em4MNWbw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/HentaiAtHome/default.nix b/pkgs/applications/misc/HentaiAtHome/default.nix
index e34c2434a4f53..bca7697f758ae 100644
--- a/pkgs/applications/misc/HentaiAtHome/default.nix
+++ b/pkgs/applications/misc/HentaiAtHome/default.nix
@@ -10,11 +10,11 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "HentaiAtHome";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchzip {
     url = "https://repo.e-hentai.org/hath/HentaiAtHome_${version}_src.zip";
-    hash = "sha256-ioL/GcnbYjt1IETH8521d1TcLGtENdFzceJui1ywXTY=";
+    hash = "sha512-kBB5mn9MwpkZ0z+Fl5ABs4YWBkXkMRcADYSAPkeifyhbYQQPOnijXKYZCkzE4UB3uQ1j6Kj6WnpO/4jquYEiOQ==";
     stripRoot = false;
   };
 
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index bb751ae01c9d7..44e1f0992ad73 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -31,7 +31,7 @@
 , enableAMR ? false
 , amrnb
 , amrwb
-, enableLibpulseaudio ? stdenv.isLinux
+, enableLibpulseaudio ? stdenv.isLinux && lib.meta.availableOn stdenv.hostPlatform libpulseaudio
 , libpulseaudio
 }:
 
diff --git a/pkgs/applications/misc/electrum/ltc-aiorpcX-version-bump.patch b/pkgs/applications/misc/electrum/ltc-aiorpcX-version-bump.patch
new file mode 100644
index 0000000000000..8c7af75a5406d
--- /dev/null
+++ b/pkgs/applications/misc/electrum/ltc-aiorpcX-version-bump.patch
@@ -0,0 +1,44 @@
+diff --git a/contrib/deterministic-build/requirements.txt b/contrib/deterministic-build/requirements.txt
+index 7441e3389..2a4718f96 100644
+--- a/contrib/deterministic-build/requirements.txt
++++ b/contrib/deterministic-build/requirements.txt
+@@ -74,9 +74,8 @@ aiohttp==3.8.1 \
+ aiohttp-socks==0.7.1 \
+     --hash=sha256:2215cac4891ef3fa14b7d600ed343ed0f0a670c23b10e4142aa862b3db20341a \
+     --hash=sha256:94bcff5ef73611c6c6231c2ffc1be4af1599abec90dbd2fdbbd63233ec2fb0ff
+-aiorpcX==0.22.1 \
+-    --hash=sha256:6026f7bed3432e206589c94dcf599be8cd85b5736b118c7275845c1bd922a553 \
+-    --hash=sha256:e74f9fbed3fd21598e71fe05066618fc2c06feec504fe29490ddda05fdbdde62
++aiorpcX==0.23.1 \
++    --hash=sha256:5b23002f1a4d5d3085e31555a07519c5ef8d4c40071eb499556ffda8114860a2
+ aiosignal==1.2.0 \
+     --hash=sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a \
+     --hash=sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2
+diff --git a/contrib/requirements/requirements.txt b/contrib/requirements/requirements.txt
+index 04b0a77f3..2330ea921 100644
+--- a/contrib/requirements/requirements.txt
++++ b/contrib/requirements/requirements.txt
+@@ -1,7 +1,7 @@
+ qrcode
+ protobuf>=3.12
+ qdarkstyle>=2.7
+-aiorpcx>=0.22.0,<0.23
++aiorpcx>=0.22.0,<0.24
+ aiohttp>=3.3.0,<4.0.0
+ aiohttp_socks>=0.3
+ certifi
+diff --git a/run_electrum b/run_electrum
+index a1b30f29e..cb22f8724 100755
+--- a/run_electrum
++++ b/run_electrum
+@@ -67,8 +67,8 @@ def check_imports():
+         import aiorpcx
+     except ImportError as e:
+         sys.exit(f"Error: {str(e)}. Try 'sudo python3 -m pip install <module-name>'")
+-    if not ((0, 22, 0) <= aiorpcx._version < (0, 23)):
+-        raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.23')
++    if not ((0, 22, 0) <= aiorpcx._version < (0, 24)):
++        raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.24')
+     # the following imports are for pyinstaller
+     from google.protobuf import descriptor
+     from google.protobuf import message
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index a85252027e960..ef52f6211fdaa 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -82,6 +82,26 @@ python3.pkgs.buildPythonApplication {
     qdarkstyle
   ];
 
+  patches = [
+    # electrum-ltc attempts to pin to aiorpcX < 0.23, but nixpkgs
+    # has moved to newer versions.
+    #
+    # electrum-ltc hasn't been updated in some time, so we replicate
+    # the patch from electrum (BTC) and alter it to be usable with
+    # electrum-ltc.
+    #
+    # Similar to the BTC patch, we need to overwrite the symlink
+    # at electrum_ltc/electrum-ltc with the patched run_electrum
+    # in postPatch.
+    ./ltc-aiorpcX-version-bump.patch
+  ];
+
+  postPatch = ''
+    # copy the patched `/run_electrum` over `/electrum/electrum`
+    # so the aiorpcx compatibility patch is used
+    cp run_electrum electrum_ltc/electrum-ltc
+  '';
+
   preBuild = ''
     sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
     substituteInPlace ./electrum_ltc/ecc_fast.py \
diff --git a/pkgs/applications/misc/goldendict-ng/default.nix b/pkgs/applications/misc/goldendict-ng/default.nix
index 1693c8a12dd51..9f8de3ad6e160 100644
--- a/pkgs/applications/misc/goldendict-ng/default.nix
+++ b/pkgs/applications/misc/goldendict-ng/default.nix
@@ -31,13 +31,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "goldendict-ng";
-  version = "24.01.22";
+  version = "24.05.05";
 
   src = fetchFromGitHub {
     owner = "xiaoyifang";
     repo = "goldendict-ng";
-    rev = "v${finalAttrs.version}-LoongYear.3dddb3be";
-    hash = "sha256-+OiZEkhNV06fZXPXv9zDzgJS5M3isHlcOXee3p/ejpw=";
+    rev = "v${finalAttrs.version}-LiXia.ecd1138c";
+    hash = "sha256-C/0FUFLE3R+tZyCL88BiSFOHPTanILD/fIIQ/OQBSfk=";
   };
 
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook wrapGAppsHook3 ];
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 007084e44aa09..7619d5f84ec82 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -14,7 +14,7 @@ GEM
     gemojione (4.3.3)
       json
     github-markup (4.0.2)
-    gollum (5.3.2)
+    gollum (5.3.3)
       gemojione (~> 4.1)
       gollum-lib (>= 5.2.3, < 6.0)
       i18n (~> 1.8)
@@ -48,7 +48,7 @@ GEM
     htmlentities (4.3.4)
     i18n (1.14.4)
       concurrent-ruby (~> 1.0)
-    json (2.7.1)
+    json (2.7.2)
     kramdown (2.4.0)
       rexml
     kramdown-parser-gfm (1.1.0)
@@ -59,14 +59,14 @@ GEM
     mime-types (3.5.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2024.0305)
-    mini_portile2 (2.8.5)
+    mini_portile2 (2.8.6)
     multi_json (1.15.0)
     mustache (1.1.1)
     mustache-sinatra (2.0.0)
       mustache (~> 1.0)
     mustermann (2.0.2)
       ruby2_keywords (~> 0.0.1)
-    nokogiri (1.16.3)
+    nokogiri (1.16.4)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     octicons (12.1.0)
@@ -146,4 +146,4 @@ DEPENDENCIES
   wikicloth
 
 BUNDLED WITH
-   2.5.6
+   2.5.7
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 95533bffd1072..9a613ab689de6 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -116,10 +116,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07lv4idxxghmq18k2r42l7kxz204l2fgri5xjapl79yy9dk53s5x";
+      sha256 = "0k94yba33ccvx3h7vl3d4jkx8j8y45a7qy3angf8094b0hy2p1fi";
       type = "gem";
     };
-    version = "5.3.2";
+    version = "5.3.3";
   };
   gollum-lib = {
     dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
@@ -169,10 +169,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq";
+      sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q";
       type = "gem";
     };
-    version = "2.7.1";
+    version = "2.7.2";
   };
   kramdown = {
     dependencies = ["rexml"];
@@ -233,10 +233,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
+      sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
       type = "gem";
     };
-    version = "2.8.5";
+    version = "2.8.6";
   };
   multi_json = {
     groups = ["default"];
@@ -286,10 +286,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9";
+      sha256 = "0i8g0i370jhn2sclml0bg9qlrgf4csi6sy7czbhx8kjbl71idhb2";
       type = "gem";
     };
-    version = "1.16.3";
+    version = "1.16.4";
   };
   octicons = {
     dependencies = ["nokogiri"];
diff --git a/pkgs/applications/misc/kratos/default.nix b/pkgs/applications/misc/kratos/default.nix
index d5d12eb44676d..6bf06be9be7e8 100644
--- a/pkgs/applications/misc/kratos/default.nix
+++ b/pkgs/applications/misc/kratos/default.nix
@@ -1,8 +1,15 @@
-{ fetchFromGitHub, buildGoModule, lib, stdenv }:
-
-buildGoModule rec {
+{
+  fetchFromGitHub,
+  buildGoModule,
+  lib,
+  stdenv
+}:
+let
   pname = "kratos";
   version = "1.1.0";
+in
+buildGoModule {
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "ory";
@@ -17,6 +24,11 @@ buildGoModule rec {
 
   tags = [ "sqlite" ];
 
+  # Pass versioning information via ldflags
+  ldflags = [
+    "-X github.com/ory/kratos/driver/config.Version=${version}"
+  ];
+
   doCheck = false;
 
   preBuild = ''
@@ -30,14 +42,14 @@ buildGoModule rec {
     patchShebangs "''${files[@]}"
 
     # patchShebangs doesn't work for this Makefile, do it manually
-    substituteInPlace Makefile --replace '/bin/bash' '${stdenv.shell}'
+    substituteInPlace Makefile --replace-fail '/usr/bin/env bash' '${stdenv.shell}'
   '';
 
-  meta = with lib; {
-    maintainers = with maintainers; [ mrmebelman ];
-    homepage = "https://www.ory.sh/kratos/";
-    license = licenses.asl20;
-    description = "An API-first Identity and User Management system that is built according to cloud architecture best practices";
+  meta = {
     mainProgram = "kratos";
+    description = "An API-first Identity and User Management system that is built according to cloud architecture best practices";
+    homepage = "https://www.ory.sh/kratos/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ mrmebelman ];
   };
 }
diff --git a/pkgs/applications/misc/onagre/default.nix b/pkgs/applications/misc/onagre/default.nix
deleted file mode 100644
index b6375e6b5955e..0000000000000
--- a/pkgs/applications/misc/onagre/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib
-, fetchFromGitHub
-, rustPlatform
-, cmake
-, pkgconf
-, freetype
-, expat
-}:
-
-rustPlatform.buildRustPackage rec {
-  pname = "onagre";
-  version = "1.0.0-alpha.0";
-
-  src = fetchFromGitHub {
-    owner = "oknozor";
-    repo = pname;
-    rev = version;
-    hash = "sha256-hP+slfCWgsTgR2ZUjAmqx9f7+DBu3MpSLvaiZhqNK1Q=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "pop-launcher-1.2.1" = "sha256-LeKaJIvooD2aUlY113P0mzxOcj63sGkrA0SIccNqCLY=";
-    };
-  };
-
-  cargoSha256 = "sha256-IOhAGrAiT2mnScNP7k7XK9CETUr6BjGdQVdEUvTYQT4=";
-
-  nativeBuildInputs = [ cmake pkgconf ];
-  buildInputs = [ freetype expat ];
-
-  meta = with lib; {
-    description = "A general purpose application launcher for X and wayland inspired by rofi/wofi and alfred";
-    homepage = "https://github.com/oknozor/onagre";
-    license = licenses.mit;
-    maintainers = [ maintainers.jfvillablanca ];
-    platforms = platforms.linux;
-    mainProgram = "onagre";
-  };
-}
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index c43c9f834fd2d..4c2e59b2ab8db 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -14,13 +14,13 @@
 # instead of adding this to `services.udev.packages` on NixOS,
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.12";
+  version = "1.1.13";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = "refs/tags/${version}";
-    hash = "sha256-EXxAc25DLWAdcDVOlLC0uUWMIZf/SlouHD3syn0uSCI=";
+    hash = "sha256-sYJrVAeZi0a7yD0i/zIIxcu9X/c5HvgoI/n50eXD47s=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix
index 44b6ccf760956..922a7d19d4f9b 100644
--- a/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.25.4";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "sha256-M8tiEUPfP5EWfPp7i6r0lpHC5ZUsEYeEKVz5gUpe4+A=";
+    sha256 = "sha256-/OIBWUDMPMbCFLnoCJORgzlhUAqlFIItXQSzLTWZ7Jo=";
   };
 
-  cargoHash = "sha256-B5peoyT/+miHXyoRGFLUv9qFzZZFsExrI46Zy0K7NL4=";
+  cargoHash = "sha256-JR6KX5x8BLfX8keofoYqS2eftCDoMLg25OMfTf0k53Q=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 555af71d37257..102b9ad354df5 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.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-G8p1eaHebUH2lFNyC2njUzZacE6rayApCb7PBFcpKLk=";
+    hash = "sha256-SgpIR7gLfmX6mCtuqRonqzX07Eblp9Mq80y71b05FZY=";
   };
 
-  cargoHash = "sha256-iM5PsgCUxBbjeWGEIohZwMiCIdXqj/bhFoL0GtVKKq4=";
+  cargoHash = "sha256-SetNhIengAiLRMHoYBRxHR1LgzYywRC7L6hmRF9COik=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/misc/waypaper/default.nix b/pkgs/applications/misc/waypaper/default.nix
index 2722d8782fb4d..a8dae9664264b 100644
--- a/pkgs/applications/misc/waypaper/default.nix
+++ b/pkgs/applications/misc/waypaper/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "waypaper";
-  version = "2.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "anufrievroman";
     repo = "waypaper";
     rev = "refs/tags/${version}";
-    hash = "sha256-AIOrn5I0WX8S4iaK6mVEbdn1tQiED0JYA0GXDXJ6eNE=";
+    hash = "sha256-GB+H2kZr1+UhhGFpfXc3V4DPXjvHBdg6EKNEFhjKEHk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 9da0f725ed560..afd25b972d785 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -5,6 +5,7 @@
 , libva, pipewire, wayland
 , gcc, nspr, nss, runCommand
 , lib, libkrb5
+, widevine-cdm
 , electron-source # for warnObsoleteVersionConditional
 
 # package customization
@@ -74,78 +75,6 @@ let
     ungoogled-chromium = pkgsBuildBuild.callPackage ./ungoogled.nix {};
   };
 
-  pkgSuffix = if channel == "dev" then "unstable" else
-    (if channel == "ungoogled-chromium" then "stable" else channel);
-  pkgName = "google-chrome-${pkgSuffix}";
-  chromeSrc =
-    let
-      # Use the latest stable Chrome version if necessary:
-      version = if chromium.upstream-info.hash_deb_amd64 != null
-        then chromium.upstream-info.version
-        else (import ./upstream-info.nix).stable.version;
-      hash = if chromium.upstream-info.hash_deb_amd64 != null
-        then chromium.upstream-info.hash_deb_amd64
-        else (import ./upstream-info.nix).stable.hash_deb_amd64;
-    in fetchurl {
-      urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [
-        "https://dl.google.com/linux/chrome/deb/pool/main/g"
-        "http://95.31.35.30/chrome/pool/main/g"
-        "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g"
-        "http://repo.fdzh.org/chrome/deb/pool/main/g"
-      ];
-      inherit hash;
-  };
-
-  mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}";
-  widevineCdm = stdenv.mkDerivation {
-    name = "chrome-widevine-cdm";
-
-    src = chromeSrc;
-
-    unpackCmd = let
-      widevineCdmPath =
-        if (channel == "stable" || channel == "ungoogled-chromium") then
-          "./opt/google/chrome/WidevineCdm"
-        else if channel == "beta" then
-          "./opt/google/chrome-beta/WidevineCdm"
-        else if channel == "dev" then
-          "./opt/google/chrome-unstable/WidevineCdm"
-        else
-          throw "Unknown chromium channel.";
-    in ''
-      # Extract just WidevineCdm from upstream's .deb file
-      ar p "$src" data.tar.xz | tar xJ "${widevineCdmPath}"
-
-      # Move things around so that we don't have to reference a particular
-      # chrome-* directory later.
-      mv "${widevineCdmPath}" ./
-
-      # unpackCmd wants a single output directory; let it take WidevineCdm/
-      rm -rf opt
-    '';
-
-    doCheck = true;
-    checkPhase = ''
-      ! find -iname '*.so' -exec ldd {} + | grep 'not found'
-    '';
-
-    PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ];
-
-    patchPhase = ''
-      patchelf --set-rpath "$PATCH_RPATH" _platform_specific/linux_x64/libwidevinecdm.so
-    '';
-
-    installPhase = ''
-      mkdir -p $out/WidevineCdm
-      cp -a * $out/WidevineCdm/
-    '';
-
-    meta = {
-      platforms = [ "x86_64-linux" ];
-      license = lib.licenses.unfree;
-    };
-  };
-
   suffix = lib.optionalString (channel != "stable" && channel != "ungoogled-chromium") ("-" + channel);
 
   sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName;
@@ -159,7 +88,7 @@ let
         mkdir -p $out
         cp -a ${browser}/* $out/
         chmod u+w $out/libexec/chromium
-        cp -a ${widevineCdm}/WidevineCdm $out/libexec/chromium/
+        cp -a ${widevine-cdm}/share/google/chrome/WidevineCdm $out/libexec/chromium/
       ''
     else browser;
 
@@ -244,7 +173,7 @@ in stdenv.mkDerivation {
   passthru = {
     inherit (chromium) upstream-info browser;
     mkDerivation = chromium.mkChromiumDerivation;
-    inherit chromeSrc sandboxExecutableName;
+    inherit sandboxExecutableName;
   };
 }
 # the following is a complicated and long-winded variant of
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index 29a46cd688c6f..d92a9dae8a8ce 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -20,7 +20,6 @@ from os.path import abspath, dirname
 from urllib.request import urlopen
 
 RELEASES_URL = 'https://versionhistory.googleapis.com/v1/chrome/platforms/linux/channels/all/versions/all/releases'
-DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g'
 
 PIN_PATH = dirname(abspath(__file__)) + '/upstream-info.nix'
 UNGOOGLED_FLAGS_PATH = dirname(abspath(__file__)) + '/ungoogled-flags.toml'
@@ -259,10 +258,6 @@ with urlopen(RELEASES_URL) as resp:
                     version
                 )
                 src_hash_cache[version] = channel["hash"]
-
-            channel['hash_deb_amd64'] = nix_prefetch_url(
-                f'{DEB_URL}/google-chrome-{google_chrome_suffix}/' +
-                f'google-chrome-{google_chrome_suffix}_{version}-1_amd64.deb')
         except subprocess.CalledProcessError:
             # This release isn't actually available yet.  Continue to
             # the next one.
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 9e91cd5725df0..d3f4d9c14ca0f 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -16,7 +16,6 @@
       };
     };
     hash = "sha256-nSI+tkJxOedMtYgtiqW37v0ZjgxxU5o/0sH9bPAchBg=";
-    hash_deb_amd64 = "sha256-RvQdpDmWRcsASh1b8M0Zg+AvZprE5qhi14shfo0WlfE=";
     version = "124.0.6367.201";
   };
   ungoogled-chromium = {
@@ -33,7 +32,6 @@
       };
     };
     hash = "sha256-nSI+tkJxOedMtYgtiqW37v0ZjgxxU5o/0sH9bPAchBg=";
-    hash_deb_amd64 = "sha256-RvQdpDmWRcsASh1b8M0Zg+AvZprE5qhi14shfo0WlfE=";
     version = "124.0.6367.201";
   };
 }
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index b012094e91136..737f10a4f65bf 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,15 +1,15 @@
 {
-  "packageVersion": "125.0.2-1",
+  "packageVersion": "125.0.3-1",
   "source": {
-    "rev": "125.0.2-1",
-    "sha256": "17i36s2ny1pv3cz44w0gz48fy4vjfw6vp9jk21j62f5d3dl726x8"
+    "rev": "125.0.3-1",
+    "sha256": "0ny4bh1kn9j8wqfbdi78fl2sh0sv14klznhsg47hvckgwf8iii6d"
   },
   "settings": {
     "rev": "6b2b6a89fc15a705388955e4d1375f453d8cdc89",
     "sha256": "0yginhc8pn00k1gh8h7bzvrl4vi2wimbmrrgnmvvblv28bxhwnh0"
   },
   "firefox": {
-    "version": "125.0.2",
-    "sha512": "f6d5fff7c5c532d2e41a246d0403bdd746981cfcb7c43f9d3d8ec85a7acc3310a52043d1e18848475cef1b63c24769e81b2b06d68ae007b68016ee51436032f1"
+    "version": "125.0.3",
+    "sha512": "18e705a3093290311ccb5f27f01e43fe243ece94c1769a9ccc4fa53d370e32a1ec6a107cdeb531e9468b9aca1a1fe668161adb7acc1ec65fd383837882c7d484"
   }
 }
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index d2937f86a1753..64cd0aaa24137 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.10.9";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    hash = "sha256-0f+YXhxALbT+X1U0rmG+6IKqvzz8hvYSXS3YUpu+WWs=";
+    hash = "sha256-HVkR5sG3CfTW56pTB15S+w4kwbv7he9Be6RKmpu+E4E=";
   };
 
   proxyVendor = true; # darwin/linux hash mismatch
-  vendorHash = "sha256-42OWsNUFTLrx8FztxsCSHCxGb3yAv8qBKnN+EEIRCaA=";
+  vendorHash = "sha256-c0fTUU5zXI0QDo/bAL4v6zjEp0rNvCpQFAGwpgDWDFY=";
 
   # Set target as ./cmd per cli-local
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 6b097500bacc5..5353078e1d157 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.16.6";
+  version = "0.16.7";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MeBwlwxjMcBMy62IlhWBB+hTM5/Z9uIlqfCWsj0SQ4g=";
+    hash = "sha256-+Uxn9yR3D38CuvFeBA62aWLtY4rPrBJoF3tUmgKvKpw=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/gatekeeper/default.nix b/pkgs/applications/networking/cluster/gatekeeper/default.nix
index 5558a48d9f8ee..5ddb8409d31f6 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.15.1";
+  version = "3.16.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "gatekeeper";
     rev = "v${version}";
-    hash = "sha256-KPRcY14IeP4WU/cnUG7JWwJcp/LN6O74u417I+qAqXE=";
+    hash = "sha256-IIqucBPuEHymfg7nLmxXMrq1aaB6SFPrczPj4BH8Zyw=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
index f768404e08fa2..bd93089ee3063 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-unittest";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DGmvF4U+yqXWm/L96ph+/OrLZ7q+JG4PQQFxC7pH710=";
+    hash = "sha256-YWzjv1/I+LX3AMeQenI36AsNJkZ6IzbMhM/f5/Kxs2M=";
   };
 
-  vendorHash = "sha256-BRFKrrJ9PhwMrfr3ON4/sm+BQ1ufeyP5PtfJQRksrj0=";
+  vendorHash = "sha256-A2izHBh58yPd2XPm4GKVosPtahUtQ35GbyBdr/L13CQ=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/kubectl-explore/default.nix b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
index 2a0016e020180..66f45ad898a5a 100644
--- a/pkgs/applications/networking/cluster/kubectl-explore/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-explore";
-  version = "0.8.3";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "keisku";
     repo = "kubectl-explore";
     rev = "v${version}";
-    hash = "sha256-OPZ0FQl++AxxZUMAdwg3+cr1KrwYNWs8n8UQ4oVrLBw=";
+    hash = "sha256-jPif9SjHVKB346XkPCiIYpTc/xWRda9jjXefK/Nbyz0=";
   };
 
-  vendorHash = "sha256-xNB+qC36DcD7oUWk242QcIKNfTmjuK5xbyJEztdhcJM=";
+  vendorHash = "sha256-8kq6ODLf/y23zHsemNtjpM+R8OMKE4DDnK2TGHvunUE=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kubevpn/default.nix b/pkgs/applications/networking/cluster/kubevpn/default.nix
index a338867a14a07..c8f755bf3d9cb 100644
--- a/pkgs/applications/networking/cluster/kubevpn/default.nix
+++ b/pkgs/applications/networking/cluster/kubevpn/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubevpn";
-  version = "2.2.7";
+  version = "2.2.8";
 
   src = fetchFromGitHub {
     owner  = "KubeNetworks";
     repo   = "kubevpn";
     rev    = "v${version}";
-    hash = "sha256-6HZc4PxgTLROn1nQLreC/GP43/MXiqtiSAGsMfXC5vw=";
+    hash = "sha256-/5x1ovvO4Pfnux3GpfeOUy9PIrHPmZzYvOCH09EjxKE=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/temporal-cli/default.nix b/pkgs/applications/networking/cluster/temporal-cli/default.nix
index 491ceba0963b4..2aa978dfb0a99 100644
--- a/pkgs/applications/networking/cluster/temporal-cli/default.nix
+++ b/pkgs/applications/networking/cluster/temporal-cli/default.nix
@@ -17,16 +17,16 @@ let
 
   tctl-next = buildGoModule rec {
     pname = "tctl-next";
-    version = "0.11.0";
+    version = "0.12.0";
 
     src = fetchFromGitHub {
       owner = "temporalio";
       repo = "cli";
       rev = "v${version}";
-      hash = "sha256-sOmXLqc1O96/50A08b9Rlk5xlmqg2S+5nWachC74IV8=";
+      hash = "sha256-rqwDubKNBvtJ4rTQheCoSIcbfQZQN3iD99PcZewmx5c=";
     };
 
-    vendorHash = "sha256-tZvzCQzYIIqoSefm4ty+RI7fFKWWw2OopYGGX8zS6JM=";
+    vendorHash = "sha256-bnmlh11gtNdgcrI20gjNqxWB+OQTv0b9lgETucoBaXc=";
 
     inherit overrideModAttrs;
 
@@ -50,6 +50,7 @@ let
     postInstall = ''
       installShellCompletion --cmd temporal \
         --bash <($out/bin/temporal completion bash) \
+        --fish <($out/bin/temporal completion fish) \
         --zsh <($out/bin/temporal completion zsh)
     '';
 
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index 516c1182e22f5..6c30f9a19bf69 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.nix
+++ b/pkgs/applications/networking/instant-messengers/element/pin.nix
@@ -1,9 +1,9 @@
 {
-  "version" = "1.11.65";
+  "version" = "1.11.66";
   "hashes" = {
-    "desktopSrcHash" = "sha256-aRlTM8j+lMB97QsmRlcvSZqLJ/2vmQIz1viTIoycmYA=";
-    "desktopYarnHash" = "08scs091k0i6lwfpw0id4jxmmdix0jxvnm9fyjwzrsrzh6q6899y";
-    "webSrcHash" = "sha256-aE7pmqLOa9aCaSaSOpX2NqcY0OKBjL5mZbKModbKxZg=";
-    "webYarnHash" = "1b9q8v5jz6w2vvfkgq8nzajzs798ja2ff3wjv6d5m7sri8il7f0s";
+    "desktopSrcHash" = "sha256-QrFk6NIHvWgQuJz33CEU6rwmgtGZ9w3L9vqj/rdCkE8=";
+    "desktopYarnHash" = "1kin5z6cjgsljdhh5f4fq2782ld86pza6hz58rq1zwbd187nzbwz";
+    "webSrcHash" = "sha256-xWaK2tHsuZmiwp7HExX83zKL8Z0ScRCEOnfxePWk2KI=";
+    "webYarnHash" = "1ykjpsg4d4kykd6w7c0yjyg8ljpc9czzwjx7ab27i84ys6pknx3q";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock b/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
index f345596ff115f..2c3c6fd52ecb8 100644
--- a/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
+++ b/pkgs/applications/networking/instant-messengers/flare-signal/Cargo.lock
@@ -18,12 +18,6 @@ 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 = "aead"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -76,9 +70,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
@@ -100,9 +94,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.12"
+version = "0.6.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
+checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -148,9 +142,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.80"
+version = "1.0.81"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
 
 [[package]]
 name = "arrayref"
@@ -166,17 +160,17 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
 name = "ashpd"
-version = "0.6.8"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ac22eda5891cc086690cb6fa10121c0390de0e3b04eb269f2d766b00d3f2d81"
+checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093"
 dependencies = [
  "enumflags2",
  "futures-channel",
  "futures-util",
  "gdk4-wayland",
  "gdk4-x11",
+ "glib",
  "gtk4",
- "once_cell",
  "rand",
  "serde",
  "serde_repr",
@@ -187,12 +181,14 @@ dependencies = [
 
 [[package]]
 name = "async-broadcast"
-version = "0.5.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
 dependencies = [
- "event-listener 2.5.3",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.1",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
@@ -202,46 +198,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener 5.1.0",
- "event-listener-strategy 0.5.0",
+ "event-listener 5.2.0",
+ "event-listener-strategy 0.5.1",
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.13.0"
+version = "2.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
-dependencies = [
- "async-lock 2.8.0",
- "autocfg",
- "cfg-if",
- "concurrent-queue",
- "futures-lite 1.13.0",
- "log",
- "parking",
- "polling 2.8.0",
- "rustix 0.37.27",
- "slab",
- "socket2 0.4.10",
- "waker-fn",
-]
-
-[[package]]
-name = "async-io"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
 dependencies = [
  "async-lock 3.3.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.2.0",
+ "futures-lite",
  "parking",
- "polling 3.5.0",
- "rustix 0.38.31",
+ "polling",
+ "rustix",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -269,30 +245,33 @@ dependencies = [
 
 [[package]]
 name = "async-process"
-version = "1.8.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
+checksum = "d999d925640d51b662b7b4e404224dd81de70f4aa4a199383c2c5e5b86885fa3"
 dependencies = [
- "async-io 1.13.0",
- "async-lock 2.8.0",
+ "async-channel",
+ "async-io",
+ "async-lock 3.3.0",
  "async-signal",
+ "async-task",
  "blocking",
  "cfg-if",
- "event-listener 3.1.0",
- "futures-lite 1.13.0",
- "rustix 0.38.31",
- "windows-sys 0.48.0",
+ "event-listener 5.2.0",
+ "futures-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "1.0.5"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -301,13 +280,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.3.1",
+ "async-io",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.31",
+ "rustix",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -321,13 +300,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.77"
+version = "0.1.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -355,21 +334,21 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
 dependencies = [
  "addr2line",
  "cc",
  "cfg-if",
  "libc",
- "miniz_oxide 0.7.2",
+ "miniz_oxide",
  "object",
  "rustc-demangle",
 ]
@@ -403,15 +382,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "blake3"
-version = "1.5.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87"
+checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -453,34 +432,34 @@ dependencies = [
  "async-channel",
  "async-lock 3.3.0",
  "async-task",
- "fastrand 2.0.1",
+ "fastrand",
  "futures-io",
- "futures-lite 2.2.0",
+ "futures-lite",
  "piper",
  "tracing",
 ]
 
 [[package]]
 name = "blurhash"
-version = "0.2.0"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa5ddff25bcae3e2ac5a93506cc050c730163fd92d319556861375b225164dde"
+checksum = "565b78e03039f24994c5bc87ff793987be98a9ff59fa4851b72bc2e630001c9d"
 dependencies = [
  "gdk-pixbuf",
- "image 0.23.14",
+ "image",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.15.1"
+version = "3.15.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c764d619ca78fccbf3069b37bd7af92577f044bb15236036662d79b6559f25b7"
+checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa"
 
 [[package]]
 name = "bytemuck"
-version = "1.14.3"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
 
 [[package]]
 name = "byteorder"
@@ -490,29 +469,28 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cairo-rs"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+checksum = "2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "cairo-sys-rs",
  "glib",
  "libc",
- "once_cell",
  "thiserror",
 ]
 
 [[package]]
 name = "cairo-sys-rs"
-version = "0.18.2"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51"
+checksum = "fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64"
 dependencies = [
  "glib-sys",
  "libc",
@@ -530,10 +508,11 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.86"
+version = "1.0.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
 dependencies = [
+ "jobserver",
  "libc",
 ]
 
@@ -554,6 +533,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[package]]
 name = "chacha20"
 version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -579,15 +564,15 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.34"
+version = "0.4.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
  "serde",
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -715,8 +700,8 @@ dependencies = [
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0"
-source = "git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.0.0#463e5c7cba32561ffee8a281c4455ff3c25660d4"
+version = "4.1.1"
+source = "git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.1#a12ab4e58455bb3dc7cd73a0f9f3443507b2854b"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -733,11 +718,11 @@ dependencies = [
 [[package]]
 name = "curve25519-dalek-derive"
 version = "0.1.0"
-source = "git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.0.0#463e5c7cba32561ffee8a281c4455ff3c25660d4"
+source = "git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.1#a12ab4e58455bb3dc7cd73a0f9f3443507b2854b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -747,24 +732,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
-name = "deflate"
-version = "0.8.6"
+name = "derivative"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
- "adler32",
- "byteorder",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "derivative"
-version = "2.2.0"
+name = "derive-where"
+version = "1.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -786,7 +772,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -802,6 +788,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
 [[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
 name = "enumflags2"
 version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -819,7 +811,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -834,9 +826,9 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.11.2"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c012a26a7f605efc424dd53697843a72be7dc86ad2d01f7814337794a12231d"
+checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
 dependencies = [
  "anstream",
  "anstyle",
@@ -883,17 +875,6 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
-dependencies = [
- "concurrent-queue",
- "parking",
- "pin-project-lite",
-]
-
-[[package]]
-name = "event-listener"
 version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
@@ -905,9 +886,9 @@ dependencies = [
 
 [[package]]
 name = "event-listener"
-version = "5.1.0"
+version = "5.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
+checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -926,11 +907,11 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.5.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
 dependencies = [
- "event-listener 5.1.0",
+ "event-listener 5.2.0",
  "pin-project-lite",
 ]
 
@@ -944,7 +925,7 @@ dependencies = [
  "flume",
  "half",
  "lebe",
- "miniz_oxide 0.7.2",
+ "miniz_oxide",
  "rayon-core",
  "smallvec",
  "zune-inflate",
@@ -952,18 +933,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "fastrand"
-version = "2.0.1"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
 
 [[package]]
 name = "fdeflate"
@@ -976,9 +948,9 @@ dependencies = [
 
 [[package]]
 name = "fiat-crypto"
-version = "0.1.20"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f"
 
 [[package]]
 name = "field-offset"
@@ -986,7 +958,7 @@ version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
 dependencies = [
- "memoffset 0.9.0",
+ "memoffset",
  "rustc_version",
 ]
 
@@ -998,18 +970,16 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
 
 [[package]]
 name = "flare"
-version = "0.13.0"
+version = "0.14.3"
 dependencies = [
  "ashpd",
- "async-trait",
  "blurhash",
  "env_logger",
  "err-derive",
  "futures",
- "gdk4",
  "gettext-rs",
  "gtk4",
- "image 0.24.8",
+ "image",
  "lazy_static",
  "libadwaita",
  "libsignal-service",
@@ -1017,12 +987,12 @@ dependencies = [
  "log",
  "once_cell",
  "oo7",
+ "phonenumber",
  "presage",
  "presage-store-sled",
  "qrcode-generator",
  "rand",
  "regex",
- "sled",
  "sourceview5",
  "tokio",
  "tracing",
@@ -1037,7 +1007,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
- "miniz_oxide 0.7.2",
+ "miniz_oxide",
 ]
 
 [[package]]
@@ -1130,27 +1100,15 @@ checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "1.13.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
 dependencies = [
- "fastrand 1.9.0",
+ "fastrand",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
- "waker-fn",
-]
-
-[[package]]
-name = "futures-lite"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
-dependencies = [
- "futures-core",
- "pin-project-lite",
 ]
 
 [[package]]
@@ -1161,7 +1119,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -1205,22 +1163,21 @@ dependencies = [
 
 [[package]]
 name = "gdk-pixbuf"
-version = "0.18.5"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec"
+checksum = "f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92"
 dependencies = [
  "gdk-pixbuf-sys",
  "gio",
  "glib",
  "libc",
- "once_cell",
 ]
 
 [[package]]
 name = "gdk-pixbuf-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7"
+checksum = "3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -1231,9 +1188,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6"
+checksum = "9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b"
 dependencies = [
  "cairo-rs",
  "gdk-pixbuf",
@@ -1246,9 +1203,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-sys"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0"
+checksum = "d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1263,9 +1220,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-wayland"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0db9102ff11e55bd65e153c1192abc21ddfa45ede90622e423d4e4a0e5d5f313"
+checksum = "13fc91be838be766ff038221e068e05e4083f3b6cf48ef1f5251ba28f98f80bf"
 dependencies = [
  "gdk4",
  "gdk4-wayland-sys",
@@ -1276,9 +1233,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-wayland-sys"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d48159be256ae0212d5a2b9884627197d08082c7168b28775b53a0f9885d5624"
+checksum = "c5cdc6c5cb3f64ba9b810782077939a0fc8d82e809f0147054bbe41910ac2b51"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1287,9 +1244,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-x11"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c9bbf8ea1ea8469e74c3fdfafc142c9e14810a27f89ddb01b5e9076a60a450"
+checksum = "bff98d3e61807ecc1ddd15cf746b9de14fb6499fc259ca9e8d87d92e8901c7db"
 dependencies = [
  "gdk4",
  "gdk4-x11-sys",
@@ -1300,9 +1257,9 @@ dependencies = [
 
 [[package]]
 name = "gdk4-x11-sys"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3de1709370758192369f5329aa593847797f1c693c95e8a261e9b2e06a5f125"
+checksum = "30406b31a7c355c73c504c9b31d35806397944165730eca7db46f0409abf8f8f"
 dependencies = [
  "gdk4-sys",
  "glib-sys",
@@ -1353,9 +1310,9 @@ dependencies = [
 
 [[package]]
 name = "ghash"
-version = "0.5.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
+checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1"
 dependencies = [
  "opaque-debug",
  "polyval",
@@ -1364,19 +1321,9 @@ dependencies = [
 
 [[package]]
 name = "gif"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
-dependencies = [
- "color_quant",
- "weezl",
-]
-
-[[package]]
-name = "gif"
-version = "0.12.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
 dependencies = [
  "color_quant",
  "weezl",
@@ -1390,9 +1337,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "gio"
-version = "0.18.4"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73"
+checksum = "c64947d08d7fbb03bf8ad1f25a8ac6cf4329bc772c9b7e5abe7bf9493c81194f"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1401,7 +1348,6 @@ dependencies = [
  "gio-sys",
  "glib",
  "libc",
- "once_cell",
  "pin-project-lite",
  "smallvec",
  "thiserror",
@@ -1409,24 +1355,24 @@ dependencies = [
 
 [[package]]
 name = "gio-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+checksum = "bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4"
 dependencies = [
  "glib-sys",
  "gobject-sys",
  "libc",
  "system-deps",
- "winapi",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "glib"
-version = "0.18.5"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
+checksum = "01e191cc1af1f35b9699213107068cd3fe05d9816275ac118dc785a0dd8faebf"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "futures-channel",
  "futures-core",
  "futures-executor",
@@ -1438,30 +1384,28 @@ dependencies = [
  "gobject-sys",
  "libc",
  "memchr",
- "once_cell",
  "smallvec",
  "thiserror",
 ]
 
 [[package]]
 name = "glib-macros"
-version = "0.18.5"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+checksum = "9972bb91643d589c889654693a4f1d07697fdcb5d104b5c44fb68649ba1bf68d"
 dependencies = [
- "heck 0.4.1",
- "proc-macro-crate 2.0.2",
- "proc-macro-error",
+ "heck 0.5.0",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "glib-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
+checksum = "630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4"
 dependencies = [
  "libc",
  "system-deps",
@@ -1475,9 +1419,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "gobject-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
+checksum = "c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1486,9 +1430,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-rs"
-version = "0.18.1"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401"
+checksum = "99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91"
 dependencies = [
  "glib",
  "graphene-sys",
@@ -1497,9 +1441,9 @@ dependencies = [
 
 [[package]]
 name = "graphene-sys"
-version = "0.18.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59"
+checksum = "236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0"
 dependencies = [
  "glib-sys",
  "libc",
@@ -1509,9 +1453,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e"
+checksum = "c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e"
 dependencies = [
  "cairo-rs",
  "gdk4",
@@ -1524,9 +1468,9 @@ dependencies = [
 
 [[package]]
 name = "gsk4-sys"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55"
+checksum = "bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738"
 dependencies = [
  "cairo-sys-rs",
  "gdk4-sys",
@@ -1540,9 +1484,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842"
+checksum = "aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83"
 dependencies = [
  "cairo-rs",
  "field-offset",
@@ -1561,12 +1505,12 @@ dependencies = [
 
 [[package]]
 name = "gtk4-macros"
-version = "0.7.2"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f"
+checksum = "40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567"
 dependencies = [
  "anyhow",
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate 3.1.0",
  "proc-macro-error",
  "proc-macro2",
  "quote",
@@ -1575,9 +1519,9 @@ dependencies = [
 
 [[package]]
 name = "gtk4-sys"
-version = "0.7.3"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8"
+checksum = "0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18"
 dependencies = [
  "cairo-sys-rs",
  "gdk-pixbuf-sys",
@@ -1594,16 +1538,16 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.24"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
 dependencies = [
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "indexmap",
  "slab",
  "tokio",
@@ -1613,9 +1557,9 @@ dependencies = [
 
 [[package]]
 name = "half"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
+checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
 dependencies = [
  "cfg-if",
  "crunchy",
@@ -1636,7 +1580,7 @@ dependencies = [
  "base64",
  "bytes",
  "headers-core",
- "http 0.2.11",
+ "http 0.2.12",
  "httpdate",
  "mime",
  "sha1",
@@ -1648,29 +1592,26 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
 dependencies = [
- "http 0.2.11",
+ "http 0.2.12",
 ]
 
 [[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 = "heck"
-version = "0.4.1"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.6"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
 
 [[package]]
 name = "hex"
@@ -1679,6 +1620,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
 [[package]]
+name = "hex-literal"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+
+[[package]]
 name = "hkdf"
 version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1716,9 +1663,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.11"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
 dependencies = [
  "bytes",
  "fnv",
@@ -1727,9 +1674,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
 dependencies = [
  "bytes",
  "fnv",
@@ -1743,7 +1690,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
- "http 0.2.11",
+ "http 0.2.12",
  "pin-project-lite",
 ]
 
@@ -1776,13 +1723,13 @@ dependencies = [
  "futures-core",
  "futures-util",
  "h2",
- "http 0.2.11",
+ "http 0.2.12",
  "http-body",
  "httparse",
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.5.5",
+ "socket2",
  "tokio",
  "tower-service",
  "tracing",
@@ -1796,7 +1743,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "399c78f9338483cb7e630c8474b07268983c6bd5acee012e4211f9f7bb21b070"
 dependencies = [
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "hyper",
  "log",
  "rustls",
@@ -1853,46 +1800,27 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.23.14"
+version = "0.24.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
-dependencies = [
- "bytemuck",
- "byteorder",
- "color_quant",
- "gif 0.11.4",
- "jpeg-decoder 0.1.22",
- "num-iter",
- "num-rational 0.3.2",
- "num-traits",
- "png 0.16.8",
- "scoped_threadpool",
- "tiff 0.6.1",
-]
-
-[[package]]
-name = "image"
-version = "0.24.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
+checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "exr",
- "gif 0.12.0",
- "jpeg-decoder 0.3.1",
+ "gif",
+ "jpeg-decoder",
  "num-traits",
- "png 0.17.13",
+ "png",
  "qoi",
- "tiff 0.9.1",
+ "tiff",
 ]
 
 [[package]]
 name = "indexmap"
-version = "2.2.3"
+version = "2.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -1918,47 +1846,36 @@ dependencies = [
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "itertools"
-version = "0.10.5"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 
 [[package]]
-name = "jpeg-decoder"
-version = "0.1.22"
+name = "jobserver"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
 dependencies = [
- "rayon",
+ "libc",
 ]
 
 [[package]]
@@ -1972,9 +1889,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -1996,9 +1913,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 
 [[package]]
 name = "libadwaita"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c"
+checksum = "91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9"
 dependencies = [
  "gdk-pixbuf",
  "gdk4",
@@ -2012,9 +1929,9 @@ dependencies = [
 
 [[package]]
 name = "libadwaita-sys"
-version = "0.5.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a"
+checksum = "23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8"
 dependencies = [
  "gdk4-sys",
  "gio-sys",
@@ -2039,9 +1956,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
 
 [[package]]
+name = "libsignal-core"
+version = "0.1.0"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
+dependencies = [
+ "num_enum",
+ "uuid",
+]
+
+[[package]]
 name = "libsignal-protocol"
 version = "0.1.0"
-source = "git+https://github.com/signalapp/libsignal?tag=v0.32.0#72f046fe19a5eac22c7abcf9917956f240759364"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
 dependencies = [
  "aes",
  "aes-gcm-siv",
@@ -2049,18 +1975,22 @@ dependencies = [
  "async-trait",
  "ctr",
  "curve25519-dalek",
+ "derive-where",
  "displaydoc",
  "hex",
  "hkdf",
  "hmac",
- "itertools 0.10.5",
+ "indexmap",
+ "itertools 0.12.1",
+ "libsignal-core",
  "log",
  "num_enum",
  "pqcrypto-kyber",
  "pqcrypto-traits",
- "prost 0.9.0",
- "prost-build 0.9.0",
+ "prost",
+ "prost-build",
  "rand",
+ "rayon",
  "sha2",
  "signal-crypto",
  "static_assertions",
@@ -2073,7 +2003,7 @@ dependencies = [
 [[package]]
 name = "libsignal-service"
 version = "0.1.0"
-source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=1a8cdf81#1a8cdf81e66477077bd130cdd0313762e3d5e3c8"
+source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=c072491aa3e2b604b45b9f2b764552b7d382898c#c072491aa3e2b604b45b9f2b764552b7d382898c"
 dependencies = [
  "aes",
  "aes-gcm",
@@ -2091,8 +2021,8 @@ dependencies = [
  "hmac",
  "libsignal-protocol",
  "phonenumber",
- "prost 0.12.3",
- "prost-build 0.12.3",
+ "prost",
+ "prost-build",
  "rand",
  "serde",
  "serde_json",
@@ -2108,7 +2038,7 @@ dependencies = [
 [[package]]
 name = "libsignal-service-hyper"
 version = "0.1.0"
-source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=1a8cdf81#1a8cdf81e66477077bd130cdd0313762e3d5e3c8"
+source = "git+https://github.com/whisperfish/libsignal-service-rs?rev=c072491aa3e2b604b45b9f2b764552b7d382898c#c072491aa3e2b604b45b9f2b764552b7d382898c"
 dependencies = [
  "async-trait",
  "async-tungstenite",
@@ -2133,9 +2063,9 @@ dependencies = [
 
 [[package]]
 name = "libspelling"
-version = "0.1.0"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "850363056ea48497686407e7e583c50c793896c151bbe7139ad4ea02fbf15e76"
+checksum = "38d899332fb50d87851a5599a38e244062f92878d51a3f0dd038fd414760b52d"
 dependencies = [
  "gio",
  "glib",
@@ -2147,9 +2077,9 @@ dependencies = [
 
 [[package]]
 name = "libspelling-sys"
-version = "0.1.0"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "377675d9465da676ebc05742743d5e5bc53a49be1138f463583181aea97da3c6"
+checksum = "76d4ed284e63577d6d61ef30a4f26255d9a460d5a493b3425656a84a00521ba4"
 dependencies = [
  "gio-sys",
  "glib-sys",
@@ -2168,12 +2098,6 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-
-[[package]]
-name = "linux-raw-sys"
 version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
@@ -2203,9 +2127,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.20"
+version = "0.4.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lru-cache"
@@ -2227,24 +2151,15 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
-
-[[package]]
-name = "memoffset"
-version = "0.7.1"
+version = "2.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
-dependencies = [
- "autocfg",
-]
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
 
 [[package]]
 name = "memoffset"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
 dependencies = [
  "autocfg",
 ]
@@ -2273,25 +2188,6 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
-dependencies = [
- "adler32",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
-dependencies = [
- "adler",
- "autocfg",
-]
-
-[[package]]
-name = "miniz_oxide"
 version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
@@ -2302,9 +2198,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.10"
+version = "0.8.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
 dependencies = [
  "libc",
  "wasi",
@@ -2320,7 +2216,7 @@ dependencies = [
  "bytes",
  "futures-core",
  "futures-util",
- "http 0.2.11",
+ "http 0.2.12",
  "httparse",
  "log",
  "memchr",
@@ -2341,14 +2237,15 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
 
 [[package]]
 name = "nix"
-version = "0.26.4"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "cfg-if",
+ "cfg_aliases",
  "libc",
- "memoffset 0.7.1",
+ "memoffset",
 ]
 
 [[package]]
@@ -2371,7 +2268,7 @@ dependencies = [
  "num-complex",
  "num-integer",
  "num-iter",
- "num-rational 0.4.1",
+ "num-rational",
  "num-traits",
 ]
 
@@ -2435,17 +2332,6 @@ dependencies = [
 
 [[package]]
 name = "num-rational"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
@@ -2493,7 +2379,7 @@ dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -2548,12 +2434,11 @@ checksum = "44d11de466f4a3006fe8a5e7ec84e93b79c70cb992ae0aa0eb631ad2df8abfe2"
 
 [[package]]
 name = "oo7"
-version = "0.2.2"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aceca83a983f36dd8ee90230636fbf92897cb2dc2701d2ae66f885e20e56978d"
+checksum = "37558cac1af63a81fd2ff7f3469c02a4da06b163c5671791553b8dac10f07c82"
 dependencies = [
  "aes",
- "byteorder",
  "cbc",
  "cipher",
  "digest",
@@ -2562,7 +2447,6 @@ dependencies = [
  "hmac",
  "num",
  "num-bigint-dig",
- "once_cell",
  "pbkdf2",
  "rand",
  "serde",
@@ -2570,13 +2454,14 @@ dependencies = [
  "tokio",
  "zbus",
  "zeroize",
+ "zvariant",
 ]
 
 [[package]]
 name = "opaque-debug"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
 [[package]]
 name = "openssl-probe"
@@ -2596,22 +2481,21 @@ dependencies = [
 
 [[package]]
 name = "pango"
-version = "0.18.3"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4"
+checksum = "b1264d13deb823cc652f26cfe59afb1ec4b9db2a5bd27c41b738c879cc1bfaa1"
 dependencies = [
  "gio",
  "glib",
  "libc",
- "once_cell",
  "pango-sys",
 ]
 
 [[package]]
 name = "pango-sys"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5"
+checksum = "f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea"
 dependencies = [
  "glib-sys",
  "gobject-sys",
@@ -2651,6 +2535,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "partial-default"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "124dc3c21ffb6fb3a0562d129929a8a54998766ef7adc1ba09ddc467d092c14b"
+dependencies = [
+ "partial-default-derive",
+]
+
+[[package]]
+name = "partial-default-derive"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7459127d7a18cb202d418e4b7df1103ffd6d82a106e9b2091c250624c2ace70d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.57",
+]
+
+[[package]]
 name = "pbkdf2"
 version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2699,29 +2603,29 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.4"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
 
 [[package]]
 name = "pin-utils"
@@ -2736,7 +2640,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
  "atomic-waker",
- "fastrand 2.0.1",
+ "fastrand",
  "futures-io",
 ]
 
@@ -2748,21 +2652,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
 
 [[package]]
 name = "platforms"
-version = "3.3.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c"
-
-[[package]]
-name = "png"
-version = "0.16.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
-dependencies = [
- "bitflags 1.3.2",
- "crc32fast",
- "deflate",
- "miniz_oxide 0.3.7",
-]
+checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7"
 
 [[package]]
 name = "png"
@@ -2774,13 +2666,13 @@ dependencies = [
  "crc32fast",
  "fdeflate",
  "flate2",
- "miniz_oxide 0.7.2",
+ "miniz_oxide",
 ]
 
 [[package]]
 name = "poksho"
 version = "0.7.0"
-source = "git+https://github.com/signalapp/libsignal?tag=v0.32.0#72f046fe19a5eac22c7abcf9917956f240759364"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
 dependencies = [
  "curve25519-dalek",
  "hmac",
@@ -2790,30 +2682,15 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "2.8.0"
+version = "3.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
-dependencies = [
- "autocfg",
- "bitflags 1.3.2",
- "cfg-if",
- "concurrent-queue",
- "libc",
- "log",
- "pin-project-lite",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "polling"
-version = "3.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
 dependencies = [
  "cfg-if",
  "concurrent-queue",
+ "hermit-abi",
  "pin-project-lite",
- "rustix 0.38.31",
+ "rustix",
  "tracing",
  "windows-sys 0.52.0",
 ]
@@ -2831,9 +2708,9 @@ dependencies = [
 
 [[package]]
 name = "polyval"
-version = "0.6.1"
+version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
+checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -2880,11 +2757,12 @@ checksum = "94e851c7654eed9e68d7d27164c454961a616cf8c203d500607ef22c737b51bb"
 
 [[package]]
 name = "presage"
-version = "0.6.0-dev"
-source = "git+https://github.com/Schmiddiii/presage?rev=03ffb349a125518fdc6087ebfb6a5d82a1600da6#03ffb349a125518fdc6087ebfb6a5d82a1600da6"
+version = "0.6.1"
+source = "git+https://github.com/Schmiddiii/presage?rev=de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e#de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e"
 dependencies = [
  "base64",
  "futures",
+ "hex",
  "libsignal-service",
  "libsignal-service-hyper",
  "log",
@@ -2900,7 +2778,7 @@ dependencies = [
 [[package]]
 name = "presage-store-cipher"
 version = "0.1.0"
-source = "git+https://github.com/Schmiddiii/presage?rev=03ffb349a125518fdc6087ebfb6a5d82a1600da6#03ffb349a125518fdc6087ebfb6a5d82a1600da6"
+source = "git+https://github.com/Schmiddiii/presage?rev=de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e#de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e"
 dependencies = [
  "blake3",
  "chacha20poly1305",
@@ -2917,7 +2795,7 @@ dependencies = [
 [[package]]
 name = "presage-store-sled"
 version = "0.6.0-dev"
-source = "git+https://github.com/Schmiddiii/presage?rev=03ffb349a125518fdc6087ebfb6a5d82a1600da6#03ffb349a125518fdc6087ebfb6a5d82a1600da6"
+source = "git+https://github.com/Schmiddiii/presage?rev=de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e#de9c6d0df4fb5908586c9b06f74d5f2ce7078a9e"
 dependencies = [
  "async-trait",
  "base64",
@@ -2925,8 +2803,8 @@ dependencies = [
  "log",
  "presage",
  "presage-store-cipher",
- "prost 0.12.3",
- "prost-build 0.12.3",
+ "prost",
+ "prost-build",
  "quickcheck_macros",
  "serde",
  "serde_json",
@@ -2937,12 +2815,12 @@ dependencies = [
 
 [[package]]
 name = "prettyplease"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5"
+checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7"
 dependencies = [
  "proc-macro2",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -2957,12 +2835,11 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "2.0.2"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
@@ -2991,51 +2868,21 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "prost"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
-dependencies = [
- "bytes",
- "prost-derive 0.9.0",
-]
-
-[[package]]
-name = "prost"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
 dependencies = [
  "bytes",
- "prost-derive 0.12.3",
-]
-
-[[package]]
-name = "prost-build"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
-dependencies = [
- "bytes",
- "heck 0.3.3",
- "itertools 0.10.5",
- "lazy_static",
- "log",
- "multimap",
- "petgraph",
- "prost 0.9.0",
- "prost-types 0.9.0",
- "regex",
- "tempfile",
- "which",
+ "prost-derive",
 ]
 
 [[package]]
@@ -3052,29 +2899,16 @@ dependencies = [
  "once_cell",
  "petgraph",
  "prettyplease",
- "prost 0.12.3",
- "prost-types 0.12.3",
+ "prost",
+ "prost-types",
  "regex",
- "syn 2.0.50",
+ "syn 2.0.57",
  "tempfile",
  "which",
 ]
 
 [[package]]
 name = "prost-derive"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
-dependencies = [
- "anyhow",
- "itertools 0.10.5",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "prost-derive"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
@@ -3083,17 +2917,7 @@ dependencies = [
  "itertools 0.11.0",
  "proc-macro2",
  "quote",
- "syn 2.0.50",
-]
-
-[[package]]
-name = "prost-types"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
-dependencies = [
- "bytes",
- "prost 0.9.0",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3102,7 +2926,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
 dependencies = [
- "prost 0.12.3",
+ "prost",
 ]
 
 [[package]]
@@ -3121,7 +2945,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1d06cb9646c7a14096231a2474d7f21e5e8c13de090c68d13bde6157cfe7f159"
 dependencies = [
  "html-escape",
- "image 0.24.8",
+ "image",
  "qrcodegen",
 ]
 
@@ -3192,9 +3016,9 @@ dependencies = [
 
 [[package]]
 name = "rayon"
-version = "1.8.1"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
+checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
 dependencies = [
  "either",
  "rayon-core",
@@ -3221,25 +3045,25 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.3"
+version = "1.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
 dependencies = [
  "aho-corasick",
  "memchr",
  "regex-automata",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
 ]
 
 [[package]]
@@ -3262,9 +3086,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
 
 [[package]]
 name = "ring"
@@ -3298,36 +3122,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.37.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
-dependencies = [
- "bitflags 1.3.2",
- "errno",
- "io-lifetimes",
- "libc",
- "linux-raw-sys 0.3.8",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.31"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.13",
+ "linux-raw-sys",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "rustls"
-version = "0.22.2"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
 dependencies = [
  "log",
  "ring",
@@ -3352,9 +3162,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "2.1.0"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c333bb734fcdedcea57de1602543590f545f127dc8b533324318fd492c5c70b"
+checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab"
 dependencies = [
  "base64",
  "rustls-pki-types",
@@ -3362,9 +3172,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.3.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "048a63e5b3ac996d78d402940b5fa47973d2d080c6c6fffa1d0f19c4445310b7"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
 
 [[package]]
 name = "rustls-webpki"
@@ -3399,12 +3209,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "scoped_threadpool"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-
-[[package]]
 name = "scopeguard"
 version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3412,9 +3216,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "security-framework"
-version = "2.9.2"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation",
@@ -3425,9 +3229,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.1"
+version = "2.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -3456,14 +3260,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.114"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
 dependencies = [
  "itoa",
  "ryu",
@@ -3478,7 +3282,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3515,7 +3319,7 @@ dependencies = [
 [[package]]
 name = "signal-crypto"
 version = "0.1.0"
-source = "git+https://github.com/signalapp/libsignal?tag=v0.32.0#72f046fe19a5eac22c7abcf9917956f240759364"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
 dependencies = [
  "aes",
  "cbc",
@@ -3571,35 +3375,25 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
-
-[[package]]
-name = "socket2"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "sourceview5"
-version = "0.7.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c5f976a113e947bc5ec67758b2960c0db4ca76f80fb410d7cd86cd456d9ee5"
+checksum = "9f0bf70f2f1ac4624af22056f9c4cf58dccff73dafc7207b46fbd3df7b57410f"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -3615,9 +3409,9 @@ dependencies = [
 
 [[package]]
 name = "sourceview5-sys"
-version = "0.7.1"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29637cccd56075a37ba72c0cc8b8d599dbc1d857e30dadea97eaacbc29b7fd46"
+checksum = "eac236ad7ce6dad2b819ced8b68b5a1cf4d968aa301cb9a7692470eb21f657be"
 dependencies = [
  "gdk-pixbuf-sys",
  "gdk4-sys",
@@ -3692,9 +3486,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.50"
+version = "2.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
+checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3715,12 +3509,12 @@ dependencies = [
 
 [[package]]
 name = "system-deps"
-version = "6.2.0"
+version = "6.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
 dependencies = [
  "cfg-expr",
- "heck 0.4.1",
+ "heck 0.5.0",
  "pkg-config",
  "toml",
  "version-compare",
@@ -3728,57 +3522,46 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.13"
+version = "0.12.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
 
 [[package]]
 name = "temp-dir"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6"
+checksum = "1f227968ec00f0e5322f9b8173c7a0cbcff6181a0a5b28e9892491c286277231"
 
 [[package]]
 name = "tempfile"
-version = "3.10.0"
+version = "3.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
 dependencies = [
  "cfg-if",
- "fastrand 2.0.1",
- "rustix 0.38.31",
+ "fastrand",
+ "rustix",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.57"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.57"
+version = "1.0.58"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
-]
-
-[[package]]
-name = "tiff"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437"
-dependencies = [
- "jpeg-decoder 0.1.22",
- "miniz_oxide 0.4.4",
- "weezl",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3788,7 +3571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
- "jpeg-decoder 0.3.1",
+ "jpeg-decoder",
  "weezl",
 ]
 
@@ -3809,9 +3592,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.36.0"
+version = "1.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
 dependencies = [
  "backtrace",
  "bytes",
@@ -3820,7 +3603,7 @@ dependencies = [
  "num_cpus",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.5",
+ "socket2",
  "tokio-macros",
  "tracing",
  "windows-sys 0.48.0",
@@ -3844,7 +3627,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3888,21 +3671,21 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.2"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.20.2",
+ "toml_edit 0.22.9",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
@@ -3915,20 +3698,31 @@ checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
  "indexmap",
  "toml_datetime",
- "winnow",
+ "winnow 0.5.40",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.20.2"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow 0.5.40",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow",
+ "winnow 0.6.5",
 ]
 
 [[package]]
@@ -3957,7 +3751,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
@@ -3994,7 +3788,7 @@ dependencies = [
  "byteorder",
  "bytes",
  "data-encoding",
- "http 1.0.0",
+ "http 1.1.0",
  "httparse",
  "log",
  "rand",
@@ -4018,7 +3812,7 @@ version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
- "memoffset 0.9.0",
+ "memoffset",
  "tempfile",
  "winapi",
 ]
@@ -4054,12 +3848,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "unicode-segmentation"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
-
-[[package]]
 name = "unicode-xid"
 version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4113,18 +3901,18 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "version-compare"
-version = "0.1.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
 
 [[package]]
 name = "version_check"
@@ -4133,12 +3921,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "waker-fn"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
-
-[[package]]
 name = "want"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4155,9 +3937,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -4165,24 +3947,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4190,22 +3972,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
 
 [[package]]
 name = "weezl"
@@ -4222,7 +4004,7 @@ dependencies = [
  "either",
  "home",
  "once_cell",
- "rustix 0.38.31",
+ "rustix",
 ]
 
 [[package]]
@@ -4253,7 +4035,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4271,7 +4053,7 @@ version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets 0.52.0",
+ "windows-targets 0.52.4",
 ]
 
 [[package]]
@@ -4291,17 +4073,17 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
 dependencies = [
- "windows_aarch64_gnullvm 0.52.0",
- "windows_aarch64_msvc 0.52.0",
- "windows_i686_gnu 0.52.0",
- "windows_i686_msvc 0.52.0",
- "windows_x86_64_gnu 0.52.0",
- "windows_x86_64_gnullvm 0.52.0",
- "windows_x86_64_msvc 0.52.0",
+ "windows_aarch64_gnullvm 0.52.4",
+ "windows_aarch64_msvc 0.52.4",
+ "windows_i686_gnu 0.52.4",
+ "windows_i686_msvc 0.52.4",
+ "windows_x86_64_gnu 0.52.4",
+ "windows_x86_64_gnullvm 0.52.4",
+ "windows_x86_64_msvc 0.52.4",
 ]
 
 [[package]]
@@ -4312,9 +4094,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -4324,9 +4106,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -4336,9 +4118,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -4348,9 +4130,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -4360,9 +4142,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -4372,9 +4154,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -4384,9 +4166,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.52.0"
+version = "0.52.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
 
 [[package]]
 name = "winnow"
@@ -4398,6 +4180,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "winnow"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "x25519-dalek"
 version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4421,24 +4212,22 @@ dependencies = [
 
 [[package]]
 name = "zbus"
-version = "3.15.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8"
+checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9"
 dependencies = [
  "async-broadcast",
  "async-process",
  "async-recursion",
  "async-trait",
- "byteorder",
  "derivative",
  "enumflags2",
- "event-listener 2.5.3",
+ "event-listener 5.2.0",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
  "nix",
- "once_cell",
  "ordered-stream",
  "rand",
  "serde",
@@ -4448,7 +4237,7 @@ dependencies = [
  "tokio",
  "tracing",
  "uds_windows",
- "winapi",
+ "windows-sys 0.52.0",
  "xdg-home",
  "zbus_macros",
  "zbus_names",
@@ -4457,11 +4246,11 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "3.15.0"
+version = "4.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d"
+checksum = "4e0e3852c93dcdb49c9462afe67a2a468f7bd464150d866e861eaf06208633e0"
 dependencies = [
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
  "regex",
@@ -4471,9 +4260,9 @@ dependencies = [
 
 [[package]]
 name = "zbus_names"
-version = "2.6.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
 dependencies = [
  "serde",
  "static_assertions",
@@ -4497,33 +4286,40 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.50",
+ "syn 2.0.57",
 ]
 
 [[package]]
 name = "zkcredential"
 version = "0.1.0"
-source = "git+https://github.com/signalapp/libsignal?tag=v0.32.0#72f046fe19a5eac22c7abcf9917956f240759364"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
 dependencies = [
  "curve25519-dalek",
+ "derive-where",
  "displaydoc",
  "lazy_static",
+ "partial-default",
  "poksho",
  "serde",
+ "subtle",
 ]
 
 [[package]]
 name = "zkgroup"
 version = "0.9.0"
-source = "git+https://github.com/signalapp/libsignal?tag=v0.32.0#72f046fe19a5eac22c7abcf9917956f240759364"
+source = "git+https://github.com/signalapp/libsignal?tag=v0.40.1#f980fccd8ae72fe21dc202d644b358667d60e2b0"
 dependencies = [
  "aes-gcm-siv",
  "bincode",
  "curve25519-dalek",
+ "derive-where",
  "displaydoc",
  "hex",
+ "hex-literal",
+ "hkdf",
  "lazy_static",
- "libsignal-protocol",
+ "libsignal-core",
+ "partial-default",
  "poksho",
  "serde",
  "sha2",
@@ -4544,13 +4340,12 @@ dependencies = [
 
 [[package]]
 name = "zvariant"
-version = "3.15.0"
+version = "4.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c"
+checksum = "2c1b3ca6db667bfada0f1ebfc94b2b1759ba25472ee5373d4551bb892616389a"
 dependencies = [
- "byteorder",
+ "endi",
  "enumflags2",
- "libc",
  "serde",
  "static_assertions",
  "url",
@@ -4559,11 +4354,11 @@ dependencies = [
 
 [[package]]
 name = "zvariant_derive"
-version = "3.15.0"
+version = "4.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd"
+checksum = "b7a4b236063316163b69039f77ce3117accb41a09567fd24c168e43491e521bc"
 dependencies = [
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
  "syn 1.0.109",
@@ -4572,9 +4367,9 @@ dependencies = [
 
 [[package]]
 name = "zvariant_utils"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200"
+checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/pkgs/applications/networking/instant-messengers/flare-signal/default.nix b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
index f21241e10b605..ea6fb5d4e3bd9 100644
--- a/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/flare-signal/default.nix
@@ -21,23 +21,23 @@
 
 stdenv.mkDerivation rec {
   pname = "flare";
-  version = "0.13.0";
+  version = "0.14.3";
 
   src = fetchFromGitLab {
     domain = "gitlab.com";
     owner = "schmiddi-on-mobile";
     repo = "flare";
     rev = version;
-    hash = "sha256-WfW2xUlF1vCaYFVP6ds06+niULKZgMMxgAOm66LK2xQ=";
+    hash = "sha256-e/XkY5xULYnx5zBB3pxjBSocufK85xzb2t+kVXxhFNg=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "curve25519-dalek-4.0.0" = "sha256-KUXvYXeVvJEQ/+dydKzXWCZmA2bFa2IosDzaBL6/Si0=";
-      "libsignal-protocol-0.1.0" = "sha256-FCrJO7porlY5FrwZ2c67UPd4tgN7cH2/3DTwfPjihwM=";
-      "libsignal-service-0.1.0" = "sha256-XkCb83IvlnmvhHD8Vi9D5fNuBOoR9yX0/Vlb+YhrDz8=";
-      "presage-0.6.0-dev" = "sha256-zot92dlGtB7B423BU74oqpPzQKvLm2Dw9P8lCWkbsoE=";
+      "curve25519-dalek-4.1.1" = "sha256-p9Vx0lAaYILypsI4/RVsHZLOqZKaa4Wvf7DanLA38pc=";
+      "libsignal-core-0.1.0" = "sha256-p4YzrtJaQhuMBTtquvS1m9llszfyTeDfl7+IXzRUFSE=";
+      "libsignal-service-0.1.0" = "sha256-rXa/7AmCt03WvMPqrOxPkQlNrMvJQuodEkBuqYo9sFQ=";
+      "presage-0.6.1" = "sha256-4rH/Yt//0EpF8KQQXkurX5m9tMrFRI2MaJ+IzddVUUU=";
     };
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 211c5b49bf9ae..9300a73b175db 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -107,7 +107,8 @@ let
     ]
     ++ lib.optionals withCyrus_sasl [ "--enable-cyrus-sasl=yes" ]
     ++ lib.optionals withGnutls [ "--enable-gnutls=yes" "--enable-nss=no" ]
-    ++ lib.optionals stdenv.isDarwin [ "--disable-gtkspell" "--disable-vv" ];
+    ++ lib.optionals stdenv.isDarwin [ "--disable-gtkspell" "--disable-vv" ]
+    ++ lib.optionals stdenv.cc.isClang [ "CFLAGS=-Wno-error=int-conversion" ];
 
     enableParallelBuilding = true;
 
@@ -138,6 +139,7 @@ let
 
     meta = {
       description = "Multi-protocol instant messaging client";
+      mainProgram = "pidgin";
       homepage = "https://pidgin.im/";
       license = lib.licenses.gpl2Plus;
       platforms = lib.platforms.unix;
diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
index 39589402b5334..4092491d047de 100644
--- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twitch-tui";
-  version = "2.6.7";
+  version = "2.6.8";
 
   src = fetchFromGitHub {
     owner = "Xithrius";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-sokOdM4Z2U/B23XEGONNHr2g9iuNz+Hm+on+7xMYD0E=";
+    hash = "sha256-tak9CPqDVGTfQAjNLhPPvYgP4lUV5g1vPziWbRtqOA0=";
   };
 
-  cargoHash = "sha256-ngivv/2NDmY8c6eInzfdS4GjZQHWU3iJEFI3S+tf34M=";
+  cargoHash = "sha256-SNSFUhm2zFew/oYCoRQXTGEhwmvgM8GX5afPRoltmV0=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 4c4c6ef1df6c4..bb987de7326c3 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -5,13 +5,13 @@ rec {
 
   thunderbird-115 = (buildMozillaMach rec {
     pname = "thunderbird";
-    version = "115.10.1";
+    version = "115.10.2";
     application = "comm/mail";
     applicationName = "Mozilla Thunderbird";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "0324811d3e7e6228bb45cbf01e8a4a08b8386e22d1b52eb79f9a9a3bda940eb9d534ec1230961e9a998a0162c299a1ad49d23c5fbfa8e287896bcc0fd1c398e0";
+      sha512 = "e893cba882fe3fba516758b8822fa16a6c5b1f633cd2877a91357255f956be32b55ee671ab8ebc4372f116848d4fb67a2220a673c8d5f3c95952ba266d99cd67";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix
index 3d675d04d58f7..49ce4fae12173 100644
--- a/pkgs/applications/networking/onionshare/default.nix
+++ b/pkgs/applications/networking/onionshare/default.nix
@@ -1,20 +1,18 @@
 { lib
 , stdenv
 , buildPythonApplication
-, cepa
 , colorama
 , fetchFromGitHub
+, fetchpatch
 , flask
 , flask-compress
-, flask-httpauth
 , flask-socketio
-, gevent-socketio
 , gevent-websocket
 , obfs4
 , psutil
+, packaging
 , pycrypto
 , pynacl
-, pyqt5
 , pyside6
 , pysocks
 , pytestCheckHook
@@ -22,10 +20,12 @@
 , qt5
 , requests
 , snowflake
+, stem
 , substituteAll
 , tor
 , unidecode
 , waitress
+, werkzeug
 }:
 
 let
@@ -79,23 +79,25 @@ rec {
       })
     ];
     propagatedBuildInputs = [
-      cepa
       colorama
       flask
       flask-compress
-      flask-httpauth
       flask-socketio
-      gevent-socketio
       gevent-websocket
+      packaging
       psutil
       pycrypto
       pynacl
       pyside6
+      pysocks
+      qrcode
       qrcode
       requests
+      stem
       unidecode
       waitress
-    ];
+      werkzeug
+    ] ++ requests.optional-dependencies.socks;
 
     buildInputs = [
       obfs4
@@ -138,19 +140,25 @@ rec {
         inherit tor meek obfs4 snowflake;
         inherit (tor) geoip;
       })
+
+      # https://github.com/onionshare/onionshare/pull/1903
+      (fetchpatch {
+        url = "https://github.com/onionshare/onionshare/pull/1903/commits/f20db8fcbd18e51b58814ae8f98f3a7502b4f456.patch";
+        stripLen = 1;
+        hash = "sha256-wfIjdPhdUYAvbK5XyE1o2OtFOlJRj0X5mh7QQRjdyP0=";
+      })
     ];
 
     propagatedBuildInputs = [
       onionshare
-      psutil
-      pyqt5
       pyside6
-      pysocks
       qrcode
     ];
 
     nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
+    buildInputs = [ qt5.qtwayland ];
+
     postInstall = ''
       mkdir -p $out/share/{appdata,applications,icons}
       cp $src/org.onionshare.OnionShare.desktop $out/share/applications
diff --git a/pkgs/applications/networking/p2p/xd/default.nix b/pkgs/applications/networking/p2p/xd/default.nix
index b6bd6af3e017b..b513d35f2ab1c 100644
--- a/pkgs/applications/networking/p2p/xd/default.nix
+++ b/pkgs/applications/networking/p2p/xd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "XD";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "majestrate";
     repo = "XD";
     rev = "v${version}";
-    sha256 = "sha256-u8cUcxNW2jAWxVn1hDHS2cpIpcyv4lwx1zytlzPPdv4=";
+    sha256 = "sha256-k8Mm0tC7wiBmHFdCX38Rz7ccEFkdeArzGJVHTLQ7iWY=";
   };
 
   vendorHash = "sha256-ZD7PZJcY7qWHEQOk5I9IlMup0vbYYaRvVau5Go7ocno=";
diff --git a/pkgs/applications/networking/pyload-ng/default.nix b/pkgs/applications/networking/pyload-ng/default.nix
index 09304784d3122..61c62fb95e949 100644
--- a/pkgs/applications/networking/pyload-ng/default.nix
+++ b/pkgs/applications/networking/pyload-ng/default.nix
@@ -1,13 +1,15 @@
 { lib, fetchPypi, nixosTests, python3 }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "0.5.0b3.dev80";
+  version = "0.5.0b3.dev85";
   pname = "pyload-ng";
   pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-1vIkEctoj6udowYxFwY42f/zL9Elw2Nl6ZaL2x30k/M=";
+    inherit version;
+    # The uploaded tarball uses an underscore in recent releases
+    pname = "pyload_ng";
+    hash = "sha256-KLpfh53JKqe0kZLcQ1C4fXFFYeO5pPhia9fRxWsbIHY=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 82a98c0579c7c..9422223ae03af 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -10,6 +10,7 @@
 , qtwebengine
 , qtx11extras
 , qtquickcontrols2
+, qtgraphicaleffects
 , getconf
 , glibc
 , libXrandr
@@ -51,7 +52,7 @@ mkDerivation rec {
   '';
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
-  buildInputs = [ qtbase qtwebengine qtx11extras qtquickcontrols2 icu63 ];
+  buildInputs = [ qtbase qtwebengine qtx11extras qtquickcontrols2 qtgraphicaleffects icu63 ];
 
   installPhase = ''
     mkdir -p $out/share/teamviewer $out/bin $out/share/applications
diff --git a/pkgs/applications/networking/sync/lcsync/default.nix b/pkgs/applications/networking/sync/lcsync/default.nix
index 591a95fd008c0..ac4731d8536a5 100644
--- a/pkgs/applications/networking/sync/lcsync/default.nix
+++ b/pkgs/applications/networking/sync/lcsync/default.nix
@@ -8,14 +8,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   name = "lcsync";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "librecast";
     repo = "lcsync";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-RVfa0EmCPPT7ndy94YwD24S9pj7L11ztISaKHGcbTS8=";
+    hash = "sha256-eiYbS/LYnM2ZjDHO9KhBp1rrovbhm+OVVfmLtjxAE+Y=";
   };
   buildInputs = [ lcrq librecast libsodium ];
   configureFlags = [ "SETCAP_PROGRAM=true" ];
diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix
index ddee458a0569f..9914f664d0b02 100644
--- a/pkgs/applications/networking/weather/meteo/default.nix
+++ b/pkgs/applications/networking/weather/meteo/default.nix
@@ -11,6 +11,7 @@
 , vala
 , wrapGAppsHook3
 , glib
+, glib-networking
 , gtk3
 , json-glib
 , libappindicator
@@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
+    glib-networking # see #311066
     gtk3
     json-glib
     libappindicator
diff --git a/pkgs/applications/networking/xpipe/default.nix b/pkgs/applications/networking/xpipe/default.nix
index c2c53faaf03a3..00329886b299d 100644
--- a/pkgs/applications/networking/xpipe/default.nix
+++ b/pkgs/applications/networking/xpipe/default.nix
@@ -33,14 +33,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-s6TZzgcmlQz4IYKWd+jrXtyTyQsW1w6MuM9ZkYJHtpE=";
+    x86_64-linux = "sha256-yz8D40ckr6oydlY6+kjQqXtWQ6Q+ZmGQccNVBFbW3/k=";
   }.${system} or throwSystem;
 
   displayname = "XPipe";
 
 in stdenvNoCC.mkDerivation rec {
   pname = "xpipe";
-  version = "9.1";
+  version = "9.2";
 
   src = fetchzip {
     url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
diff --git a/pkgs/applications/office/planify/default.nix b/pkgs/applications/office/planify/default.nix
index 86117b22e8036..8d4c079753caa 100644
--- a/pkgs/applications/office/planify/default.nix
+++ b/pkgs/applications/office/planify/default.nix
@@ -10,6 +10,7 @@
 , evolution-data-server
 , glib
 , glib-networking
+, gst_all_1
 , gtk4
 , gtksourceview5
 , gxml
@@ -49,6 +50,9 @@ stdenv.mkDerivation rec {
     evolution-data-server
     glib
     glib-networking
+    # Needed for GtkMediaStream creation with success.ogg, see #311295.
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
     gtk4
     gtksourceview5
     gxml
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 78b559b8ff3fe..99c58ba5360d1 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
 
       nativeBuildInputs = [ curl coreutils ];
 
+      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
       SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
     } ''
     timestamp10=$(date '+%s')
diff --git a/pkgs/applications/radio/qlog/default.nix b/pkgs/applications/radio/qlog/default.nix
index 48116beb3e3b5..02e6d4c1625a3 100644
--- a/pkgs/applications/radio/qlog/default.nix
+++ b/pkgs/applications/radio/qlog/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qlog";
-  version = "0.34.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "foldynl";
     repo = "QLog";
     rev = "v${version}";
-    hash = "sha256-zPIGqVfpd7Gkm3Ify+AwiCSWQ67ybv9BmuolSu9WzHM=";
+    hash = "sha256-f+H1NglsNhUTbH0JOWmvERrEQEwDAIRkJCD4ELC4oA8=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/astronomy/siril/default.nix b/pkgs/applications/science/astronomy/siril/default.nix
index f039d056ec677..569d537172542 100644
--- a/pkgs/applications/science/astronomy/siril/default.nix
+++ b/pkgs/applications/science/astronomy/siril/default.nix
@@ -1,28 +1,21 @@
-{ lib, stdenv, fetchFromGitLab, fetchpatch, pkg-config, meson, ninja, cmake
+{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, cmake
 , git, criterion, gtk3, libconfig, gnuplot, opencv, json-glib
 , fftwFloat, cfitsio, gsl, exiv2, librtprocess, wcslib, ffmpeg
 , libraw, libtiff, libpng, libjpeg, libheif, ffms, wrapGAppsHook3
+, curl
 }:
 
 stdenv.mkDerivation rec {
   pname = "siril";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitLab {
     owner = "free-astro";
     repo = "siril";
     rev = version;
-    hash = "sha256-lCoFQ7z6cZbyNPEm5s40DNdvTwFonHK3KCd8RniqQWs=";
+    hash = "sha256-njvByA8nbG3qHKfv8eX20TrIhngVI0nzIHmhYIN6htE=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "siril-1.2-exiv2-0.28.patch";
-      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-astronomy/siril/files/siril-1.2-exiv2-0.28.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
-      hash = "sha256-R1yslW6hzvJHKo0/IqBxkCuqcX6VrdRSz68gpAExxVE=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson ninja cmake pkg-config git criterion wrapGAppsHook3
   ];
@@ -30,14 +23,16 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3 cfitsio gsl exiv2 gnuplot opencv fftwFloat librtprocess wcslib
     libconfig libraw libtiff libpng libjpeg libheif ffms ffmpeg json-glib
+    curl
   ];
 
   # Necessary because project uses default build dir for flatpaks/snaps
   dontUseMesonConfigure = true;
   dontUseCmakeConfigure = true;
 
+  # Meson fails to find libcurl unless the option is specifically enabled
   configureScript = ''
-    ${meson}/bin/meson --buildtype release nixbld .
+    ${meson}/bin/meson setup -Denable-libcurl=yes --buildtype release nixbld .
   '';
 
   postConfigure = ''
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index ee3ab5f1f3a56..bafbeb3529c69 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -25,14 +25,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "16.1.63";
+  version = "16.2.15";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    hash = "sha256-zUX3msosz0LNQJuEUbFgT32Hw0Wq4CgW1iHMkvReysU=";
+    hash = "sha256-zPHh5IFdttliPc0SCgkM/3UQmS4eT2rfi5HqpFjY5hA=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index becf26c61af7a..2f51a00a9b150 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "0-unstable-2024-05-03";
+  version = "0-unstable-2024-05-12";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "69ebfbaa7f328ddc9d97b7c404369818a5febe4a";
-    hash = "sha256-lHxVyUXIY9+YIStA6202Bhy/b0xaxJbW/VPI7FbNJk0=";
+    rev = "978b3bd582a90c8e82079f2e4e4a3a5038cbbe08";
+    hash = "sha256-DoGX8nUcWcioTq8ymB+HLsCnt9V6HTKSX4Zs2CQz78Q=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
index 88515b92beaf6..1389a5a77ece9 100644
--- a/pkgs/applications/science/math/pynac/default.nix
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -10,15 +10,15 @@
 , ncurses
 }:
 
-stdenv.mkDerivation rec {
-  version = "0.7.29";
+stdenv.mkDerivation (finalAttrs: {
   pname = "pynac";
+  version = "0.7.29";
 
   src = fetchFromGitHub {
     owner = "pynac";
     repo = "pynac";
-    rev = "pynac-${version}";
-    sha256 = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
+    rev = "pynac-${finalAttrs.version}";
+    hash = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
   };
 
   patches = [
@@ -27,10 +27,16 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "realpartloop.patch";
       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/realpartloop.patch?h=9.4.beta5";
-      sha256 = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
+      hash = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
     })
   ];
 
+  # Python 3.11 moved this header file, but is now is imported by default
+  postPatch = ''
+    substituteInPlace ginac/numeric.cpp \
+        --replace-fail "#include <longintrepr.h>" ""
+  '';
+
   buildInputs = [
     flint
     gmp
@@ -57,4 +63,4 @@ stdenv.mkDerivation rec {
     maintainers = teams.sage.members;
     platforms   = platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/terminal-emulators/x3270/default.nix b/pkgs/applications/terminal-emulators/x3270/default.nix
index 010345aa03dfc..2e901e5af8763 100644
--- a/pkgs/applications/terminal-emulators/x3270/default.nix
+++ b/pkgs/applications/terminal-emulators/x3270/default.nix
@@ -18,6 +18,8 @@
 , fontbitstream100dpi
 , tcl
 , ncurses
+, openssl
+, readline
 }:
 let
   majorVersion = "4";
@@ -66,6 +68,8 @@ stdenv.mkDerivation rec {
     tcl
     ncurses
     expat
+    openssl
+    readline
   ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-cliff/default.nix b/pkgs/applications/version-management/git-cliff/default.nix
index dcf1ccf7dd540..b8b5d480e39b5 100644
--- a/pkgs/applications/version-management/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-cliff/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    hash = "sha256-FRcreSnSO65m9h9+SUg4qdFELvpVX1+HkWH3dI2RR/M=";
+    hash = "sha256-e7DeGcavBgjnH2QY/nqRThYHKzhmbNxYPoOmMF+0I3s=";
   };
 
-  cargoHash = "sha256-RlcZvyFi7fc8eJYB5X64axAnNp8Z1h0WOV4hM1SLoRk=";
+  cargoHash = "sha256-MaSqQD3SRuqiOj5hTHAMyTDj2xgboA5QIZEH7BAxjF4=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-cola/default.nix b/pkgs/applications/version-management/git-cola/default.nix
index 0f5fd0cb7aa2e..38c094ad0e20c 100644
--- a/pkgs/applications/version-management/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-cola/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "git-cola";
-  version = "4.7.0";
+  version = "4.7.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    hash = "sha256-BiSs3vWJacCtGthHi/nFJm4Hqt0uO6XXZi/Zqvjb928=";
+    hash = "sha256-93aayGGMgkSghTpx8M5Cfbxf2szAwrSzuoWK6GCTqZ8=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index 508f416515ad8..e77fdd48eeb67 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.198";
+  version = "5.12.199";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-4tWgIwDmGZhMFTVT5VzmGj69zV8FGTV0yBHUy5Iu1Xw=";
+    hash = "sha256-UyUOzxlTz+yT+Ch1Q+RuxBHDBeW0S5Kl/ynk0s2nNTc=";
   };
 
-  cargoHash = "sha256-vKiCKcyB1Q2CNA4HpE8dc5gh+nlrz0VERIMaTGlDH5Y=";
+  cargoHash = "sha256-hJzCuHq+9fT5etdgV+PxeeaLHv8WGhm8QH0Rp+WOXgs=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-town/default.nix b/pkgs/applications/version-management/git-town/default.nix
index c47604d711c86..c2d9fd54f0033 100644
--- a/pkgs/applications/version-management/git-town/default.nix
+++ b/pkgs/applications/version-management/git-town/default.nix
@@ -19,7 +19,8 @@ buildGoModule rec {
 
   ldflags =
     let
-      modulePath = "github.com/git-town/git-town/v${lib.versions.major version}"; in
+      modulePath = "github.com/git-town/git-town/v${lib.versions.major version}";
+    in
     [
       "-s"
       "-w"
@@ -28,19 +29,22 @@ buildGoModule rec {
     ];
 
   nativeCheckInputs = [ git ];
-  preCheck =
+
+  preCheck = ''
+    HOME=$(mktemp -d)
+  '';
+
+  checkFlags =
     let
+      # Disable tests requiring local operations
       skippedTests = [
         "TestGodog"
-        "TestMockingShell_MockCommand"
-        "TestShellRunner_RunStringWith_Input"
+        "TestMockingRunner/MockCommand"
+        "TestMockingRunner/QueryWith"
+        "TestTestCommands/CreateChildFeatureBranch"
       ];
     in
-    ''
-      HOME=$(mktemp -d)
-      # Disable tests requiring local operations
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   postInstall = ''
     installShellCompletion --cmd git-town \
diff --git a/pkgs/applications/version-management/gitbatch/default.nix b/pkgs/applications/version-management/gitbatch/default.nix
index c880b9343f1a6..7f7c6c64891a8 100644
--- a/pkgs/applications/version-management/gitbatch/default.nix
+++ b/pkgs/applications/version-management/gitbatch/default.nix
@@ -15,16 +15,19 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  nativeBuildInputs = [
+  nativeCheckInputs = [
     git # required by unit tests
   ];
 
   preCheck = ''
     HOME=$(mktemp -d)
-    # Disable tests requiring network access to gitlab.com
-    buildFlagsArray+=("-run" "[^(Test(Run|Start|(Fetch|Pull)With(Go|)Git))]")
   '';
 
+  checkFlags = [
+    # Disable tests requiring network access to gitlab.com
+    "-skip=Test(Run|Start|(Fetch|Pull)With(Go|)Git)"
+  ];
+
   meta = with lib; {
     description = "Running git UI commands";
     homepage = "https://github.com/isacikgoz/gitbatch";
diff --git a/pkgs/applications/video/anilibria-winmaclinux/default.nix b/pkgs/applications/video/anilibria-winmaclinux/default.nix
index 818e3a8e15053..b9679d1fd49f6 100644
--- a/pkgs/applications/video/anilibria-winmaclinux/default.nix
+++ b/pkgs/applications/video/anilibria-winmaclinux/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "anilibria-winmaclinux";
-  version = "1.2.16.2";
+  version = "1.2.17";
 
   src = fetchFromGitHub {
     owner = "anilibria";
     repo = "anilibria-winmaclinux";
     rev = version;
-    hash = "sha256-IgNYJSadGemjclh7rtY8dHz7uSfBHoWEyLlRoZ+st6k=";
+    hash = "sha256-Ij4F5UCt1YOB4MLTlUTAiTt2zN4TkJuf5v6sWb9pJ6k=";
   };
 
   sourceRoot = "${src.name}/src";
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index bb631909872cf..bca8bc1e48ed2 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -25,6 +25,9 @@
 , jq
 
 , studioVariant ? false
+
+, common-updater-scripts
+, writeShellApplication
 }:
 
 let
@@ -251,7 +254,28 @@ buildFHSEnv {
     ''
   }";
 
-  passthru = { inherit davinci; };
+  passthru = {
+    inherit davinci;
+    updateScript = lib.getExe (writeShellApplication {
+      name = "update-davinci-resolve";
+      runtimeInputs = [ curl jq common-updater-scripts ];
+      text = ''
+        set -o errexit
+        drv=pkgs/applications/video/davinci-resolve/default.nix
+        currentVersion=${lib.escapeShellArg davinci.version}
+        downloadsJSON="$(curl --fail --silent https://www.blackmagicdesign.com/api/support/us/downloads.json)"
+
+        latestLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve \K\d+\.\d+\.\d+' | sort | tail -n 1)"
+        update-source-version davinci-resolve "$latestLinuxVersion" --source-key=davinci.src
+
+        # Since the standard and studio both use the same version we need to reset it before updating studio
+        sed -i -e "s/""$latestLinuxVersion""/""$currentVersion""/" "$drv"
+
+        latestStudioLinuxVersion="$(echo "$downloadsJSON" | jq '[.downloads[] | select(.urls.Linux) | .urls.Linux[] | select(.downloadTitle | test("DaVinci Resolve")) | .downloadTitle]' | grep -oP 'DaVinci Resolve Studio \K\d+\.\d+\.\d+' | sort | tail -n 1)"
+        update-source-version davinci-resolve-studio "$latestStudioLinuxVersion" --source-key=davinci.src
+      '';
+    });
+  };
 
   meta = with lib; {
     description = "Professional video editing, color, effects and audio post-processing";
diff --git a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix
index 8eaecd87fc47c..38ab9d308762f 100644
--- a/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix
+++ b/pkgs/applications/video/kodi/addons/visualization-projectm/default.nix
@@ -3,13 +3,13 @@
 buildKodiBinaryAddon rec {
   pname = "visualization-projectm";
   namespace = "visualization.projectm";
-  version = "20.2.0";
+  version = "21.0.1";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = namespace;
     rev = "${version}-${rel}";
-    hash = "sha256-Kcl1ep+RJlofFmxkrGT3T+XXdwiCofq1hggwU0PAd0E=";
+    hash = "sha256-wjSQmOtQb4KjY3iH3Xh7AdQwE6ked+cpW6/gdNYS+NA=";
   };
 
   extraBuildInputs = [ pkg-config libGL projectm ];
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 8fc656981a3ad..bba0377185963 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -8,6 +8,7 @@
 , cmark
 , docbook_xsl
 , expat
+, fetchpatch2
 , file
 , flac
 , fmt
@@ -94,6 +95,11 @@ stdenv.mkDerivation rec {
   ++ optionals stdenv.isLinux [ qtwayland ]
   ++ optionals stdenv.isDarwin [ libiconv ];
 
+  patches = [ (fetchpatch2 {
+    url = "https://gitlab.com/mbunkus/mkvtoolnix/-/commit/7e1bea9527616ab6ab38425e7290579f05dd9bb1.patch";
+    hash = "sha256-9UZrfwrzfKwF8XDzqYnuaDgZws7l1YAb5O1O1+nxo0g=";
+  }) ];
+
   # autoupdate is not needed but it silences a ton of pointless warnings
   postPatch = ''
     patchShebangs . > /dev/null
diff --git a/pkgs/applications/video/mpv/scripts/evafast.nix b/pkgs/applications/video/mpv/scripts/evafast.nix
index 8ba1109ff2d57..5260adb1a8efd 100644
--- a/pkgs/applications/video/mpv/scripts/evafast.nix
+++ b/pkgs/applications/video/mpv/scripts/evafast.nix
@@ -16,7 +16,8 @@ buildLua {
     hash = "sha256-BGWD2XwVu8zOSiDJ+9oWi8aPN2Wkw0Y0gF58X4f+tdI=";
   };
 
-  passthru.updateScript = unstableGitUpdater { };
+  # Drop the `branch` parameter once upstream merges `rewrite` back into `master`
+  passthru.updateScript = unstableGitUpdater { branch = "rewrite"; };
 
   meta = with lib; {
     description = "Seeking and hybrid fastforwarding like VHS";
diff --git a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix b/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix
index 1f53e6cb503ce..d2832e104ada0 100644
--- a/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix
+++ b/pkgs/applications/video/mpv/scripts/modernx-zydezu.nix
@@ -7,14 +7,14 @@
 }:
 buildLua (finalAttrs: {
   pname = "modernx-zydezu";
-  version = "0.2.9";
+  version = "0.3.4";
 
   scriptPath = "modernx.lua";
   src = fetchFromGitHub {
     owner = "zydezu";
     repo = "ModernX";
     rev = finalAttrs.version;
-    hash = "sha256-Tq/v8EbojvOSSwbu8kdbLVxZWZNi1UH6zAPTcsUcgog";
+    hash = "sha256-XzzdJLN2DImwo8ZmH1+Q5e2YfwCh7pKyUxjtPd2AMGs=";
   };
 
   postInstall = ''
@@ -35,6 +35,9 @@ buildLua (finalAttrs: {
     description = "A modern OSC UI replacement for MPV that retains the functionality of the default OSC";
     homepage = "https://github.com/zydezu/ModernX";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ Guanran928 ];
+    maintainers = with maintainers; [
+      luftmensch-luftmensch
+      Guanran928
+    ];
   };
 })
diff --git a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
index ea379e6ffc51f..aa284a68b2897 100644
--- a/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/advanced-scene-switcher/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "advanced-scene-switcher";
-  version = "1.25.5";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "WarmUpTill";
     repo = "SceneSwitcher";
     rev = version;
-    hash = "sha256-ROR+R1Zak8XkhFk1+Pyi0lB+JZI4SVtKGin4vem7NEE=";
+    hash = "sha256-ba+QQWekDp/9V+kNcNowXXJrfU4DCttz0tSoC7Ko1bE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/pipe-viewer/default.nix b/pkgs/applications/video/pipe-viewer/default.nix
index 3f7f89a7b30cd..854e4c6ba4bc3 100644
--- a/pkgs/applications/video/pipe-viewer/default.nix
+++ b/pkgs/applications/video/pipe-viewer/default.nix
@@ -38,13 +38,13 @@ let
 in
 buildPerlModule rec {
   pname = "pipe-viewer";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "trizen";
     repo = "pipe-viewer";
     rev = version;
-    hash = "sha256-tNIAGvv3dCPd7MA27yd2AHMSgs+1D2uiJJTQgTsEVNU=";
+    hash = "sha256-GTmva1pDG1g2wZoS3ABYxhWdbARdlcS0rxGjkdJL7js=";
   };
 
   nativeBuildInputs = [ makeWrapper ]
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 959fe755c209e..d932daa41f3a2 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.29.4";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    hash = "sha256-bF9hvKKwhsmX606Jk34qn32JklUrG939BW2x4tbknjo=";
+    hash = "sha256-gsC6e0wQowgskUazuqQRtO7ra5Wg9RU8+k3LFqIReJk=";
   };
   vendorHash = null;
 
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
index 58ae746bf7536..b1ff999cd89c2 100644
--- a/pkgs/applications/virtualization/podman-tui/default.nix
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -20,19 +20,20 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck =
+  preCheck = ''
+    export USER=$(whoami)
+    export HOME="$(mktemp -d)"
+  '';
+
+  checkFlags =
     let
       skippedTests = [
+        # Disable flaky tests
         "TestDialogs"
         "TestVoldialogs"
       ];
     in
-    ''
-      export HOME="$(mktemp -d)"
-
-      # Disable flaky tests
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   passthru.tests.version = testers.testVersion {
     package = podman-tui;
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 0a8bbcc1853cc..ae47bd408f92d 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -64,13 +64,13 @@ let
 in
 buildGoModule rec {
   pname = "podman";
-  version = "5.0.2";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    hash = "sha256-8Swqwyzu/WI9mG21bLF81Kk4kS2Ltg0GV9G3EcG/FnU=";
+    hash = "sha256-PA7mKHPzPDFdwKXAHvHnDvHF+mTmm59jkoeUeiCP6vE=";
   };
 
   patches = [
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index b09736d3138c6..fb7deae49dc82 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -24,6 +24,9 @@
 # See https://github.com/cyberus-technology/virtualbox-kvm/issues/12
 assert enableKvm -> !enableHardening;
 
+# The web services use Java infrastructure.
+assert enableWebService -> javaBindings;
+
 with lib;
 
 let
diff --git a/pkgs/applications/window-managers/i3/lock-fancy.nix b/pkgs/applications/window-managers/i3/lock-fancy.nix
index f3963b43b54af..a66e52bc40b0d 100644
--- a/pkgs/applications/window-managers/i3/lock-fancy.nix
+++ b/pkgs/applications/window-managers/i3/lock-fancy.nix
@@ -1,54 +1,67 @@
-{ lib
-, stdenv
+{ coreutils
 , fetchFromGitHub
-, coreutils
-, scrot
-, imagemagick
+, fontconfig
 , gawk
-, i3lock-color
 , getopt
-, fontconfig
+, i3lock-color
+, imagemagick
+, installShellFiles
+, lib
+, makeWrapper
+, scrot
+, stdenv
+
+, screenshotCommand ? ""
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "i3lock-fancy";
-  version = "unstable-2018-11-25";
+  version = "unstable-2023-04-28";
 
   src = fetchFromGitHub {
     owner = "meskarune";
     repo = "i3lock-fancy";
-    rev = "7accfb2aa2f918d1a3ab975b860df1693d20a81a";
-    sha256 = "00lqsvz1knb8iqy8lnkn3sf4c2c4nzb0smky63qf48m8za5aw9b1";
+    rev = "55f5c30071403faf5ae4363a54b6d1f63876d5ce";
+    hash = "sha256-ISymKlxLE4/ChDiyjnavFx4T5hEVI62cCxYLWrWiHrg=";
   };
 
+  nativeBuildInputs = [
+    makeWrapper
+    installShellFiles
+  ];
+
   postPatch = ''
     sed -i i3lock-fancy \
-      -e "s|mktemp|${coreutils}/bin/mktemp|" \
-      -e "s|'rm -f |'${coreutils}/bin/rm -f |" \
-      -e "s|scrot -z |${scrot}/bin/scrot -z |" \
-      -e "s|convert |${imagemagick.out}/bin/convert |" \
-      -e "s|awk -F|${gawk}/bin/awk -F|" \
-      -e "s| awk | ${gawk}/bin/awk |" \
-      -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" \
       -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' \
-      -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' \
-      -e "s|getopt |${getopt}/bin/getopt |" \
-      -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" \
-      -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z -o)|"
+      -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|'
     rm Makefile
+  '' + lib.optionalString (screenshotCommand != "") ''
+    sed -i i3lock-fancy \
+      -e "s|shot=(import -silent -window root)|shot=(${screenshotCommand})|";
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/share/i3lock-fancy/icons
     cp i3lock-fancy $out/bin/i3lock-fancy
     ln -s $out/bin/i3lock-fancy $out/bin/i3lock
     cp icons/lock*.png $out/share/i3lock-fancy/icons
+    installManPage doc/i3lock-fancy.1
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/i3lock-fancy \
+      --prefix PATH : ${lib.makeBinPath [ coreutils fontconfig gawk getopt i3lock-color imagemagick scrot ]}
   '';
 
   meta = with lib; {
     description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text";
     homepage = "https://github.com/meskarune/i3lock-fancy";
-    maintainers = with maintainers; [ ];
+    maintainers = [ maintainers.reedrw ];
+    mainProgram = "i3lock-fancy";
     license = licenses.mit;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/jay/default.nix b/pkgs/applications/window-managers/jay/default.nix
index 6b7951c14c374..97be1c5fe2931 100644
--- a/pkgs/applications/window-managers/jay/default.nix
+++ b/pkgs/applications/window-managers/jay/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jay";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "mahkoh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9fWwVUqeYADt33HGaJRRFmM20WM7qRWbNGpt3rk9xQM=";
+    sha256 = "sha256-cfX9KcXbBRIaYrR7c+aIQrg+mvLJIM1sEzJ0J7wshMU=";
   };
 
-  cargoSha256 = "sha256-oPGY/rVx94BkWgKkwwyDjfASMyGGU32R5IZuNjOv+EM=";
+  cargoHash = "sha256-htAXhjCBOb8qTAAKdFqTaTSefJJTFlvEBYveOokyWjs=";
 
   SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib";
 
diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix
index dce3ddb470909..bc28fbf6fc420 100644
--- a/pkgs/build-support/go/module.nix
+++ b/pkgs/build-support/go/module.nix
@@ -200,7 +200,7 @@ let
 
     buildPhase = args.buildPhase or (
       lib.warnIf (buildFlags != "" || buildFlagsArray != "")
-        "Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
+        "`buildFlags`/`buildFlagsArray` are deprecated and will be removed in the 24.11 release. Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
       lib.warnIf (builtins.elem "-buildid=" ldflags)
         "`-buildid=` is set by default as ldflag by buildGoModule"
     ''
diff --git a/pkgs/build-support/go/package.nix b/pkgs/build-support/go/package.nix
index 94a459c267f36..58a242a2535c2 100644
--- a/pkgs/build-support/go/package.nix
+++ b/pkgs/build-support/go/package.nix
@@ -286,7 +286,7 @@ let
   });
 in
 lib.warnIf (buildFlags != "" || buildFlagsArray != "")
-  "Use the `ldflags` and/or `tags` attributes instead of `buildFlags`/`buildFlagsArray`"
+  "`buildFlags`/`buildFlagsArray` are deprecated and will be removed in the 24.11 release. Use the `ldflags` and/or `tags` attributes instead"
 lib.warnIf (builtins.elem "-buildid=" ldflags) "`-buildid=` is set by default as ldflag by buildGoModule"
 lib.warnIf (builtins.elem "-trimpath" GOFLAGS) "`-trimpath` is added by default to GOFLAGS by buildGoModule when allowGoReference isn't set to true"
   package
diff --git a/pkgs/build-support/php/builders/v1/build-composer-project.nix b/pkgs/build-support/php/builders/v1/build-composer-project.nix
index a292335932547..7e24812d2e768 100644
--- a/pkgs/build-support/php/builders/v1/build-composer-project.nix
+++ b/pkgs/build-support/php/builders/v1/build-composer-project.nix
@@ -1,5 +1,6 @@
 {
   callPackage,
+  nix-update-script,
   stdenvNoCC,
   lib,
   php,
@@ -89,6 +90,13 @@ let
           composerStrictValidation = previousAttrs.composerStrictValidation or true;
         });
 
+      # Projects providing a lockfile from upstream can be automatically updated.
+      passthru = previousAttrs.passthru or { } // {
+        updateScript =
+          previousAttrs.passthru.updateScript
+            or (if finalAttrs.composerRepository.composerLock == null then nix-update-script { } else null);
+      };
+
       env = {
         COMPOSER_CACHE_DIR = "/dev/null";
         COMPOSER_DISABLE_NETWORK = "1";
diff --git a/pkgs/by-name/ad/adrs/package.nix b/pkgs/by-name/ad/adrs/package.nix
new file mode 100644
index 0000000000000..0b4d49fbea22e
--- /dev/null
+++ b/pkgs/by-name/ad/adrs/package.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "adrs";
+  version = "0.2.8";
+
+  src = fetchFromGitHub {
+    owner = "joshrotenberg";
+    repo = "adrs";
+    rev = "v${version}";
+    hash = "sha256-5rvdW2UntseSsKFndrDj9ogH/qYN+KymuOsuqS0/C3M=";
+  };
+
+  cargoHash = "sha256-WqsZ+ICfKrackQ5dMs/WvF3inJX+k9LhxAJkXmaVAtY=";
+
+  meta = {
+    description = "A command-line tool for managing Architectural Decision Records";
+    homepage = "https://github.com/joshrotenberg/adrs";
+    license = with lib.licenses; [ mit asl20 ];
+    maintainers = with lib.maintainers; [ dannixon ];
+    mainProgram = "adrs";
+  };
+}
diff --git a/pkgs/by-name/al/alacarte/package.nix b/pkgs/by-name/al/alacarte/package.nix
new file mode 100644
index 0000000000000..003558c0e86d1
--- /dev/null
+++ b/pkgs/by-name/al/alacarte/package.nix
@@ -0,0 +1,70 @@
+{
+  lib,
+  fetchFromGitLab,
+  python3,
+  autoconf,
+  automake,
+  gettext,
+  pkg-config,
+  libxslt,
+  gobject-introspection,
+  wrapGAppsHook3,
+  gnome-menus,
+  glib,
+  gtk3,
+  docbook_xsl,
+  nix-update-script,
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "alacarte";
+  version = "3.52.0";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "alacarte";
+    rev = version;
+    hash = "sha256-SkolSk6RireH3aKkRTUCib/nflqD02PR9uVtXePRHQY=";
+  };
+
+  format = "other";
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gettext
+    pkg-config
+    python3
+    libxslt
+    gobject-introspection
+    wrapGAppsHook3
+  ];
+
+  buildInputs = [
+    gnome-menus
+    glib
+    gtk3
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [ pygobject3 ];
+
+  configureScript = "./autogen.sh";
+
+  # Builder couldn't fetch the docbook.xsl from the internet directly,
+  # so we substitute it with the docbook.xsl in already in nixpkgs
+  preConfigure = ''
+    substituteInPlace man/Makefile.am \
+      --replace-fail "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    homepage = "https://gitlab.gnome.org/GNOME/alacarte";
+    description = "A menu editor for GNOME using the freedesktop.org menu specification";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    mainProgram = "alacarte";
+    maintainers = with lib.maintainers; [ pluiedev ];
+  };
+}
diff --git a/pkgs/by-name/al/alephone/package.nix b/pkgs/by-name/al/alephone/package.nix
index 0e4979d4393e8..bbb56681e87a1 100644
--- a/pkgs/by-name/al/alephone/package.nix
+++ b/pkgs/by-name/al/alephone/package.nix
@@ -32,13 +32,13 @@
 stdenv.mkDerivation (finalAttrs: {
   outputs = [ "out" "icons" ];
   pname = "alephone";
-  version = "1.7.1";
+  version = "1.8";
 
   src = fetchurl {
     url =
-      let date = "20240119";
+      let date = "20240510";
       in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
-    sha256 = "sha256-esqjhOSrqtapnS9xF/EThgn2c/vW4hTpMpecXW6BzAQ=";
+    sha256 = "sha256-3+3lTAVOxTTs13uuVsmq4CKmdNkQv+lY7YV1HkIwvDs=";
   };
 
   nativeBuildInputs = [ pkg-config icoutils ];
diff --git a/pkgs/by-name/ar/ark-pixel-font/package.nix b/pkgs/by-name/ar/ark-pixel-font/package.nix
index 15d3b4dd43f69..578552a03f13b 100644
--- a/pkgs/by-name/ar/ark-pixel-font/package.nix
+++ b/pkgs/by-name/ar/ark-pixel-font/package.nix
@@ -6,13 +6,13 @@
 
 python312Packages.buildPythonPackage rec {
   pname = "ark-pixel-font";
-  version = "2024.04.05";
+  version = "2024.05.12";
 
   src = fetchFromGitHub {
     owner = "TakWolf";
-    repo = pname;
-    rev = version;
-    hash = "sha256-G34cu/mSt/p8UPJt+Q1T2qy6d9LGgT1Jslt9syRz5eo=";
+    repo = "ark-pixel-font";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PGhhKWHDpvOqa3vaI40wuIsAEdWGb62cN7QJeHQqiss=";
   };
 
   format = "other";
diff --git a/pkgs/by-name/at/atf/package.nix b/pkgs/by-name/at/atf/package.nix
new file mode 100644
index 0000000000000..a9810826dc89c
--- /dev/null
+++ b/pkgs/by-name/at/atf/package.nix
@@ -0,0 +1,89 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  autoreconfHook,
+  kyua,
+  pkg-config,
+  gitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "atf";
+  version = "0.21-unstable-2021-09-01"; # Match the commit used in FreeBSD’s port.
+
+  src = fetchFromGitHub {
+    owner = "freebsd";
+    repo = "atf";
+    rev = "55c21b2c5fb189bbdfccb2b297bfa89236502542";
+    hash = "sha256-u0YBPcoIBvqBVaytaO9feBaRnQygtzEPGJV0ItI1Vco=";
+  };
+
+  patches = [
+    # Fixes use after free that causes failures in Kyua’s test suite.
+    # https://github.com/freebsd/atf/pull/57
+    # https://github.com/freebsd/kyua/issues/223
+    (fetchpatch {
+      name = "fix-use-after-free.patch";
+      url = "https://github.com/freebsd/atf/commit/fb22f3837bcfdce5ce8b3c0e18af131bb6902a02.patch";
+      hash = "sha256-p4L3sxSYfMSzwKrUDlEZpoJydbaK3Hcbvn90KlPHkic=";
+    })
+  ];
+
+  postPatch =
+    lib.optionalString finalAttrs.doInstallCheck ''
+      # https://github.com/freebsd/atf/issues/61
+      substituteInPlace atf-c/check_test.c \
+        --replace-fail 'ATF_TP_ADD_TC(tp, build_cpp)' ""
+      substituteInPlace atf-c++/check_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, build_cpp);' ""
+      # Can’t find `c_helpers` in the work folder.
+      substituteInPlace test-programs/Kyuafile \
+        --replace-fail 'atf_test_program{name="srcdir_test"}' ""
+    ''
+    # These tests fail on Darwin.
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.isDarwin) ''
+      substituteInPlace atf-c/detail/process_test.c \
+        --replace-fail 'ATF_TP_ADD_TC(tp, status_coredump);' ""
+    ''
+    # This test fails on Linux.
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.isLinux) ''
+      substituteInPlace atf-c/detail/fs_test.c \
+        --replace-fail 'ATF_TP_ADD_TC(tp, eaccess);' ""
+    '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [
+    # ATF isn’t compatible with C++17, which is the default on current clang and GCC.
+    "CXXFLAGS=-std=c++11"
+  ];
+
+  doInstallCheck = true;
+
+  nativeInstallCheckInputs = [ kyua ];
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    HOME=$TMPDIR PATH=$out/bin:$PATH kyua test
+    runHook postInstallCheck
+  '';
+
+  passthru.updateScript = gitUpdater { rev-prefix = "atf-"; };
+
+  __structuredAttrs = true;
+
+  meta = {
+    description = "Libraries to write tests in C, C++, and shell";
+    homepage = "https://github.com/freebsd/atf/";
+    license = lib.licenses.bsd3;
+    mainProgram = "atf-sh";
+    maintainers = with lib.maintainers; [ reckenrode ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/at/atlauncher/package.nix b/pkgs/by-name/at/atlauncher/package.nix
index 60345adee0df3..bc87f555ff93a 100644
--- a/pkgs/by-name/at/atlauncher/package.nix
+++ b/pkgs/by-name/at/atlauncher/package.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "atlauncher";
-  version = "3.4.36.3";
+  version = "3.4.36.4";
 
   src = fetchurl {
     url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar";
-    hash = "sha256-qeH3W7G6xxlIrLK04A3GTKtZsvmii6acWY4clPIL8Rk=";
+    hash = "sha256-7l4D99rTOP+oyaa+O8GPGugr3Nv8EIt6EqK1L9ttFBA=";
   };
 
   env.ICON = fetchurl {
diff --git a/pkgs/by-name/ba/backgroundremover/package.nix b/pkgs/by-name/ba/backgroundremover/package.nix
index e6303bb377b7b..67c2f2eaa6a87 100644
--- a/pkgs/by-name/ba/backgroundremover/package.nix
+++ b/pkgs/by-name/ba/backgroundremover/package.nix
@@ -3,20 +3,21 @@
 , runCommand
 , fetchFromGitHub
 , fetchurl
+, gitUpdater
 }:
 
 let
   p = python3.pkgs;
   self = p.buildPythonApplication rec {
     pname = "backgroundremover";
-    version = "0.2.6";
+    version = "0.2.8";
     pyproject = true;
 
     src = fetchFromGitHub {
       owner = "nadermx";
       repo = "backgroundremover";
       rev = "v${version}";
-      hash = "sha256-dDOo7NPwvdfV+ae2oMUytCGC+2HF6xUI7dyKk2we23w=";
+      hash = "sha256-LjVT4j0OzfbVSQgU0z/gzRTLm7N0RQRrfxtTugWwOxs=";
     };
 
     models = runCommand "background-remover-models" {} ''
@@ -31,7 +32,9 @@ let
         --replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
     '';
 
-    nativeBuildInputs = [ p.setuptools p.wheel ];
+    nativeBuildInputs = [ p.setuptools p.wheel p.pythonRelaxDepsHook ];
+
+    pythonRelaxDeps = [ "pillow" "torchvision" ];
 
     propagatedBuildInputs = [
       p.certifi
@@ -76,6 +79,7 @@ let
           backgroundremover -i ${demoImage} -o $out
         '';
       };
+      updateScript = gitUpdater { rev-prefix = "v"; };
     };
 
     doCheck = false; # no tests
diff --git a/pkgs/by-name/ba/badkeys/package.nix b/pkgs/by-name/ba/badkeys/package.nix
new file mode 100644
index 0000000000000..11a7aec3b1447
--- /dev/null
+++ b/pkgs/by-name/ba/badkeys/package.nix
@@ -0,0 +1,45 @@
+{
+  lib,
+  fetchFromGitHub,
+  python3Packages,
+}:
+python3Packages.buildPythonApplication rec {
+  pname = "badkeys";
+  version = "0.0.10";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "badkeys";
+    repo = "badkeys";
+    rev = "v${version}";
+    hash = "sha256-4vIPOKU/R+wASEx4OQHjtP6mJSKJDtPgQB968vuT24Y=";
+  };
+
+  build-system = with python3Packages; [
+    setuptools
+    setuptools-scm
+  ];
+
+  dependencies = with python3Packages; [
+    cryptography
+    gmpy2
+  ];
+
+  optional-dependencies = with python3Packages; [
+    dnspython
+    paramiko
+  ];
+
+  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "badkeys" ];
+
+  meta = {
+    description = "Tool to find common vulnerabilities in cryptographic public keys";
+    homepage = "https://badkeys.info/";
+    changelog = "https://github.com/badkeys/badkeys/releases/tag/${src.rev}";
+    mainProgram = "badkeys";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ getchoo ];
+  };
+}
diff --git a/pkgs/tools/X11/bevelbar/default.nix b/pkgs/by-name/be/bevelbar/package.nix
index 7eab7a65e80aa..60dfb62567bf4 100644
--- a/pkgs/tools/X11/bevelbar/default.nix
+++ b/pkgs/by-name/be/bevelbar/package.nix
@@ -1,24 +1,24 @@
-{ lib,
+{
+  lib,
   stdenv,
   fetchurl,
   pkg-config,
   libX11,
   libXft,
   libXrandr,
+  gitUpdater,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bevelbar";
-  version = "22.06";
+  version = "23.08";
 
   src = fetchurl {
     url = "https://www.uninformativ.de/git/bevelbar/archives/bevelbar-v${finalAttrs.version}.tar.gz";
-    hash = "sha256-8ceFwQFHhJ1qEXJtzoDXU0XRgudaAfsoWq7LYgGEqsM=";
+    hash = "sha256-4wMSPi9tu+z1AW2uvPefxkeT/5DYo2oJybhNnpe82QU=";
   };
 
-  nativeBuildInputs = [
-    pkg-config
-  ];
+  nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
     libX11
@@ -28,11 +28,19 @@ stdenv.mkDerivation (finalAttrs: {
 
   makeFlags = [ "prefix=$(out)" ];
 
-  meta = with lib; {
+  passthru.updateScript = gitUpdater {
+    url = "https://www.uninformativ.de/git/bevelbar.git/";
+    rev-prefix = "v";
+  };
+
+  meta = {
     homepage = "https://www.uninformativ.de/git/bevelbar/file/README.html";
     description = "X11 status bar with beveled borders";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres neeasade ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      AndersonTorres
+      neeasade
+    ];
+    platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix
index f23f333a79da9..454d677d907fc 100644
--- a/pkgs/by-name/bl/bluez/package.nix
+++ b/pkgs/by-name/bl/bluez/package.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bluez";
-  version = "5.72";
+  version = "5.75";
 
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/bluez-${finalAttrs.version}.tar.xz";
-    hash = "sha256-SZ1/o0WplsG7ZQ9cZ0nh2SkRH6bs4L4OmGh/7mEkU24=";
+    hash = "sha256-mIyzxFUfbjpmdwilePXKn5P8iWUI+Y8IcJvk+KsDPC8=";
   };
 
   patches =
@@ -50,7 +50,6 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     docutils
     pkg-config
-    python3.pkgs.pygments
     python3.pkgs.wrapPython
   ];
 
@@ -138,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: {
     ln -s ../libexec/bluetooth/obexd $out/sbin/obexd
 
     # Add extra configuration
-    mkdir $out/etc/bluetooth
+    rm $out/etc/bluetooth/{main,input,network}.conf
     ln -s /etc/bluetooth/main.conf $out/etc/bluetooth/main.conf
 
     # https://github.com/NixOS/nixpkgs/issues/204418
diff --git a/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
index 952399f7bf868..6e4673cdc9d80 100644
--- a/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
+++ b/pkgs/by-name/ca/catppuccin-sddm-corners/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation {
   pname = "catppuccin-sddm-corners";
-  version = "unstable-2023-05-30";
+  version = "0-unstable-2024-05-07";
 
   src = fetchFromGitHub {
     owner = "khaneliman";
     repo = "catppuccin-sddm-corners";
-    rev = "ffaad5c8964b52ccd92a80dfd3a7931c8b68c446";
-    hash = "sha256-CaCMrXlwt7JfSycB8WH3XCWUu+i7bPSfFv3duo7ZlZo=";
+    rev = "aca5af5ce0c9dff56e947938697dec40ea101e3e";
+    hash = "sha256-xtcNcjNQSG7SwlNw/EkAU93wFaku+cE1/r6c8c4FrBg=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/version-management/codeberg-cli/default.nix b/pkgs/by-name/co/codeberg-cli/package.nix
index ae63280f7ee7c..074d7bc2c8eb6 100644
--- a/pkgs/applications/version-management/codeberg-cli/default.nix
+++ b/pkgs/by-name/co/codeberg-cli/package.nix
@@ -1,30 +1,42 @@
-{ lib
-, CoreServices
-, Security
-, fetchFromGitea
-, installShellFiles
-, openssl
-, pkg-config
-, rustPlatform
-, stdenv
+{
+  darwin,
+  fetchFromGitea,
+  installShellFiles,
+  lib,
+  openssl,
+  pkg-config,
+  rustPlatform,
+  stdenv,
 }:
 rustPlatform.buildRustPackage rec {
   pname = "codeberg-cli";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "RobWalt";
     repo = "codeberg-cli";
     rev = "v${version}";
-    hash = "sha256-KjH78yqfZoN24TBYyFZuxf7z9poRov0uFYQ8+eq9p/o=";
+    hash = "sha256-g5V3Noqh7Y9v/t/dt7n45/NblqNtpZCKELPc9DOkb8A=";
   };
 
-  cargoHash = "sha256-RE4Zwa5vUWPc42w5GaaYkS6fLIbges1fAsOUuwqR2ag=";
-  nativeBuildInputs = [ pkg-config installShellFiles ];
+  cargoHash = "sha256-zTg/3PcFWzBmKZA7lRIpM3P03d1qpNVBczqWFbnxpic=";
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
 
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
+  buildInputs =
+    [ openssl ]
+    ++ lib.optionals stdenv.isDarwin (
+      let
+        d = darwin.apple_sdk.frameworks;
+      in
+      [
+        d.CoreServices
+        d.Security
+      ]
+    );
 
   postInstall = ''
     installShellCompletion --cmd berg \
diff --git a/pkgs/by-name/cr/criterion/package.nix b/pkgs/by-name/cr/criterion/package.nix
new file mode 100644
index 0000000000000..efa1459dc72d5
--- /dev/null
+++ b/pkgs/by-name/cr/criterion/package.nix
@@ -0,0 +1,117 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  boxfort,
+  meson,
+  libcsptr,
+  pkg-config,
+  gettext,
+  cmake,
+  ninja,
+  protobuf,
+  libffi,
+  libgit2,
+  dyncall,
+  nanomsg,
+  nanopbMalloc,
+  python3Packages,
+  testers,
+  criterion,
+  callPackage
+}:
+
+let
+  # follow revisions defined in .wrap files
+  debugbreak = fetchFromGitHub {
+    owner = "MrAnno";
+    repo = "debugbreak";
+    rev = "83bf7e933311b88613cbaadeced9c2e2c811054a";
+    hash = "sha256-OPrPGBUZN73Nl5NMEf/nME843yTolt913yjut3rAos0=";
+  };
+
+  klib = fetchFromGitHub {
+    owner = "attractivechaos";
+    repo = "klib";
+    rev = "cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502";
+    hash = "sha256-+GaI5nXz4jYI0rO17xDhNtFpLlGL2WzeSVLMfB6Cl6E=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "criterion";
+  version = "2.4.2";
+
+  src = fetchFromGitHub {
+    owner = "Snaipe";
+    repo = "Criterion";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    hash = "sha256-5GH7AYjrnBnqiSmp28BoaM1Xmy8sPs1atfqJkGy3Yf0=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    cmake
+    pkg-config
+    protobuf
+  ];
+
+  buildInputs = [
+    (lib.getDev boxfort)
+    dyncall
+    gettext
+    libcsptr
+    nanomsg
+    nanopbMalloc
+    libgit2
+    libffi
+  ];
+
+  nativeCheckInputs = with python3Packages; [ cram ];
+
+  doCheck = true;
+
+  prePatch = ''
+    cp -r ${debugbreak} subprojects/debugbreak
+    cp -r ${klib} subprojects/klib
+
+    for dep in "debugbreak" "klib"; do
+      local meson="$dep/meson.build"
+
+      chmod +w subprojects/$dep
+      cp subprojects/packagefiles/$meson subprojects/$meson
+    done
+  '';
+
+  postPatch = ''
+    patchShebangs ci/isdir.py src/protocol/gen-pb.py
+  '';
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  passthru.tests.version =
+    let
+      tester = callPackage ./tests/001-version.nix {};
+    in
+    testers.testVersion {
+      package = criterion;
+      command = "${lib.getExe tester} --version";
+      version = "v${version}";
+    };
+
+  meta = {
+    description = "A cross-platform C and C++ unit testing framework for the 21th century";
+    homepage = "https://github.com/Snaipe/Criterion";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [
+      thesola10
+      Yumasi
+      sigmanificient
+    ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/cr/criterion/tests/001-version.nix b/pkgs/by-name/cr/criterion/tests/001-version.nix
new file mode 100644
index 0000000000000..25a98b5a0c306
--- /dev/null
+++ b/pkgs/by-name/cr/criterion/tests/001-version.nix
@@ -0,0 +1,25 @@
+{
+  stdenv,
+  pkg-config,
+  criterion,
+}:
+stdenv.mkDerivation rec {
+  name = "version-tester";
+  version = "v${criterion.version}";
+  src = ./test_dummy.c;
+
+  dontUnpack = true;
+  buildInputs = [ criterion ];
+  nativeBuildInputs = [ pkg-config ];
+
+  buildPhase = ''
+    cc -o ${name} $src `pkg-config --libs criterion`
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${name} $out/bin/${name}
+  '';
+
+  meta.mainProgram = name;
+}
diff --git a/pkgs/by-name/cr/criterion/tests/test_dummy.c b/pkgs/by-name/cr/criterion/tests/test_dummy.c
new file mode 100644
index 0000000000000..6ae1ef73ba451
--- /dev/null
+++ b/pkgs/by-name/cr/criterion/tests/test_dummy.c
@@ -0,0 +1,7 @@
+#include <stdbool.h>
+#include <criterion/criterion.h>
+
+Test(test_dummy, always_succeed)
+{
+    cr_assert(true);
+}
diff --git a/pkgs/by-name/cr/crunchy-cli/Cargo.lock b/pkgs/by-name/cr/crunchy-cli/Cargo.lock
index 61832fee845ba..44a47cd532dea 100644
--- a/pkgs/by-name/cr/crunchy-cli/Cargo.lock
+++ b/pkgs/by-name/cr/crunchy-cli/Cargo.lock
@@ -43,47 +43,48 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.13"
+version = "0.6.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
+checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
+ "is_terminal_polyfill",
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
 dependencies = [
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.2"
+version = "3.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
 dependencies = [
  "anstyle",
  "windows-sys 0.52.0",
@@ -91,9 +92,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.82"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
+checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3"
 
 [[package]]
 name = "async-speed-limit"
@@ -120,9 +121,9 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 
 [[package]]
 name = "backtrace"
@@ -147,9 +148,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base64"
-version = "0.22.0"
+version = "0.22.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 
 [[package]]
 name = "base64-serde"
@@ -180,18 +181,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 
 [[package]]
-name = "bytemuck"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
-
-[[package]]
-name = "byteorder"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
-
-[[package]]
 name = "bytes"
 version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -199,9 +188,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
 
 [[package]]
 name = "cc"
-version = "1.0.95"
+version = "1.0.97"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
+checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4"
 
 [[package]]
 name = "cfg-if"
@@ -291,9 +280,9 @@ dependencies = [
 
 [[package]]
 name = "colorchoice"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
 
 [[package]]
 name = "console"
@@ -354,7 +343,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "crunchy-cli"
-version = "3.5.2"
+version = "3.6.1"
 dependencies = [
  "chrono",
  "clap",
@@ -367,7 +356,7 @@ dependencies = [
 
 [[package]]
 name = "crunchy-cli-core"
-version = "3.5.2"
+version = "3.6.1"
 dependencies = [
  "anyhow",
  "async-speed-limit",
@@ -381,8 +370,6 @@ dependencies = [
  "fs2",
  "futures-util",
  "http",
- "image",
- "image_hasher",
  "indicatif",
  "lazy_static",
  "log",
@@ -390,7 +377,9 @@ dependencies = [
  "num_cpus",
  "regex",
  "reqwest",
+ "rsubs-lib",
  "rustls-native-certs",
+ "rusty-chromaprint",
  "serde",
  "serde_json",
  "serde_plain",
@@ -404,9 +393,9 @@ dependencies = [
 
 [[package]]
 name = "crunchyroll-rs"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e63a541bdcf0170a29eab4015943e8a6a09281334b4beacd70ac5cfc1c19496b"
+checksum = "58580acc9c0abf96a231ec8b1a4597ea55d9426ea17f684ce3582e2b26437bbb"
 dependencies = [
  "async-trait",
  "chrono",
@@ -430,9 +419,9 @@ dependencies = [
 
 [[package]]
 name = "crunchyroll-rs-internal"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a9e0e09162451565645fdd4dadc6b38e09f3aafcfb477153584bedd8d62a358"
+checksum = "ce3c844dec8a3390f8c9853b5cf1d65c3d38fd0657b8b5d0e008db8945dea326"
 dependencies = [
  "darling",
  "quote",
@@ -490,7 +479,7 @@ version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "79b4bdd5f1c0c7493d780c645f0bff5b9361e6408210fa88910adb181efca64c"
 dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
  "base64-serde",
  "chrono",
  "fs-err",
@@ -601,9 +590,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.2"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
 
 [[package]]
 name = "fnv"
@@ -723,9 +712,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -767,9 +756,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 
 [[package]]
 name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 
 [[package]]
 name = "heck"
@@ -952,32 +941,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "image"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
-dependencies = [
- "bytemuck",
- "byteorder",
- "num-traits",
- "zune-core",
- "zune-jpeg",
-]
-
-[[package]]
-name = "image_hasher"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9481465fe767d92494987319b0b447a5829edf57f09c52bf8639396abaaeaf78"
-dependencies = [
- "base64 0.22.0",
- "image",
- "rustdct",
- "serde",
- "transpose",
-]
-
-[[package]]
 name = "indexmap"
 version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -995,7 +958,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
  "serde",
 ]
 
@@ -1028,6 +991,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
+name = "is_terminal_polyfill"
+version = "1.70.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+
+[[package]]
 name = "iso8601"
 version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1072,9 +1041,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.153"
+version = "0.2.154"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
 
 [[package]]
 name = "libredox"
@@ -1210,9 +1179,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.18"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
 dependencies = [
  "autocfg",
 ]
@@ -1418,6 +1387,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "realfft"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953d9f7e5cdd80963547b456251296efc2626ed4e3cbf36c869d9564e0220571"
+dependencies = [
+ "rustfft",
+]
+
+[[package]]
 name = "redox_users"
 version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1463,7 +1441,7 @@ version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
 dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
  "bytes",
  "cookie",
  "cookie_store",
@@ -1532,21 +1510,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
 
 [[package]]
-name = "rustc-demangle"
-version = "0.1.23"
+name = "rsubs-lib"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "9dcca2a9560fca05de8f95bc3767e46673d4b4c1f2c7a11092e10efd95bbdf62"
+dependencies = [
+ "regex",
+ "serde",
+]
 
 [[package]]
-name = "rustdct"
-version = "0.7.1"
+name = "rubato"
+version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b61555105d6a9bf98797c063c362a1d24ed8ab0431655e38f1cf51e52089551"
+checksum = "e6dd52e80cfc21894deadf554a5673002938ae4625f7a283e536f9cf7c17b0d5"
 dependencies = [
- "rustfft",
+ "num-complex",
+ "num-integer",
+ "num-traits",
+ "realfft",
 ]
 
 [[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
 name = "rustfft"
 version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1607,7 +1598,7 @@ version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
 dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
  "rustls-pki-types",
 ]
 
@@ -1629,6 +1620,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "rusty-chromaprint"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1755646867c36ecb391776deaa0b557a76d3badf20c142de7282630c34b20440"
+dependencies = [
+ "rubato",
+ "rustfft",
+]
+
+[[package]]
 name = "ryu"
 version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1645,11 +1646,11 @@ dependencies = [
 
 [[package]]
 name = "security-framework"
-version = "2.10.0"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
+checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -1658,9 +1659,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.10.0"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
+checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -1668,18 +1669,18 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.198"
+version = "1.0.200"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
+checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.198"
+version = "1.0.200"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
+checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1730,11 +1731,11 @@ dependencies = [
 
 [[package]]
 name = "serde_with"
-version = "3.8.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c85f8e96d1d6857f13768fcbd895fcb06225510022a2774ed8b5150581847b0"
+checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"
 dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
  "chrono",
  "hex",
  "indexmap 1.9.3",
@@ -1748,9 +1749,9 @@ dependencies = [
 
 [[package]]
 name = "serde_with_macros"
-version = "3.8.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8b3a576c4eb2924262d5951a3b737ccaf16c931e39a2810c36f9a7e25575557"
+checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"
 dependencies = [
  "darling",
  "proc-macro2",
@@ -1798,9 +1799,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.6"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -2024,16 +2025,15 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.10"
+version = "0.7.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
 dependencies = [
  "bytes",
  "futures-core",
  "futures-sink",
  "pin-project-lite",
  "tokio",
- "tracing",
 ]
 
 [[package]]
@@ -2144,9 +2144,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-width"
-version = "0.1.11"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
 
 [[package]]
 name = "untrusted"
@@ -2498,21 +2498,6 @@ dependencies = [
 
 [[package]]
 name = "zeroize"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63381fa6624bf92130a6b87c0d07380116f80b565c42cf0d754136f0238359ef"
-
-[[package]]
-name = "zune-core"
-version = "0.4.12"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a"
-
-[[package]]
-name = "zune-jpeg"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448"
-dependencies = [
- "zune-core",
-]
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/pkgs/by-name/cr/crunchy-cli/package.nix b/pkgs/by-name/cr/crunchy-cli/package.nix
index 1fc5711ef3508..0855864a3fe8a 100644
--- a/pkgs/by-name/cr/crunchy-cli/package.nix
+++ b/pkgs/by-name/cr/crunchy-cli/package.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "crunchy-cli";
-  version = "3.5.2";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "crunchy-labs";
     repo = "crunchy-cli";
     rev = "v${version}";
-    hash = "sha256-20jsBIjl6WOs0X4ancWHUuAe2Qiv8s4w+EpEVE5Psvw=";
+    hash = "sha256-SlTdyEeqQ9lCrFFTDtMhP0Kvm+3gxiUS+ZB5LvNWSZU=";
   };
 
   cargoLock = {
diff --git a/pkgs/by-name/de/devcontainer/package.nix b/pkgs/by-name/de/devcontainer/package.nix
index 20eebbc9d5ab3..affb09cad6d0c 100644
--- a/pkgs/by-name/de/devcontainer/package.nix
+++ b/pkgs/by-name/de/devcontainer/package.nix
@@ -13,18 +13,18 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "devcontainer";
-  version = "0.58.0";
+  version = "0.60.0";
 
   src = fetchFromGitHub {
     owner = "devcontainers";
     repo = "cli";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-pnhyyTJMSlTdMsSFzbmZ6SkGdbfr9qCIkrBxxSM42UE=";
+    hash = "sha256-/QznJhw+DYwnj/kdP6f4liJlOFhNQO0y7r4i55bJPug=";
   };
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/yarn.lock";
-    hash = "sha256-Wy0UP8QaQzZ1par7W5UhnRLc5DF2PAif0JIZJtRokBk=";
+    hash = "sha256-tN7qAvfYmDz5ZtgZL5+ZZtkuxZxvlS9FM3+dGl+daUQ=";
   };
 
   nativeBuildInputs = [ yarn fixup-yarn-lock python3 makeWrapper ];
diff --git a/pkgs/by-name/do/docfd/package.nix b/pkgs/by-name/do/docfd/package.nix
index 8adbeaa656151..656e32e8dbc4b 100644
--- a/pkgs/by-name/do/docfd/package.nix
+++ b/pkgs/by-name/do/docfd/package.nix
@@ -21,7 +21,7 @@ let
 in
 buildDunePackage' rec {
   pname = "docfd";
-  version = "5.1.0";
+  version = "6.0.0";
 
   minimalOCamlVersion = "5.1";
 
@@ -29,7 +29,7 @@ buildDunePackage' rec {
     owner = "darrenldl";
     repo = "docfd";
     rev = version;
-    hash = "sha256-54gsX5C8AJAOkqnBxHLI76k6cEqWqEydxbZjJZl7FjE=";
+    hash = "sha256-zG6x1ahBdLrKmiVh7uDGyHXJ1TG/8IvmjkPB1wbjJGQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix
index 004e94fda27df..b9c63b443dd2b 100644
--- a/pkgs/by-name/do/dorion/package.nix
+++ b/pkgs/by-name/do/dorion/package.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   name = "dorion";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://github.com/SpikeHD/Dorion/releases/download/v${finalAttrs.version }/Dorion_${finalAttrs.version}_amd64.deb";
-    hash = "sha256-QqjRxAx2hDd8atpXuof8AVWtK3o8K77Se2b2CyOBMOw=";
+    hash = "sha256-ki1cNrMUSO9JX8HCm4lFKid3Jq6pwKJcb4bVPaha+IA=";
   };
 
   unpackCmd = ''
diff --git a/pkgs/by-name/dp/dpp/package.nix b/pkgs/by-name/dp/dpp/package.nix
index c76e3e57f403b..6079585e5d29a 100644
--- a/pkgs/by-name/dp/dpp/package.nix
+++ b/pkgs/by-name/dp/dpp/package.nix
@@ -11,13 +11,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "dpp";
-  version = "10.0.29";
+  version = "10.0.30";
 
   src = fetchFromGitHub {
     owner = "brainboxdotcc";
     repo = "DPP";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-BJMg3MLSfb9x/2lPHITeI3SWwW1OZVUUMVltTWUcw9I=";
+    hash = "sha256-FW1DKbVwPPlvLtv8XzpqaAZjS1y5hasq3Rhh2u08Sz0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/games/dualsensectl/default.nix b/pkgs/by-name/du/dualsensectl/package.nix
index 12b3a8492f621..63eefab713dc6 100644
--- a/pkgs/tools/games/dualsensectl/default.nix
+++ b/pkgs/by-name/du/dualsensectl/package.nix
@@ -1,20 +1,23 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, dbus
-, hidapi
-, udev
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  pkg-config,
+  dbus,
+  hidapi,
+  udev,
+  testers,
+  nix-update-script,
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "dualsensectl";
   version = "0.5";
 
   src = fetchFromGitHub {
     owner = "nowrep";
     repo = "dualsensectl";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-+OSp9M0A0J4nm7ViDXG63yrUZuZxR7gyckwSCdy3qm0=";
   };
 
@@ -22,9 +25,7 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "/usr/" "/"
   '';
 
-  nativeBuildInputs = [
-    pkg-config
-  ];
+  nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
     dbus
@@ -32,11 +33,15 @@ stdenv.mkDerivation rec {
     udev
   ];
 
-  makeFlags = [
-    "DESTDIR=$(out)"
-  ];
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  passthru = {
+    tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
+    updateScript = nix-update-script { };
+  };
 
   meta = with lib; {
+    changelog = "https://github.com/nowrep/dualsensectl/releases/tag/v${finalAttrs.version}";
     description = "Linux tool for controlling PS5 DualSense controller";
     homepage = "https://github.com/nowrep/dualsensectl";
     license = licenses.gpl2Only;
@@ -44,4 +49,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ azuwis ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/by-name/e1/e1s/package.nix b/pkgs/by-name/e1/e1s/package.nix
new file mode 100644
index 0000000000000..b13d5ff947e44
--- /dev/null
+++ b/pkgs/by-name/e1/e1s/package.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+let
+  pname = "e1s";
+  version = "1.0.34";
+in
+buildGoModule {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "keidarcy";
+    repo = "e1s";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-fxo7TQjFrp2BbXz7bwMC5AuacKpyi5UmAMEVBmR91ko=";
+  };
+
+  vendorHash = "sha256-pM6win2W6HqjIg9QBblDl3ptKEI6sANliXkpwlFnTb0=";
+
+  meta = with lib; {
+    description = "Easily Manage AWS ECS Resources in Terminal 🐱";
+    homepage = "https://github.com/keidarcy/e1s";
+    changelog = "https://github.com/derailed/e1s/releases/tag/v${version}";
+    license = licenses.mit;
+    mainProgram = "e1s";
+    maintainers = with maintainers; [ zelkourban ];
+  };
+}
diff --git a/pkgs/servers/endlessh-go/default.nix b/pkgs/by-name/en/endlessh-go/package.nix
index 44c574a316f2b..988438ac89f70 100644
--- a/pkgs/servers/endlessh-go/default.nix
+++ b/pkgs/by-name/en/endlessh-go/package.nix
@@ -6,20 +6,24 @@
 
 buildGoModule rec {
   pname = "endlessh-go";
-  version = "20230625-3";
+  version = "2024.0119.1";
 
   src = fetchFromGitHub {
     owner = "shizunge";
     repo = "endlessh-go";
     rev = version;
-    sha256 = "sha256-ug01nwlUCKe7DkhSJJ9XUU4QHZeH0A2f/oH6wl2VzIc=";
+    hash = "sha256-CLmlcuRb5dt1oPNdBfx0ql1Zmn/HahcmhVA0k50i6yA=";
   };
 
-  vendorHash = "sha256-n7lzSLtR3bUslT6Q1khsFeofSvwuSaBv3n33+HIdssU=";
+  vendorHash = "sha256-unIyU60IrbiKDIjUf9F2pqqGNIA4gFp5XyQlvx6+xxQ=";
+
+  CGO_ENABLED = 0;
 
   ldflags = [ "-s" "-w" ];
 
-  passthru.tests = nixosTests.endlessh-go;
+  passthru.tests = {
+    inherit (nixosTests) endlessh-go;
+  };
 
   meta = with lib; {
     description = "An implementation of endlessh exporting Prometheus metrics";
diff --git a/pkgs/by-name/ff/ff2mpv-rust/Cargo.lock b/pkgs/by-name/ff/ff2mpv-rust/Cargo.lock
deleted file mode 100644
index 0142037d22090..0000000000000
--- a/pkgs/by-name/ff/ff2mpv-rust/Cargo.lock
+++ /dev/null
@@ -1,112 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "ff2mpv-rust"
-version = "1.1.0"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-
-[[package]]
-name = "indexmap"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.76"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
-
-[[package]]
-name = "serde"
-version = "1.0.195"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.195"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.111"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
-dependencies = [
- "indexmap",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.48"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
diff --git a/pkgs/by-name/ff/ff2mpv-rust/package.nix b/pkgs/by-name/ff/ff2mpv-rust/package.nix
index bbc7f303f1d39..8114704b982ce 100644
--- a/pkgs/by-name/ff/ff2mpv-rust/package.nix
+++ b/pkgs/by-name/ff/ff2mpv-rust/package.nix
@@ -3,35 +3,59 @@
 , fetchFromGitHub
 }:
 
+let
+  firefoxPaths = [
+    "lib/mozilla/native-messaging-hosts"
+
+    # wrapFirefox only links lib/mozilla path, so this is ineffective
+    # Still the above path works, despite documentation stating otherwise
+    # See: https://librewolf.net/docs/faq/#how-do-i-get-native-messaging-to-work
+    # "lib/librewolf/native-messaging-hosts"
+  ];
+
+  chromiumPaths = [
+    "etc/chromium/native-messaging-hosts"
+    "etc/opt/vivaldi/native-messaging-hosts"
+    "etc/opt/chrome/native-messaging-hosts"
+    "etc/opt/edge/native-messaging-hosts"
+  ];
+in
+
 rustPlatform.buildRustPackage rec {
   pname = "ff2mpv-rust";
-  version = "1.1.1";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "ryze312";
     repo = "ff2mpv-rust";
     rev = version;
-    hash = "sha256-sofv5uRLNbMT+w+ZDGjtKqBjYJk+UDzUDQrOiWvl5Hs=";
-  };
-
-  cargoLock = {
-    lockFile = ./Cargo.lock;
+    hash = "sha256-gk3MqoMCau6RTlttTLqFtlXhrYMOf89YFg8aAlh++9s=";
   };
 
-  postPatch = ''
-    ln -s ${./Cargo.lock} Cargo.lock
-  '';
+  cargoHash = "sha256-NjzqzfueqR1MNR23lRYj7IYIa+OHzVhpuAo18avKMUk=";
 
   postInstall = ''
-    mkdir -p $out/lib/mozilla/native-messaging-hosts/
-    $out/bin/ff2mpv-rust manifest > $out/lib/mozilla/native-messaging-hosts/ff2mpv.json
+    $out/bin/ff2mpv-rust manifest > manifest.json
+    $out/bin/ff2mpv-rust manifest_chromium > manifest_chromium.json
+
+    for path in ${toString firefoxPaths}
+    do
+        mkdir -p "$out/$path"
+        cp manifest.json "$out/$path/ff2mpv.json"
+    done
+
+    for path in ${toString chromiumPaths}
+    do
+        mkdir -p "$out/$path"
+        cp manifest_chromium.json "$out/$path/ff2mpv.json"
+    done
   '';
 
   meta = with lib; {
     description = "Native messaging host for ff2mpv written in Rust";
     homepage = "https://github.com/ryze312/ff2mpv-rust";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ arthsmn ];
+    maintainers = with maintainers; [ arthsmn ryze ];
     mainProgram = "ff2mpv-rust";
   };
 }
diff --git a/pkgs/by-name/fr/frankenphp/package.nix b/pkgs/by-name/fr/frankenphp/package.nix
index e293e5c48fa3b..366a115793e6e 100644
--- a/pkgs/by-name/fr/frankenphp/package.nix
+++ b/pkgs/by-name/fr/frankenphp/package.nix
@@ -7,6 +7,7 @@
 , testers
 , frankenphp
 , darwin
+, libiconv
 , pkg-config
 , makeBinaryWrapper
 , runCommand
@@ -64,7 +65,7 @@ in buildGoModule rec {
   '' + lib.optionalString stdenv.isDarwin ''
     # replace hard-code homebrew path
     substituteInPlace ../frankenphp.go \
-      --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${darwin.libiconv}/lib"
+      --replace "-L/opt/homebrew/opt/libiconv/lib" "-L${libiconv}/lib"
   '';
 
   preFixup = ''
diff --git a/pkgs/by-name/gi/git-instafix/package.nix b/pkgs/by-name/gi/git-instafix/package.nix
index a0792af8ac70e..6dc4a101b2afe 100644
--- a/pkgs/by-name/gi/git-instafix/package.nix
+++ b/pkgs/by-name/gi/git-instafix/package.nix
@@ -13,7 +13,7 @@ let
     maintainers
     ;
 
-  version = "0.2.2";
+  version = "0.2.3";
 in
 rustPlatform.buildRustPackage {
   pname = "git-instafix";
@@ -23,10 +23,10 @@ rustPlatform.buildRustPackage {
     owner = "quodlibetor";
     repo = "git-instafix";
     rev = "v${version}";
-    hash = "sha256-cwScEEijhMgBdTeYuOOxW13x4ZpyrUouZvAiD17dOog=";
+    hash = "sha256-gh0/pD07oWODZAOu82KijOFWUHfqSHyGLXg67K/rhqo=";
   };
 
-  cargoHash = "sha256-o4oIDqr+vRvfICtZbIuD2kBEneLJrvyPVr5FPLlYGv8=";
+  cargoHash = "sha256-FncpFgmbB186ZKl8XMjeNAFtAf1qlNW8hbhTOKBlUWc=";
 
   buildInputs = [ libgit2 ];
   nativeCheckInputs = [ git ];
diff --git a/pkgs/by-name/gl/glance/package.nix b/pkgs/by-name/gl/glance/package.nix
new file mode 100644
index 0000000000000..1e36360311b03
--- /dev/null
+++ b/pkgs/by-name/gl/glance/package.nix
@@ -0,0 +1,32 @@
+{ lib,
+buildGoModule,
+fetchFromGitHub,
+nix-update-script
+}:
+
+buildGoModule rec {
+  pname = "glance";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "glanceapp";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-vcK8AW+B/YK4Jor86SRvJ8XFWvzeAUX5mVbXwrgxGlA=";
+  };
+
+  vendorHash = "sha256-Okme73vLc3Pe9+rNlmG8Bj1msKaVb5PaIBsAAeTer6s=";
+
+  excludedPackages = [ "scripts/build-and-ship" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    homepage = "https://github.com/glanceapp/glance";
+    changelog = "https://github.com/glanceapp/glance/releases/tag/v${version}";
+    description = "A self-hosted dashboard that puts all your feeds in one place";
+    mainProgram = "glance";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ dvn0 ];
+  };
+}
diff --git a/pkgs/by-name/go/go-judge/package.nix b/pkgs/by-name/go/go-judge/package.nix
index f46a0d0a41205..91f2c5c107244 100644
--- a/pkgs/by-name/go/go-judge/package.nix
+++ b/pkgs/by-name/go/go-judge/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-judge";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "criyle";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i6c7uKnnyO+tyQwrEFvyPaw3N9VfFB+L7xYHsUPy6RM=";
+    hash = "sha256-dViiTTT/OjgAXecViuBdWOycCpn97g+Lr1ZHubfVExw=";
   };
 
-  vendorHash = "sha256-WAO7nMDm7/KuDOIZSopRVKUVWmjDl30d95NWBuebiE4=";
+  vendorHash = "sha256-xnTM7QN+ZJP3iPf+k8HgFYMFv6W6BboM5Yh7938s9lM=";
 
   tags = [ "nomsgpack" ];
 
diff --git a/pkgs/by-name/go/got/package.nix b/pkgs/by-name/go/got/package.nix
index 127ff219ed5ee..d6f5629e3cd6c 100644
--- a/pkgs/by-name/go/got/package.nix
+++ b/pkgs/by-name/go/got/package.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "got";
-  version = "0.98.2";
+  version = "0.99";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
-    hash = "sha256-/11K2ZIu3xyAVbI5hlCXL9RjyAlZDb544uqxv3ihUMg=";
+    hash = "sha256-rqQINToCsuOtm00bdgeQAmmvl5htQJmMV/EKzfD6Hjg=";
   };
 
   nativeBuildInputs = [ pkg-config bison ]
@@ -30,8 +30,6 @@ stdenv.mkDerivation (finalAttrs: {
   buildInputs = [ libressl libbsd libevent libuuid libmd zlib ncurses ]
     ++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
 
-  configureFlags = [ "--enable-gotd" ];
-
   preConfigure = lib.optionalString stdenv.isDarwin ''
     # The configure script assumes dependencies on Darwin are installed via
     # Homebrew or MacPorts and hardcodes assumptions about the paths of
@@ -52,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     changelog = "https://gameoftrees.org/releases/CHANGES";
-    description = "A version control system which prioritizes ease of use and simplicity over flexibility";
+    description = "Version control system which prioritizes ease of use and simplicity over flexibility";
     longDescription = ''
       Game of Trees (Got) is a version control system which prioritizes
       ease of use and simplicity over flexibility.
diff --git a/pkgs/by-name/ha/handheld-daemon/package.nix b/pkgs/by-name/ha/handheld-daemon/package.nix
index 246e3879bb5cf..ec24637dde3f7 100644
--- a/pkgs/by-name/ha/handheld-daemon/package.nix
+++ b/pkgs/by-name/ha/handheld-daemon/package.nix
@@ -9,14 +9,14 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "handheld-daemon";
-  version = "2.6.4";
+  version = "2.7.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "hhd-dev";
     repo = "hhd";
     rev = "v${version}";
-    hash = "sha256-S77APtE1GGfqnv1IkZdJOSlprPOBtrqVXV60yVMvopg=";
+    hash = "sha256-jWLL1nmKam1iJ1R1l/OuIp+isgZ7toRhVamx1nOID/8=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/ho/hoppscotch/package.nix b/pkgs/by-name/ho/hoppscotch/package.nix
index c076f484a84b7..9ad6b473e68a7 100644
--- a/pkgs/by-name/ho/hoppscotch/package.nix
+++ b/pkgs/by-name/ho/hoppscotch/package.nix
@@ -7,31 +7,39 @@
 
 let
   pname = "hoppscotch";
-  version = "24.3.2-1";
+  version = "24.3.3-1";
 
   src = fetchurl {
     aarch64-darwin = {
       url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
-      hash = "sha256-/Sa51x/Hy4mOxNL+6r+5sk/cF4iBbup9UBaWqzsnrBM=";
+      hash = "sha256-litOYRsUOx6VpkA1LPx7aGGagqIVL9fgNsYoP5n/2mo=";
     };
     x86_64-darwin = {
       url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
-      hash = "sha256-6vm3pQPg5OKRtP6W1CNQxy4fi9niw4Y4nXjargwHxuA=";
+      hash = "sha256-UG89Fv9J8SnzPVoIO16LOprxPmZuu/zyox1b+jn+eNw=";
     };
     x86_64-linux = {
       url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
-      hash = "sha256-iGD/9alVwSsIhbSl9HZXdB5MQNSjn18YdgebyoizriE=";
+      hash = "sha256-110l1DTyvH2M0ex1r35Q+55NiJ8nYum1KdWQXDvAdxo=";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
-  meta = {
+  meta = with lib; {
     description = "Open source API development ecosystem";
-    mainProgram = "hoppscotch";
+    longDescription = ''
+      Hoppscotch is a lightweight, web-based API development suite. It was built
+      from the ground up with ease of use and accessibility in mind providing
+      all the functionality needed for API developers with minimalist,
+      unobtrusive UI.
+    '';
     homepage = "https://hoppscotch.com";
-    changelog = "https://github.com/hoppscotch/hoppscotch/releases/tag/${version}";
+    downloadPage = "https://hoppscotch.com/downloads";
+    changelog = "https://hoppscotch.com/changelog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ DataHearth ];
+    mainProgram = "hoppscotch";
     platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ DataHearth ];
+    sourceProvenance = [ sourceTypes.binaryNativeCode ];
   };
 in
 if stdenv.isDarwin then stdenv.mkDerivation
diff --git a/pkgs/by-name/ht/httpie-desktop/package.nix b/pkgs/by-name/ht/httpie-desktop/package.nix
new file mode 100644
index 0000000000000..e8f3dbb1c02d9
--- /dev/null
+++ b/pkgs/by-name/ht/httpie-desktop/package.nix
@@ -0,0 +1,23 @@
+{
+  appimageTools,
+  lib,
+  fetchurl,
+}:
+appimageTools.wrapType2 rec {
+  pname = "httpie-desktop";
+  version = "2024.1.2";
+
+  src = fetchurl {
+    url = "https://github.com/httpie/desktop/releases/download/v${version}/HTTPie-${version}.AppImage";
+    sha256 = "sha256-OOP1l7J2BgO3nOPSipxfwfN/lOUsl80UzYMBosyBHrM=";
+  };
+
+  meta = with lib; {
+    description = "Cross-platform API testing client for humans. Painlessly test REST, GraphQL, and HTTP APIs.";
+    homepage = "https://github.com/httpie/desktop";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ luftmensch-luftmensch ];
+    mainProgram = "httpie-desktop";
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/hy/hyprdim/Cargo.lock b/pkgs/by-name/hy/hyprdim/Cargo.lock
deleted file mode 100644
index 8c22c7838dfaf..0000000000000
--- a/pkgs/by-name/hy/hyprdim/Cargo.lock
+++ /dev/null
@@ -1,1213 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-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 = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "anstream"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
-dependencies = [
- "anstyle",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "assert_cmd"
-version = "2.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
-dependencies = [
- "anstyle",
- "bstr",
- "doc-comment",
- "predicates",
- "predicates-core",
- "predicates-tree",
- "wait-timeout",
-]
-
-[[package]]
-name = "async-trait"
-version = "0.1.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
-
-[[package]]
-name = "backtrace"
-version = "0.3.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
-
-[[package]]
-name = "bstr"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
-dependencies = [
- "memchr",
- "regex-automata",
- "serde",
-]
-
-[[package]]
-name = "bytes"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
-
-[[package]]
-name = "cc"
-version = "1.0.91"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "cfg_aliases"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
-
-[[package]]
-name = "clap"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_complete"
-version = "4.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
-dependencies = [
- "clap",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
-dependencies = [
- "heck 0.5.0",
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
-
-[[package]]
-name = "clap_mangen"
-version = "0.2.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1dd95b5ebb5c1c54581dd6346f3ed6a79a3eef95dd372fc2ac13d535535300e"
-dependencies = [
- "clap",
- "roff",
-]
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "convert_case"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-
-[[package]]
-name = "ctrlc"
-version = "3.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
-dependencies = [
- "nix 0.28.0",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "derive_more"
-version = "0.99.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
-dependencies = [
- "convert_case",
- "proc-macro2",
- "quote",
- "rustc_version",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "difflib"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
-
-[[package]]
-name = "doc-comment"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "futures"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
-dependencies = [
- "futures-core",
- "futures-sink",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
-
-[[package]]
-name = "futures-executor"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
-dependencies = [
- "futures-core",
- "futures-task",
- "futures-util",
-]
-
-[[package]]
-name = "futures-io"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
-
-[[package]]
-name = "futures-macro"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "futures-sink"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
-
-[[package]]
-name = "futures-task"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
-
-[[package]]
-name = "futures-util"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-macro",
- "futures-sink",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "gimli"
-version = "0.28.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "hyprdim"
-version = "2.2.4"
-dependencies = [
- "assert_cmd",
- "clap",
- "clap_complete",
- "clap_mangen",
- "ctrlc",
- "hyprland",
- "rustympkglib",
- "serde",
- "single-instance",
- "toml",
-]
-
-[[package]]
-name = "hyprland"
-version = "0.3.13"
-source = "git+https://github.com/hyprland-community/hyprland-rs.git#7a60845c9bfaf264e4dd9f5d7977f4a1f15599c8"
-dependencies = [
- "async-trait",
- "derive_more",
- "doc-comment",
- "futures",
- "hex",
- "hyprland-macros",
- "lazy_static",
- "num-traits",
- "paste",
- "regex",
- "serde",
- "serde_json",
- "serde_repr",
- "strum",
- "tokio",
-]
-
-[[package]]
-name = "hyprland-macros"
-version = "0.3.13"
-source = "git+https://github.com/hyprland-community/hyprland-rs.git#7a60845c9bfaf264e4dd9f5d7977f4a1f15599c8"
-dependencies = [
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.153"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
-
-[[package]]
-name = "lock_api"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "memchr"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
-dependencies = [
- "libc",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "nix"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
-dependencies = [
- "bitflags 1.3.2",
- "cc",
- "cfg-if",
- "libc",
- "memoffset",
-]
-
-[[package]]
-name = "nix"
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
-dependencies = [
- "bitflags 2.5.0",
- "cfg-if",
- "cfg_aliases",
- "libc",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi",
- "libc",
-]
-
-[[package]]
-name = "object"
-version = "0.32.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
-dependencies = [
- "memchr",
-]
-
-[[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",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "predicates"
-version = "3.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
-dependencies = [
- "anstyle",
- "difflib",
- "predicates-core",
-]
-
-[[package]]
-name = "predicates-core"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
-
-[[package]]
-name = "predicates-tree"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
-dependencies = [
- "predicates-core",
- "termtree",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "regex"
-version = "1.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
-
-[[package]]
-name = "roff"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
-
-[[package]]
-name = "rustympkglib"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39a6a04e9c4cc5d0fd4291f8ce8e1aa9d438d3e7b5ea09699cc81acd83272a16"
-dependencies = [
- "serde",
- "tree-sitter",
- "tree-sitter-bash",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "semver"
-version = "1.0.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
-
-[[package]]
-name = "serde"
-version = "1.0.197"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.197"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.115"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_repr"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "serde_spanned"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "single-instance"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4637485391f8545c9d3dbf60f9d9aab27a90c789a700999677583bcb17c8795d"
-dependencies = [
- "libc",
- "nix 0.23.2",
- "thiserror",
- "widestring",
- "winapi",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "socket2"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "strum"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
-dependencies = [
- "heck 0.4.1",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "termtree"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
-
-[[package]]
-name = "thiserror"
-version = "1.0.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "tokio"
-version = "1.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
-dependencies = [
- "backtrace",
- "bytes",
- "libc",
- "mio",
- "num_cpus",
- "parking_lot",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.58",
-]
-
-[[package]]
-name = "toml"
-version = "0.8.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
-dependencies = [
- "indexmap",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "tree-sitter"
-version = "0.19.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad726ec26496bf4c083fff0f43d4eb3a2ad1bba305323af5ff91383c0b6ecac0"
-dependencies = [
- "cc",
- "regex",
-]
-
-[[package]]
-name = "tree-sitter-bash"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c629e2d29ebb85b34cd195a1c511a161ed775451456cde110470e7af693424db"
-dependencies = [
- "cc",
- "tree-sitter",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "wait-timeout"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "widestring"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
-
-[[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-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.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.4",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "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]]
-name = "windows-targets"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.4",
- "windows_aarch64_msvc 0.52.4",
- "windows_i686_gnu 0.52.4",
- "windows_i686_msvc 0.52.4",
- "windows_x86_64_gnu 0.52.4",
- "windows_x86_64_gnullvm 0.52.4",
- "windows_x86_64_msvc 0.52.4",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
-
-[[package]]
-name = "winnow"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
-dependencies = [
- "memchr",
-]
diff --git a/pkgs/by-name/hy/hyprdim/package.nix b/pkgs/by-name/hy/hyprdim/package.nix
index 2ce84331f40e8..11afcf6daa3a3 100644
--- a/pkgs/by-name/hy/hyprdim/package.nix
+++ b/pkgs/by-name/hy/hyprdim/package.nix
@@ -8,21 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyprdim";
-  version = "2.2.4";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner = "donovanglover";
     repo = "hyprdim";
     rev = version;
-    hash = "sha256-XRaBrn8gnXyMiCf3UQvdZGnZ//YMUivfVg0IoZF5F88=";
+    hash = "sha256-EWZnimLLV879FiZUax1YK5ML/Qz4qt29rJWn5uoKtqw=";
   };
 
-  cargoLock = {
-    lockFile = ./Cargo.lock;
-    outputHashes = {
-      "hyprland-0.3.13" = "sha256-gjShmFcECdX0/t7mL035l9e9OzZuJqX0Ueozv38l03g=";
-    };
-  };
+  cargoHash = "sha256-V4Z3PKavxfQm7zSoTyoWtxpc8yuuGPemO4OdadQEVdg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/hy/hyprland-activewindow/package.nix b/pkgs/by-name/hy/hyprland-activewindow/package.nix
index 1ff0396fb7c72..5bbdd467fd6eb 100644
--- a/pkgs/by-name/hy/hyprland-activewindow/package.nix
+++ b/pkgs/by-name/hy/hyprland-activewindow/package.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyprland-activewindow";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "FieldOfClay";
     repo = "hyprland-activewindow";
     rev = "v${version}";
-    hash = "sha256-kF2dNb9hiC6RcL2XG8k18da5he94Jpv3v+HdfHbeW3E=";
+    hash = "sha256-kRxA2DLbbABPJFwv/L7yeNJ8eqNUbuV6U/PB5iJNoAw=";
   };
 
-  cargoHash = "sha256-YCzAfVLKDECGG/1fs3vyVB0oglxLFSE+2cnmLc7RoEo=";
+  cargoHash = "sha256-s3Ho0+OzuLuWqFvaBu9NLXoasByHSuun9eJGAAISOJc=";
 
   meta = with lib; {
     description = "A multi-monitor-aware Hyprland workspace widget helper";
diff --git a/pkgs/by-name/in/incus/generic.nix b/pkgs/by-name/in/incus/generic.nix
index 0e05a51ceee2a..56b10804079b7 100644
--- a/pkgs/by-name/in/incus/generic.nix
+++ b/pkgs/by-name/in/incus/generic.nix
@@ -81,7 +81,8 @@ buildGoModule rec {
     make incus-agent incus-migrate
   '';
 
-  preCheck =
+  # Disable tests requiring local operations
+  checkFlags =
     let
       skippedTests = [
         "TestValidateConfig"
@@ -91,10 +92,7 @@ buildGoModule rec {
         "TestContainerTestSuite"
       ];
     in
-    ''
-      # Disable tests requiring local operations
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   postInstall = ''
     installShellCompletion --cmd incus \
diff --git a/pkgs/by-name/in/intune-portal/package.nix b/pkgs/by-name/in/intune-portal/package.nix
index 6e60df8bde46b..c517718244463 100644
--- a/pkgs/by-name/in/intune-portal/package.nix
+++ b/pkgs/by-name/in/intune-portal/package.nix
@@ -23,11 +23,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "intune-portal";
-  version = "1.2402.12-jammy";
+  version = "1.2404.23-jammy";
 
   src = fetchurl {
     url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/i/${pname}/${pname}_${version}_amd64.deb";
-    hash = "sha256-S5+Ddm13OJ4eQTQ9Q8OgsCqnpM6GxuZ1hEycZCy6//g=";
+    hash = "sha256-zAH35iF+3YpDNGo3UhmzL4pRJXlEhG1PaT71qnRtpAg=";
   };
 
   nativeBuildInputs = [ dpkg ];
diff --git a/pkgs/by-name/ka/katriawm/package.nix b/pkgs/by-name/ka/katriawm/package.nix
index 85116255e24f0..7e8817a9e87dd 100644
--- a/pkgs/by-name/ka/katriawm/package.nix
+++ b/pkgs/by-name/ka/katriawm/package.nix
@@ -1,10 +1,12 @@
-{ lib
-, stdenv
-, fetchzip
-, libX11
-, libXft
-, libXrandr
-, pkg-config
+{
+  lib,
+  stdenv,
+  fetchzip,
+  libX11,
+  libXft,
+  libXrandr,
+  pkg-config,
+  gitUpdater,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -16,9 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-IWviLboZz421/Amz/QG4o8jYaG8Y/l5PvmvXfK5nzJE=";
   };
 
-  nativeBuildInputs = [
-    pkg-config
-  ];
+  nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
     libX11
@@ -26,11 +26,17 @@ stdenv.mkDerivation (finalAttrs: {
     libXrandr
   ];
 
-  outputs = [ "out" "man" ];
+  outputs = [
+    "out"
+    "man"
+  ];
 
   strictDeps = true;
 
-  makeFlags = [ "-C" "src" ];
+  makeFlags = [
+    "-C"
+    "src"
+  ];
 
   installFlags = [ "prefix=$(out)" ];
 
@@ -39,6 +45,11 @@ stdenv.mkDerivation (finalAttrs: {
       --replace pkg-config "$PKG_CONFIG"
   '';
 
+  passthru.updateScript = gitUpdater {
+    url = "https://www.uninformativ.de/git/katriawm.git/";
+    rev-prefix = "v";
+  };
+
   meta = {
     homepage = "https://www.uninformativ.de/git/katriawm/file/README.html";
     description = "A non-reparenting, dynamic window manager with decorations";
diff --git a/pkgs/by-name/ke/keto/package.nix b/pkgs/by-name/ke/keto/package.nix
new file mode 100644
index 0000000000000..8f50762bfeb26
--- /dev/null
+++ b/pkgs/by-name/ke/keto/package.nix
@@ -0,0 +1,45 @@
+{
+  fetchFromGitHub,
+  buildGoModule,
+  lib,
+}:
+let
+  pname = "keto";
+  version = "0.13.0-alpha.0";
+  commit = "c75695837f170334b526359f28967aa33d61bce6";
+in
+buildGoModule {
+  inherit pname version commit;
+
+  src = fetchFromGitHub {
+    owner = "ory";
+    repo = "keto";
+    rev = "v${version}";
+    sha256 = "sha256-0yylaaXogN2HWXY8Tb7ScN4jdyeHecJ0gBYlVvcwaNE=";
+  };
+
+  vendorHash = "sha256-lgwV4Ysjmd9e850Rf5c0wSZtMW3U34/piwwG7dQEUV4=";
+
+  tags = [
+    "sqlite"
+    "json1"
+    "hsm"
+  ];
+
+  subPackages = [ "." ];
+
+  # Pass versioning information via ldflags
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/ory/keto/internal/driver/config.Version=${version}"
+    "-X github.com/ory/keto/internal/driver/config.Commit=${commit}"
+  ];
+
+  meta = {
+    description = "ORY Keto, the open source access control server";
+    homepage = "https://www.ory.sh/keto/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ mrmebelman ];
+  };
+}
diff --git a/pkgs/by-name/ko/kor/package.nix b/pkgs/by-name/ko/kor/package.nix
index 09abafc69d7cc..a04132f991306 100644
--- a/pkgs/by-name/ko/kor/package.nix
+++ b/pkgs/by-name/ko/kor/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kor";
-  version = "0.3.8";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "yonahd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4lXLmh8BP7h6k8Tt/oklvv7fmDvmdKQP0P7gaCM2TK0=";
+    hash = "sha256-OZSec1S583jVGqSET0y4WhKxWf9CyLKuhEwu39Zg9vE=";
   };
 
-  vendorHash = "sha256-ScV12Xb+tVluXC2Jat44atkKXZIzIcUdZ+lyD1Y3dIM=";
+  vendorHash = "sha256-4XcmaW4H+IgZZx3PuG0aimqSG1eUnRtcbebKXuencnQ=";
 
   preCheck = ''
     HOME=$(mktemp -d)
diff --git a/pkgs/by-name/ky/kyua/kyua-check-hook.sh b/pkgs/by-name/ky/kyua/kyua-check-hook.sh
new file mode 100644
index 0000000000000..0e8f724d5b4ea
--- /dev/null
+++ b/pkgs/by-name/ky/kyua/kyua-check-hook.sh
@@ -0,0 +1,10 @@
+kyuaCheckPhase() {
+    runHook preCheck
+    # Kyua expects to save test results in ~/.kyua/store
+    HOME=$TMPDIR kyua test
+    runHook postCheck
+}
+
+if [ -z "${dontUseKyuaCheck-}" ] && [ -z "${checkPhase-}" ]; then
+    checkPhase=kyuaCheckPhase
+fi
diff --git a/pkgs/by-name/ky/kyua/package.nix b/pkgs/by-name/ky/kyua/package.nix
new file mode 100644
index 0000000000000..6209c20480373
--- /dev/null
+++ b/pkgs/by-name/ky/kyua/package.nix
@@ -0,0 +1,119 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  atf,
+  autoreconfHook,
+  lutok,
+  pkg-config,
+  sqlite,
+  gitUpdater,
+}:
+
+let
+  # Avoid an infinite recursion (because ATF uses Kyua for testing).
+  atf' = atf.overrideAttrs (_: {
+    doInstallCheck = false;
+  });
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kyua";
+  version = "0.13-unstable-2024-01-22"; # Match the commit used in FreeBSD’s port.
+
+  src = fetchFromGitHub {
+    owner = "freebsd";
+    repo = "kyua";
+    rev = "c85354e09ad93a902c9e8a701c042c045ec2a5b7";
+    hash = "sha256-fZ0WFgOTj8Gw8IT5O8DnuaNyZscKpg6B94m+l5UoZGc";
+  };
+
+  setupHooks = ./kyua-check-hook.sh;
+
+  postPatch =
+    ''
+      # Fix a linking error on Darwin. Embedding an archive in an archive isn’t portable.
+      substituteInPlace cli/Makefile.am.inc \
+        --replace-fail 'libcli_a_LIBADD = libutils.a' "" \
+        --replace-fail 'CLI_LIBS = ' 'CLI_LIBS = libutils.a '
+    ''
+    # These tests fail on Darwin or are unreliable.
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.isDarwin) ''
+      sed -i utils/process/Makefile.am.inc -e '/executor_pid_test/d'
+      substituteInPlace utils/process/Kyuafile \
+        --replace-fail 'atf_test_program{name="executor_pid_test"}' ""
+      substituteInPlace engine/atf_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, test__body_only__crashes);' ""
+      substituteInPlace engine/scheduler_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, integration__stacktrace);' ""
+      substituteInPlace utils/stacktrace_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, unlimit_core_size);' ""
+      substituteInPlace utils/process/isolation_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, isolate_child__enable_core_dumps);' ""
+      substituteInPlace utils/process/operations_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, terminate_self_with__termsig_and_core);' ""
+      substituteInPlace utils/process/status_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, integration__coredump);' ""
+      substituteInPlace integration/cmd_test_test.sh \
+        --replace-fail 'atf_add_test_case premature_exit' ""
+    ''
+    # fchflags and UF_NOUNLINK are not supported on Linux. Other tests also fail.
+    + lib.optionalString (finalAttrs.doInstallCheck && stdenv.isLinux) ''
+      sed -i utils/process/Makefile.am.inc -e '/executor_pid_test/d'
+      substituteInPlace utils/process/Kyuafile \
+        --replace-fail 'atf_test_program{name="executor_pid_test"}' ""
+      substituteInPlace engine/atf_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, test__body_only__crashes);' ""
+      substituteInPlace utils/stacktrace_test.cpp \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, dump_stacktrace__ok);' "" \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, dump_stacktrace_if_available__append);' "" \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, find_core__found__long);' "" \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, find_core__found__short);' "" \
+        --replace-fail 'ATF_ADD_TEST_CASE(tcs, unlimit_core_size__hard_is_zero);' ""
+      substituteInPlace integration/cmd_test_test.sh \
+        --replace-fail 'atf_add_test_case premature_exit' ""
+    '';
+
+  strictDeps = true;
+
+  buildInputs = [
+    lutok
+    sqlite
+  ];
+
+  nativeBuildInputs = [
+    atf'
+    autoreconfHook
+    pkg-config
+  ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [
+    # Kyua isn’t compatible with C++17, which is the default on current clang and GCC.
+    "CXXFLAGS=-std=c++11"
+  ];
+
+  doInstallCheck = true;
+
+  installCheckInputs = [ atf' ];
+  nativeInstallCheckInputs = [ sqlite ];
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    HOME=$TMPDIR PATH=$out/bin:$PATH kyua test
+    runHook postInstallCheck
+  '';
+
+  passthru.updateScript = gitUpdater { rev-prefix = "kyua-"; };
+
+  __structuredAttrs = true;
+
+  meta = {
+    description = "Testing framework for infrastructure software";
+    homepage = "https://github.com/freebsd/kyua/";
+    license = lib.licenses.bsd3;
+    mainProgram = "kyua";
+    maintainers = with lib.maintainers; [ reckenrode ];
+    platforms = lib.platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/li/libiconv-darwin/meson.build b/pkgs/by-name/li/libiconv-darwin/meson.build
new file mode 100644
index 0000000000000..99adeb7fe0849
--- /dev/null
+++ b/pkgs/by-name/li/libiconv-darwin/meson.build
@@ -0,0 +1,303 @@
+# Build settings based on the upstream Xcode project.
+# See: https://github.com/apple-oss-distributions/libiconv/blob/main/libiconv.xcodeproj/project.pbxproj
+
+# Project settings
+project('libiconv', 'c', version : '@version@')
+
+fs = import('fs')
+
+
+# Dependencies
+cc = meson.get_compiler('c')
+
+
+# Definitions
+prefix_libdir = get_option('prefix') / get_option('libdir')
+prefix_datadir = get_option('prefix') / get_option('datadir')
+
+i18nmoduledir = prefix_libdir / 'i18n'
+esdbdir = prefix_datadir / 'i18n/esdb'
+csmapperdir = prefix_datadir / 'i18n/csmapper'
+
+
+# Libraries
+libcharset = library(
+    'charset',
+    darwin_versions : '1',
+    install : true,
+    include_directories : ['libcharset'],
+    sources : [
+        'libcharset/libcharset.c'
+    ],
+    soversion : '1'
+)
+install_headers(
+    'libcharset/libcharset.h',
+    'libcharset/localcharset.h'
+)
+
+libiconv = library(
+    'iconv',
+    build_rpath : fs.parent(libcharset.full_path()),
+    c_args : [
+        f'-D_PATH_I18NMODULE="@i18nmoduledir@"',
+        f'-D_PATH_ESDB="@esdbdir@"',
+        f'-D_PATH_CSMAPPER="@csmapperdir@"'
+    ],
+    darwin_versions : '7',
+    install : true,
+    include_directories : ['citrus', 'libcharset'],
+    link_args : ['-Wl,-reexport_library', fs.name(libcharset.full_path())],
+    link_depends : [libcharset],
+    override_options : {'b_asneeded' : false}, # Make sure the libcharset reexport is not stripped
+    sources : [
+        'citrus/__iconv_get_list.c',
+        'citrus/__iconv_free_list.c',
+        'citrus/__iconv.c',
+        'citrus/bsd_iconv.c',
+        'citrus/citrus_bcs_strtol.c',
+        'citrus/citrus_bcs_strtoul.c',
+        'citrus/citrus_bcs.c',
+        'citrus/citrus_csmapper.c',
+        'citrus/citrus_db.c',
+        'citrus/citrus_db_factory.c',
+        'citrus/citrus_db_hash.c',
+        'citrus/citrus_esdb.c',
+        'citrus/citrus_hash.c',
+        'citrus/citrus_iconv.c',
+        'citrus/citrus_lookup_factory.c',
+        'citrus/citrus_lookup.c',
+        'citrus/citrus_mapper.c',
+        'citrus/citrus_memstream.c',
+        'citrus/citrus_mmap.c',
+        'citrus/citrus_module.c',
+        'citrus/citrus_none.c',
+        'citrus/citrus_pivot_factory.c',
+        'citrus/citrus_prop.c',
+        'citrus/citrus_stdenc.c',
+        'citrus/iconv_canonicalize.c',
+        'citrus/iconv_close.c',
+        'citrus/iconv_compat.c',
+        'citrus/iconv_open_into.c',
+        'citrus/iconv_open.c',
+        'citrus/iconv_set_relocation_prefix.c',
+        'citrus/iconvctl.c',
+        'citrus/iconvlist.c',
+        'citrus/iconv.c',
+    ],
+    soversion : '2'
+)
+install_headers(
+    'citrus/iconv.h'
+)
+install_man(
+    'citrus/__iconv_get_list.3',
+    'citrus/iconv_canonicalize.3',
+    'citrus/iconv.3',
+    'citrus/iconvctl.3',
+    'citrus/iconvlist.3',
+)
+
+
+# Binaries
+executable(
+    'iconv',
+    install : true,
+    include_directories : ['citrus', 'libcharset'],
+    link_with : [libiconv],
+    sources : [
+        'iconv/iconv.c'
+    ]
+)
+install_man('iconv/iconv.1')
+
+
+# Data
+## csmapper
+csmapper_modules = [
+    'APPLE',
+    'AST',
+    'BIG5',
+    'CNS',
+    'CP',
+    'EBCDIC',
+    'GB',
+    'GEORGIAN',
+    'ISO-8859',
+    'ISO646',
+    'JIS',
+    'KAZAKH',
+    'KOI',
+    'KS',
+    'MISC',
+    'TCVN'
+]
+
+foreach module : csmapper_modules
+    mps_files = run_command(
+        'find', 'i18n/csmapper' / module, '-regex', '.*\\.\\(mps\\|646\\)',
+        check : true
+    ).stdout().strip().split('\n')
+    install_data(mps_files, install_dir : csmapperdir / module)
+endforeach
+
+install_data(
+    'i18n/csmapper/charset.pivot',
+    'i18n/csmapper/charset.pivot.pvdb',
+    'i18n/csmapper/mapper.dir',
+    'i18n/csmapper/mapper.dir.db',
+    install_dir : csmapperdir
+)
+
+## esdb
+esdb_modules = [
+    'APPLE',
+    'AST',
+    'BIG5',
+    'CP',
+    'DEC',
+    'EBCDIC',
+    'EUC',
+    'GB',
+    'GEORGIAN',
+    'ISO-2022',
+    'ISO-8859',
+    'ISO646',
+    'KAZAKH',
+    'KOI',
+    'MISC',
+    'TCVN',
+    'UTF'
+]
+
+foreach module : esdb_modules
+    esdb_files = run_command(
+        'find', 'i18n/esdb' / module, '-name', '*.esdb',
+        check : true
+    ).stdout().strip().split('\n')
+    install_data(esdb_files, install_dir : esdbdir / module)
+endforeach
+
+install_data(
+    'i18n/esdb/esdb.alias',
+    'i18n/esdb/esdb.alias.db',
+    'i18n/esdb/esdb.dir',
+    'i18n/esdb/esdb.dir.db',
+    install_dir : esdbdir
+)
+
+
+# Modules
+libiconv_modules = [
+    'BIG5',
+    'DECHanyu',
+    'DECKanji',
+    'EUC',
+    'EUCTW',
+    'GBK2K',
+    'HZ',
+    'ISO2022',
+    'JOHAB',
+    'MSKanji',
+    'UES',
+    'UTF1632',
+    'UTF7',
+    'UTF8',
+    'UTF8MAC',
+    'VIQR',
+    'ZW',
+    'iconv_none',
+    'iconv_std',
+    'mapper_646',
+    'mapper_none',
+    'mapper_serial',
+    'mapper_parallel',
+    'mapper_std',
+    'mapper_zone'
+]
+
+foreach module : libiconv_modules
+    module_source = module.to_lower()
+    module_path = 'libiconv_modules' / module
+
+    if module == 'UTF8MAC'
+        extra_headers = 'libiconv_modules/UTF8'
+    else
+        extra_headers = [ ]
+    endif
+
+    # Upstream builds this module under both names.
+    # See: https://github.com/apple-oss-distributions/libiconv/blob/81be60a93521c931a01aab9c747dd2b078bc0679/libiconv.xcodeproj/project.pbxproj#L2549-L2556
+    # See also: https://cgit.freebsd.org/src/tree/lib/libiconv_modules/mapper_parallel/Makefile?id=9241ebc796c11cf133c550f188f324bd2c12d89a
+    if module == 'mapper_parallel'
+        module_source = 'mapper_serial'
+        module_path = 'libiconv_modules/mapper_serial'
+    endif
+
+    library(
+        module,
+        darwin_versions : '1',
+        install : true,
+        install_dir : i18nmoduledir,
+        include_directories : [module_path, 'citrus', 'libcharset'] + extra_headers,
+        link_with : [libiconv],
+        override_options : {'b_asneeded' : false}, # Upstream always links libiconv
+        sources : [
+            module_path / f'citrus_@module_source@.c'
+        ]
+    )
+endforeach
+
+
+# Tests
+if get_option('tests') == true
+## Only required for running the tests
+    atf = dependency('atf-c')
+    foreach suite : ['libiconv_test', 'mbopt_test', 'nixpkgs_test']
+        test_src = f'tests/libiconv/@suite@.c'
+        test_exe = executable(
+            suite,
+            dependencies : [atf],
+            include_directories : ['citrus', 'libcharset'],
+            link_with : [libiconv],
+            sources : [test_src]
+        )
+
+        # Extract the tests to run from the test source code.
+        tests = run_command(
+            'sed', '-n', '-E', 's|.*ATF_TP_ADD_TC\\([^,]*, ([^)]*).*$|\\1|p', test_src,
+            check : true
+        ).stdout().strip().split('\n')
+
+        foreach test : tests
+            test(test, test_exe, args : [test], suite : suite, timeout : 300)
+        endforeach
+    endforeach
+
+# These tests depend on `os_variant_has_internal_content`, which is stubbed out.
+#     atf_sh = find_program('atf-sh')
+#     print_charset = executable(
+#         'print_charset',
+#         include_directories : ['citrus', 'libcharset'],
+#         link_with : [libiconv],
+#         sources : 'tests/libcharset/print_charset.c'
+#     )
+#
+#     test_charset = custom_target(
+#         'test_charset.sh',
+#         command : ['cp', '@INPUT@', '@OUTPUT@'],
+#         depends : print_charset,
+#         input : 'tests/libcharset/test_charset.sh',
+#         output : 'test_charset.sh'
+#     )
+#
+#     # Extract the tests to run from the test source code.
+#     tests = run_command(
+#         'sed', '-n', '-E', 's|.*atf_add_test_case (.*$)|\\1|p', 'tests/libcharset/test_charset.sh',
+#         check : true
+#     ).stdout().strip().split('\n')
+#
+#     foreach test : tests
+#         test(test, atf_sh, args : [test_charset, test], suite : 'libcharset', timeout : 300)
+#     endforeach
+endif
diff --git a/pkgs/by-name/li/libiconv-darwin/meson.options b/pkgs/by-name/li/libiconv-darwin/meson.options
new file mode 100644
index 0000000000000..c75832a377a59
--- /dev/null
+++ b/pkgs/by-name/li/libiconv-darwin/meson.options
@@ -0,0 +1 @@
+option('tests', type : 'boolean')
diff --git a/pkgs/by-name/li/libiconv-darwin/nixpkgs_test.c b/pkgs/by-name/li/libiconv-darwin/nixpkgs_test.c
new file mode 100644
index 0000000000000..40400ef832832
--- /dev/null
+++ b/pkgs/by-name/li/libiconv-darwin/nixpkgs_test.c
@@ -0,0 +1,82 @@
+#include <atf-c.h>
+#include <iconv.h>
+#include <stdint.h>
+
+// The following tests were failing in libarchive due to libiconv issues.
+//   218: test_read_format_cab_filename (4 failures)
+//   415: test_read_format_zip_filename_CP932_eucJP (4 failures)
+//   426: test_read_format_zip_filename_CP932_CP932 (2 failures)
+
+ATF_TC(test_cp932_eucjp);
+ATF_TC_HEAD(test_cp932_eucjp, tc)
+{
+    atf_tc_set_md_var(tc, "descr", "regression test for CP932 to EUC-JP conversion");
+}
+ATF_TC_BODY(test_cp932_eucjp, tc)
+{
+    char expected[] = "\xc9\xbd\xa4\xc0\xa4\xe8\x5c\xb4\xc1\xbb\xfa\x2e\x74\x78\x74";
+    size_t expected_length = sizeof(expected) - 1;
+
+    char input[] = "\x95\x5c\x82\xbe\x82\xe6\x5c\x8a\xbf\x8e\x9a\x2e\x74\x78\x74";
+    size_t input_length = sizeof(input) - 1;
+
+    size_t output_available = sizeof(expected) - 1 ;
+    char output[sizeof(expected)] = { 0 };
+
+    iconv_t cd = iconv_open("eucJP", "CP932");
+    ATF_REQUIRE((size_t)cd != -1);
+
+    char* input_buf = input;
+    char* output_buf = output;
+
+    size_t res = iconv(cd, &input_buf, &input_length, &output_buf, &output_available);
+    iconv_close(cd);
+
+    ATF_CHECK(res != -1);
+
+    size_t output_length = sizeof(output) - output_available - 1;
+
+    ATF_CHECK_INTEQ(expected_length, output_length);
+    ATF_CHECK_STREQ(expected, output);
+}
+
+ATF_TC(test_cp932_cp932);
+ATF_TC_HEAD(test_cp932_cp932, tc)
+{
+    atf_tc_set_md_var(tc, "descr", "regression test for CP932 to CP932 conversion");
+}
+ATF_TC_BODY(test_cp932_cp932, tc)
+{
+    char expected[] = "\x95\x5c\x82\xbe\x82\xe6\x5c\x8a\xbf\x8e\x9a\x2e\x74\x78\x74";
+    size_t expected_length = sizeof(expected) - 1;
+
+    char input[] = "\x95\x5c\x82\xbe\x82\xe6\x5c\x8a\xbf\x8e\x9a\x2e\x74\x78\x74";
+    size_t input_length = sizeof(input) - 1;
+
+    size_t output_available = sizeof(expected) - 1 ;
+    char output[sizeof(expected)] = { 0 };
+
+    iconv_t cd = iconv_open("CP932", "CP932");
+    ATF_REQUIRE((size_t)cd != -1);
+
+    char* input_buf = input;
+    char* output_buf = output;
+
+    size_t res = iconv(cd, &input_buf, &input_length, &output_buf, &output_available);
+    iconv_close(cd);
+
+    ATF_CHECK(res != -1);
+
+    size_t output_length = sizeof(output) - output_available - 1;
+
+    ATF_CHECK_INTEQ(expected_length, output_length);
+    ATF_CHECK_STREQ(expected, output);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+    ATF_TP_ADD_TC(tp, test_cp932_eucjp);
+    ATF_TP_ADD_TC(tp, test_cp932_cp932);
+
+    return atf_no_error();
+}
diff --git a/pkgs/by-name/li/libiconv-darwin/package.nix b/pkgs/by-name/li/libiconv-darwin/package.nix
new file mode 100644
index 0000000000000..bb5291831b655
--- /dev/null
+++ b/pkgs/by-name/li/libiconv-darwin/package.nix
@@ -0,0 +1,95 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  atf,
+  libiconvReal,
+  meson,
+  ninja,
+  pkg-config,
+  gitUpdater,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libiconv";
+  version = "99";
+
+  outputs = [
+    "out"
+    "dev"
+  ];
+
+  src = fetchFromGitHub {
+    owner = "apple-oss-distributions";
+    repo = "libiconv";
+    rev = "libiconv-${finalAttrs.version}";
+    hash = "sha256-TGt6rsU52ztfW2rCqwnhMAExLbexI/59IoDOGY+XGu0=";
+  };
+
+  inherit (libiconvReal) setupHooks;
+
+  postPatch =
+    ''
+      substitute ${./meson.build} meson.build --subst-var version
+      cp ${./meson.options} meson.options
+
+      # Work around unnecessary private API usage in libcharset
+      mkdir -p libcharset/os && cat <<-header > libcharset/os/variant_private.h
+        #pragma once
+        #include <stdbool.h>
+        static inline bool os_variant_has_internal_content(const char*) { return false; }
+      header
+
+      cp ${./nixpkgs_test.c} tests/libiconv/nixpkgs_test.c
+    '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
+
+  mesonBuildType = "release";
+
+  mesonFlags = [ (lib.mesonBool "tests" finalAttrs.doInstallCheck) ];
+
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    ${stdenv.cc.targetPrefix}install_name_tool "$out/lib/libiconv.2.dylib" \
+      -change '@rpath/libcharset.1.dylib' "$out/lib/libcharset.1.dylib"
+  '';
+
+  # Tests have to be run in `installCheckPhase` because libiconv expects to `dlopen`
+  # modules from `$out/lib/i18n`.
+  nativeInstallCheckInputs = [ pkg-config ];
+  installCheckInputs = [ atf ];
+
+  doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+  # Can’t use `mesonCheckPhase` because it runs the wrong hooks for `installCheckPhase`.
+  installCheckPhase = ''
+    runHook preInstallCheck
+    meson test --no-rebuild
+    runHook postInstallCheck
+  '';
+
+  passthru.updateScript = gitUpdater { rev-prefix = "libiconv-"; };
+
+  __structuredAttrs = true;
+
+  meta = {
+    description = "An iconv(3) implementation";
+    homepage = "https://opensource.apple.com/releases/";
+    license =
+      with lib.licenses;
+      [
+        bsd2
+        bsd3
+      ]
+      ++ lib.optional finalAttrs.doInstallCheck apsl10;
+    mainProgram = "iconv";
+    maintainers = with lib.maintainers; [ reckenrode ];
+    platforms = lib.platforms.darwin;
+  };
+})
diff --git a/pkgs/by-name/li/live555/package.nix b/pkgs/by-name/li/live555/package.nix
index 2c9f13520eb7f..e8fb1309844b8 100644
--- a/pkgs/by-name/li/live555/package.nix
+++ b/pkgs/by-name/li/live555/package.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "live555";
-  version = "2024.04.19";
+  version = "2024.05.05";
 
   src = fetchurl {
     urls = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
       "https://download.videolan.org/contrib/live555/live.${finalAttrs.version}.tar.gz"
       "mirror://sourceforge/slackbuildsdirectlinks/live.${finalAttrs.version}.tar.gz"
     ];
-    hash = "sha256-5sLr/sZ3LB83CEJx5OUjarx/Dh/ESJ+YaXY0QCAN3MI=";
+    hash = "sha256-jGT1jg5pa4bwIcxUy7/svIhU2HCxx2TNMkWvBfN33nM=";
   };
 
   patches = [
diff --git a/pkgs/by-name/lu/lutok/package.nix b/pkgs/by-name/lu/lutok/package.nix
new file mode 100644
index 0000000000000..a09724b5348f9
--- /dev/null
+++ b/pkgs/by-name/lu/lutok/package.nix
@@ -0,0 +1,87 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  atf,
+  autoreconfHook,
+  kyua,
+  lua,
+  pkg-config,
+  gitUpdater,
+}:
+
+lib.fix (
+  drv:
+  let
+    # Avoid infinite recursions:
+    # - Lutok depends on ATF and Kyua for testing; but
+    # - ATF depends on Kyua for testing, and Kyua depends on Lutok as a build input.
+    # To break the cycle (ATF -> Kyua -> Lutok -> ATF and Kyua):
+    # - Build ATF without testing (avoiding the Kyua dependency); and
+    # - Build Kyua against a version of Lutok without testing (also avoiding the ATF and Kyua dependencies).
+    atf' = atf.overrideAttrs (_: {
+      doInstallCheck = false;
+    });
+    kyua' =
+      (kyua.override {
+        lutok = drv.overrideAttrs (_: {
+          doCheck = false;
+        });
+      }).overrideAttrs
+        (_: {
+          # Assume Kyua’s install check phase will run when Kyua is built. Don’t run it again
+          # while building Lutok because it can take four to five minutes to run.
+          doInstallCheck = false;
+        });
+  in
+  stdenv.mkDerivation (finalAttrs: {
+    pname = "lutok";
+    version = "0.4";
+
+    outputs = [
+      "out"
+      "dev"
+    ];
+
+    src = fetchFromGitHub {
+      owner = "freebsd";
+      repo = "lutok";
+      rev = "lutok-${finalAttrs.version}";
+      hash = "sha256-awAFxx9q8dZ6JO1/mShjhJnOPTLn1wCT4VrB4rlgWyg=";
+    };
+
+    strictDeps = true;
+
+    propagatedBuildInputs = [ lua ];
+
+    nativeBuildInputs = [
+      atf'
+      autoreconfHook
+      pkg-config
+    ];
+
+    enableParallelBuilding = true;
+
+    makeFlags = [
+      # Lutok isn’t compatible with C++17, which is the default on current clang and GCC.
+      "CXXFLAGS=-std=c++11"
+    ];
+
+    doCheck = true;
+
+    checkInputs = [ atf' ];
+    nativeCheckInputs = [ kyua' ];
+
+    passthru.updateScript = gitUpdater { rev-prefix = "lutok-"; };
+
+    __structuredAttrs = true;
+
+    meta = {
+      description = "Libraries to write tests in C, C++, and shell";
+      homepage = "https://github.com/freebsd/lutok/";
+      license = lib.licenses.bsd3;
+      maintainers = with lib.maintainers; [ reckenrode ];
+      platforms = lib.platforms.unix;
+    };
+  })
+)
diff --git a/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix b/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix
index c11ece294dc17..41b20f4860687 100644
--- a/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix
+++ b/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix
@@ -71,7 +71,7 @@ buildGo122Module rec {
     make lxd-agent lxd-migrate
   '';
 
-  preCheck =
+  checkFlags =
     let
       skippedTests = [
         "TestValidateConfig"
@@ -81,10 +81,7 @@ buildGo122Module rec {
         "TestContainerTestSuite"
       ];
     in
-    ''
-      # Disable tests requiring local operations
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   postInstall = ''
     installShellCompletion --bash --name lxd ./scripts/bash/lxd-client
diff --git a/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix b/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix
new file mode 100644
index 0000000000000..7b93d94b42cef
--- /dev/null
+++ b/pkgs/by-name/lx/lxgw-wenkai-tc/package.nix
@@ -0,0 +1,30 @@
+{ stdenvNoCC
+, fetchurl
+, lib
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "lxgw-wenkai-tc";
+  version = "1.330";
+  src = fetchurl {
+    url = "https://github.com/lxgw/LxgwWenKaiTC/releases/download/v${version}/${pname}-v${version}.tar.gz";
+    hash = "sha256-qpX5shH1HbGMa287u/R1rMFgQeAUC0wwKFVD+QSTyho=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/truetype
+    mv *.ttf $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/lxgw/LxgwWenKaiTC";
+    description = "The Traditional Chinese Edition of LXGW WenKai.";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ lebensterben ];
+  };
+}
diff --git a/pkgs/by-name/ma/makejinja/package.nix b/pkgs/by-name/ma/makejinja/package.nix
new file mode 100644
index 0000000000000..cc53732ae3d64
--- /dev/null
+++ b/pkgs/by-name/ma/makejinja/package.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  python3Packages,
+  fetchFromGitHub,
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "makejinja";
+  version = "2.6.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mirkolenz";
+    repo = "makejinja";
+    rev = "v${version}";
+    hash = "sha256-sH4m+rcHA6nW21xEJon10lS7e5QiFwUyvV49NZ3UY+s=";
+  };
+
+  build-system = with python3Packages; [ poetry-core ];
+
+  dependencies =
+    with python3Packages;
+    [
+      jinja2
+      pyyaml
+      rich-click
+      typed-settings
+      immutables
+    ]
+    ++ typed-settings.optional-dependencies.attrs
+    ++ typed-settings.optional-dependencies.cattrs
+    ++ typed-settings.optional-dependencies.click;
+
+  preCheck = ''
+    substituteInPlace pyproject.toml \
+        --replace-fail "--cov makejinja --cov-report term-missing" ""
+  '';
+
+  nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
+
+  meta = {
+    description = "Generate entire directory structures using Jinja templates with support for external data and custom plugins";
+    homepage = "https://github.com/mirkolenz/makejinja";
+    license = lib.licenses.mit;
+    mainProgram = "makejinja";
+    maintainers = with lib.maintainers; [
+      tomasajt
+      mirkolenz
+    ];
+    platforms = lib.platforms.darwin ++ lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/by-name/ma/mako/package.nix
index 8c4e37661a8c6..ad518f00e582d 100644
--- a/pkgs/applications/misc/mako/default.nix
+++ b/pkgs/by-name/ma/mako/package.nix
@@ -3,18 +3,17 @@
 , wayland, wayland-protocols
 , wrapGAppsHook3 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "mako";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-sUFMcCrc5iNPeAmRbqDaT/n8OIlFJEwJTzY1HMx94RU=";
+    repo = "mako";
+    rev = "refs/tags/v${finalAttrs.version}";
+    sha256 = "sha256-QtYtondP7E5QXLRnmcaOQlAm9fKXctfjxeUFqK6FnnE=";
   };
 
-  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-protocols wrapGAppsHook3 ];
   buildInputs = [ systemd pango cairo gdk-pixbuf wayland ];
 
@@ -29,12 +28,12 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  meta = with lib; {
+  meta = {
     description = "A lightweight Wayland notification daemon";
     homepage = "https://wayland.emersion.fr/mako/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dywedir synthetica ];
-    platforms = platforms.linux;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dywedir synthetica ];
+    platforms = lib.platforms.linux;
     mainProgram = "mako";
   };
-}
+})
diff --git a/pkgs/by-name/ma/matugen/package.nix b/pkgs/by-name/ma/matugen/package.nix
new file mode 100644
index 0000000000000..f2b80a0a76adb
--- /dev/null
+++ b/pkgs/by-name/ma/matugen/package.nix
@@ -0,0 +1,34 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "matugen";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "InioX";
+    repo = "matugen";
+    rev = "v${version}";
+    hash = "sha256-4VX7Rt+ftEH8nwg59eT7TsvHYUf8/euUmwh/JLc4rLc=";
+  };
+
+  cargoHash = "sha256-axBdOzCUwseV2ltgarmIS3IOYLX3q3rXeA2y6y7aNFI=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
+  ];
+
+  meta = with lib; {
+    description = "A material you color generation tool";
+    homepage = "git@github.com:InioX/matugen.git";
+    changelog = "https://github.com/InioX/matugen/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ lampros ];
+    mainProgram = "matugen";
+  };
+}
diff --git a/pkgs/by-name/ma/maxfetch/package.nix b/pkgs/by-name/ma/maxfetch/package.nix
new file mode 100644
index 0000000000000..3b664020a4e86
--- /dev/null
+++ b/pkgs/by-name/ma/maxfetch/package.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, makeBinaryWrapper
+, gnused
+, ncurses
+, procps
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "maxfetch";
+  version = "unstable-2023-07-31";
+
+  src = fetchFromGitHub {
+    owner = "jobcmax";
+    repo = "maxfetch";
+    rev = "17baa4047073e20572403b70703c69696af6b68d";
+    hash = "sha256-LzOhrFFjGs9GIDjk1lUFKhlnzJuEUrKjBcv1eT3kaY8=";
+  };
+
+  nativeBuildInputs = [ makeBinaryWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 maxfetch $out/bin/maxfetch
+    wrapProgram $out/bin/maxfetch \
+     --prefix PATH : ${lib.makeBinPath [ gnused ncurses procps ]}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Nice fetching program written in sh";
+    homepage = "https://github.com/jobcmax/maxfetch";
+    license = licenses.gpl2Plus;
+    mainProgram = "maxfetch";
+    maintainers = with maintainers; [ jtbx ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/my/mysql84/no-force-outline-atomics.patch b/pkgs/by-name/my/mysql84/no-force-outline-atomics.patch
new file mode 100644
index 0000000000000..a716a4f7f481d
--- /dev/null
+++ b/pkgs/by-name/my/mysql84/no-force-outline-atomics.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 727d66011f9..acae1aada57 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1338,19 +1338,6 @@ IF(UNIX AND MY_COMPILER_IS_GNU_OR_CLANG
+   ENDIF()
+ ENDIF()
+ 
+-# For aarch64 some sub-architectures support LSE atomics and some don't. Thus,
+-# compiling for the common denominator (-march=armv8-a) means LSE is not used.
+-# The -moutline-atomics switch enables run-time detection of LSE support.
+-# There are compilers (gcc 9.3.1 for example) which support this switch, but
+-# do not enable it by default, even though it seems to help. So, we force it.
+-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+-  MY_CHECK_CXX_COMPILER_FLAG( "-moutline-atomics" HAVE_OUTLINE_ATOMICS)
+-  IF(HAVE_OUTLINE_ATOMICS)
+-    STRING_APPEND(CMAKE_C_FLAGS   " -moutline-atomics")
+-    STRING_APPEND(CMAKE_CXX_FLAGS " -moutline-atomics")
+-  ENDIF()
+-ENDIF()
+-
+ IF(LINUX)
+   OPTION(LINK_RANDOMIZE "Randomize the order of all symbols in the binary" OFF)
+   SET(LINK_RANDOMIZE_SEED "mysql"
diff --git a/pkgs/by-name/my/mysql84/package.nix b/pkgs/by-name/my/mysql84/package.nix
new file mode 100644
index 0000000000000..d7081f6141414
--- /dev/null
+++ b/pkgs/by-name/my/mysql84/package.nix
@@ -0,0 +1,78 @@
+{ lib, stdenv, fetchurl, bison, cmake, pkg-config
+, icu, libedit, libevent, lz4, ncurses, openssl, protobuf_21, re2, readline, zlib, zstd, libfido2
+, darwin, numactl, libtirpc, rpcsvc-proto, curl
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mysql";
+  version = "8.4.0";
+
+  src = fetchurl {
+    url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
+    hash = "sha256-R6VDP83WOduDa5nhtUWcK4E8va0j/ytd1K0n95K6kY4=";
+  };
+
+  nativeBuildInputs = [ bison cmake pkg-config ]
+    ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
+
+  patches = [
+    ./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch
+  ];
+
+  ## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references.
+  postPatch = ''
+    substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
+    substituteInPlace cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
+  '';
+
+  buildInputs = [
+    (curl.override { inherit openssl; }) icu libedit libevent lz4 ncurses openssl protobuf_21 re2 readline zlib
+    zstd libfido2
+  ] ++ lib.optionals stdenv.isLinux [
+    numactl libtirpc
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.cctools darwin.apple_sdk.frameworks.CoreServices darwin.developer_cmds darwin.DarwinTools
+  ];
+
+  outputs = [ "out" "static" ];
+
+  cmakeFlags = [
+    "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
+    "-DWITH_ROUTER=OFF" # It may be packaged separately.
+    "-DWITH_SYSTEM_LIBS=ON"
+    "-DWITH_UNIT_TESTS=OFF"
+    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DMYSQL_DATADIR=/var/lib/mysql"
+    "-DINSTALL_INFODIR=share/mysql/docs"
+    "-DINSTALL_MANDIR=share/man"
+    "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
+    "-DINSTALL_INCLUDEDIR=include/mysql"
+    "-DINSTALL_DOCREADMEDIR=share/mysql"
+    "-DINSTALL_SUPPORTFILESDIR=share/mysql"
+    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
+    "-DINSTALL_MYSQLTESTDIR="
+    "-DINSTALL_DOCDIR=share/mysql/docs"
+    "-DINSTALL_SHAREDIR=share/mysql"
+  ];
+
+  postInstall = ''
+    moveToOutput "lib/*.a" $static
+    so=${stdenv.hostPlatform.extensions.sharedLibrary}
+    ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
+  '';
+
+  passthru = {
+    client = finalAttrs.finalPackage;
+    connector-c = finalAttrs.finalPackage;
+    server = finalAttrs.finalPackage;
+    mysqlVersion = lib.versions.majorMinor finalAttrs.version;
+  };
+
+  meta = with lib; {
+    homepage = "https://www.mysql.com/";
+    description = "The world's most popular open source database";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ orivej shyim ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix
index cacb93300c034..463fad2268348 100644
--- a/pkgs/by-name/na/namespace-cli/package.nix
+++ b/pkgs/by-name/na/namespace-cli/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "namespace-cli";
-  version = "0.0.360";
+  version = "0.0.369";
 
   src = fetchFromGitHub {
     owner = "namespacelabs";
     repo = "foundation";
     rev = "v${version}";
-    hash = "sha256-HuicX6g5+TfctiF4/N7uSQtkzzx9y2dnfn0ef+p1nRc=";
+    hash = "sha256-OmU6C0hapdpM/41kEeNwpcMRooCWMLzI5FgQbIvjsb8=";
   };
 
   vendorHash = "sha256-72cHswoTZszo42NOrPNuokDlqoJ3/YEhGe+rQSKvgAw=";
diff --git a/pkgs/applications/misc/onagre/Cargo.lock b/pkgs/by-name/ne/neothesia/Cargo.lock
index b576dbc9022ac..775eacbe57d15 100644
--- a/pkgs/applications/misc/onagre/Cargo.lock
+++ b/pkgs/by-name/ne/neothesia/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "ab_glyph"
-version = "0.2.15"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24606928a235e73cdef55a0c909719cadd72fce573e5713d58cb2952d8f5794c"
+checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
 dependencies = [
  "ab_glyph_rasterizer",
  "owned_ttf_parser",
@@ -14,9 +14,9 @@ dependencies = [
 
 [[package]]
 name = "ab_glyph_rasterizer"
-version = "0.1.5"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a13739d7177fbd22bb0ed28badfff9f372f8bef46c863db4e1c6248f6b223b6e"
+checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
 
 [[package]]
 name = "adler"
@@ -25,53 +25,89 @@ 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"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
- "getrandom 0.2.6",
+ "cfg-if",
+ "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "ansi_term"
-version = "0.12.1"
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "alsa"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47"
 dependencies = [
- "winapi",
+ "alsa-sys",
+ "bitflags 1.3.2",
+ "libc",
+ "nix 0.24.3",
 ]
 
 [[package]]
-name = "anyhow"
-version = "1.0.57"
+name = "alsa-sys"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc"
+checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527"
+dependencies = [
+ "libc",
+ "pkg-config",
+]
 
 [[package]]
-name = "approx"
-version = "0.3.2"
+name = "android-activity"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3"
+checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289"
 dependencies = [
- "num-traits",
+ "android-properties",
+ "bitflags 2.4.2",
+ "cc",
+ "cesu8",
+ "jni 0.21.1",
+ "jni-sys",
+ "libc",
+ "log",
+ "ndk 0.8.0",
+ "ndk-context",
+ "ndk-sys 0.5.0+25.2.9519653",
+ "num_enum 0.7.2",
+ "thiserror",
+]
+
+[[package]]
+name = "android-properties"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
 ]
 
 [[package]]
@@ -85,153 +121,227 @@ dependencies = [
 
 [[package]]
 name = "arrayref"
-version = "0.3.6"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
 
 [[package]]
 name = "arrayvec"
-version = "0.5.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
-name = "arrayvec"
-version = "0.7.2"
+name = "as-raw-xcb-connection"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
 
 [[package]]
 name = "ash"
-version = "0.34.0+1.2.203"
+version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0f780da53d0063880d45554306489f09dd8d1bda47688b4a57bc579119356df"
+checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
 dependencies = [
- "libloading",
+ "libloading 0.7.4",
+]
+
+[[package]]
+name = "ashpd"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b22517ee647547c01a687cf9b76074e1c91334032a4324f7243c6ee0f949390"
+dependencies = [
+ "async-fs",
+ "async-net",
+ "enumflags2",
+ "futures-channel",
+ "futures-util",
+ "rand",
+ "serde",
+ "serde_repr",
+ "url",
+ "zbus",
 ]
 
 [[package]]
 name = "async-broadcast"
-version = "0.4.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bbd92a9bd0e9c1298118ecf8a2f825e86b12c3ec9e411573e34aaf3a0c03cdd"
+checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
 dependencies = [
- "easy-parallel",
- "event-listener",
+ "event-listener 5.1.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
- "parking_lot",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-channel"
-version = "1.6.1"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
+checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
 dependencies = [
  "concurrent-queue",
- "event-listener",
+ "event-listener 5.1.0",
+ "event-listener-strategy 0.5.0",
  "futures-core",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-executor"
-version = "1.4.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
+ "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
  "fastrand",
  "futures-lite",
- "once_cell",
  "slab",
 ]
 
 [[package]]
+name = "async-fs"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
+dependencies = [
+ "async-lock 3.3.0",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
 name = "async-io"
-version = "1.6.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
 dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
  "concurrent-queue",
+ "futures-io",
  "futures-lite",
- "libc",
- "log",
- "once_cell",
  "parking",
  "polling",
+ "rustix",
  "slab",
- "socket2",
- "waker-fn",
- "winapi",
+ "tracing",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-lock"
-version = "2.5.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
 ]
 
 [[package]]
-name = "async-oneshot"
-version = "0.5.0"
+name = "async-lock"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ec7c75bcbcb0139e9177f30692fd617405ca4e0c27802e128d53171f7042e2c"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
 dependencies = [
- "futures-micro",
+ "event-listener 4.0.3",
+ "event-listener-strategy 0.4.0",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "async-pidfd"
-version = "0.1.4"
+name = "async-net"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12177058299bb8e3507695941b6d0d7dc0e4e6515b8bc1bf4609d9e32ef51799"
+checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
 dependencies = [
  "async-io",
- "libc",
+ "blocking",
+ "futures-lite",
+]
+
+[[package]]
+name = "async-process"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8"
+dependencies = [
+ "async-channel",
+ "async-io",
+ "async-lock 3.3.0",
+ "async-signal",
+ "blocking",
+ "cfg-if",
+ "event-listener 5.1.0",
+ "futures-lite",
+ "rustix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "0.3.2"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+dependencies = [
+ "async-io",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.2.0"
+version = "4.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+
+[[package]]
+name = "async-thread"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
+checksum = "3f8127d0634ad2b788f12e8c8623f91c584c2eb7496157b2e0cada5b01e0fbfd"
+dependencies = [
+ "futures-channel",
+]
 
 [[package]]
 name = "async-trait"
-version = "0.1.53"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "atty"
-version = "0.2.14"
+name = "atomic-waker"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi",
- "libc",
- "winapi",
-]
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "autocfg"
@@ -241,15 +351,55 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "base64"
-version = "0.13.0"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
+[[package]]
+name = "bindgen"
+version = "0.64.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
+dependencies = [
+ "bitflags 1.3.2",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "bindgen"
+version = "0.69.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0"
+dependencies = [
+ "bitflags 2.4.2",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.48",
+]
 
 [[package]]
 name = "bit-set"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
 dependencies = [
  "bit-vec",
 ]
@@ -261,12 +411,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
 
 [[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[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.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "block"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -274,123 +439,142 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
 
 [[package]]
 name = "block-buffer"
-version = "0.7.3"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
  "generic-array",
 ]
 
 [[package]]
-name = "block-padding"
-version = "0.1.5"
+name = "block-sys"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
 dependencies = [
- "byte-tools",
+ "objc-sys",
 ]
 
 [[package]]
-name = "bstr"
-version = "0.2.17"
+name = "block2"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
 dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
- "serde",
+ "block-sys",
+ "objc2",
+]
+
+[[package]]
+name = "blocking"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+dependencies = [
+ "async-channel",
+ "async-lock 3.3.0",
+ "async-task",
+ "fastrand",
+ "futures-io",
+ "futures-lite",
+ "piper",
+ "tracing",
 ]
 
 [[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 = "byte-tools"
-version = "0.3.1"
+name = "byte-slice-cast"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c"
 
 [[package]]
 name = "bytemuck"
-version = "1.9.1"
+version = "1.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc"
+checksum = "ea31d69bda4949c1c1562c1e6f042a1caefac98cdc8a298260a2ff41c1e2d42b"
 dependencies = [
  "bytemuck_derive",
 ]
 
 [[package]]
 name = "bytemuck_derive"
-version = "1.1.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "562e382481975bc61d11275ac5e62a19abd00b0547d99516a415336f183dcd0e"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "0.5.6"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
-
-[[package]]
-name = "cache-padded"
-version = "1.2.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
 
 [[package]]
 name = "calloop"
-version = "0.9.3"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf2eec61efe56aa1e813f5126959296933cf0700030e4314786c48779a66ab82"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
 dependencies = [
+ "bitflags 2.4.2",
  "log",
- "nix 0.22.3",
+ "polling",
+ "rustix",
+ "slab",
+ "thiserror",
 ]
 
 [[package]]
-name = "cast"
-version = "0.2.7"
+name = "calloop-wayland-source"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
+checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
 dependencies = [
- "rustc_version 0.4.0",
+ "calloop",
+ "rustix",
+ "wayland-backend",
+ "wayland-client",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.73"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "jobserver",
+ "libc",
+]
 
 [[package]]
-name = "cfg-if"
-version = "0.1.10"
+name = "cesu8"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+
+[[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"
@@ -405,77 +589,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
 [[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "bitflags",
- "textwrap",
- "unicode-width",
-]
-
-[[package]]
-name = "clipboard-win"
-version = "4.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f3e1238132dc01f081e1cbb9dace14e5ef4c3a51ee244bd982275fb514605db"
-dependencies = [
- "error-code",
- "str-buf",
- "winapi",
-]
-
-[[package]]
-name = "clipboard_macos"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "145a7f9e9b89453bc0a5e32d166456405d389cea5b578f57f1274b1397588a95"
-dependencies = [
- "objc",
- "objc-foundation",
- "objc_id",
-]
-
-[[package]]
-name = "clipboard_wayland"
+name = "cfg_aliases"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f6364a9f7a66f2ac1a1a098aa1c7f6b686f2496c6ac5e5c0d773445df912747"
-dependencies = [
- "smithay-clipboard",
-]
+checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
 
 [[package]]
-name = "clipboard_x11"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64240d63f1883d87e5637bfcaf9d77e5c8bd24e30fd440ea2dff5c48c0bf0b7a"
-dependencies = [
- "thiserror",
- "x11rb",
-]
-
-[[package]]
-name = "cmake"
-version = "0.1.48"
+name = "clang-sys"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
 dependencies = [
- "cc",
+ "glob",
+ "libc",
+ "libloading 0.8.1",
 ]
 
 [[package]]
 name = "cocoa"
-version = "0.24.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
  "cocoa-foundation",
- "core-foundation 0.9.3",
- "core-graphics 0.22.3",
+ "core-foundation",
+ "core-graphics",
  "foreign-types",
  "libc",
  "objc",
@@ -483,15 +623,14 @@ dependencies = [
 
 [[package]]
 name = "cocoa-foundation"
-version = "0.1.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "block",
- "core-foundation 0.9.3",
+ "core-foundation",
  "core-graphics-types",
- "foreign-types",
  "libc",
  "objc",
 ]
@@ -513,345 +652,272 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
-name = "concurrent-queue"
-version = "1.2.2"
+name = "com"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
+checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6"
 dependencies = [
- "cache-padded",
+ "com_macros",
 ]
 
 [[package]]
-name = "const_format"
-version = "0.2.23"
+name = "com_macros"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0936ffe6d0c8d6a51b3b0a73b2acbe925d786f346cf45bfddc8341d79fb7dc8a"
+checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5"
 dependencies = [
- "const_format_proc_macros",
+ "com_macros_support",
+ "proc-macro2",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "const_format_proc_macros"
-version = "0.2.22"
+name = "com_macros_support"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef196d5d972878a48da7decb7686eded338b4858fbabeed513d63a7c98b2b82d"
+checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "copyless"
-version = "0.1.5"
+name = "combine"
+version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536"
+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+dependencies = [
+ "bytes",
+ "memchr",
+]
 
 [[package]]
-name = "core-foundation"
-version = "0.7.0"
+name = "concurrent-queue"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
- "core-foundation-sys 0.7.0",
- "libc",
+ "crossbeam-utils",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
- "core-foundation-sys 0.8.3",
+ "core-foundation-sys",
  "libc",
 ]
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.3"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core-graphics"
-version = "0.19.2"
+version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
 dependencies = [
- "bitflags",
- "core-foundation 0.7.0",
+ "bitflags 1.3.2",
+ "core-foundation",
+ "core-graphics-types",
  "foreign-types",
  "libc",
 ]
 
 [[package]]
-name = "core-graphics"
-version = "0.22.3"
+name = "core-graphics-types"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
 dependencies = [
- "bitflags",
- "core-foundation 0.9.3",
- "core-graphics-types",
- "foreign-types",
+ "bitflags 1.3.2",
+ "core-foundation",
  "libc",
 ]
 
 [[package]]
-name = "core-graphics-types"
-version = "0.1.1"
+name = "coreaudio-rs"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
+checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace"
 dependencies = [
- "bitflags",
- "core-foundation 0.9.3",
- "foreign-types",
- "libc",
+ "bitflags 1.3.2",
+ "core-foundation-sys",
+ "coreaudio-sys",
 ]
 
 [[package]]
-name = "core-text"
-version = "19.2.0"
+name = "coreaudio-sys"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
+checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9"
 dependencies = [
- "core-foundation 0.9.3",
- "core-graphics 0.22.3",
- "foreign-types",
- "libc",
+ "bindgen 0.69.4",
 ]
 
 [[package]]
-name = "core-video-sys"
-version = "0.1.4"
+name = "coremidi"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828"
+checksum = "1a7847ca018a67204508b77cb9e6de670125075f7464fff5f673023378fa34f5"
 dependencies = [
- "cfg-if 0.1.10",
- "core-foundation-sys 0.7.0",
- "core-graphics 0.19.2",
- "libc",
- "objc",
+ "core-foundation",
+ "core-foundation-sys",
+ "coremidi-sys",
 ]
 
 [[package]]
-name = "crc32fast"
-version = "1.3.2"
+name = "coremidi-sys"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "79a6deed0c97b2d40abbab77e4c97f81d71e162600423382c277dd640019116c"
 dependencies = [
- "cfg-if 1.0.0",
+ "core-foundation-sys",
 ]
 
 [[package]]
-name = "criterion"
-version = "0.3.5"
+name = "cosmic-text"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10"
+checksum = "75acbfb314aeb4f5210d379af45ed1ec2c98c7f1790bf57b8a4c562ac0c51b71"
 dependencies = [
- "atty",
- "cast",
- "clap",
- "criterion-plot",
- "csv",
- "itertools",
- "lazy_static",
- "num-traits",
- "oorandom",
- "plotters",
- "rayon",
- "regex",
- "serde",
- "serde_cbor",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
+ "fontdb",
+ "libm",
+ "log",
+ "rangemap",
+ "rustc-hash",
+ "rustybuzz",
+ "self_cell",
+ "swash",
+ "sys-locale",
+ "unicode-bidi",
+ "unicode-linebreak",
+ "unicode-script",
+ "unicode-segmentation",
 ]
 
 [[package]]
-name = "criterion-plot"
-version = "0.4.4"
+name = "cpal"
+version = "0.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57"
+checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c"
 dependencies = [
- "cast",
- "itertools",
+ "alsa",
+ "core-foundation-sys",
+ "coreaudio-rs",
+ "dasp_sample",
+ "jni 0.19.0",
+ "js-sys",
+ "libc",
+ "mach2",
+ "ndk 0.7.0",
+ "ndk-context",
+ "oboe",
+ "once_cell",
+ "parking_lot 0.12.1",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "windows 0.46.0",
 ]
 
 [[package]]
-name = "crossbeam-channel"
-version = "0.5.4"
+name = "cpufeatures"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
- "cfg-if 1.0.0",
- "crossbeam-utils",
+ "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-deque"
-version = "0.8.1"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if 1.0.0",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.8"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if 1.0.0",
  "crossbeam-utils",
- "lazy_static",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.8"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
-dependencies = [
- "cfg-if 1.0.0",
- "lazy_static",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
-name = "csv"
-version = "1.1.6"
+name = "crunchy"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
-dependencies = [
- "bstr",
- "csv-core",
- "itoa 0.4.8",
- "ryu",
- "serde",
-]
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
-name = "csv-core"
-version = "0.1.10"
+name = "crypto-common"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 dependencies = [
- "memchr",
+ "generic-array",
+ "typenum",
 ]
 
 [[package]]
 name = "ctor"
-version = "0.1.22"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
+checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
 dependencies = [
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "cty"
-version = "0.2.2"
+name = "cursor-icon"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
 
 [[package]]
 name = "d3d12"
-version = "0.4.1"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2daefd788d1e96e0a9d66dee4b828b883509bc3ea9ce30665f04c3246372690c"
+checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307"
 dependencies = [
- "bitflags",
- "libloading",
+ "bitflags 2.4.2",
+ "libloading 0.8.1",
  "winapi",
 ]
 
 [[package]]
-name = "darling"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
-dependencies = [
- "darling_core",
- "darling_macro",
-]
-
-[[package]]
-name = "darling_core"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
-dependencies = [
- "fnv",
- "ident_case",
- "proc-macro2",
- "quote",
- "strsim",
- "syn",
-]
-
-[[package]]
-name = "darling_macro"
-version = "0.13.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
-dependencies = [
- "darling_core",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "data-url"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
-dependencies = [
- "matches",
-]
-
-[[package]]
-name = "deflate"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
-name = "deflate"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174"
-dependencies = [
- "adler32",
- "byteorder",
-]
-
-[[package]]
-name = "deflate"
-version = "1.0.0"
+name = "dasp_sample"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f"
-dependencies = [
- "adler32",
-]
+checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
 
 [[package]]
 name = "derivative"
@@ -861,139 +927,116 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "diff"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
-
-[[package]]
 name = "digest"
-version = "0.8.1"
+version = "0.10.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 dependencies = [
- "generic-array",
+ "block-buffer",
+ "crypto-common",
 ]
 
 [[package]]
-name = "dirs"
-version = "3.0.2"
+name = "dispatch"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
-dependencies = [
- "dirs-sys",
-]
+checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
 
 [[package]]
-name = "dirs"
-version = "4.0.0"
+name = "dlib"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
- "dirs-sys",
+ "libloading 0.8.1",
 ]
 
 [[package]]
-name = "dirs-next"
-version = "2.0.0"
+name = "doc-comment"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
-dependencies = [
- "cfg-if 1.0.0",
- "dirs-sys-next",
-]
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
 
 [[package]]
-name = "dirs-sys"
-version = "0.3.7"
+name = "downcast-rs"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
 [[package]]
-name = "dirs-sys-next"
-version = "0.1.2"
+name = "drm"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
 dependencies = [
- "libc",
- "redox_users",
- "winapi",
+ "bitflags 2.4.2",
+ "bytemuck",
+ "drm-ffi",
+ "drm-fourcc",
+ "rustix",
 ]
 
 [[package]]
-name = "dispatch"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
-
-[[package]]
-name = "dlib"
-version = "0.5.0"
+name = "drm-ffi"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
 dependencies = [
- "libloading",
+ "drm-sys",
+ "rustix",
 ]
 
 [[package]]
-name = "dlv-list"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257"
-
-[[package]]
-name = "downcast-rs"
-version = "1.2.0"
+name = "drm-fourcc"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
+checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
 
 [[package]]
-name = "dwrote"
-version = "0.11.0"
+name = "drm-sys"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b"
+checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
 dependencies = [
- "lazy_static",
  "libc",
- "winapi",
- "wio",
+ "linux-raw-sys 0.6.4",
 ]
 
 [[package]]
-name = "easy-parallel"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946"
-
-[[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.31"
+name = "embed-resource"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
 dependencies = [
- "cfg-if 1.0.0",
+ "cc",
+ "memchr",
+ "rustc_version",
+ "toml",
+ "vswhom",
+ "winreg",
 ]
 
 [[package]]
+name = "endi"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf"
+
+[[package]]
 name = "enumflags2"
-version = "0.7.5"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
+checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -1001,267 +1044,277 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.4"
+version = "0.7.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
+checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "env_logger"
-version = "0.8.4"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
- "atty",
  "humantime",
+ "is-terminal",
  "log",
  "regex",
  "termcolor",
 ]
 
 [[package]]
-name = "error-code"
-version = "2.3.1"
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "str-buf",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "etagere"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "306960881d6c46bd0dd6b7f07442a441418c08d0d3e63d8d080b0f64c6343e4e"
+dependencies = [
+ "euclid",
+ "svg_fmt",
 ]
 
 [[package]]
 name = "euclid"
-version = "0.22.7"
+version = "0.22.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b52c2ef4a78da0ba68fbe1fd920627411096d2ac478f7f4c9f3a54ba6705bade"
+checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787"
 dependencies = [
  "num-traits",
 ]
 
 [[package]]
 name = "event-listener"
-version = "2.5.2"
+version = "2.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
-name = "expat-sys"
-version = "2.1.6"
+name = "event-listener"
+version = "4.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
 dependencies = [
- "cmake",
- "pkg-config",
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "fake-simd"
-version = "0.1.2"
+name = "event-listener"
+version = "5.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
 
 [[package]]
-name = "fastrand"
-version = "1.7.0"
+name = "event-listener-strategy"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
 dependencies = [
- "instant",
+ "event-listener 4.0.3",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "find-crate"
-version = "0.6.3"
+name = "event-listener-strategy"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2"
+checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
 dependencies = [
- "toml",
+ "event-listener 5.1.0",
+ "pin-project-lite",
 ]
 
 [[package]]
-name = "flate2"
-version = "1.0.23"
+name = "exr"
+version = "1.72.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af"
+checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4"
 dependencies = [
- "cfg-if 1.0.0",
- "crc32fast",
- "libc",
- "miniz_oxide 0.5.1",
+ "bit_field",
+ "flume",
+ "half",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
 ]
 
 [[package]]
-name = "float-cmp"
-version = "0.9.0"
+name = "fast-srgb8"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1"
 
 [[package]]
-name = "float-ord"
-version = "0.2.0"
+name = "fastrand"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bad48618fdb549078c333a7a8528acb57af271d0433bdecd523eb620628364e"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
-name = "flume"
-version = "0.10.12"
+name = "fdeflate"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "843c03199d0c0ca54bc1ea90ac0d507274c28abcc4f691ae8b4eaa375087c76a"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
- "futures-core",
- "futures-sink",
- "nanorand",
- "pin-project 1.0.10",
- "spin 0.9.3",
+ "simd-adler32",
 ]
 
 [[package]]
-name = "fnv"
-version = "1.0.7"
+name = "ffmpeg-sys-next"
+version = "6.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "font-kit"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c9a156ec38864999bc9c4156e5f3b50224d4a5578028a64e5a3875caa9ee28"
+checksum = "c2529ad916d08c3562c754c21bc9b17a26c7882c0f5706cc2cd69472175f1620"
 dependencies = [
- "bitflags",
- "byteorder",
- "core-foundation 0.9.3",
- "core-graphics 0.22.3",
- "core-text",
- "dirs-next",
- "dwrote",
- "float-ord",
- "freetype",
- "lazy_static",
+ "bindgen 0.64.0",
+ "cc",
  "libc",
- "log",
- "pathfinder_geometry",
- "pathfinder_simd",
- "servo-fontconfig",
- "walkdir",
- "winapi",
+ "num_cpus",
+ "pkg-config",
+ "vcpkg",
 ]
 
 [[package]]
-name = "fontdb"
-version = "0.6.2"
+name = "flate2"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d66551cc28351f0bc6a73da86459ee7765caaad03ce284f2dc36472dbf539cd"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
- "log",
- "memmap2",
- "ttf-parser 0.12.3",
+ "crc32fast",
+ "miniz_oxide",
 ]
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
+name = "fluidlite"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+checksum = "7c0265cc6e1b01b9418d29acc5b48c57b21775b5de59264f1afe13d9b529a401"
 dependencies = [
- "foreign-types-shared",
+ "bitflags 1.3.2",
+ "doc-comment",
+ "fluidlite-sys",
 ]
 
 [[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
+name = "fluidlite-sys"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+checksum = "6f8574ea7d1f3d03d9713f9983c5c2f128abda23a99603f6af86bbecb2a03809"
+dependencies = [
+ "cc",
+]
 
 [[package]]
-name = "fork"
-version = "0.1.19"
+name = "flume"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57b4f1a740392e495821244cc1658d86496ac6e67a47da67e243ed401b937717"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
 dependencies = [
- "libc",
+ "spin",
 ]
 
 [[package]]
-name = "form_urlencoded"
-version = "1.0.1"
+name = "font-types"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
-dependencies = [
- "matches",
- "percent-encoding",
-]
+checksum = "0bd7f3ea17572640b606b35df42cfb6ecdf003704b062580e59918692190b73d"
 
 [[package]]
-name = "freedesktop-desktop-entry"
-version = "0.5.0"
+name = "fontconfig-parser"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45157175a725e81f3f594382430b6b78af5f8f72db9bd51b94f0785f80fc6d29"
+checksum = "6a595cb550439a117696039dfc69830492058211b771a2a165379f2a1a53d84d"
 dependencies = [
- "dirs 3.0.2",
- "gettext-rs",
- "memchr",
- "thiserror",
- "xdg",
+ "roxmltree",
 ]
 
 [[package]]
-name = "freedesktop-icons"
-version = "0.2.1"
+name = "fontdb"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "420b2cb0cf0ab0d5f34c068830f3b5c17b378ab3c2acaf7ca4bfde671d70be51"
+checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
 dependencies = [
- "dirs 4.0.0",
- "once_cell",
- "rust-ini",
- "thiserror",
+ "fontconfig-parser",
+ "log",
+ "memmap2 0.8.0",
+ "slotmap",
+ "tinyvec",
+ "ttf-parser 0.19.2",
 ]
 
 [[package]]
-name = "freetype"
-version = "0.7.0"
+name = "foreign-types"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bee38378a9e3db1cc693b4f88d166ae375338a0ff75cb8263e1c601d51f35dc6"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
 dependencies = [
- "freetype-sys",
- "libc",
+ "foreign-types-macros",
+ "foreign-types-shared",
 ]
 
 [[package]]
-name = "freetype-sys"
-version = "0.13.1"
+name = "foreign-types-macros"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a37d4011c0cc628dfa766fcc195454f4b068d7afdc2adfd28861191d866e731a"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
 dependencies = [
- "cmake",
- "libc",
- "pkg-config",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "fs2"
-version = "0.4.3"
+name = "foreign-types-shared"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
- "libc",
- "winapi",
+ "percent-encoding",
 ]
 
 [[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
+name = "fps_ticker"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+checksum = "fe164905ff69757d4bdc4c61d7df2930e47e2f5b4a132895a8f995990b2b9219"
 
 [[package]]
 name = "futures"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1274,9 +1327,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1284,15 +1337,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1302,62 +1355,51 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
-version = "1.12.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
 dependencies = [
  "fastrand",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
- "waker-fn",
 ]
 
 [[package]]
 name = "futures-macro"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
-]
-
-[[package]]
-name = "futures-micro"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b460264b3593d68b16a7bc35f7bc226ddfebdf9a1c8db1ed95d5cc6b7168c826"
-dependencies = [
- "pin-project-lite",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-util"
-version = "0.3.21"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1372,122 +1414,83 @@ dependencies = [
 ]
 
 [[package]]
-name = "futures_codec"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b"
-dependencies = [
- "bytes 0.5.6",
- "futures",
- "memchr",
- "pin-project 0.4.29",
-]
-
-[[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "gen-z"
-version = "0.1.0"
+name = "generational-arena"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e87038e64f38cb7fcd57f54c8d6654ad65712babbf70f38d1834d3150ad2415"
+checksum = "877e94aff08e743b651baaea359664321055749b398adff8740a7399af7796e7"
 dependencies = [
- "futures",
+ "cfg-if",
 ]
 
 [[package]]
 name = "generic-array"
-version = "0.12.4"
+version = "0.14.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 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"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
- "cfg-if 1.0.0",
  "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.2.6"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
- "cfg-if 1.0.0",
- "js-sys",
+ "cfg-if",
  "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
- "wasm-bindgen",
+ "wasi",
 ]
 
 [[package]]
-name = "gettext-rs"
-version = "0.7.0"
+name = "gif"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
 dependencies = [
- "gettext-sys",
- "locale_config",
+ "color_quant",
+ "weezl",
 ]
 
 [[package]]
-name = "gettext-sys"
-version = "0.21.3"
+name = "gl_generator"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
+checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
 dependencies = [
- "cc",
- "temp-dir",
+ "khronos_api",
+ "log",
+ "xml-rs",
 ]
 
 [[package]]
-name = "gif"
-version = "0.11.3"
+name = "glam"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a7187e78088aead22ceedeee99779455b23fc231fe13ec443f99bb71694e5b"
-dependencies = [
- "color_quant",
- "weezl",
-]
+checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3"
 
 [[package]]
-name = "glam"
-version = "0.10.2"
+name = "glob"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579160312273c954cc51bd440f059dde741029ac8daf8c84fece76cb77f62c15"
-dependencies = [
- "version_check",
-]
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "glow"
-version = "0.11.2"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1496,81 +1499,76 @@ dependencies = [
 ]
 
 [[package]]
-name = "glyph_brush"
-version = "0.7.4"
+name = "glutin_wgl_sys"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a69c65dd1f1fbb6209aa00f78636e436ad0a55b7d8e5de886d00720dcad9c6e2"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
 dependencies = [
- "glyph_brush_draw_cache",
- "glyph_brush_layout",
- "log",
- "ordered-float",
- "rustc-hash",
- "twox-hash",
+ "gl_generator",
 ]
 
 [[package]]
-name = "glyph_brush_draw_cache"
-version = "0.1.5"
+name = "glyphon"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6010675390f6889e09a21e2c8b575b3ee25667ea8237a8d59423f73cb8c28610"
+checksum = "6a62d0338e4056db6a73221c2fb2e30619452f6ea9651bac4110f51b0f7a7581"
 dependencies = [
- "ab_glyph",
- "crossbeam-channel",
- "crossbeam-deque",
- "linked-hash-map",
- "rayon",
- "rustc-hash",
+ "cosmic-text",
+ "etagere",
+ "lru",
+ "wgpu",
 ]
 
 [[package]]
-name = "glyph_brush_layout"
-version = "0.2.3"
+name = "gpu-alloc"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38"
+checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "ab_glyph",
- "approx 0.5.1",
- "xi-unicode",
+ "bitflags 2.4.2",
+ "gpu-alloc-types",
 ]
 
 [[package]]
-name = "gpu-alloc"
-version = "0.5.3"
+name = "gpu-alloc-types"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fc59e5f710e310e76e6707f86c561dd646f69a8876da9131703b2f717de818d"
+checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags",
- "gpu-alloc-types",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
-name = "gpu-alloc-types"
-version = "0.2.0"
+name = "gpu-allocator"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5"
+checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884"
 dependencies = [
- "bitflags",
+ "log",
+ "presser",
+ "thiserror",
+ "winapi",
+ "windows 0.52.0",
 ]
 
 [[package]]
 name = "gpu-descriptor"
-version = "0.2.2"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a538f217be4d405ff4719a283ca68323cc2384003eca5baaa87501e821c81dda"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "gpu-descriptor-types",
- "hashbrown 0.11.2",
+ "hashbrown",
 ]
 
 [[package]]
 name = "gpu-descriptor-types"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126"
+checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -1584,65 +1582,45 @@ dependencies = [
 ]
 
 [[package]]
-name = "h2"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
-dependencies = [
- "bytes 1.1.0",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
 name = "half"
-version = "1.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
-
-[[package]]
-name = "hashbrown"
-version = "0.11.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
- "ahash",
+ "cfg-if",
+ "crunchy",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.12.1"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
 dependencies = [
  "ahash",
+ "allocator-api2",
 ]
 
 [[package]]
-name = "heck"
-version = "0.3.3"
+name = "hassle-rs"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890"
 dependencies = [
- "unicode-segmentation",
+ "bitflags 2.4.2",
+ "com",
+ "libc",
+ "libloading 0.8.1",
+ "thiserror",
+ "widestring",
+ "winapi",
 ]
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.19"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
+checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 
 [[package]]
 name = "hex"
@@ -1657,319 +1635,271 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
 
 [[package]]
-name = "http"
-version = "0.2.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb"
-dependencies = [
- "bytes 1.1.0",
- "fnv",
- "itoa 1.0.1",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
-dependencies = [
- "bytes 1.1.0",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
-
-[[package]]
-name = "httpdate"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
-
-[[package]]
-name = "human-sort"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "140a09c9305e6d5e557e2ed7cbc68e05765a7d4213975b87cb04920689cc6219"
-
-[[package]]
-name = "human_format"
-version = "1.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86cce260d758a9aa3d7c4b99d55c815a540f8a37514ba6046ab6be402a157cb0"
-
-[[package]]
 name = "humantime"
 version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
-name = "hyper"
-version = "0.14.18"
+name = "iced_core"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2"
+checksum = "55f9226618af7e8155fc8a233e4d84dc1ec44438705f972e35d5d50e62f937df"
 dependencies = [
- "bytes 1.1.0",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa 1.0.1",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
+ "bitflags 2.4.2",
+ "glam",
+ "log",
+ "num-traits",
+ "palette",
+ "raw-window-handle 0.6.0",
+ "smol_str",
+ "thiserror",
+ "web-time",
+ "xxhash-rust",
 ]
 
 [[package]]
-name = "hyper-rustls"
-version = "0.23.0"
+name = "iced_futures"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac"
+checksum = "370bad88fb3832cbeeb3fa6c486b4701fb7e8da32a753b3101d4ce81fc1d9497"
 dependencies = [
- "http",
- "hyper",
- "rustls",
- "tokio",
- "tokio-rustls",
+ "futures",
+ "iced_core",
+ "log",
+ "wasm-bindgen-futures",
+ "wasm-timer",
 ]
 
 [[package]]
-name = "iced"
-version = "0.4.2"
+name = "iced_graphics"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6025abe6b1056c9b5adad79c484c5fd8b7012e5230f3b0439a1294ade7ded7bf"
+checksum = "0660df444c64a13f72999c55a324f6d3ea020167bb1af8ef43fe2bff168d8c27"
 dependencies = [
+ "bitflags 2.4.2",
+ "bytemuck",
+ "cosmic-text",
+ "half",
  "iced_core",
  "iced_futures",
- "iced_graphics",
- "iced_native",
- "iced_wgpu",
- "iced_winit",
+ "image",
+ "kamadak-exif",
+ "log",
+ "once_cell",
+ "raw-window-handle 0.6.0",
+ "rustc-hash",
  "thiserror",
+ "unicode-segmentation",
+ "xxhash-rust",
 ]
 
 [[package]]
-name = "iced_core"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccf9133ceb345ec640047d5597fb8aa88e9cf74ce2d0277a9a62e2d6ed4a8148"
-dependencies = [
- "bitflags",
- "palette 0.6.0",
- "wasm-timer",
-]
-
-[[package]]
-name = "iced_futures"
-version = "0.4.0"
+name = "iced_renderer"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a93ebc9bcad1745b0852f961c17f3311d8ad797dca5ec5d76c2f7b48922030d"
+checksum = "59d931249515deb5fe116c7d199792cd9fd32d31bf18ffc08c6c2ad2dee5fd3e"
 dependencies = [
- "futures",
+ "iced_graphics",
+ "iced_tiny_skia",
+ "iced_wgpu",
  "log",
- "tokio",
- "wasm-bindgen-futures",
- "wasm-timer",
+ "thiserror",
 ]
 
 [[package]]
-name = "iced_graphics"
-version = "0.3.0"
+name = "iced_runtime"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5f5e700f76069666fe7eb920f715a46471a6b8063d8c237b17ff2c1d2f31ce5"
+checksum = "618a845cd752ca195f0805b7a4f0be42c071a4fdef0b88df047006572d219a5a"
 dependencies = [
- "bytemuck",
- "font-kit",
- "glam",
- "iced_native",
- "iced_style",
- "raw-window-handle 0.4.3",
+ "iced_core",
+ "iced_futures",
+ "raw-window-handle 0.6.0",
  "thiserror",
 ]
 
 [[package]]
-name = "iced_native"
-version = "0.5.0"
+name = "iced_style"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7bde7e7c754a0579bb1565394c2167014a8e29824195aecb598cbdf69dba4c5"
+checksum = "eb6b3992bceeac1393ce0e83d06ab786be4c17c6a0004eefbdd4f6d89d5e8058"
 dependencies = [
  "iced_core",
- "iced_futures",
- "iced_style",
- "num-traits",
- "twox-hash",
- "unicode-segmentation",
+ "once_cell",
+ "palette",
 ]
 
 [[package]]
-name = "iced_style"
-version = "0.4.0"
+name = "iced_tiny_skia"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a90028c94ab62c13cd3b6fb1499a593a51510d4729c5b4e8e60705b2b28c6bc2"
+checksum = "e079a4ae34df06894500e486b20bae8d8f2806fd64efe4fa9abe329e7f585f21"
 dependencies = [
- "iced_core",
+ "bytemuck",
+ "cosmic-text",
+ "iced_graphics",
+ "kurbo",
+ "log",
+ "rustc-hash",
+ "softbuffer",
+ "tiny-skia",
+ "xxhash-rust",
 ]
 
 [[package]]
 name = "iced_wgpu"
-version = "0.5.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eef85bef80e9a6ce3bd5e1c783661f4911424e922bfa30b2e600a33a1e5d5716"
+checksum = "fa5d3ce370c7044ddc9535c8f87057f1008434a495be6b9f46b2666c3e9638f7"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "bytemuck",
  "futures",
- "glyph_brush",
+ "glam",
+ "glyphon",
  "guillotiere",
  "iced_graphics",
- "iced_native",
- "image",
- "kamadak-exif",
  "log",
- "raw-window-handle 0.4.3",
- "resvg",
- "tiny-skia",
- "usvg",
+ "once_cell",
  "wgpu",
- "wgpu_glyph",
 ]
 
 [[package]]
-name = "iced_winit"
-version = "0.4.0"
+name = "iced_widget"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72011b895e439e2ebad8f545720e3e97c7368ecfc47a23cbfeaa9508a98af90c"
+checksum = "99f30ebbcc0706c19a92f01669193271d82bb209fda83576392d04cef3214ca2"
 dependencies = [
- "iced_futures",
- "iced_graphics",
- "iced_native",
- "log",
+ "iced_renderer",
+ "iced_runtime",
+ "iced_style",
+ "num-traits",
  "thiserror",
- "web-sys",
- "winapi",
- "window_clipboard",
- "winit",
+ "unicode-segmentation",
 ]
 
 [[package]]
-name = "ico"
-version = "0.1.0"
+name = "icrate"
+version = "0.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a4b3331534254a9b64095ae60d3dc2a8225a7a70229cd5888be127cdc1f6804"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
 dependencies = [
- "byteorder",
- "png 0.11.0",
+ "block2",
+ "dispatch",
+ "objc2",
 ]
 
 [[package]]
-name = "ident_case"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-
-[[package]]
 name = "idna"
-version = "0.2.3"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "image"
-version = "0.23.14"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
+ "exr",
  "gif",
  "jpeg-decoder",
- "num-iter",
- "num-rational 0.3.2",
  "num-traits",
- "png 0.16.8",
+ "png",
+ "qoi",
+ "tiff",
 ]
 
 [[package]]
 name = "indexmap"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee"
-dependencies = [
- "autocfg",
- "hashbrown 0.11.2",
-]
-
-[[package]]
-name = "inflate"
-version = "0.3.4"
+version = "2.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f9f47468e9a76a6452271efadc88fe865a82be91fe75e6c0c57b87ccea59d4"
+checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
 dependencies = [
- "adler32",
+ "equivalent",
+ "hashbrown",
 ]
 
 [[package]]
-name = "inplace_it"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90953f308a79fe6d62a4643e51f848fbfddcd05975a38e69fdf4ab86a7baf7ca"
-
-[[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",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
+ "cfg-if",
 ]
 
 [[package]]
-name = "ipnet"
-version = "2.5.0"
+name = "is-terminal"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
+checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
+dependencies = [
+ "hermit-abi",
+ "rustix",
+ "windows-sys 0.52.0",
+]
 
 [[package]]
 name = "itertools"
-version = "0.10.3"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
 dependencies = [
  "either",
 ]
 
 [[package]]
-name = "itoa"
-version = "0.4.8"
+name = "jni"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
+checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
+dependencies = [
+ "cesu8",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+]
 
 [[package]]
-name = "itoa"
-version = "1.0.1"
+name = "jni"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
+dependencies = [
+ "cesu8",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+]
+
+[[package]]
+name = "jni"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
+dependencies = [
+ "cesu8",
+ "cfg-if",
+ "combine",
+ "jni-sys",
+ "log",
+ "thiserror",
+ "walkdir",
+ "windows-sys 0.45.0",
+]
 
 [[package]]
 name = "jni-sys"
@@ -1978,49 +1908,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
 
 [[package]]
+name = "jobserver"
+version = "0.1.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "jpeg-decoder"
-version = "0.1.22"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.57"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "kamadak-exif"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70494964492bf8e491eb3951c5d70c9627eb7100ede6cc56d748b9a3f302cfb6"
+checksum = "ef4fc70d0ab7e5b6bafa30216a6b48705ea964cdfc29c050f2412295eba58077"
 dependencies = [
  "mutate_once",
 ]
 
 [[package]]
 name = "khronos-egl"
-version = "4.1.0"
+version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3"
+checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
 dependencies = [
  "libc",
- "libloading",
+ "libloading 0.8.1",
+ "pkg-config",
 ]
 
 [[package]]
+name = "khronos_api"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
+
+[[package]]
 name = "kurbo"
-version = "0.8.0"
+version = "0.10.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb348d766edbac91ba1eb83020d96f4f8867924d194393083c15a51f185e6a82"
+checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440"
 dependencies = [
- "arrayvec 0.5.2",
+ "arrayvec",
+ "smallvec",
 ]
 
 [[package]]
@@ -2030,45 +1977,77 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "lebe"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+
+[[package]]
 name = "libc"
-version = "0.2.125"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[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",
+ "cfg-if",
  "winapi",
 ]
 
 [[package]]
-name = "linked-hash-map"
-version = "0.5.4"
+name = "libloading"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
 
 [[package]]
-name = "locale_config"
-version = "0.3.0"
+name = "libm"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
+checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
 dependencies = [
- "lazy_static",
- "objc",
- "objc-foundation",
- "regex",
- "winapi",
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
 ]
 
 [[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
+
+[[package]]
 name = "lock_api"
-version = "0.4.7"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2076,121 +2055,147 @@ 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 1.0.0",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
-name = "malloc_buf"
-version = "0.0.6"
+name = "lru"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22"
 dependencies = [
- "libc",
+ "hashbrown",
 ]
 
 [[package]]
-name = "maplit"
-version = "1.0.2"
+name = "mach2"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
+dependencies = [
+ "libc",
+]
 
 [[package]]
-name = "matchers"
-version = "0.1.0"
+name = "malloc_buf"
+version = "0.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
 dependencies = [
- "regex-automata",
+ "libc",
 ]
 
 [[package]]
-name = "matches"
-version = "0.1.9"
+name = "memchr"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
-name = "memchr"
-version = "2.5.0"
+name = "memmap2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "memmap2"
-version = "0.3.1"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b6c2ebff6180198788f5db08d7ce3bc1d0b617176678831a7510825973e357"
+checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "memoffset"
-version = "0.6.5"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "metal"
-version = "0.23.1"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0514f491f4cc03632ab399ee01e2c1c1b12d3e1cf2d667c1ff5f87d6dcd2084"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
  "foreign-types",
  "log",
  "objc",
+ "paste",
 ]
 
 [[package]]
-name = "mime"
-version = "0.3.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+name = "midi-file"
+version = "0.1.0"
+dependencies = [
+ "midi-io",
+ "midly",
+]
 
 [[package]]
-name = "minimal-lexical"
-version = "0.2.1"
+name = "midi-io"
+version = "0.1.0"
+dependencies = [
+ "midir",
+]
+
+[[package]]
+name = "midir"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+checksum = "a456444d83e7ead06ae6a5c0a215ed70282947ff3897fb45fcb052b757284731"
+dependencies = [
+ "alsa",
+ "bitflags 1.3.2",
+ "coremidi",
+ "js-sys",
+ "libc",
+ "wasm-bindgen",
+ "web-sys",
+ "windows 0.43.0",
+]
 
 [[package]]
-name = "miniz_oxide"
-version = "0.3.7"
+name = "midly"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
+checksum = "207d755f4cb882d20c4da58d707ca9130a0c9bc5061f657a4f299b8e36362b7a"
 dependencies = [
- "adler32",
+ "rayon",
 ]
 
 [[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.5.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
 dependencies = [
  "adler",
+ "simd-adler32",
 ]
 
 [[package]]
-name = "mio"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799"
+name = "mpeg_encoder"
+version = "0.2.1"
+source = "git+https://github.com/PolyMeilex/mpeg_encoder_next.git#577efd933e4b556526df773f267dd0fb066f724c"
 dependencies = [
- "libc",
- "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys",
+ "ffmpeg-sys-next",
 ]
 
 [[package]]
@@ -2201,12 +2206,12 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b"
 
 [[package]]
 name = "naga"
-version = "0.8.5"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3012f2dbcc79e8e0b5825a4836a7106a75dd9b2fe42c528163be0f572538c705"
+checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899"
 dependencies = [
  "bit-set",
- "bitflags",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "hexf-parse",
  "indexmap",
@@ -2214,28 +2219,38 @@ dependencies = [
  "num-traits",
  "rustc-hash",
  "spirv",
+ "termcolor",
  "thiserror",
+ "unicode-xid",
 ]
 
 [[package]]
-name = "nanorand"
+name = "ndk"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
+checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
 dependencies = [
- "getrandom 0.2.6",
+ "bitflags 1.3.2",
+ "jni-sys",
+ "ndk-sys 0.4.1+23.1.7779620",
+ "num_enum 0.5.11",
+ "raw-window-handle 0.5.2",
+ "thiserror",
 ]
 
 [[package]]
 name = "ndk"
-version = "0.5.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96d868f654c72e75f8687572699cdabe755f03effbb62542768e995d5b8d699d"
+checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "jni-sys",
- "ndk-sys",
- "num_enum",
+ "log",
+ "ndk-sys 0.5.0+25.2.9519653",
+ "num_enum 0.7.2",
+ "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
  "thiserror",
 ]
 
@@ -2246,224 +2261,212 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
 
 [[package]]
-name = "ndk-glue"
-version = "0.5.2"
+name = "ndk-sys"
+version = "0.4.1+23.1.7779620"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71bee8ea72d685477e28bd004cfe1bf99c754d688cd78cad139eae4089484d4"
+checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
 dependencies = [
- "lazy_static",
- "libc",
- "log",
- "ndk",
- "ndk-context",
- "ndk-macro",
- "ndk-sys",
+ "jni-sys",
 ]
 
 [[package]]
-name = "ndk-macro"
-version = "0.3.0"
+name = "ndk-sys"
+version = "0.5.0+25.2.9519653"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c"
+checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691"
 dependencies = [
- "darling",
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn",
+ "jni-sys",
 ]
 
 [[package]]
-name = "ndk-sys"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121"
+name = "neothesia"
+version = "0.1.0"
+dependencies = [
+ "async-thread",
+ "cpal",
+ "embed-resource",
+ "env_logger",
+ "fluidlite",
+ "fps_ticker",
+ "futures",
+ "iced_core",
+ "iced_graphics",
+ "iced_runtime",
+ "iced_style",
+ "iced_wgpu",
+ "iced_widget",
+ "image",
+ "log",
+ "midi-file",
+ "midi-io",
+ "neothesia-core",
+ "neothesia-iced-widgets",
+ "oxisynth",
+ "piano-math",
+ "rfd",
+ "wgpu",
+ "wgpu-jumpstart",
+ "winit",
+]
 
 [[package]]
-name = "new_mime_guess"
-version = "4.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2d684d1b59e0dc07b37e2203ef576987473288f530082512aff850585c61b1f"
+name = "neothesia-cli"
+version = "0.1.0"
 dependencies = [
- "mime",
- "unicase",
+ "env_logger",
+ "futures",
+ "midi-file",
+ "mpeg_encoder",
+ "neothesia-core",
+ "piano-math",
+ "wgpu-jumpstart",
 ]
 
 [[package]]
-name = "nix"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
+name = "neothesia-core"
+version = "0.1.0"
 dependencies = [
- "bitflags",
- "cc",
- "cfg-if 1.0.0",
- "libc",
+ "bytemuck",
+ "glyphon",
+ "log",
+ "midi-file",
+ "objc",
+ "piano-math",
+ "ron",
+ "serde",
+ "wgpu",
+ "wgpu-jumpstart",
+]
+
+[[package]]
+name = "neothesia-iced-widgets"
+version = "0.1.0"
+dependencies = [
+ "iced_core",
+ "iced_graphics",
+ "iced_style",
+ "iced_wgpu",
+ "iced_widget",
+ "piano-math",
 ]
 
 [[package]]
 name = "nix"
-version = "0.22.3"
+version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
+checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
 dependencies = [
- "bitflags",
- "cc",
- "cfg-if 1.0.0",
+ "bitflags 1.3.2",
+ "cfg-if",
  "libc",
- "memoffset",
 ]
 
 [[package]]
 name = "nix"
-version = "0.23.1"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags",
- "cc",
- "cfg-if 1.0.0",
+ "bitflags 2.4.2",
+ "cfg-if",
  "libc",
  "memoffset",
 ]
 
 [[package]]
 name = "nom"
-version = "7.1.1"
+version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
 dependencies = [
  "memchr",
  "minimal-lexical",
 ]
 
 [[package]]
-name = "num"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e"
-dependencies = [
- "num-bigint",
- "num-complex",
- "num-integer",
- "num-iter",
- "num-rational 0.1.42",
- "num-traits",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.1.44"
+name = "num-derive"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e63899ad0da84ce718c14936262a41cee2c79c981fc0a0e7c7beb47d5a07e8c1"
+checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
 dependencies = [
- "num-integer",
- "num-traits",
- "rand 0.4.6",
- "rustc-serialize",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
-name = "num-complex"
-version = "0.1.43"
+name = "num-derive"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b288631d7878aaf59442cffd36910ea604ecd7745c36054328595114001c9656"
+checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
 dependencies = [
- "num-traits",
- "rustc-serialize",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "num-traits"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 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-rational"
-version = "0.1.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
-dependencies = [
- "num-bigint",
- "num-integer",
- "num-traits",
- "rustc-serialize",
-]
-
-[[package]]
-name = "num-rational"
-version = "0.3.2"
+name = "num_cpus"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
+ "hermit-abi",
+ "libc",
 ]
 
 [[package]]
-name = "num-traits"
-version = "0.2.15"
+name = "num_enum"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
 dependencies = [
- "autocfg",
+ "num_enum_derive 0.5.11",
 ]
 
 [[package]]
-name = "num_cpus"
-version = "1.13.1"
+name = "num_enum"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
 dependencies = [
- "hermit-abi",
- "libc",
+ "num_enum_derive 0.7.2",
 ]
 
 [[package]]
-name = "num_enum"
-version = "0.5.7"
+name = "num_enum_derive"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
 dependencies = [
- "num_enum_derive",
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.7"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 3.1.0",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "numtoa"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aa2c4e539b869820a2b82e1aef6ff40aa85e65decdd5185e83fb4b1249cd00f"
-
-[[package]]
 name = "objc"
 version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2485,6 +2488,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "objc-sys"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
+
+[[package]]
+name = "objc2"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
+dependencies = [
+ "objc-sys",
+ "objc2-encode",
+]
+
+[[package]]
+name = "objc2-encode"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
+
+[[package]]
 name = "objc_exception"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2503,159 +2528,108 @@ dependencies = [
 ]
 
 [[package]]
-name = "onagre"
-version = "1.0.0-alpha.0"
+name = "oboe"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
 dependencies = [
- "anyhow",
- "criterion",
- "dirs 4.0.0",
- "env_logger",
- "font-kit",
- "freedesktop-icons",
- "iced",
- "iced_native",
- "iced_style",
- "ico",
- "log",
- "once_cell",
- "palette 0.5.0",
- "pest",
- "pest_derive",
- "pop-launcher-toolkit",
- "pretty_assertions",
- "regex",
- "ron 0.6.6",
- "serde",
- "serde_ini",
- "serde_json",
- "serde_with",
- "shell-words",
- "sled",
- "speculoos",
- "structopt",
- "thiserror",
- "tokio",
+ "jni 0.20.0",
+ "ndk 0.7.0",
+ "ndk-context",
+ "num-derive 0.3.3",
+ "num-traits",
+ "oboe-sys",
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
-
-[[package]]
-name = "oorandom"
-version = "11.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-
-[[package]]
-name = "opaque-debug"
-version = "0.2.3"
+name = "oboe-sys"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2"
+dependencies = [
+ "cc",
+]
 
 [[package]]
-name = "ordered-float"
-version = "3.0.0"
+name = "once_cell"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96bcbab4bfea7a59c2c0fe47211a1ac4e3e96bea6eb446d704f310bc5c732ae2"
-dependencies = [
- "num-traits",
-]
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
-name = "ordered-multimap"
-version = "0.4.3"
+name = "orbclient"
+version = "0.3.47"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a"
+checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
 dependencies = [
- "dlv-list",
- "hashbrown 0.12.1",
+ "libredox",
 ]
 
 [[package]]
 name = "ordered-stream"
-version = "0.0.1"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1"
+checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50"
 dependencies = [
  "futures-core",
  "pin-project-lite",
 ]
 
 [[package]]
-name = "output_vt100"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
-dependencies = [
- "winapi",
-]
-
-[[package]]
 name = "owned_ttf_parser"
-version = "0.15.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1e509cfe7a12db2a90bfa057dfcdbc55a347f5da677c506b53dd099cfec9d"
+checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
 dependencies = [
- "ttf-parser 0.15.0",
+ "ttf-parser 0.20.0",
 ]
 
 [[package]]
-name = "palette"
-version = "0.5.0"
+name = "oxisynth"
+version = "0.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a05c0334468e62a4dfbda34b29110aa7d70d58c7fdb2c9857b5874dd9827cc59"
+checksum = "8ac4177ce94a34c3bcfa9e39f8338c8170918faa560d00dd923d984331a749e4"
 dependencies = [
- "approx 0.3.2",
+ "bitflags 2.4.2",
+ "byte-slice-cast",
+ "byteorder",
+ "generational-arena",
+ "lazy_static",
+ "log",
+ "num-derive 0.4.2",
  "num-traits",
- "palette_derive 0.5.0",
- "phf 0.8.0",
- "phf_codegen",
- "serde",
+ "soundfont",
+ "thiserror",
 ]
 
 [[package]]
 name = "palette"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9735f7e1e51a3f740bacd5dc2724b61a7806f23597a8736e679f38ee3435d18"
-dependencies = [
- "approx 0.5.1",
- "num-traits",
- "palette_derive 0.6.0",
- "phf 0.9.0",
-]
-
-[[package]]
-name = "palette_derive"
-version = "0.5.0"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b4b5f600e60dd3a147fb57b4547033d382d1979eb087af310e91cb45a63b1f4"
+checksum = "3d38e6e5ca1612e2081cc31188f08c3cba630ce4ba44709a153f1a0f38d678f2"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "approx",
+ "fast-srgb8",
+ "palette_derive",
+ "phf",
 ]
 
 [[package]]
 name = "palette_derive"
-version = "0.6.0"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7799c3053ea8a6d8a1193c7ba42f534e7863cf52e378a7f90406f4a645d33bad"
+checksum = "e05d1c929301fee6830dafa764341118829b2535c216b0571e3821ecac5c885b"
 dependencies = [
- "find-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "parking"
-version = "2.0.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -2665,224 +2639,115 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
 dependencies = [
  "instant",
  "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
-dependencies = [
- "cfg-if 1.0.0",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
-name = "pathfinder_geometry"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b7e7b4ea703700ce73ebf128e1450eb69c3a8329199ffbfb9b2a0418e5ad3"
-dependencies = [
- "log",
- "pathfinder_simd",
+ "parking_lot_core 0.8.6",
 ]
 
 [[package]]
-name = "pathfinder_simd"
-version = "0.5.1"
+name = "parking_lot"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39fe46acc5503595e5949c17b818714d26fdf9b4920eacf3b2947f0199f4a6ff"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
- "rustc_version 0.3.3",
+ "lock_api",
+ "parking_lot_core 0.9.9",
 ]
 
 [[package]]
-name = "percent-encoding"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
-[[package]]
-name = "pest"
-version = "2.1.3"
+name = "parking_lot_core"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 dependencies = [
- "ucd-trie",
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi",
 ]
 
 [[package]]
-name = "pest_derive"
-version = "2.1.0"
+name = "parking_lot_core"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
- "pest",
- "pest_generator",
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.4.1",
+ "smallvec",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "pest_generator"
-version = "2.1.3"
+name = "paste"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"
-dependencies = [
- "pest",
- "pest_meta",
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
-name = "pest_meta"
-version = "2.1.3"
+name = "peeking_take_while"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"
-dependencies = [
- "maplit",
- "pest",
- "sha-1",
-]
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
-name = "phf"
-version = "0.8.0"
+name = "percent-encoding"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
-dependencies = [
- "phf_shared 0.8.0",
-]
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "phf"
-version = "0.9.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ac8b67553a7ca9457ce0e526948cad581819238f4a9d1ea74545851fa24f37"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
  "phf_macros",
- "phf_shared 0.9.0",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-dependencies = [
- "phf_generator 0.8.0",
- "phf_shared 0.8.0",
+ "phf_shared",
 ]
 
 [[package]]
 name = "phf_generator"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-dependencies = [
- "phf_shared 0.8.0",
- "rand 0.7.3",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.9.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d43f3220d96e0080cc9ea234978ccd80d904eafb17be31bb0f76daaea6493082"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
- "phf_shared 0.9.0",
- "rand 0.8.5",
+ "phf_shared",
+ "rand",
 ]
 
 [[package]]
 name = "phf_macros"
-version = "0.9.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b706f5936eb50ed880ae3009395b43ed19db5bff2ebd459c95e7bf013a89ab86"
+checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
 dependencies = [
- "phf_generator 0.9.1",
- "phf_shared 0.9.0",
- "proc-macro-hack",
+ "phf_generator",
+ "phf_shared",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
-dependencies = [
- "siphasher",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.9.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a68318426de33640f02be62b4ae8eb1261be2efbc337b60c54d845bf4484e0d9"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
-name = "pico-args"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
-
-[[package]]
-name = "pin-project"
-version = "0.4.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909"
-dependencies = [
- "pin-project-internal 0.4.29",
-]
-
-[[package]]
-name = "pin-project"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
-dependencies = [
- "pin-project-internal 1.0.10",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "0.4.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
+name = "piano-math"
+version = "0.1.0"
 
 [[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"
@@ -2891,283 +2756,126 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
-name = "pkg-config"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
-
-[[package]]
-name = "plotters"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a"
-dependencies = [
- "num-traits",
- "plotters-backend",
- "plotters-svg",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "plotters-backend"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c"
-
-[[package]]
-name = "plotters-svg"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9"
-dependencies = [
- "plotters-backend",
-]
-
-[[package]]
-name = "png"
-version = "0.11.0"
+name = "piper"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
 dependencies = [
- "bitflags",
- "deflate 0.7.20",
- "inflate",
- "num-iter",
+ "atomic-waker",
+ "fastrand",
+ "futures-io",
 ]
 
 [[package]]
-name = "png"
-version = "0.16.8"
+name = "pkg-config"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
-dependencies = [
- "bitflags",
- "crc32fast",
- "deflate 0.8.6",
- "miniz_oxide 0.3.7",
-]
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "png"
-version = "0.17.5"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "crc32fast",
- "deflate 1.0.0",
- "miniz_oxide 0.5.1",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
 ]
 
 [[package]]
 name = "polling"
-version = "2.2.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
+checksum = "30054e72317ab98eddd8561db0f6524df3367636884b7b21b703e4b280a84a14"
 dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "log",
- "wepoll-ffi",
- "winapi",
-]
-
-[[package]]
-name = "pop-launcher"
-version = "1.2.1"
-source = "git+https://github.com/pop-os/launcher/#47852e53cb6f637003ed6bdb178fe76cb90dff24"
-dependencies = [
- "const_format",
- "dirs 4.0.0",
- "futures",
- "serde",
- "serde_json",
- "serde_with",
- "tokio",
- "tokio-stream",
-]
-
-[[package]]
-name = "pop-launcher-plugins"
-version = "1.2.1"
-source = "git+https://github.com/pop-os/launcher/#47852e53cb6f637003ed6bdb178fe76cb90dff24"
-dependencies = [
- "anyhow",
- "async-pidfd",
- "bytes 1.1.0",
- "dirs 4.0.0",
- "flume",
- "fork",
- "freedesktop-desktop-entry",
- "futures",
- "human-sort",
- "human_format",
- "new_mime_guess",
- "pop-launcher",
- "recently-used-xbel",
- "regex",
- "reqwest",
- "ron 0.7.0",
- "serde",
- "serde_json",
- "slab",
- "strsim",
- "sysfs-class",
- "tokio",
- "tracing",
- "url",
- "urlencoding",
- "ward",
- "zbus",
- "zvariant",
-]
-
-[[package]]
-name = "pop-launcher-service"
-version = "1.2.1"
-source = "git+https://github.com/pop-os/launcher/#47852e53cb6f637003ed6bdb178fe76cb90dff24"
-dependencies = [
- "anyhow",
- "async-oneshot",
- "async-trait",
- "flume",
- "futures",
- "futures_codec",
- "gen-z",
- "num_cpus",
- "pop-launcher",
- "regex",
- "ron 0.7.0",
- "serde",
- "serde_json",
- "serde_with",
- "slab",
- "strsim",
- "tokio",
- "tokio-stream",
- "toml",
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix",
  "tracing",
- "tracing-subscriber",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "pop-launcher-toolkit"
-version = "0.1.0"
-source = "git+https://github.com/pop-os/launcher/#47852e53cb6f637003ed6bdb178fe76cb90dff24"
-dependencies = [
- "pop-launcher",
- "pop-launcher-plugins",
- "pop-launcher-service",
-]
+name = "pollster"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2"
 
 [[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 = "pretty_assertions"
-version = "1.2.1"
+name = "presser"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89f989ac94207d048d92db058e4f6ec7342b0971fc58d1271ca148b799b3563"
-dependencies = [
- "ansi_term",
- "ctor",
- "diff",
- "output_vt100",
-]
+checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
 
 [[package]]
 name = "proc-macro-crate"
-version = "1.1.3"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
- "thiserror",
- "toml",
+ "once_cell",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
-name = "proc-macro-error"
-version = "1.0.4"
+name = "proc-macro-crate"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
 dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn",
- "version_check",
+ "toml_edit 0.21.1",
 ]
 
 [[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
-dependencies = [
- "proc-macro2",
- "quote",
- "version_check",
-]
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
-[[package]]
 name = "proc-macro2"
-version = "1.0.38"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "profiling"
-version = "1.0.5"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9145ac0af1d93c638c98c40cf7d25665f427b2a44ad0a99b1dccf3e2f25bb987"
+checksum = "0f0f7f43585c34e4fdd7497d746bc32e14458cf11c69341cc0587b1d825dde42"
 
 [[package]]
-name = "quote"
-version = "1.0.18"
+name = "qoi"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
 dependencies = [
- "proc-macro2",
+ "bytemuck",
 ]
 
 [[package]]
-name = "rand"
-version = "0.4.6"
+name = "quick-xml"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
- "fuchsia-cprng",
- "libc",
- "rand_core 0.3.1",
- "rdrand",
- "winapi",
+ "memchr",
 ]
 
 [[package]]
-name = "rand"
-version = "0.7.3"
+name = "quote"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc",
- "rand_pcg",
+ "proc-macro2",
 ]
 
 [[package]]
@@ -3177,18 +2885,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
- "rand_chacha 0.3.1",
- "rand_core 0.6.3",
-]
-
-[[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",
+ "rand_chacha",
+ "rand_core",
 ]
 
 [[package]]
@@ -3198,321 +2896,179 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.3",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-dependencies = [
- "rand_core 0.4.2",
+ "rand_core",
 ]
 
 [[package]]
 name = "rand_core"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[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.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.6",
+ "getrandom",
 ]
 
 [[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 = "rand_pcg"
-version = "0.2.1"
+name = "range-alloc"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-dependencies = [
- "rand_core 0.5.1",
-]
+checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
 
 [[package]]
-name = "range-alloc"
-version = "0.1.2"
+name = "rangemap"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63e935c45e09cc6dcf00d2f0b2d630a58f4095320223d47fc68918722f0538b6"
+checksum = "977b1e897f9d764566891689e642653e5ed90c6895106acd005eb4c1d0203991"
 
 [[package]]
 name = "raw-window-handle"
-version = "0.3.4"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28f55143d0548dad60bb4fbdc835a3d7ac6acc3324506450c5fdd6e42903a76"
-dependencies = [
- "libc",
- "raw-window-handle 0.4.3",
-]
+checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "raw-window-handle"
-version = "0.4.3"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41"
-dependencies = [
- "cty",
-]
+checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
 
 [[package]]
 name = "rayon"
-version = "1.5.2"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
- "autocfg",
- "crossbeam-deque",
  "either",
  "rayon-core",
 ]
 
 [[package]]
 name = "rayon-core"
-version = "1.9.2"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
-name = "rctree"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ae028b272a6e99d9f8260ceefa3caa09300a8d6c8d2b2001316474bc52122e9"
-
-[[package]]
-name = "rdrand"
-version = "0.4.0"
+name = "read-fonts"
+version = "0.15.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+checksum = "a1362980db95801b70031dd592dc052a44b1810ca9da8fbcf7b25983f3174ed0"
 dependencies = [
- "rand_core 0.3.1",
+ "font-types",
 ]
 
 [[package]]
-name = "recently-used-xbel"
-version = "1.0.0"
+name = "redox_syscall"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd9533c371523034735c8c68da31004561dd011df9d45d0e5886c141858a7d17"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
 dependencies = [
- "dirs 4.0.0",
- "serde",
- "serde-xml-rs",
- "thiserror",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.13"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
-name = "redox_users"
-version = "0.4.3"
+name = "redox_syscall"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
- "getrandom 0.2.6",
- "redox_syscall",
- "thiserror",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "regex"
-version = "1.5.5"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
+ "regex-automata",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
+ "aho-corasick",
+ "memchr",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "renderdoc-sys"
-version = "0.7.1"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1382d1f0a252c4bf97dc20d979a2fdd05b024acd7c2ed0f7595d7817666a157"
+checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
 
 [[package]]
-name = "reqwest"
-version = "0.11.10"
+name = "rfd"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46a1f7aa4f35e5e8b4160449f51afc758f0ce6454315a9fa7d0d113e958c41eb"
+checksum = "373d2fc6310e2d14943d4e66ebed5b774a2b6b3b1610e7377edf124fb2760d6b"
 dependencies = [
- "base64",
- "bytes 1.1.0",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
- "hyper-rustls",
- "ipnet",
+ "ashpd",
+ "block",
+ "dispatch",
  "js-sys",
- "lazy_static",
  "log",
- "mime",
- "percent-encoding",
- "pin-project-lite",
- "rustls",
- "rustls-pemfile",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio",
- "tokio-rustls",
- "url",
+ "objc",
+ "objc-foundation",
+ "objc_id",
+ "pollster",
+ "raw-window-handle 0.6.0",
+ "urlencoding",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "webpki-roots",
- "winreg",
-]
-
-[[package]]
-name = "result"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194d8e591e405d1eecf28819740abed6d719d1a2db87fc0bcdedee9a26d55560"
-
-[[package]]
-name = "resvg"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "608c6e8aa6fb2c13bc06e4184d7c7b2cc1b7c138f88a539da8be55c3c033d7f4"
-dependencies = [
- "jpeg-decoder",
- "log",
- "pico-args",
- "png 0.17.5",
- "rgb",
- "svgfilters",
- "tiny-skia",
- "usvg",
-]
-
-[[package]]
-name = "rgb"
-version = "0.8.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e74fdc210d8f24a7dbfedc13b04ba5764f5232754ccebfdf5fff1bad791ccbc6"
-dependencies = [
- "bytemuck",
-]
-
-[[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",
- "web-sys",
- "winapi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "ron"
-version = "0.6.6"
+name = "riff"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86018df177b1beef6c7c8ef949969c4f7cb9a9344181b92486b23c79995bdaa4"
-dependencies = [
- "base64",
- "bitflags",
- "serde",
-]
+checksum = "b9b1a3d5f46d53f4a3478e2be4a5a5ce5108ea58b100dcd139830eae7f79a3a1"
 
 [[package]]
 name = "ron"
-version = "0.7.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b861ecaade43ac97886a512b360d01d66be9f41f3c61088b42cedf92e03d678"
+checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
  "base64",
- "bitflags",
+ "bitflags 2.4.2",
  "serde",
+ "serde_derive",
 ]
 
 [[package]]
 name = "roxmltree"
-version = "0.14.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b"
-dependencies = [
- "xmlparser",
-]
-
-[[package]]
-name = "rust-ini"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
-dependencies = [
- "cfg-if 1.0.0",
- "ordered-multimap",
-]
+checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f"
 
 [[package]]
 name = "rustc-hash"
@@ -3521,88 +3077,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
-name = "rustc-serialize"
-version = "0.3.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
-
-[[package]]
-name = "rustc_version"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
-dependencies = [
- "semver 0.11.0",
-]
-
-[[package]]
 name = "rustc_version"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.9",
-]
-
-[[package]]
-name = "rustls"
-version = "0.20.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921"
-dependencies = [
- "log",
- "ring",
- "sct",
- "webpki",
+ "semver",
 ]
 
 [[package]]
-name = "rustls-pemfile"
-version = "0.3.0"
+name = "rustix"
+version = "0.38.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ee86d63972a7c661d1536fefe8c3c8407321c3df668891286de28abcd087360"
+checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
 dependencies = [
- "base64",
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
-name = "rustversion"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
-
-[[package]]
 name = "rustybuzz"
-version = "0.4.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44561062e583c4873162861261f16fd1d85fe927c4904d71329a4fe43dc355ef"
+checksum = "2ee8fe2a8461a0854a37101fe7a1b13998d0cfa987e43248e81d2a5f4570f6fa"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "bytemuck",
+ "libm",
  "smallvec",
- "ttf-parser 0.12.3",
+ "ttf-parser 0.20.0",
  "unicode-bidi-mirroring",
  "unicode-ccc",
- "unicode-general-category",
+ "unicode-properties",
  "unicode-script",
 ]
 
 [[package]]
-name = "ryu"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
-
-[[package]]
-name = "safe_arch"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
 name = "same-file"
 version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3613,355 +3126,233 @@ dependencies = [
 
 [[package]]
 name = "scoped-tls"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[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"
-version = "0.7.0"
+name = "sctk-adwaita"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "82b2eaf3a5b264a521b988b2e73042e742df700c4f962cde845d1541adb46550"
 dependencies = [
- "ring",
- "untrusted",
+ "ab_glyph",
+ "log",
+ "memmap2 0.9.4",
+ "smithay-client-toolkit",
+ "tiny-skia",
 ]
 
 [[package]]
-name = "semver"
-version = "0.11.0"
+name = "self_cell"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
-dependencies = [
- "semver-parser",
-]
+checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
 
 [[package]]
 name = "semver"
-version = "1.0.9"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd"
-
-[[package]]
-name = "semver-parser"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
-dependencies = [
- "pest",
-]
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
-version = "1.0.137"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
-name = "serde-xml-rs"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65162e9059be2f6a3421ebbb4fef3e74b7d9e7c60c50a0e292c6239f19f1edfa"
-dependencies = [
- "log",
- "serde",
- "thiserror",
- "xml-rs",
-]
-
-[[package]]
-name = "serde_cbor"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
-dependencies = [
- "half",
- "serde",
-]
-
-[[package]]
 name = "serde_derive"
-version = "1.0.137"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_ini"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb236687e2bb073a7521c021949be944641e671b8505a94069ca37b656c81139"
-dependencies = [
- "result",
- "serde",
- "void",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.81"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
-dependencies = [
- "itoa 1.0.1",
- "ryu",
- "serde",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_repr"
-version = "0.1.8"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2ad84e47328a31223de7fed7a4f5087f2d6ddfe586cf3ca25b7a165bc0a5aed"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
-dependencies = [
- "form_urlencoded",
- "itoa 1.0.1",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_with"
-version = "1.13.0"
+name = "serde_spanned"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b827f2113224f3f19a665136f006709194bdfdcb1fdc1e4b2b5cbac8e0cced54"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
- "rustversion",
  "serde",
- "serde_with_macros",
-]
-
-[[package]]
-name = "serde_with_macros"
-version = "1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "servo-fontconfig"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7e3e22fe5fd73d04ebf0daa049d3efe3eae55369ce38ab16d07ddd9ac5c217c"
-dependencies = [
- "libc",
- "servo-fontconfig-sys",
-]
-
-[[package]]
-name = "servo-fontconfig-sys"
-version = "5.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e36b879db9892dfa40f95da1c38a835d41634b825fbd8c4c418093d53c24b388"
-dependencies = [
- "expat-sys",
- "freetype-sys",
- "pkg-config",
-]
-
-[[package]]
-name = "sha-1"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
-dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
 ]
 
 [[package]]
 name = "sha1"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
-dependencies = [
- "sha1_smol",
-]
-
-[[package]]
-name = "sha1_smol"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
-
-[[package]]
-name = "sharded-slab"
-version = "0.1.4"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
- "lazy_static",
+ "cfg-if",
+ "cpufeatures",
+ "digest",
 ]
 
 [[package]]
-name = "shell-words"
-version = "1.1.0"
+name = "shlex"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[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",
 ]
 
 [[package]]
-name = "simplecss"
-version = "0.2.1"
+name = "simd-adler32"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d"
-dependencies = [
- "log",
-]
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[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.6"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
-
-[[package]]
-name = "sled"
-version = "0.34.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
- "crc32fast",
- "crossbeam-epoch",
- "crossbeam-utils",
- "fs2",
- "fxhash",
- "libc",
- "log",
- "parking_lot",
+ "autocfg",
 ]
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.8.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.15.4"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a28f16a97fa0e8ce563b2774d1e732dd5d4025d2772c5dba0a41a0f90a29da3"
+checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
  "calloop",
- "dlib",
- "lazy_static",
+ "calloop-wayland-source",
+ "cursor-icon",
+ "libc",
  "log",
- "memmap2",
- "nix 0.22.3",
- "pkg-config",
+ "memmap2 0.9.4",
+ "rustix",
+ "thiserror",
+ "wayland-backend",
  "wayland-client",
+ "wayland-csd-frame",
  "wayland-cursor",
  "wayland-protocols",
+ "wayland-protocols-wlr",
+ "wayland-scanner",
+ "xkeysym",
 ]
 
 [[package]]
-name = "smithay-clipboard"
-version = "0.6.5"
+name = "smol_str"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "610b551bd25378bfd2b8e7a0fcbd83d427e8f2f6a40c47ae0f70688e9949dd55"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
 dependencies = [
- "smithay-client-toolkit",
- "wayland-client",
+ "serde",
 ]
 
 [[package]]
-name = "socket2"
-version = "0.4.4"
+name = "softbuffer"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
 dependencies = [
- "libc",
- "winapi",
+ "as-raw-xcb-connection",
+ "bytemuck",
+ "cfg_aliases 0.2.0",
+ "cocoa",
+ "core-graphics",
+ "drm",
+ "fastrand",
+ "foreign-types",
+ "js-sys",
+ "log",
+ "memmap2 0.9.4",
+ "objc",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.4.1",
+ "rustix",
+ "tiny-xlib",
+ "wasm-bindgen",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-sys",
+ "web-sys",
+ "windows-sys 0.52.0",
+ "x11rb",
 ]
 
 [[package]]
-name = "speculoos"
-version = "0.9.0"
+name = "soundfont"
+version = "0.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bcff6a72e2ddfb09ce0064568857e70d3cf6f4342244ebb1f84fa6f89b16c26"
+checksum = "88f3c4ee9be1386dc5d4f33fb1df6f813eb2f49510cb24e8bfd30784f4853fce"
 dependencies = [
- "num",
+ "riff",
 ]
 
 [[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.3"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530c2b0d0bf8b69304b39fe2001993e267461948b890cd037d8ad4293fa1a0d"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 dependencies = [
  "lock_api",
 ]
 
 [[package]]
 name = "spirv"
-version = "0.2.0+1.5.4"
+version = "0.3.0+sdk-1.3.268.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
 dependencies = [
- "bitflags",
- "num-traits",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -3971,40 +3362,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
-name = "str-buf"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d44a3643b4ff9caf57abcee9c2c621d6c03d9135e0d8b589bd9afb5992cb176a"
-
-[[package]]
-name = "strsim"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-
-[[package]]
-name = "structopt"
-version = "0.3.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
-dependencies = [
- "clap",
- "lazy_static",
- "structopt-derive",
-]
-
-[[package]]
-name = "structopt-derive"
-version = "0.4.18"
+name = "strict-num"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
-dependencies = [
- "heck",
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
 
 [[package]]
 name = "svg_fmt"
@@ -4013,129 +3374,135 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2"
 
 [[package]]
-name = "svgfilters"
-version = "0.4.0"
+name = "swash"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "639abcebc15fdc2df179f37d6f5463d660c1c79cd552c12343a4600827a04bce"
+checksum = "d06ff4664af8923625604261c645f5c4cc610cc83c84bec74b50d76237089de7"
 dependencies = [
- "float-cmp",
- "rgb",
+ "read-fonts",
+ "yazi",
+ "zeno",
 ]
 
 [[package]]
-name = "svgtypes"
-version = "0.8.0"
+name = "syn"
+version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dabb3eb59a457c56d5282ab4545609e2cc382b41f6af239bb8d59a7267ef94b3"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
- "siphasher",
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "syn"
-version = "1.0.92"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff7c592601f11445996a06f8ad0c27f094a58857c2f89e97974ab9235b92c52"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
-name = "sysfs-class"
-version = "0.1.3"
+name = "sys-locale"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1bbcf869732c45a77898f7f61ed6d411dfc37613517e444842f58d428856d1"
+checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0"
 dependencies = [
- "numtoa",
+ "libc",
 ]
 
 [[package]]
-name = "temp-dir"
-version = "0.1.11"
+name = "tempfile"
+version = "3.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
-
-[[package]]
-name = "tempdir"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
+checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
 dependencies = [
- "rand 0.4.6",
- "remove_dir_all",
+ "cfg-if",
+ "fastrand",
+ "rustix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 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.31"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.31"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
-name = "thread_local"
-version = "1.1.4"
+name = "tiff"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
- "once_cell",
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.6.3"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bcfd4339bdd4545eabed74b208f2f1555f2e6540fb58135c01f46c0940aa138"
+checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab"
 dependencies = [
  "arrayref",
- "arrayvec 0.5.2",
+ "arrayvec",
  "bytemuck",
- "cfg-if 1.0.0",
- "png 0.17.5",
- "safe_arch",
+ "cfg-if",
+ "log",
+ "png",
+ "tiny-skia-path",
 ]
 
 [[package]]
-name = "tinytemplate"
-version = "1.2.1"
+name = "tiny-skia-path"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93"
 dependencies = [
- "serde",
- "serde_json",
+ "arrayref",
+ "bytemuck",
+ "strict-num",
+]
+
+[[package]]
+name = "tiny-xlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
+dependencies = [
+ "as-raw-xcb-connection",
+ "ctor",
+ "libloading 0.8.1",
+ "tracing",
 ]
 
 [[package]]
@@ -4149,98 +3516,72 @@ dependencies = [
 
 [[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 = "tokio"
-version = "1.18.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4903bf0427cf68dddd5aa6a93220756f8be0c34fcfa9f5e6191e103e15a31395"
-dependencies = [
- "bytes 1.1.0",
- "libc",
- "memchr",
- "mio",
- "num_cpus",
- "once_cell",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "winapi",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "1.7.0"
+name = "toml"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
+checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.22.4",
 ]
 
 [[package]]
-name = "tokio-rustls"
-version = "0.23.4"
+name = "toml_datetime"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
- "rustls",
- "tokio",
- "webpki",
+ "serde",
 ]
 
 [[package]]
-name = "tokio-stream"
-version = "0.1.8"
+name = "toml_edit"
+version = "0.19.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
 dependencies = [
- "futures-core",
- "pin-project-lite",
- "tokio",
+ "indexmap",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
-name = "tokio-util"
-version = "0.7.1"
+name = "toml_edit"
+version = "0.21.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764"
+checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
 dependencies = [
- "bytes 1.1.0",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
- "tracing",
+ "indexmap",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
-name = "toml"
-version = "0.5.9"
+name = "toml_edit"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+checksum = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
 dependencies = [
+ "indexmap",
  "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
 ]
 
 [[package]]
-name = "tower-service"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
-
-[[package]]
 name = "tracing"
-version = "0.1.34"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if 1.0.0",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -4248,105 +3589,58 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.21"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.26"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
- "lazy_static",
- "valuable",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596"
-dependencies = [
- "lazy_static",
- "matchers",
- "regex",
- "sharded-slab",
- "thread_local",
- "tracing",
- "tracing-core",
+ "once_cell",
 ]
 
 [[package]]
-name = "try-lock"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
-
-[[package]]
 name = "ttf-parser"
-version = "0.12.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6"
+checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
 
 [[package]]
 name = "ttf-parser"
-version = "0.15.0"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c74c96594835e10fa545e2a51e8709f30b173a092bfd6036ef2cec53376244f3"
-
-[[package]]
-name = "twox-hash"
-version = "1.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
-dependencies = [
- "cfg-if 1.0.0",
- "rand 0.8.5",
- "static_assertions",
-]
+checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
 
 [[package]]
 name = "typenum"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
-
-[[package]]
-name = "ucd-trie"
-version = "0.1.3"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "486992108df0fe0160680af1941fe856c521be931d5a5ecccefe0de86dc47e4a"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
- "tempdir",
+ "memoffset",
+ "tempfile",
  "winapi",
 ]
 
 [[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check",
-]
-
-[[package]]
 name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -4361,106 +3655,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
 
 [[package]]
-name = "unicode-general-category"
-version = "0.4.0"
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07547e3ee45e28326cc23faac56d44f58f16ab23e413db526debce3b0bfd2742"
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.19"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
-name = "unicode-script"
-version = "0.5.4"
+name = "unicode-properties"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58dd944fd05f2f0b5c674917aea8a4df6af84f2d8de3fe8d988b95d28fb8fb09"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
 
 [[package]]
-name = "unicode-segmentation"
-version = "1.9.0"
+name = "unicode-script"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
+checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
 
 [[package]]
-name = "unicode-vo"
-version = "0.1.0"
+name = "unicode-segmentation"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
-
-[[package]]
-name = "untrusted"
-version = "0.7.1"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
- "matches",
  "percent-encoding",
+ "serde",
 ]
 
 [[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 = "usvg"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4058e0bd091a56f905e6963e40776ce6880b271275f0b493bff951433e303071"
-dependencies = [
- "base64",
- "data-url",
- "flate2",
- "float-cmp",
- "fontdb",
- "kurbo",
- "log",
- "pico-args",
- "rctree",
- "roxmltree",
- "rustybuzz",
- "simplecss",
- "siphasher",
- "svgtypes",
- "ttf-parser 0.12.3",
- "unicode-bidi",
- "unicode-script",
- "unicode-vo",
- "xmlwriter",
-]
-
-[[package]]
-name = "valuable"
-version = "0.1.0"
+name = "vcpkg"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "version_check"
@@ -4469,57 +3736,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "void"
-version = "1.0.2"
+name = "vswhom"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
+dependencies = [
+ "libc",
+ "vswhom-sys",
+]
 
 [[package]]
-name = "waker-fn"
-version = "1.1.0"
+name = "vswhom-sys"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
+dependencies = [
+ "cc",
+ "libc",
+]
 
 [[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",
  "winapi-util",
 ]
 
 [[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 = "ward"
-version = "2.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cbcd609d606e1307a1530061482ed2ee3fc9963128990238cefb2013127b61e"
-
-[[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.10.2+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
-
-[[package]]
 name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4527,36 +3773,36 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.80"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.80"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
 dependencies = [
  "bumpalo",
- "lazy_static",
  "log",
+ "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.30"
+version = "0.4.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2"
+checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
  "js-sys",
  "wasm-bindgen",
  "web-sys",
@@ -4564,9 +3810,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.80"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -4574,22 +3820,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.80"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.80"
+version = "0.2.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744"
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 
 [[package]]
 name = "wasm-timer"
@@ -4599,7 +3845,7 @@ checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
 dependencies = [
  "futures",
  "js-sys",
- "parking_lot",
+ "parking_lot 0.11.2",
  "pin-utils",
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -4607,135 +3853,157 @@ dependencies = [
 ]
 
 [[package]]
-name = "wayland-client"
-version = "0.29.4"
+name = "wayland-backend"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91223460e73257f697d9e23d401279123d36039a3f7a449e983f123292d4458f"
+checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
 dependencies = [
- "bitflags",
+ "cc",
  "downcast-rs",
- "libc",
- "nix 0.22.3",
+ "rustix",
  "scoped-tls",
- "wayland-commons",
- "wayland-scanner",
+ "smallvec",
  "wayland-sys",
 ]
 
 [[package]]
-name = "wayland-commons"
-version = "0.29.4"
+name = "wayland-client"
+version = "0.31.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94f6e5e340d7c13490eca867898c4cec5af56c27a5ffe5c80c6fc4708e22d33e"
+checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
 dependencies = [
- "nix 0.22.3",
- "once_cell",
- "smallvec",
- "wayland-sys",
+ "bitflags 2.4.2",
+ "rustix",
+ "wayland-backend",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-csd-frame"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
+dependencies = [
+ "bitflags 2.4.2",
+ "cursor-icon",
+ "wayland-backend",
 ]
 
 [[package]]
 name = "wayland-cursor"
-version = "0.29.4"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c52758f13d5e7861fc83d942d3d99bf270c83269575e52ac29e5b73cb956a6bd"
+checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba"
 dependencies = [
- "nix 0.22.3",
+ "rustix",
  "wayland-client",
  "xcursor",
 ]
 
 [[package]]
 name = "wayland-protocols"
-version = "0.29.4"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-plasma"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
+dependencies = [
+ "bitflags 2.4.2",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-protocols-wlr"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60147ae23303402e41fe034f74fb2c35ad0780ee88a1c40ac09a3be1e7465741"
+checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.2",
+ "wayland-backend",
  "wayland-client",
- "wayland-commons",
+ "wayland-protocols",
  "wayland-scanner",
 ]
 
 [[package]]
 name = "wayland-scanner"
-version = "0.29.4"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39a1ed3143f7a143187156a2ab52742e89dac33245ba505c17224df48939f9e0"
+checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
 dependencies = [
  "proc-macro2",
+ "quick-xml",
  "quote",
- "xml-rs",
 ]
 
 [[package]]
 name = "wayland-sys"
-version = "0.29.4"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9341df79a8975679188e37dab3889bfa57c44ac2cb6da166f519a81cbe452d4"
+checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
 dependencies = [
  "dlib",
- "lazy_static",
+ "log",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.57"
+version = "0.3.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283"
+checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
 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",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.22.3"
+name = "web-time"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d8de8415c823c8abd270ad483c6feeac771fad964890779f9a8cb24fbbc1bf"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
 dependencies = [
- "webpki",
+ "js-sys",
+ "wasm-bindgen",
 ]
 
 [[package]]
 name = "weezl"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c97e489d8f836838d497091de568cf16b117486d529ec5579233521065bd5e4"
-
-[[package]]
-name = "wepoll-ffi"
-version = "0.1.2"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
-dependencies = [
- "cc",
-]
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "wgpu"
-version = "0.12.0"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97cd781ff044d6d697b632a2e212032c2e957d1afaa21dbf58069cbb8f78567"
+checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d"
 dependencies = [
- "arrayvec 0.7.2",
+ "arrayvec",
+ "cfg-if",
+ "cfg_aliases 0.1.1",
  "js-sys",
  "log",
  "naga",
- "parking_lot",
- "raw-window-handle 0.4.3",
+ "parking_lot 0.12.1",
+ "profiling",
+ "raw-window-handle 0.6.0",
  "smallvec",
+ "static_assertions",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
@@ -4746,58 +4014,67 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.12.2"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4688c000eb841ca55f7b35db659b78d6e1cd77d7caf8fb929f4e181f754047d"
+checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed"
 dependencies = [
- "arrayvec 0.7.2",
- "bitflags",
- "cfg_aliases",
+ "arrayvec",
+ "bit-vec",
+ "bitflags 2.4.2",
+ "cfg_aliases 0.1.1",
  "codespan-reporting",
- "copyless",
- "fxhash",
+ "indexmap",
  "log",
  "naga",
- "parking_lot",
+ "once_cell",
+ "parking_lot 0.12.1",
  "profiling",
- "raw-window-handle 0.4.3",
+ "raw-window-handle 0.6.0",
+ "rustc-hash",
  "smallvec",
  "thiserror",
+ "web-sys",
  "wgpu-hal",
  "wgpu-types",
 ]
 
 [[package]]
 name = "wgpu-hal"
-version = "0.12.5"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d684ea6a34974a2fc19f1dfd183d11a62e22d75c4f187a574bb1224df8e056c2"
+checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72"
 dependencies = [
- "arrayvec 0.7.2",
+ "android_system_properties",
+ "arrayvec",
  "ash",
  "bit-set",
- "bitflags",
+ "bitflags 2.4.2",
  "block",
+ "cfg_aliases 0.1.1",
  "core-graphics-types",
  "d3d12",
- "foreign-types",
- "fxhash",
  "glow",
+ "glutin_wgl_sys",
  "gpu-alloc",
+ "gpu-allocator",
  "gpu-descriptor",
- "inplace_it",
+ "hassle-rs",
  "js-sys",
  "khronos-egl",
- "libloading",
+ "libc",
+ "libloading 0.8.1",
  "log",
  "metal",
  "naga",
  "objc",
- "parking_lot",
+ "once_cell",
+ "parking_lot 0.12.1",
  "profiling",
  "range-alloc",
- "raw-window-handle 0.4.3",
+ "raw-window-handle 0.6.0",
  "renderdoc-sys",
+ "rustc-hash",
+ "smallvec",
  "thiserror",
  "wasm-bindgen",
  "web-sys",
@@ -4806,27 +4083,33 @@ dependencies = [
 ]
 
 [[package]]
-name = "wgpu-types"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "549533d9e1cdd4b4cda7718d33ff500fc4c34b5467b71d76b547ae0324f3b2a2"
+name = "wgpu-jumpstart"
+version = "0.1.0"
 dependencies = [
- "bitflags",
+ "bytemuck",
+ "log",
+ "raw-window-handle 0.6.0",
+ "wgpu",
 ]
 
 [[package]]
-name = "wgpu_glyph"
-version = "0.16.0"
+name = "wgpu-types"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8134edb15ae465caf308125646c9e98bdef7398cdefc69227ac77a5eb795e7fe"
+checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2"
 dependencies = [
- "bytemuck",
- "glyph_brush",
- "log",
- "wgpu",
+ "bitflags 2.4.2",
+ "js-sys",
+ "web-sys",
 ]
 
 [[package]]
+name = "widestring"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
+
+[[package]]
 name = "winapi"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4844,234 +4127,447 @@ 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",
 ]
 
 [[package]]
-name = "winapi-wsapoll"
-version = "0.1.1"
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.43.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244"
 dependencies = [
- "winapi",
+ "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 = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "windows"
+version = "0.46.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
+dependencies = [
+ "windows-targets 0.42.2",
+]
 
 [[package]]
-name = "window_clipboard"
-version = "0.2.2"
+name = "windows"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "086ed826cc4468377b6b995300d5f7f852a2fe1eb02e6cd1ccd4a574deb9d310"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
- "clipboard-win",
- "clipboard_macos",
- "clipboard_wayland",
- "clipboard_x11",
- "raw-window-handle 0.3.4",
- "thiserror",
+ "windows-core",
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[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.36.1"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
 dependencies = [
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_msvc",
+ "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-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "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]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
+[[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.36.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
+[[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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.36.1"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
+[[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.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.36.1"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
+[[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.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.36.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
+[[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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
+[[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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.36.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winit"
-version = "0.26.1"
+version = "0.29.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b43cc931d58b99461188607efd7acb2a093e65fc621f54cad78517a6063e73a"
+checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
 dependencies = [
- "bitflags",
- "cocoa",
- "core-foundation 0.9.3",
- "core-graphics 0.22.3",
- "core-video-sys",
- "dispatch",
- "instant",
- "lazy_static",
+ "ahash",
+ "android-activity",
+ "atomic-waker",
+ "bitflags 2.4.2",
+ "bytemuck",
+ "calloop",
+ "cfg_aliases 0.1.1",
+ "core-foundation",
+ "core-graphics",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
  "libc",
  "log",
- "mio",
- "ndk",
- "ndk-glue",
- "ndk-sys",
- "objc",
- "parking_lot",
+ "memmap2 0.9.4",
+ "ndk 0.8.0",
+ "ndk-sys 0.5.0+25.2.9519653",
+ "objc2",
+ "once_cell",
+ "orbclient",
  "percent-encoding",
- "raw-window-handle 0.4.3",
+ "raw-window-handle 0.5.2",
+ "raw-window-handle 0.6.0",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "sctk-adwaita",
  "smithay-client-toolkit",
+ "smol_str",
+ "unicode-segmentation",
  "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wayland-backend",
  "wayland-client",
  "wayland-protocols",
+ "wayland-protocols-plasma",
  "web-sys",
- "winapi",
+ "web-time",
+ "windows-sys 0.48.0",
  "x11-dl",
+ "x11rb",
+ "xkbcommon-dl",
 ]
 
 [[package]]
-name = "winreg"
-version = "0.10.1"
+name = "winnow"
+version = "0.5.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
 dependencies = [
- "winapi",
+ "memchr",
 ]
 
 [[package]]
-name = "wio"
-version = "0.2.2"
+name = "winreg"
+version = "0.51.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
+checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
 dependencies = [
- "winapi",
+ "cfg-if",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "x11-dl"
-version = "2.19.1"
+version = "2.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea26926b4ce81a6f5d9d0f3a0bc401e5a37c6ae14a1bfaa8ff6099ca80038c59"
+checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
 dependencies = [
- "lazy_static",
  "libc",
+ "once_cell",
  "pkg-config",
 ]
 
 [[package]]
 name = "x11rb"
-version = "0.8.1"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ffb080b3f2f616242a4eb8e7d325035312127901025b0052bc3154a282d0f19"
+checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
 dependencies = [
+ "as-raw-xcb-connection",
  "gethostname",
- "nix 0.20.0",
- "winapi",
- "winapi-wsapoll",
+ "libc",
+ "libloading 0.8.1",
+ "once_cell",
+ "rustix",
+ "x11rb-protocol",
 ]
 
 [[package]]
+name = "x11rb-protocol"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34"
+
+[[package]]
 name = "xcursor"
-version = "0.3.4"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
+
+[[package]]
+name = "xdg-home"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
+checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e"
 dependencies = [
- "nom",
+ "libc",
+ "winapi",
 ]
 
 [[package]]
-name = "xdg"
-version = "2.4.1"
+name = "xkbcommon-dl"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c4583db5cbd4c4c0303df2d15af80f0539db703fa1c68802d4cbbd2dd0f88f6"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
 dependencies = [
- "dirs 4.0.0",
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
+ "once_cell",
+ "xkeysym",
 ]
 
 [[package]]
-name = "xi-unicode"
-version = "0.3.0"
+name = "xkeysym"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
 
 [[package]]
 name = "xml-rs"
-version = "0.8.4"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
-name = "xmlparser"
-version = "0.13.3"
+name = "xxhash-rust"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "114ba2b24d2167ef6d67d7d04c8cc86522b87f490025f39f0303b7db5bf5e3d8"
+checksum = "53be06678ed9e83edb1745eb72efc0bbcd7b5c3c35711a860906aed827a13d61"
 
 [[package]]
-name = "xmlwriter"
-version = "0.1.0"
+name = "yazi"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
+checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1"
 
 [[package]]
 name = "zbus"
-version = "2.2.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53819092b9db813b2c6168b097b4b13ad284d81c9f2b0165a0a1b190e505a1f3"
+checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
 dependencies = [
  "async-broadcast",
- "async-channel",
  "async-executor",
+ "async-fs",
  "async-io",
- "async-lock",
+ "async-lock 3.3.0",
+ "async-process",
  "async-recursion",
  "async-task",
  "async-trait",
- "byteorder",
+ "blocking",
  "derivative",
  "enumflags2",
- "event-listener",
+ "event-listener 5.1.0",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
- "lazy_static",
- "nix 0.23.1",
- "once_cell",
+ "nix 0.27.1",
  "ordered-stream",
- "rand 0.8.5",
+ "rand",
  "serde",
  "serde_repr",
  "sha1",
  "static_assertions",
+ "tracing",
  "uds_windows",
- "winapi",
+ "windows-sys 0.52.0",
+ "xdg-home",
  "zbus_macros",
  "zbus_names",
  "zvariant",
@@ -5079,22 +4575,23 @@ dependencies = [
 
 [[package]]
 name = "zbus_macros"
-version = "2.2.0"
+version = "4.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7174ebe6722c280d6d132d694bb5664ce50a788cb70eeb518e7fc1ca095a114"
+checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7"
 dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.3.1",
  "proc-macro2",
  "quote",
  "regex",
- "syn",
+ "syn 1.0.109",
+ "zvariant_utils",
 ]
 
 [[package]]
 name = "zbus_names"
-version = "2.1.0"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1"
+checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
 dependencies = [
  "serde",
  "static_assertions",
@@ -5102,27 +4599,74 @@ dependencies = [
 ]
 
 [[package]]
+name = "zeno"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "zune-inflate"
+version = "0.2.54"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
 name = "zvariant"
-version = "3.2.0"
+version = "4.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e18ba99d71e03af262953f476071607da0c44e225236cf9b5b9f7f11f1d0b6b0"
+checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65"
 dependencies = [
- "byteorder",
+ "endi",
  "enumflags2",
- "libc",
  "serde",
  "static_assertions",
+ "url",
  "zvariant_derive",
 ]
 
 [[package]]
 name = "zvariant_derive"
-version = "3.2.0"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e"
+dependencies = [
+ "proc-macro-crate 1.3.1",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "zvariant_utils",
+]
+
+[[package]]
+name = "zvariant_utils"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9042892ebdca35261951a83d17bcbfd4d3d528cb3bde828498a9b306b50d05c0"
+checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172"
 dependencies = [
- "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
diff --git a/pkgs/by-name/ne/neothesia/package.nix b/pkgs/by-name/ne/neothesia/package.nix
new file mode 100644
index 0000000000000..9169d9cabaf2b
--- /dev/null
+++ b/pkgs/by-name/ne/neothesia/package.nix
@@ -0,0 +1,70 @@
+{ rustPlatform
+, fetchFromGitHub
+, lib
+, ffmpeg
+, pkg-config
+, alsa-lib
+, wayland
+, makeWrapper
+, llvmPackages
+, libxkbcommon
+, vulkan-loader
+, xorg
+}:
+let
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "PolyMeilex";
+    repo = "Neothesia";
+    rev = "v${version}";
+    hash = "sha256-bQ2546q+oachvuNKMJHjQzF6uv06LG+f7eFQPoAn6mw=";
+  };
+in
+rustPlatform.buildRustPackage {
+  pname = "neothesia";
+
+  inherit src version;
+
+  buildInputs = [
+    ffmpeg
+    alsa-lib
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    llvmPackages.clang
+    makeWrapper
+  ];
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "mpeg_encoder-0.2.1" = "sha256-+BNZZ1FIr1374n8Zs1mww2w3eWHOH6ENOTYXz9RT2Ck=";
+    };
+  };
+
+  cargoBuildFlags = [
+    "-p neothesia -p neothesia-cli"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/neothesia --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ wayland libxkbcommon vulkan-loader xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrender ]}"
+    install -Dm 644 flatpak/com.github.polymeilex.neothesia.desktop $out/share/applications/com.github.polymeilex.neothesia.desktop
+  '';
+
+  env = {
+    LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+  };
+
+  meta = {
+    description = "Flashy Synthesia Like Software For Linux, Windows and macOS";
+    homepage = "https://github.com/PolyMeilex/Neothesia";
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.linux;
+    mainProgram = "neothesia";
+    maintainers = [
+      lib.maintainers.naxdy
+    ];
+  };
+}
diff --git a/pkgs/by-name/ne/neovim-unwrapped/package.nix b/pkgs/by-name/ne/neovim-unwrapped/package.nix
index b29e020cbf612..0dd8ca8a0877b 100644
--- a/pkgs/by-name/ne/neovim-unwrapped/package.nix
+++ b/pkgs/by-name/ne/neovim-unwrapped/package.nix
@@ -148,7 +148,7 @@ in {
     # check that the above patching actually works
     disallowedRequisites = [ stdenv.cc ] ++ lib.optional (lua != codegenLua) codegenLua;
 
-    cmakeFlags = [
+    cmakeFlagsArray = [
       # Don't use downloaded dependencies. At the end of the configurePhase one
       # can spot that cmake says this option was "not used by the project".
       # That's because all dependencies were found and
diff --git a/pkgs/by-name/ne/nezha-agent/package.nix b/pkgs/by-name/ne/nezha-agent/package.nix
index 6e5216f5e466b..4f2092e5d99f3 100644
--- a/pkgs/by-name/ne/nezha-agent/package.nix
+++ b/pkgs/by-name/ne/nezha-agent/package.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule rec {
   pname = "nezha-agent";
-  version = "0.16.6";
+  version = "0.16.7";
 
   src = fetchFromGitHub {
     owner = "nezhahq";
     repo = "agent";
     rev = "v${version}";
-    hash = "sha256-+78WrkFMY2dfqU3ShmzQgR1ZgEKyb9COUjlIf695OM8=";
+    hash = "sha256-SKPDNYbtN93GVOlghYS69iHORDUshN47lAZ9DDoX0jM=";
   };
 
   vendorHash = "sha256-kqu3+hO0juxI5qbczVFg0GF+pljmePFbKd59a14U7Pg=";
diff --git a/pkgs/by-name/no/novops/package.nix b/pkgs/by-name/no/novops/package.nix
index 3b6c65c8fc56e..02f11dc208dd8 100644
--- a/pkgs/by-name/no/novops/package.nix
+++ b/pkgs/by-name/no/novops/package.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "novops";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "PierreBeucher";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9uX+YwCCIrf0BDioDL+G2z2ZNwYRFyPZa/mzTYXv51Y=";
+    hash = "sha256-b6CM7dDjEzFuL6SZQsFMBOq8p66Jnd7BdXFspWYlTps=";
   };
 
-  cargoHash = "sha256-ib1iifqQezWqXxQKppm0ghz0qi5z0siZUMVPHufiC0k=";
+  cargoHash = "sha256-mhNEeczbqXVsHoErwEIPUuJqNcyR6dTKBDeHCVH+KsE=";
 
   buildInputs = [
     openssl # required for openssl-sys
diff --git a/pkgs/by-name/nr/nrfconnect/package.nix b/pkgs/by-name/nr/nrfconnect/package.nix
index c3a6e0e7f3ddf..5f62d6283851e 100644
--- a/pkgs/by-name/nr/nrfconnect/package.nix
+++ b/pkgs/by-name/nr/nrfconnect/package.nix
@@ -5,11 +5,11 @@
 
 let
   pname = "nrfconnect";
-  version = "4.3.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-connect-for-desktop/${lib.versions.major version}-${lib.versions.minor version}-${lib.versions.patch version}/nrfconnect-${version}-x86_64.appimage";
-    hash = "sha256-G8//dZqPxn6mR8Bjzf/bAn9Gv7t2AFWIF9twCGbqMd8=";
+    hash = "sha256-x/vVSOEajuQtLATRXk8DVLlXHegCqP+acecaOFNeBb8=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -25,7 +25,6 @@ in appimageTools.wrapType2 {
   ];
 
   extraInstallCommands = ''
-    mv $out/bin/nrfconnect-* $out/bin/nrfconnect
     install -Dm444 ${appimageContents}/nrfconnect.desktop -t $out/share/applications
     install -Dm444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/nrfconnect.png \
       -t $out/share/icons/hicolor/512x512/apps
diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix
index c2dd4cb8e5c61..eaf0b7479ccae 100644
--- a/pkgs/by-name/oh/oh-my-posh/package.nix
+++ b/pkgs/by-name/oh/oh-my-posh/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "19.24.3";
+  version = "19.27.0";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-sgtMK1ccf1rX5ZdQpTRClxx112eOFV+BWyTIpMlzLVA=";
+    hash = "sha256-gnK4cu44aSVai48z7U4AlgiulCwNQU/LgN5XJKIYDv8=";
   };
 
-  vendorHash = "sha256-iSbQn86b1xZwlyo5nKYI7LEH5AyWCw7MLgD3Q0mtFfk=";
+  vendorHash = "sha256-YKl6Euk4907SeIy8BZL7aF2b0AsvknZ7CU8n49GNLz0=";
 
   sourceRoot = "${src.name}/src";
 
diff --git a/pkgs/by-name/on/onagre/package.nix b/pkgs/by-name/on/onagre/package.nix
new file mode 100644
index 0000000000000..2943e8f032941
--- /dev/null
+++ b/pkgs/by-name/on/onagre/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, fetchFromGitHub
+, makeWrapper
+, rustPlatform
+, cmake
+, pkgconf
+, freetype
+, expat
+, wayland
+, xorg
+, libxkbcommon
+, pop-launcher
+, vulkan-loader
+, libGL
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onagre";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "onagre-launcher";
+    repo = "onagre";
+    rev = "1.1.0";
+    hash = "sha256-ASeLvgj2RyhsZQtkUTYeA7jWyhbLg8yl6HbN2A/Sl2M=";
+  };
+
+  cargoHash = "sha256-17Hw3jtisOXwARpp0jB0hrNax7nzMWS0kCE3ZAruBj8=";
+
+  nativeBuildInputs = [ makeWrapper cmake pkgconf ];
+  buildInputs = [
+    expat
+    freetype
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXi
+    xorg.libXrandr
+  ];
+
+  postFixup = let
+    rpath = lib.makeLibraryPath [ libGL vulkan-loader wayland libxkbcommon ];
+  in ''
+    patchelf --set-rpath ${rpath} $out/bin/onagre
+    wrapProgram $out/bin/onagre \
+      --prefix PATH ':' ${lib.makeBinPath [
+        pop-launcher
+      ]}
+  '';
+
+  meta = with lib; {
+    description = "A general purpose application launcher for X and wayland inspired by rofi/wofi and alfred";
+    homepage = "https://github.com/onagre-launcher/onagre";
+    license = licenses.mit;
+    maintainers = [ maintainers.jfvillablanca maintainers.ilya-epifanov ];
+    platforms = platforms.linux;
+    mainProgram = "onagre";
+  };
+}
diff --git a/pkgs/by-name/pa/patch2pr/package.nix b/pkgs/by-name/pa/patch2pr/package.nix
index 67b5f227bcd4c..488d2f8583772 100644
--- a/pkgs/by-name/pa/patch2pr/package.nix
+++ b/pkgs/by-name/pa/patch2pr/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "patch2pr";
-  version = "0.22.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "bluekeyes";
     repo = "patch2pr";
     rev = "v${version}";
-    hash = "sha256-tG0pSXmrWT5PCcR25XngbKAS3q9jKdDKqWdPqA62omE=";
+    hash = "sha256-ot/PECNRuhJUYX1woektKC6VEV+rLKiSnCVCLIRhSUo=";
   };
 
-  vendorHash = "sha256-Z6BHUD7WrEpUmCaLvrFYCQCSbhPhee+gR5ep1oLzqbE=";
+  vendorHash = "sha256-K2qYfS0A1gOo2n3pBy00oLbd1/q/p5N8RoId+OP1Jmw=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/by-name/pa/payme/package.nix b/pkgs/by-name/pa/payme/package.nix
index 5465274e18638..4dd5af7076202 100644
--- a/pkgs/by-name/pa/payme/package.nix
+++ b/pkgs/by-name/pa/payme/package.nix
@@ -2,17 +2,18 @@
 
 buildGoModule rec {
   pname = "payme";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "jovandeginste";
     repo = "payme";
     rev = "v${version}";
-    hash = "sha256-2gZgmYgLaJQRQ+3VOUDnMm5QBjfKyxyutVf9NrbGO3g=";
+    hash = "sha256-LZyTwi4VCetIF39yc7WU3VR20DfFxfhDr3FvVQo7b/Q=";
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
       git rev-parse HEAD > $out/COMMIT
+      TZ=UTC0 git show --quiet --date=iso-local --format=%cd > $out/BUILD_TIME
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
@@ -27,6 +28,7 @@ buildGoModule rec {
 
   preBuild = ''
     ldflags+=" -X main.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X 'main.buildTime=$(cat BUILD_TIME)'"
   '';
 
   meta = {
diff --git a/pkgs/by-name/po/poethepoet/package.nix b/pkgs/by-name/po/poethepoet/package.nix
index b186b8866e1f6..08237d2b8a721 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.25.1";
+  version = "0.26.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "nat-n";
     repo = "poethepoet";
     rev = "refs/tags/v${version}";
-    hash = "sha256-x57/7Qw2cLSmB01uiIAIu0dBhFqol+ewO1fRs45U0qE=";
+    hash = "sha256-7mRzWxMhDNUc+eY9uEszt/qQUUJhlgJqadCL+Z7QzWo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pr/protonplus/package.nix b/pkgs/by-name/pr/protonplus/package.nix
index 94d6f2f65e9aa..cd715b3a36d0c 100644
--- a/pkgs/by-name/pr/protonplus/package.nix
+++ b/pkgs/by-name/pr/protonplus/package.nix
@@ -20,13 +20,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "protonplus";
-  version = "0.4.9";
+  version = "0.4.10";
 
   src = fetchFromGitHub {
     owner = "Vysp3r";
     repo = "protonplus";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-rYGUKOVQHYaUzQZaVas5zy26xv2NchcqZ7YvTmejb20=";
+    hash = "sha256-dKhGXpsBCZBNNJRAjzSvP0B/3DbS9wRdhTS4WL2NZjE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/retrospy/package.nix b/pkgs/by-name/re/retrospy/package.nix
index 4333a68d06039..07ba2d35da367 100644
--- a/pkgs/by-name/re/retrospy/package.nix
+++ b/pkgs/by-name/re/retrospy/package.nix
@@ -9,27 +9,35 @@
 , libXcursor
 , libICE
 , libSM
+, runCommandLocal
 }:
 let
   version = "6.4.8";
 
+  src = fetchFromGitHub {
+    owner = "retrospy";
+    repo = "RetroSpy";
+    rev = "v${version}";
+    hash = "sha256-0rdLdud78gnBX8CIdG81caJ1IRoIjGzb7coP4huEPDA=";
+  };
+
   executables = [
     "RetroSpy"
     "GBPemu"
     "GBPUpdater"
     "UsbUpdater"
   ];
+
+  retrospy-icons = runCommandLocal "retrospy-icons" { } ''
+    mkdir -p $out/share/retrospy
+    ${builtins.concatStringsSep "\n" (map (e: "cp ${src}/${e}.ico $out/share/retrospy/${e}.ico") executables)}
+  '';
 in
 buildDotnetModule {
   pname = "retrospy";
   inherit version;
 
-  src = fetchFromGitHub {
-    owner = "retrospy";
-    repo = "RetroSpy";
-    rev = "v${version}";
-    hash = "sha256-0rdLdud78gnBX8CIdG81caJ1IRoIjGzb7coP4huEPDA=";
-  };
+  inherit src;
 
   nativeBuildInputs = [
     copyDesktopItems
@@ -57,18 +65,13 @@ buildDotnetModule {
 
   inherit executables;
 
-  postInstall = ''
-    mkdir -p $out/share/retrospy
-    ${builtins.concatStringsSep "\n" (map (e: "cp ./${e}.ico $out/share/retrospy/${e}.ico") executables)}
-  '';
-
   passthru.updateScript = ./update.sh;
 
   desktopItems = map
     (e: (makeDesktopItem {
       name = e;
       exec = e;
-      icon = "${placeholder "out"}/share/retrospy/${e}.ico";
+      icon = "${retrospy-icons}/share/retrospy/${e}.ico";
       desktopName = "${e}";
       categories = [ "Utility" ];
       startupWMClass = e;
diff --git a/pkgs/by-name/rh/rHttp/package.nix b/pkgs/by-name/rh/rHttp/package.nix
new file mode 100644
index 0000000000000..bd28007dc3611
--- /dev/null
+++ b/pkgs/by-name/rh/rHttp/package.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  ...
+}:
+buildGoModule {
+  pname = "rHttp";
+  version = "unstable-2024-04-28";
+
+  src = fetchFromGitHub {
+    owner = "1buran";
+    repo = "rHttp";
+    rev = "9b7da3a0f7c2e35c9d326e7920ded15f806f8113";
+    sha256 = "1nz3f6zgpbxlwn6c5rqxa8897ygi5r7h7f6624i27rq9kr729cra";
+  };
+
+  vendorHash = "sha256-NR1q44IUSME+x1EOcnXXRoIXw8Av0uH7iXhD+cdd99I=";
+
+  meta = with lib; {
+    description = "Go REPL for HTTP";
+    homepage = "https://github.com/1buran/rHttp";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ luftmensch-luftmensch ];
+    mainProgram = "rhttp";
+  };
+}
diff --git a/pkgs/by-name/ro/rofimoji/package.nix b/pkgs/by-name/ro/rofimoji/package.nix
index 56730c975fd74..c694f88dd1901 100644
--- a/pkgs/by-name/ro/rofimoji/package.nix
+++ b/pkgs/by-name/ro/rofimoji/package.nix
@@ -15,14 +15,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "rofimoji";
-  version = "6.2.0";
+  version = "6.3.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "fdw";
     repo = "rofimoji";
-    rev = version;
-    hash = "sha256-9P9hXBEfq6sqCvb2SfPBNadEoXAdWF3cmcKGEOK+EHE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gYLUUbT6OHMo2nzJ//Pa0vZ9WPcHs6YnAjTKNO07VNk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ry/ryujinx/deps.nix b/pkgs/by-name/ry/ryujinx/deps.nix
index d01214484098b..393c492d21f51 100644
--- a/pkgs/by-name/ry/ryujinx/deps.nix
+++ b/pkgs/by-name/ry/ryujinx/deps.nix
@@ -151,7 +151,7 @@
   (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.16.0"; sha256 = "05918f6fl8byla2m7qjp7dvxww2rbpj2sqd4xq26rl885fmddfvf"; })
   (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.KHR"; version = "2.16.0"; sha256 = "1j4wsv7kjgjkmf2vlm5jjnqkdh265rkz5s1hx42i0f4bmdaz2kj1"; })
   (fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0"; sha256 = "1lsc789fqsnh3jx5w0g5k2n1wlww58zyzrcf5rs3wx2fjrqi084k"; })
-  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.7"; sha256 = "07rd8vbd23ynhpz4y81b8fqnbn5q5q7rvcdwcky3nzngdg3vgw08"; })
+  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.8"; sha256 = "049k8zf9acqncfdbdc7875fvndk2089mwlm5igam88vwc5i5vh75"; })
   (fetchNuGet { pname = "SixLabors.ImageSharp.Drawing"; version = "1.0.0"; sha256 = "0gh6xzw0jhjxf2slky11sdj0s8mp5dmps5k0rlx4krm68xb98zr0"; })
   (fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
   (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; sha256 = "0xs11zjw9ha68maw3l825kfwlrid43qwy0mswljxhpjh0y1k6k6b"; })
diff --git a/pkgs/by-name/ry/ryujinx/package.nix b/pkgs/by-name/ry/ryujinx/package.nix
index a32f86e2399b0..4740e943a524d 100644
--- a/pkgs/by-name/ry/ryujinx/package.nix
+++ b/pkgs/by-name/ry/ryujinx/package.nix
@@ -26,13 +26,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.1.1281"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+  version = "1.1.1298"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "8884d1fd732c9ba788f0ab711e6a9f507d934ac8";
-    sha256 = "0g4x10whiybckvx8hhpdrpa8mbypwmpq1av6cjk53zc7iwkhvigw";
+    rev = "a23d8cb92f3f1bb8dc144f4d9fb3fddee749feae";
+    sha256 = "1vf4xwn1z7bfm7c49r2yydx3dqqzqwp0qgzq12m9yskqsj898d63";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_8_0;
diff --git a/pkgs/by-name/sa/sarasa-gothic/package.nix b/pkgs/by-name/sa/sarasa-gothic/package.nix
index 68c5d35cd0fa0..9c77d1070ee66 100644
--- a/pkgs/by-name/sa/sarasa-gothic/package.nix
+++ b/pkgs/by-name/sa/sarasa-gothic/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "sarasa-gothic";
-  version = "1.0.11";
+  version = "1.0.12";
 
   src = fetchurl {
     # Use the 'ttc' files here for a smaller closure size.
     # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
     url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip";
-    hash = "sha256-bBBXW/06lfhiS44JF9i/x4clfnvh2nitOyAgOPoHI0A=";
+    hash = "sha256-icZT/CEvCCbDTklcca3LjtX7wnvx35wg4RyK1jHDmwk=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/by-name/sa/sarif-tools/package.nix b/pkgs/by-name/sa/sarif-tools/package.nix
new file mode 100644
index 0000000000000..881c2604eef96
--- /dev/null
+++ b/pkgs/by-name/sa/sarif-tools/package.nix
@@ -0,0 +1,4 @@
+{ python3Packages }:
+
+with python3Packages;
+toPythonApplication sarif-tools
diff --git a/pkgs/development/tools/misc/scc/default.nix b/pkgs/by-name/sc/scc/package.nix
index 5a5bf1cafefe4..5895b2f0b4551 100644
--- a/pkgs/development/tools/misc/scc/default.nix
+++ b/pkgs/by-name/sc/scc/package.nix
@@ -1,5 +1,8 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+}:
 buildGoModule rec {
   pname = "scc";
   version = "3.3.3";
@@ -19,7 +22,14 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/boyter/scc";
     description = "A very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go";
-    maintainers = with maintainers; [ sigma Br1ght0ne ];
-    license = with licenses; [ unlicense /* or */ mit ];
+    maintainers = with maintainers; [
+      sigma
+      Br1ght0ne
+    ];
+    license = with licenses; [
+      unlicense
+      # or
+      mit
+    ];
   };
 }
diff --git a/pkgs/by-name/sl/slumber/package.nix b/pkgs/by-name/sl/slumber/package.nix
index 3a01367689d42..f203aa313cb06 100644
--- a/pkgs/by-name/sl/slumber/package.nix
+++ b/pkgs/by-name/sl/slumber/package.nix
@@ -7,18 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "slumber";
-  version = "1.1.0";
+  version = "1.2.1";
 
-  # This release tarball includes source code for the tree-sitter grammars,
-  # which is not ordinarily part of the repository.
   src = fetchFromGitHub {
     owner = "LucasPickering";
     repo = "slumber";
     rev = "v${version}";
-    hash = "sha256-398XqowI3zEgiU1XolLj3q1m4foC6aGGL+B3Q4plbTw=";
+    hash = "sha256-afceWAmVpY0x3eXXhQ5unXWNvatiEfqGUwf2lRHTYf8=";
   };
 
-  cargoHash = "sha256-AK/+1tCdvNucIbxwyqOt/TbOaJPVDOKFEx5NqW2Yd4U=";
+  cargoHash = "sha256-8wleYN0sAgwm0aFsmbwfFw6JEtSYgvKbwkv92LZR5rg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
 
diff --git a/pkgs/by-name/sm/smartgithg/package.nix b/pkgs/by-name/sm/smartgithg/package.nix
index 57625a97b14a6..65c5a78ad299e 100644
--- a/pkgs/by-name/sm/smartgithg/package.nix
+++ b/pkgs/by-name/sm/smartgithg/package.nix
@@ -15,11 +15,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "smartgithg";
-  version = "23.1.2";
+  version = "23.1.3";
 
   src = fetchurl {
     url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
-    hash = "sha256-gXfHmRPUhs8s7IQIhN0vQyx8NpLrS28ufNNYOMA4AXw=";
+    hash = "sha256-UvdHr1L5MYwl7eT1BVS/M8Ydtw8VjDG+QuqMW0Q5La4=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook3 ];
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/.gitignore b/pkgs/by-name/sw/switch-to-configuration-ng/.gitignore
new file mode 100644
index 0000000000000..ea8c4bf7f35f6
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock
new file mode 100644
index 0000000000000..d66a2c6e75278
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.lock
@@ -0,0 +1,527 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+
+[[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",
+ "textwrap",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
+name = "const-random"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
+dependencies = [
+ "const-random-macro",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "dbus"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
+dependencies = [
+ "libc",
+ "libdbus-sys",
+ "winapi",
+]
+
+[[package]]
+name = "dbus-codegen"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcd91775d91fc83c7d526aa7c08078bac0b30f382706689901ac819fe6ddc812"
+dependencies = [
+ "clap",
+ "dbus",
+ "xml-rs",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "dlv-list"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
+dependencies = [
+ "const-random",
+]
+
+[[package]]
+name = "error-chain"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hostname"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+dependencies = [
+ "libc",
+ "match_cfg",
+ "winapi",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "libc"
+version = "0.2.154"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
+
+[[package]]
+name = "libdbus-sys"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
+dependencies = [
+ "pkg-config",
+]
+
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
+[[package]]
+name = "match_cfg"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
+
+[[package]]
+name = "memchr"
+version = "2.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
+
+[[package]]
+name = "nix"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+dependencies = [
+ "bitflags 2.5.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+[[package]]
+name = "ordered-multimap"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
+dependencies = [
+ "dlv-list",
+ "hashbrown",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
+
+[[package]]
+name = "rust-ini"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41"
+dependencies = [
+ "cfg-if",
+ "ordered-multimap",
+ "trim-in-place",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.200"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.200"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "switch-to-configuration"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "dbus",
+ "dbus-codegen",
+ "glob",
+ "log",
+ "nix",
+ "regex",
+ "rust-ini",
+ "syslog",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syslog"
+version = "6.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfc7e95b5b795122fafe6519e27629b5ab4232c73ebb2428f568e82b1a457ad3"
+dependencies = [
+ "error-chain",
+ "hostname",
+ "libc",
+ "log",
+ "time",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[package]]
+name = "trim-in-place"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[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"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[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-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "xml-rs"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193"
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml
new file mode 100644
index 0000000000000..51d805dcd959d
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/Cargo.toml
@@ -0,0 +1,19 @@
+[package]
+name = "switch-to-configuration"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+anyhow = "1.0.82"
+dbus = "0.9.7"
+glob = "0.3.1"
+log = "0.4.21"
+nix = { version = "0.28.0", features = ["fs", "signal"] }
+regex = "1.10.4"
+rust-ini = "0.21.0"
+syslog = "6.1.1"
+
+[build-dependencies]
+dbus-codegen = "0.11.0"
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/build.rs b/pkgs/by-name/sw/switch-to-configuration-ng/build.rs
new file mode 100644
index 0000000000000..41fed3086e690
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/build.rs
@@ -0,0 +1,30 @@
+use std::io::Write;
+
+fn code_for_dbus_xml(xml: impl AsRef<std::path::Path>) -> String {
+    dbus_codegen::generate(
+        &std::fs::read_to_string(xml).unwrap(),
+        &dbus_codegen::GenOpts {
+            methodtype: None,
+            connectiontype: dbus_codegen::ConnectionType::Blocking,
+            ..Default::default()
+        },
+    )
+    .unwrap()
+}
+
+fn main() {
+    let systemd_dbus_interface_dir = std::env::var("SYSTEMD_DBUS_INTERFACE_DIR").unwrap();
+    let systemd_dbus_interface_dir = std::path::Path::new(systemd_dbus_interface_dir.as_str());
+
+    let out_path = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap());
+
+    let systemd_manager_code =
+        code_for_dbus_xml(systemd_dbus_interface_dir.join("org.freedesktop.systemd1.Manager.xml"));
+    let mut file = std::fs::File::create(out_path.join("systemd_manager.rs")).unwrap();
+    file.write_all(systemd_manager_code.as_bytes()).unwrap();
+
+    let logind_manager_code =
+        code_for_dbus_xml(systemd_dbus_interface_dir.join("org.freedesktop.login1.Manager.xml"));
+    let mut file = std::fs::File::create(out_path.join("logind_manager.rs")).unwrap();
+    file.write_all(logind_manager_code.as_bytes()).unwrap();
+}
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/package.nix b/pkgs/by-name/sw/switch-to-configuration-ng/package.nix
new file mode 100644
index 0000000000000..aa748a0c2b3d5
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/package.nix
@@ -0,0 +1,36 @@
+{
+  buildPackages,
+  dbus,
+  lib,
+  pkg-config,
+  rustPlatform,
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "switch-to-configuration";
+  version = "0.1.0";
+
+  src = lib.fileset.toSource {
+    root = ./.;
+    fileset = lib.fileset.unions [
+      ./Cargo.lock
+      ./Cargo.toml
+      ./build.rs
+      ./src
+    ];
+  };
+
+  cargoLock.lockFile = ./Cargo.lock;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dbus ];
+
+  env.SYSTEMD_DBUS_INTERFACE_DIR = "${buildPackages.systemd}/share/dbus-1/interfaces";
+
+  meta = {
+    description = "NixOS switch-to-configuration program";
+    mainProgram = "switch-to-configuration";
+    maintainers = with lib.maintainers; [ jmbaur ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs b/pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs
new file mode 100644
index 0000000000000..e050e74d79eaf
--- /dev/null
+++ b/pkgs/by-name/sw/switch-to-configuration-ng/src/main.rs
@@ -0,0 +1,2077 @@
+use std::{
+    cell::RefCell,
+    collections::HashMap,
+    io::{BufRead, Write},
+    os::unix::{fs::PermissionsExt, process::CommandExt},
+    path::{Path, PathBuf},
+    rc::Rc,
+    str::FromStr,
+    sync::OnceLock,
+    time::Duration,
+};
+
+use anyhow::{anyhow, bail, Context, Result};
+use dbus::{
+    blocking::{stdintf::org_freedesktop_dbus::Properties, LocalConnection, Proxy},
+    Message,
+};
+use glob::glob;
+use ini::Ini;
+use log::LevelFilter;
+use nix::{
+    fcntl::{Flock, FlockArg, OFlag},
+    sys::{
+        signal::{self, SigHandler, Signal},
+        stat::Mode,
+    },
+};
+use regex::Regex;
+use syslog::Facility;
+
+mod systemd_manager {
+    #![allow(non_upper_case_globals)]
+    #![allow(non_camel_case_types)]
+    #![allow(non_snake_case)]
+    #![allow(unused)]
+    include!(concat!(env!("OUT_DIR"), "/systemd_manager.rs"));
+}
+
+mod logind_manager {
+    #![allow(non_upper_case_globals)]
+    #![allow(non_camel_case_types)]
+    #![allow(non_snake_case)]
+    #![allow(unused)]
+    include!(concat!(env!("OUT_DIR"), "/logind_manager.rs"));
+}
+
+use crate::systemd_manager::OrgFreedesktopSystemd1Manager;
+use crate::{
+    logind_manager::OrgFreedesktopLogin1Manager,
+    systemd_manager::{
+        OrgFreedesktopSystemd1ManagerJobRemoved, OrgFreedesktopSystemd1ManagerReloading,
+    },
+};
+
+type UnitInfo = HashMap<String, HashMap<String, Vec<String>>>;
+
+const SYSINIT_REACTIVATION_TARGET: &str = "sysinit-reactivation.target";
+
+// To be robust against interruption, record what units need to be started etc. We read these files
+// again every time this program starts to make sure we continue where the old (interrupted) script
+// left off.
+const START_LIST_FILE: &str = "/run/nixos/start-list";
+const RESTART_LIST_FILE: &str = "/run/nixos/restart-list";
+const RELOAD_LIST_FILE: &str = "/run/nixos/reload-list";
+
+// Parse restart/reload requests by the activation script. Activation scripts may write
+// newline-separated units to the restart file and switch-to-configuration will handle them. While
+// `stopIfChanged = true` is ignored, switch-to-configuration will handle `restartIfChanged =
+// false` and `reloadIfChanged = true`. This is the same as specifying a restart trigger in the
+// NixOS module.
+//
+// The reload file asks this program to reload a unit. This is the same as specifying a reload
+// trigger in the NixOS module and can be ignored if the unit is restarted in this activation.
+const RESTART_BY_ACTIVATION_LIST_FILE: &str = "/run/nixos/activation-restart-list";
+const RELOAD_BY_ACTIVATION_LIST_FILE: &str = "/run/nixos/activation-reload-list";
+const DRY_RESTART_BY_ACTIVATION_LIST_FILE: &str = "/run/nixos/dry-activation-restart-list";
+const DRY_RELOAD_BY_ACTIVATION_LIST_FILE: &str = "/run/nixos/dry-activation-reload-list";
+
+#[derive(Debug, Clone, PartialEq)]
+enum Action {
+    Switch,
+    Boot,
+    Test,
+    DryActivate,
+}
+
+impl std::str::FromStr for Action {
+    type Err = anyhow::Error;
+
+    fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
+        Ok(match s {
+            "switch" => Self::Switch,
+            "boot" => Self::Boot,
+            "test" => Self::Test,
+            "dry-activate" => Self::DryActivate,
+            _ => bail!("invalid action {s}"),
+        })
+    }
+}
+
+impl Into<&'static str> for &Action {
+    fn into(self) -> &'static str {
+        match self {
+            Action::Switch => "switch",
+            Action::Boot => "boot",
+            Action::Test => "test",
+            Action::DryActivate => "dry-activate",
+        }
+    }
+}
+
+// Allow for this switch-to-configuration to remain consistent with the perl implementation.
+// Perl's "die" uses errno to set the exit code: https://perldoc.perl.org/perlvar#%24%21
+fn die() -> ! {
+    std::process::exit(std::io::Error::last_os_error().raw_os_error().unwrap_or(1));
+}
+
+fn parse_os_release() -> Result<HashMap<String, String>> {
+    Ok(std::fs::read_to_string("/etc/os-release")
+        .context("Failed to read /etc/os-release")?
+        .lines()
+        .into_iter()
+        .fold(HashMap::new(), |mut acc, line| {
+            if let Some((k, v)) = line.split_once('=') {
+                acc.insert(k.to_string(), v.to_string());
+            }
+
+            acc
+        }))
+}
+
+fn do_install_bootloader(command: &str, toplevel: &Path) -> Result<()> {
+    let mut cmd_split = command.split_whitespace();
+    let Some(argv0) = cmd_split.next() else {
+        bail!("missing first argument in install bootloader commands");
+    };
+
+    match std::process::Command::new(argv0)
+        .args(cmd_split.collect::<Vec<&str>>())
+        .arg(toplevel)
+        .spawn()
+        .map(|mut child| child.wait())
+    {
+        Ok(Ok(status)) if status.success() => {}
+        _ => {
+            eprintln!("Failed to install bootloader");
+            die();
+        }
+    }
+
+    Ok(())
+}
+
+extern "C" fn handle_sigpipe(_signal: nix::libc::c_int) {}
+
+fn required_env(var: &str) -> anyhow::Result<String> {
+    std::env::var(var).with_context(|| format!("missing required environment variable ${var}"))
+}
+
+#[derive(Debug)]
+struct UnitState {
+    state: String,
+    substate: String,
+}
+
+// Asks the currently running systemd instance via dbus which units are active. Returns a hash
+// where the key is the name of each unit and the value a hash of load, state, substate.
+fn get_active_units<'a>(
+    systemd_manager: &Proxy<'a, &LocalConnection>,
+) -> Result<HashMap<String, UnitState>> {
+    let units = systemd_manager
+        .list_units_by_patterns(Vec::new(), Vec::new())
+        .context("Failed to list systemd units")?;
+
+    Ok(units
+        .into_iter()
+        .filter_map(
+            |(
+                id,
+                _description,
+                _load_state,
+                active_state,
+                sub_state,
+                following,
+                _unit_path,
+                _job_id,
+                _job_type,
+                _job_path,
+            )| {
+                if following == "" && active_state != "inactive" {
+                    Some((id, active_state, sub_state))
+                } else {
+                    None
+                }
+            },
+        )
+        .fold(HashMap::new(), |mut acc, (id, active_state, sub_state)| {
+            acc.insert(
+                id,
+                UnitState {
+                    state: active_state,
+                    substate: sub_state,
+                },
+            );
+
+            acc
+        }))
+}
+
+// This function takes a single ini file that specified systemd configuration like unit
+// configuration and parses it into a HashMap where the keys are the sections of the unit file and
+// the values are HashMaps themselves. These HashMaps have the unit file keys as their keys (left
+// side of =) and an array of all values that were set as their values. If a value is empty (for
+// example `ExecStart=`), then all current definitions are removed.
+//
+// Instead of returning the HashMap, this function takes a mutable reference to a HashMap to return
+// the data in. This allows calling the function multiple times with the same Hashmap to parse
+// override files.
+fn parse_systemd_ini(data: &mut UnitInfo, unit_file: &Path) -> Result<()> {
+    let ini = Ini::load_from_file(unit_file)
+        .with_context(|| format!("Failed to load unit file {}", unit_file.display()))?;
+
+    // Copy over all sections
+    for (section, properties) in ini.iter() {
+        let Some(section) = section else {
+            continue;
+        };
+
+        if section == "Install" {
+            // Skip the [Install] section because it has no relevant keys for us
+            continue;
+        }
+
+        let section_map = if let Some(section_map) = data.get_mut(section) {
+            section_map
+        } else {
+            data.insert(section.to_string(), HashMap::new());
+            data.get_mut(section)
+                .ok_or(anyhow!("section name should exist in hashmap"))?
+        };
+
+        for (ini_key, _) in properties {
+            let values = properties.get_all(ini_key);
+            let values = values
+                .into_iter()
+                .map(String::from)
+                .collect::<Vec<String>>();
+
+            // Go over all values
+            let mut new_vals = Vec::new();
+            let mut clear_existing = false;
+
+            for val in values {
+                // If a value is empty, it's an override that tells us to clean the value
+                if val.is_empty() {
+                    new_vals.clear();
+                    clear_existing = true;
+                } else {
+                    new_vals.push(val);
+                }
+            }
+
+            match (section_map.get_mut(ini_key), clear_existing) {
+                (Some(existing_vals), false) => existing_vals.extend(new_vals),
+                _ => _ = section_map.insert(ini_key.to_string(), new_vals),
+            };
+        }
+    }
+
+    Ok(())
+}
+
+// This function takes the path to a systemd configuration file (like a unit configuration) and
+// parses it into a UnitInfo structure.
+//
+// If a directory with the same basename ending in .d exists next to the unit file, it will be
+// assumed to contain override files which will be parsed as well and handled properly.
+fn parse_unit(unit_file: &Path, base_unit_file: &Path) -> Result<UnitInfo> {
+    // Parse the main unit and all overrides
+    let mut unit_data = HashMap::new();
+
+    parse_systemd_ini(&mut unit_data, base_unit_file)?;
+
+    for entry in
+        glob(&format!("{}.d/*.conf", base_unit_file.display())).context("Invalid glob pattern")?
+    {
+        let Ok(entry) = entry else {
+            continue;
+        };
+
+        parse_systemd_ini(&mut unit_data, &entry)?;
+    }
+
+    // Handle drop-in template-unit instance overrides
+    if unit_file != base_unit_file {
+        for entry in
+            glob(&format!("{}.d/*.conf", unit_file.display())).context("Invalid glob pattern")?
+        {
+            let Ok(entry) = entry else {
+                continue;
+            };
+
+            parse_systemd_ini(&mut unit_data, &entry)?;
+        }
+    }
+
+    Ok(unit_data)
+}
+
+// Checks whether a specified boolean in a systemd unit is true or false, with a default that is
+// applied when the value is not set.
+fn parse_systemd_bool(
+    unit_data: Option<&UnitInfo>,
+    section_name: &str,
+    bool_name: &str,
+    default: bool,
+) -> bool {
+    if let Some(Some(Some(Some(b)))) = unit_data.map(|data| {
+        data.get(section_name).map(|section| {
+            section.get(bool_name).map(|vals| {
+                vals.last()
+                    .map(|last| matches!(last.as_str(), "1" | "yes" | "true" | "on"))
+            })
+        })
+    }) {
+        b
+    } else {
+        default
+    }
+}
+
+#[derive(Debug, PartialEq)]
+enum UnitComparison {
+    Equal,
+    UnequalNeedsRestart,
+    UnequalNeedsReload,
+}
+
+// Compare the contents of two unit files and return whether the unit needs to be restarted or
+// reloaded. If the units differ, the service is restarted unless the only difference is
+// `X-Reload-Triggers` in the `Unit` section. If this is the only modification, the unit is
+// reloaded instead of restarted. If the only difference is `Options` in the `[Mount]` section, the
+// unit is reloaded rather than restarted.
+fn compare_units(current_unit: &UnitInfo, new_unit: &UnitInfo) -> UnitComparison {
+    let mut ret = UnitComparison::Equal;
+
+    let unit_section_ignores = HashMap::from(
+        [
+            "X-Reload-Triggers",
+            "Description",
+            "Documentation",
+            "OnFailure",
+            "OnSuccess",
+            "OnFailureJobMode",
+            "IgnoreOnIsolate",
+            "StopWhenUnneeded",
+            "RefuseManualStart",
+            "RefuseManualStop",
+            "AllowIsolate",
+            "CollectMode",
+            "SourcePath",
+        ]
+        .map(|name| (name, ())),
+    );
+
+    let mut section_cmp = new_unit.keys().fold(HashMap::new(), |mut acc, key| {
+        acc.insert(key.as_str(), ());
+        acc
+    });
+
+    // Iterate over the sections
+    for (section_name, section_val) in current_unit {
+        // Missing section in the new unit?
+        if !section_cmp.contains_key(section_name.as_str()) {
+            // If the [Unit] section was removed, make sure that only keys were in it that are
+            // ignored
+            if section_name == "Unit" {
+                for (ini_key, _ini_val) in section_val {
+                    if !unit_section_ignores.contains_key(ini_key.as_str()) {
+                        return UnitComparison::UnequalNeedsRestart;
+                    }
+                }
+                continue; // check the next section
+            } else {
+                return UnitComparison::UnequalNeedsRestart;
+            }
+        }
+
+        section_cmp.remove(section_name.as_str());
+
+        // Comparison hash for the section contents
+        let mut ini_cmp = new_unit
+            .get(section_name)
+            .map(|section_val| {
+                section_val.keys().fold(HashMap::new(), |mut acc, ini_key| {
+                    acc.insert(ini_key.as_str(), ());
+                    acc
+                })
+            })
+            .unwrap_or_default();
+
+        // Iterate over the keys of the section
+        for (ini_key, current_value) in section_val {
+            ini_cmp.remove(ini_key.as_str());
+            let Some(Some(new_value)) = new_unit
+                .get(section_name)
+                .map(|section| section.get(ini_key))
+            else {
+                // If the key is missing in the new unit, they are different unless the key that is
+                // now missing is one of the ignored keys
+                if section_name == "Unit" && unit_section_ignores.contains_key(ini_key.as_str()) {
+                    continue;
+                }
+                return UnitComparison::UnequalNeedsRestart;
+            };
+
+            // If the contents are different, the units are different
+            if current_value != new_value {
+                if section_name == "Unit" {
+                    if ini_key == "X-Reload-Triggers" {
+                        ret = UnitComparison::UnequalNeedsReload;
+                        continue;
+                    } else if unit_section_ignores.contains_key(ini_key.as_str()) {
+                        continue;
+                    }
+                }
+
+                // If this is a mount unit, check if it was only `Options`
+                if section_name == "Mount" && ini_key == "Options" {
+                    ret = UnitComparison::UnequalNeedsReload;
+                    continue;
+                }
+
+                return UnitComparison::UnequalNeedsRestart;
+            }
+        }
+
+        // A key was introduced that was missing in the previous unit
+        if !ini_cmp.is_empty() {
+            if section_name == "Unit" {
+                for (ini_key, _) in ini_cmp {
+                    if ini_key == "X-Reload-Triggers" {
+                        ret = UnitComparison::UnequalNeedsReload;
+                    } else if unit_section_ignores.contains_key(ini_key) {
+                        continue;
+                    } else {
+                        return UnitComparison::UnequalNeedsRestart;
+                    }
+                }
+            } else {
+                return UnitComparison::UnequalNeedsRestart;
+            }
+        }
+    }
+
+    // A section was introduced that was missing in the previous unit
+    if !section_cmp.is_empty() {
+        if section_cmp.keys().len() == 1 && section_cmp.contains_key("Unit") {
+            if let Some(new_unit_unit) = new_unit.get("Unit") {
+                for (ini_key, _) in new_unit_unit {
+                    if !unit_section_ignores.contains_key(ini_key.as_str()) {
+                        return UnitComparison::UnequalNeedsRestart;
+                    } else if ini_key == "X-Reload-Triggers" {
+                        ret = UnitComparison::UnequalNeedsReload;
+                    }
+                }
+            }
+        } else {
+            return UnitComparison::UnequalNeedsRestart;
+        }
+    }
+
+    ret
+}
+
+// Called when a unit exists in both the old systemd and the new system and the units differ. This
+// figures out of what units are to be stopped, restarted, reloaded, started, and skipped.
+fn handle_modified_unit(
+    toplevel: &Path,
+    unit: &str,
+    base_name: &str,
+    new_unit_file: &Path,
+    new_base_unit_file: &Path,
+    new_unit_info: Option<&UnitInfo>,
+    active_cur: &HashMap<String, UnitState>,
+    units_to_stop: &mut HashMap<String, ()>,
+    units_to_start: &mut HashMap<String, ()>,
+    units_to_reload: &mut HashMap<String, ()>,
+    units_to_restart: &mut HashMap<String, ()>,
+    units_to_skip: &mut HashMap<String, ()>,
+) -> Result<()> {
+    let use_restart_as_stop_and_start = new_unit_info.is_none();
+
+    if matches!(
+        unit,
+        "sysinit.target" | "basic.target" | "multi-user.target" | "graphical.target"
+    ) || unit.ends_with(".unit")
+        || unit.ends_with(".slice")
+    {
+        // Do nothing.  These cannot be restarted directly.
+
+        // Slices and Paths don't have to be restarted since properties (resource limits and
+        // inotify watches) seem to get applied on daemon-reload.
+    } else if unit.ends_with(".mount") {
+        // Just restart the unit. We wouldn't have gotten into this subroutine if only `Options`
+        // was changed, in which case the unit would be reloaded. The only exception is / and /nix
+        // because it's very unlikely we can safely unmount them so we reload them instead. This
+        // means that we may not get all changes into the running system but it's better than
+        // crashing it.
+        if unit == "-.mount" || unit == "nix.mount" {
+            units_to_reload.insert(unit.to_string(), ());
+            record_unit(RELOAD_LIST_FILE, unit);
+        } else {
+            units_to_restart.insert(unit.to_string(), ());
+            record_unit(RESTART_LIST_FILE, unit);
+        }
+    } else if unit.ends_with(".socket") {
+        // FIXME: do something?
+        // Attempt to fix this: https://github.com/NixOS/nixpkgs/pull/141192
+        // Revert of the attempt: https://github.com/NixOS/nixpkgs/pull/147609
+        // More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430
+    } else {
+        let fallback = parse_unit(new_unit_file, new_base_unit_file)?;
+        let new_unit_info = if new_unit_info.is_some() {
+            new_unit_info
+        } else {
+            Some(&fallback)
+        };
+
+        if parse_systemd_bool(new_unit_info, "Service", "X-ReloadIfChanged", false)
+            && !units_to_restart.contains_key(unit)
+            && !(if use_restart_as_stop_and_start {
+                units_to_restart.contains_key(unit)
+            } else {
+                units_to_stop.contains_key(unit)
+            })
+        {
+            units_to_reload.insert(unit.to_string(), ());
+            record_unit(RELOAD_LIST_FILE, unit);
+        } else if !parse_systemd_bool(new_unit_info, "Service", "X-RestartIfChanged", true)
+            || parse_systemd_bool(new_unit_info, "Unit", "RefuseManualStop", false)
+            || parse_systemd_bool(new_unit_info, "Unit", "X-OnlyManualStart", false)
+        {
+            units_to_skip.insert(unit.to_string(), ());
+        } else {
+            // It doesn't make sense to stop and start non-services because they can't have
+            // ExecStop=
+            if !parse_systemd_bool(new_unit_info, "Service", "X-StopIfChanged", true)
+                || !unit.ends_with(".service")
+            {
+                // This unit should be restarted instead of stopped and started.
+                units_to_restart.insert(unit.to_string(), ());
+                record_unit(RESTART_LIST_FILE, unit);
+                // Remove from units to reload so we don't restart and reload
+                if units_to_reload.contains_key(unit) {
+                    units_to_reload.remove(unit);
+                    unrecord_unit(RELOAD_LIST_FILE, unit);
+                }
+            } else {
+                // If this unit is socket-activated, then stop the socket unit(s) as well, and
+                // restart the socket(s) instead of the service.
+                let mut socket_activated = false;
+                if unit.ends_with(".service") {
+                    let mut sockets = if let Some(Some(Some(sockets))) = new_unit_info.map(|info| {
+                        info.get("Service")
+                            .map(|service_section| service_section.get("Sockets"))
+                    }) {
+                        sockets
+                            .join(" ")
+                            .split_whitespace()
+                            .into_iter()
+                            .map(String::from)
+                            .collect()
+                    } else {
+                        Vec::new()
+                    };
+
+                    if sockets.is_empty() {
+                        sockets.push(format!("{}.socket", base_name));
+                    }
+
+                    for socket in &sockets {
+                        if active_cur.contains_key(socket) {
+                            // We can now be sure this is a socket-activated unit
+
+                            if use_restart_as_stop_and_start {
+                                units_to_restart.insert(socket.to_string(), ());
+                            } else {
+                                units_to_stop.insert(socket.to_string(), ());
+                            }
+
+                            // Only restart sockets that actually exist in new configuration:
+                            if toplevel.join("etc/systemd/system").join(socket).exists() {
+                                if use_restart_as_stop_and_start {
+                                    units_to_restart.insert(socket.to_string(), ());
+                                    record_unit(RESTART_LIST_FILE, socket);
+                                } else {
+                                    units_to_start.insert(socket.to_string(), ());
+                                    record_unit(START_LIST_FILE, socket);
+                                }
+
+                                socket_activated = true;
+                            }
+
+                            // Remove from units to reload so we don't restart and reload
+                            if units_to_reload.contains_key(unit) {
+                                units_to_reload.remove(unit);
+                                unrecord_unit(RELOAD_LIST_FILE, unit);
+                            }
+                        }
+                    }
+                }
+
+                // If the unit is not socket-activated, record that this unit needs to be started
+                // below. We write this to a file to ensure that the service gets restarted if
+                // we're interrupted.
+                if !socket_activated {
+                    if use_restart_as_stop_and_start {
+                        units_to_restart.insert(unit.to_string(), ());
+                        record_unit(RESTART_LIST_FILE, unit);
+                    } else {
+                        units_to_start.insert(unit.to_string(), ());
+                        record_unit(START_LIST_FILE, unit);
+                    }
+                }
+
+                if use_restart_as_stop_and_start {
+                    units_to_restart.insert(unit.to_string(), ());
+                } else {
+                    units_to_stop.insert(unit.to_string(), ());
+                }
+                // Remove from units to reload so we don't restart and reload
+                if units_to_reload.contains_key(unit) {
+                    units_to_reload.remove(unit);
+                    unrecord_unit(RELOAD_LIST_FILE, unit);
+                }
+            }
+        }
+    }
+
+    Ok(())
+}
+
+// Writes a unit name into a given file to be more resilient against crashes of the script. Does
+// nothing when the action is dry-activate.
+fn record_unit(p: impl AsRef<Path>, unit: &str) {
+    if ACTION.get() != Some(&Action::DryActivate) {
+        if let Ok(mut f) = std::fs::File::options().append(true).create(true).open(p) {
+            _ = writeln!(&mut f, "{unit}");
+        }
+    }
+}
+
+// The opposite of record_unit, removes a unit name from a file
+fn unrecord_unit(p: impl AsRef<Path>, unit: &str) {
+    if ACTION.get() != Some(&Action::DryActivate) {
+        if let Ok(contents) = std::fs::read_to_string(&p) {
+            if let Ok(mut f) = std::fs::File::options()
+                .write(true)
+                .truncate(true)
+                .create(true)
+                .open(&p)
+            {
+                contents
+                    .lines()
+                    .into_iter()
+                    .filter(|line| line != &unit)
+                    .for_each(|line| _ = writeln!(&mut f, "{line}"))
+            }
+        }
+    }
+}
+
+fn map_from_list_file(p: impl AsRef<Path>) -> HashMap<String, ()> {
+    std::fs::read_to_string(p)
+        .unwrap_or_default()
+        .lines()
+        .filter(|line| !line.is_empty())
+        .into_iter()
+        .fold(HashMap::new(), |mut acc, line| {
+            acc.insert(line.to_string(), ());
+            acc
+        })
+}
+
+#[derive(Debug)]
+struct Filesystem {
+    device: String,
+    fs_type: String,
+    options: String,
+}
+
+#[derive(Debug)]
+#[allow(unused)]
+struct Swap(String);
+
+// Parse a fstab file, given its path. Returns a tuple of filesystems and swaps.
+//
+// Filesystems is a hash of mountpoint and { device, fsType, options } Swaps is a hash of device
+// and { options }
+fn parse_fstab(fstab: impl BufRead) -> (HashMap<String, Filesystem>, HashMap<String, Swap>) {
+    let mut filesystems = HashMap::new();
+    let mut swaps = HashMap::new();
+
+    for line in fstab.lines() {
+        let Ok(line) = line else {
+            break;
+        };
+
+        if line.contains('#') {
+            continue;
+        }
+
+        let mut split = line.split_whitespace();
+        let (Some(device), Some(mountpoint), Some(fs_type), options) = (
+            split.next(),
+            split.next(),
+            split.next(),
+            split.next().unwrap_or_default(),
+        ) else {
+            continue;
+        };
+
+        if fs_type == "swap" {
+            swaps.insert(device.to_string(), Swap(options.to_string()));
+        } else {
+            filesystems.insert(
+                mountpoint.to_string(),
+                Filesystem {
+                    device: device.to_string(),
+                    fs_type: fs_type.to_string(),
+                    options: options.to_string(),
+                },
+            );
+        }
+    }
+
+    (filesystems, swaps)
+}
+
+// Converts a path to the name of a systemd mount unit that would be responsible for mounting this
+// path.
+fn path_to_unit_name(bin_path: &Path, path: &str) -> String {
+    let Ok(output) = std::process::Command::new(bin_path.join("systemd-escape"))
+        .arg("--suffix=mount")
+        .arg("-p")
+        .arg(path)
+        .output()
+    else {
+        eprintln!("Unable to escape {}!", path);
+        die();
+    };
+
+    let Ok(unit) = String::from_utf8(output.stdout) else {
+        eprintln!("Unable to convert systemd-espape output to valid UTF-8");
+        die();
+    };
+
+    unit.trim().to_string()
+}
+
+// Returns a HashMap containing the same contents as the passed in `units`, minus the units in
+// `units_to_filter`.
+fn filter_units(
+    units_to_filter: &HashMap<String, ()>,
+    units: &HashMap<String, ()>,
+) -> HashMap<String, ()> {
+    let mut res = HashMap::new();
+
+    for (unit, _) in units {
+        if !units_to_filter.contains_key(unit) {
+            res.insert(unit.to_string(), ());
+        }
+    }
+
+    res
+}
+
+fn unit_is_active<'a>(conn: &LocalConnection, unit: &str) -> Result<bool> {
+    let unit_object_path = conn
+        .with_proxy(
+            "org.freedesktop.systemd1",
+            "/org/freedesktop/systemd1",
+            Duration::from_millis(5000),
+        )
+        .get_unit(unit)
+        .with_context(|| format!("Failed to get unit {unit}"))?;
+
+    let active_state: String = conn
+        .with_proxy(
+            "org.freedesktop.systemd1",
+            unit_object_path,
+            Duration::from_millis(5000),
+        )
+        .get("org.freedesktop.systemd1.Unit", "ActiveState")
+        .with_context(|| format!("Failed to get ExecMainStatus for {unit}"))?;
+
+    Ok(matches!(active_state.as_str(), "active" | "activating"))
+}
+
+static ACTION: OnceLock<Action> = OnceLock::new();
+
+#[derive(Debug)]
+enum Job {
+    Start,
+    Restart,
+    Reload,
+    Stop,
+}
+
+impl std::fmt::Display for Job {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        write!(
+            f,
+            "{}",
+            match self {
+                Job::Start => "start",
+                Job::Restart => "restart",
+                Job::Reload => "reload",
+                Job::Stop => "stop",
+            }
+        )
+    }
+}
+
+fn new_dbus_proxies<'a>(
+    conn: &'a LocalConnection,
+) -> (
+    Proxy<'a, &'a LocalConnection>,
+    Proxy<'a, &'a LocalConnection>,
+) {
+    (
+        conn.with_proxy(
+            "org.freedesktop.systemd1",
+            "/org/freedesktop/systemd1",
+            Duration::from_millis(5000),
+        ),
+        conn.with_proxy(
+            "org.freedesktop.login1",
+            "/org/freedesktop/login1",
+            Duration::from_millis(5000),
+        ),
+    )
+}
+
+fn block_on_jobs(
+    conn: &LocalConnection,
+    submitted_jobs: &Rc<RefCell<HashMap<dbus::Path<'static>, Job>>>,
+) {
+    while !submitted_jobs.borrow().is_empty() {
+        _ = conn.process(Duration::from_millis(500));
+    }
+}
+
+fn remove_file_if_exists(p: impl AsRef<Path>) -> std::io::Result<()> {
+    match std::fs::remove_file(p) {
+        Err(err) if err.kind() != std::io::ErrorKind::NotFound => Err(err),
+        _ => Ok(()),
+    }
+}
+
+/// Performs switch-to-configuration functionality for a single non-root user
+fn do_user_switch(parent_exe: String) -> anyhow::Result<()> {
+    if Path::new(&parent_exe)
+        != Path::new("/proc/self/exe")
+            .canonicalize()
+            .context("Failed to get full path to current executable")?
+            .as_path()
+    {
+        eprintln!(
+            r#"This program is not meant to be called from outside of switch-to-configuration."#
+        );
+        die();
+    }
+
+    let dbus_conn = LocalConnection::new_session().context("Failed to open dbus connection")?;
+    let (systemd, _) = new_dbus_proxies(&dbus_conn);
+
+    let nixos_activation_done = Rc::new(RefCell::new(false));
+    let _nixos_activation_done = nixos_activation_done.clone();
+    let jobs_token = systemd
+        .match_signal(
+            move |signal: OrgFreedesktopSystemd1ManagerJobRemoved,
+                  _: &LocalConnection,
+                  _: &Message| {
+                if signal.unit.as_str() == "nixos-activation.service" {
+                    *_nixos_activation_done.borrow_mut() = true;
+                }
+
+                true
+            },
+        )
+        .context("Failed to add signal match for systemd removed jobs")?;
+
+    // The systemd user session seems to not send a Reloaded signal, so we don't have anything to
+    // wait on here.
+    _ = systemd.reexecute();
+
+    systemd
+        .restart_unit("nixos-activation.service", "replace")
+        .context("Failed to restart nixos-activation.service")?;
+
+    while !*nixos_activation_done.borrow() {
+        _ = dbus_conn
+            .process(Duration::from_secs(500))
+            .context("Failed to process dbus messages")?;
+    }
+
+    dbus_conn
+        .remove_match(jobs_token)
+        .context("Failed to remove jobs token")?;
+
+    Ok(())
+}
+
+/// Performs switch-to-configuration functionality for the entire system
+fn do_system_switch() -> anyhow::Result<()> {
+    let out = PathBuf::from(required_env("OUT")?);
+    let toplevel = PathBuf::from(required_env("TOPLEVEL")?);
+    let distro_id = required_env("DISTRO_ID")?;
+    let install_bootloader = required_env("INSTALL_BOOTLOADER")?;
+    let locale_archive = required_env("LOCALE_ARCHIVE")?;
+    let new_systemd = PathBuf::from(required_env("SYSTEMD")?);
+
+    let mut args = std::env::args();
+    let argv0 = args.next().ok_or(anyhow!("no argv[0]"))?;
+
+    let Some(Ok(action)) = args.next().map(|a| Action::from_str(&a)) else {
+        eprintln!(
+            r#"Usage: {} [switch|boot|test|dry-activate]
+switch:       make the configuration the boot default and activate now
+boot:         make the configuration the boot default
+test:         activate the configuration, but don't make it the boot default
+dry-activate: show what would be done if this configuration were activated
+"#,
+            argv0
+                .split(std::path::MAIN_SEPARATOR_STR)
+                .last()
+                .unwrap_or("switch-to-configuration")
+        );
+        std::process::exit(1);
+    };
+
+    let action = ACTION.get_or_init(|| action);
+
+    // The action that is to be performed (like switch, boot, test, dry-activate) Also exposed via
+    // environment variable from now on
+    std::env::set_var("NIXOS_ACTION", Into::<&'static str>::into(action));
+
+    // Expose the locale archive as an environment variable for systemctl and the activation script
+    if !locale_archive.is_empty() {
+        std::env::set_var("LOCALE_ARCHIVE", locale_archive);
+    }
+
+    let current_system_bin = std::path::PathBuf::from("/run/current-system/sw/bin")
+        .canonicalize()
+        .context("/run/current-system/sw/bin is missing")?;
+
+    let os_release = parse_os_release().context("Failed to parse os-release")?;
+
+    let distro_id_re = Regex::new(format!("^\"?{}\"?$", distro_id).as_str())
+        .context("Invalid regex for distro ID")?;
+
+    // This is a NixOS installation if it has /etc/NIXOS or a proper /etc/os-release.
+    if !Path::new("/etc/NIXOS").is_file()
+        && !os_release
+            .get("ID")
+            .map(|id| distro_id_re.is_match(id))
+            .unwrap_or_default()
+    {
+        eprintln!("This is not a NixOS installation!");
+        die();
+    }
+
+    std::fs::create_dir_all("/run/nixos").context("Failed to create /run/nixos directory")?;
+    let perms = std::fs::Permissions::from_mode(0o755);
+    std::fs::set_permissions("/run/nixos", perms)
+        .context("Failed to set permissions on /run/nixos directory")?;
+
+    let Ok(lock) = std::fs::OpenOptions::new()
+        .append(true)
+        .create(true)
+        .open("/run/nixos/switch-to-configuration.lock")
+    else {
+        eprintln!("Could not open lock");
+        die();
+    };
+
+    let Ok(_lock) = Flock::lock(lock, FlockArg::LockExclusive) else {
+        eprintln!("Could not acquire lock");
+        die();
+    };
+
+    if syslog::init(Facility::LOG_USER, LevelFilter::Debug, Some("nixos")).is_err() {
+        bail!("Failed to initialize logger");
+    }
+
+    // Install or update the bootloader.
+    if matches!(action, Action::Switch | Action::Boot) {
+        do_install_bootloader(&install_bootloader, &toplevel)?;
+    }
+
+    // Just in case the new configuration hangs the system, do a sync now.
+    if std::env::var("NIXOS_NO_SYNC")
+        .as_deref()
+        .unwrap_or_default()
+        != "1"
+    {
+        let fd = nix::fcntl::open("/nix/store", OFlag::O_NOCTTY, Mode::S_IROTH)
+            .context("Failed to open /nix/store")?;
+        nix::unistd::syncfs(fd).context("Failed to sync /nix/store")?;
+    }
+
+    if *action == Action::Boot {
+        std::process::exit(0);
+    }
+
+    let current_init_interface_version =
+        std::fs::read_to_string("/run/current-system/init-interface-version").unwrap_or_default();
+
+    let new_init_interface_version =
+        std::fs::read_to_string(toplevel.join("init-interface-version"))
+            .context("File init-interface-version should exist")?;
+
+    // Check if we can activate the new configuration.
+    if current_init_interface_version != new_init_interface_version {
+        eprintln!(
+            r#"Warning: the new NixOS configuration has an ‘init’ that is
+incompatible with the current configuration.  The new configuration
+won't take effect until you reboot the system.
+"#
+        );
+        std::process::exit(100);
+    }
+
+    // Ignore SIGHUP so that we're not killed if we're running on (say) virtual console 1 and we
+    // restart the "tty1" unit.
+    let handler = SigHandler::Handler(handle_sigpipe);
+    unsafe { signal::signal(Signal::SIGPIPE, handler) }.context("Failed to set SIGPIPE handler")?;
+
+    let mut units_to_stop = HashMap::new();
+    let mut units_to_skip = HashMap::new();
+    let mut units_to_filter = HashMap::new(); // units not shown
+
+    let mut units_to_start = map_from_list_file(START_LIST_FILE);
+    let mut units_to_restart = map_from_list_file(RESTART_LIST_FILE);
+    let mut units_to_reload = map_from_list_file(RELOAD_LIST_FILE);
+
+    let dbus_conn = LocalConnection::new_system().context("Failed to open dbus connection")?;
+    let (systemd, logind) = new_dbus_proxies(&dbus_conn);
+
+    let submitted_jobs = Rc::new(RefCell::new(HashMap::new()));
+    let finished_jobs = Rc::new(RefCell::new(HashMap::new()));
+
+    let systemd_reload_status = Rc::new(RefCell::new(false));
+
+    systemd
+        .subscribe()
+        .context("Failed to subscribe to systemd dbus messages")?;
+
+    // Wait for the system to have finished booting.
+    loop {
+        let system_state: String = systemd
+            .get("org.freedesktop.systemd1.Manager", "SystemState")
+            .context("Failed to get system state")?;
+
+        match system_state.as_str() {
+            "running" | "degraded" | "maintenance" => break,
+            _ => {
+                _ = dbus_conn
+                    .process(Duration::from_millis(500))
+                    .context("Failed to process dbus messages")?
+            }
+        }
+    }
+
+    let _systemd_reload_status = systemd_reload_status.clone();
+    let reloading_token = systemd
+        .match_signal(
+            move |signal: OrgFreedesktopSystemd1ManagerReloading,
+                  _: &LocalConnection,
+                  _msg: &Message| {
+                *_systemd_reload_status.borrow_mut() = signal.active;
+
+                true
+            },
+        )
+        .context("Failed to add systemd Reloading match")?;
+
+    let _submitted_jobs = submitted_jobs.clone();
+    let _finished_jobs = finished_jobs.clone();
+    let job_removed_token = systemd
+        .match_signal(
+            move |signal: OrgFreedesktopSystemd1ManagerJobRemoved,
+                  _: &LocalConnection,
+                  _msg: &Message| {
+                if let Some(old) = _submitted_jobs.borrow_mut().remove(&signal.job) {
+                    let mut finished_jobs = _finished_jobs.borrow_mut();
+                    finished_jobs.insert(signal.job, (signal.unit, old, signal.result));
+                }
+
+                true
+            },
+        )
+        .context("Failed to add systemd JobRemoved match")?;
+
+    let current_active_units = get_active_units(&systemd)?;
+
+    let template_unit_re = Regex::new(r"^(.*)@[^\.]*\.(.*)$")
+        .context("Invalid regex for matching systemd template units")?;
+    let unit_name_re = Regex::new(r"^(.*)\.[[:lower:]]*$")
+        .context("Invalid regex for matching systemd unit names")?;
+
+    for (unit, unit_state) in &current_active_units {
+        let current_unit_file = Path::new("/etc/systemd/system").join(&unit);
+        let new_unit_file = toplevel.join("etc/systemd/system").join(&unit);
+
+        let mut base_unit = unit.clone();
+        let mut current_base_unit_file = current_unit_file.clone();
+        let mut new_base_unit_file = new_unit_file.clone();
+
+        // Detect template instances
+        if let Some((Some(template_name), Some(template_instance))) =
+            template_unit_re.captures(&unit).map(|captures| {
+                (
+                    captures.get(1).map(|c| c.as_str()),
+                    captures.get(2).map(|c| c.as_str()),
+                )
+            })
+        {
+            if !current_unit_file.exists() && !new_unit_file.exists() {
+                base_unit = format!("{}@.{}", template_name, template_instance);
+                current_base_unit_file = Path::new("/etc/systemd/system").join(&base_unit);
+                new_base_unit_file = toplevel.join("etc/systemd/system").join(&base_unit);
+            }
+        }
+
+        let mut base_name = base_unit.as_str();
+        if let Some(Some(new_base_name)) = unit_name_re
+            .captures(&base_unit)
+            .map(|capture| capture.get(1).map(|first| first.as_str()))
+        {
+            base_name = new_base_name;
+        }
+
+        if current_base_unit_file.exists()
+            && (unit_state.state == "active" || unit_state.state == "activating")
+        {
+            if new_base_unit_file
+                .canonicalize()
+                .map(|full_path| full_path == Path::new("/dev/null"))
+                .unwrap_or(true)
+            {
+                let current_unit_info = parse_unit(&current_unit_file, &current_base_unit_file)?;
+                if parse_systemd_bool(Some(&current_unit_info), "Unit", "X-StopOnRemoval", true) {
+                    _ = units_to_stop.insert(unit.to_string(), ());
+                }
+            } else if unit.ends_with(".target") {
+                let new_unit_info = parse_unit(&new_unit_file, &new_base_unit_file)?;
+
+                // Cause all active target units to be restarted below. This should start most
+                // changed units we stop here as well as any new dependencies (including new mounts
+                // and swap devices).  FIXME: the suspend target is sometimes active after the
+                // system has resumed, which probably should not be the case.  Just ignore it.
+                if !matches!(
+                    unit.as_str(),
+                    "suspend.target" | "hibernate.target" | "hybrid-sleep.target"
+                ) {
+                    if !(parse_systemd_bool(
+                        Some(&new_unit_info),
+                        "Unit",
+                        "RefuseManualStart",
+                        false,
+                    ) || parse_systemd_bool(
+                        Some(&new_unit_info),
+                        "Unit",
+                        "X-OnlyManualStart",
+                        false,
+                    )) {
+                        units_to_start.insert(unit.to_string(), ());
+                        record_unit(START_LIST_FILE, unit);
+                        // Don't spam the user with target units that always get started.
+                        if std::env::var("STC_DISPLAY_ALL_UNITS").as_deref() != Ok("1") {
+                            units_to_filter.insert(unit.to_string(), ());
+                        }
+                    }
+                }
+
+                // Stop targets that have X-StopOnReconfiguration set. This is necessary to respect
+                // dependency orderings involving targets: if unit X starts after target Y and
+                // target Y starts after unit Z, then if X and Z have both changed, then X should
+                // be restarted after Z.  However, if target Y is in the "active" state, X and Z
+                // will be restarted at the same time because X's dependency on Y is already
+                // satisfied.  Thus, we need to stop Y first. Stopping a target generally has no
+                // effect on other units (unless there is a PartOf dependency), so this is just a
+                // bookkeeping thing to get systemd to do the right thing.
+                if parse_systemd_bool(
+                    Some(&new_unit_info),
+                    "Unit",
+                    "X-StopOnReconfiguration",
+                    false,
+                ) {
+                    units_to_stop.insert(unit.to_string(), ());
+                }
+            } else {
+                let current_unit_info = parse_unit(&current_unit_file, &current_base_unit_file)?;
+                let new_unit_info = parse_unit(&new_unit_file, &new_base_unit_file)?;
+                match compare_units(&current_unit_info, &new_unit_info) {
+                    UnitComparison::UnequalNeedsRestart => {
+                        handle_modified_unit(
+                            &toplevel,
+                            &unit,
+                            base_name,
+                            &new_unit_file,
+                            &new_base_unit_file,
+                            Some(&new_unit_info),
+                            &current_active_units,
+                            &mut units_to_stop,
+                            &mut units_to_start,
+                            &mut units_to_reload,
+                            &mut units_to_restart,
+                            &mut units_to_skip,
+                        )?;
+                    }
+                    UnitComparison::UnequalNeedsReload if !units_to_restart.contains_key(unit) => {
+                        units_to_reload.insert(unit.clone(), ());
+                        record_unit(RELOAD_LIST_FILE, &unit);
+                    }
+                    _ => {}
+                }
+            }
+        }
+    }
+
+    // Compare the previous and new fstab to figure out which filesystems need a remount or need to
+    // be unmounted. New filesystems are mounted automatically by starting local-fs.target.
+    // FIXME: might be nicer if we generated units for all mounts; then we could unify this with
+    // the unit checking code above.
+    let (current_filesystems, current_swaps) = std::fs::read_to_string("/etc/fstab")
+        .map(|fstab| parse_fstab(std::io::Cursor::new(fstab)))
+        .unwrap_or_default();
+    let (new_filesystems, new_swaps) = std::fs::read_to_string(toplevel.join("etc/fstab"))
+        .map(|fstab| parse_fstab(std::io::Cursor::new(fstab)))
+        .unwrap_or_default();
+
+    for (mountpoint, current_filesystem) in current_filesystems {
+        // Use current version of systemctl binary before daemon is reexeced.
+        let unit = path_to_unit_name(&current_system_bin, &mountpoint);
+        if let Some(new_filesystem) = new_filesystems.get(&mountpoint) {
+            if current_filesystem.fs_type != new_filesystem.fs_type
+                || current_filesystem.device != new_filesystem.device
+            {
+                if matches!(mountpoint.as_str(), "/" | "/nix") {
+                    if current_filesystem.options != new_filesystem.options {
+                        // Mount options changes, so remount it.
+                        units_to_reload.insert(unit.to_string(), ());
+                        record_unit(RELOAD_LIST_FILE, &unit)
+                    } else {
+                        // Don't unmount / or /nix if the device changed
+                        units_to_skip.insert(unit, ());
+                    }
+                } else {
+                    // Filesystem type or device changed, so unmount and mount it.
+                    units_to_restart.insert(unit.to_string(), ());
+                    record_unit(RESTART_LIST_FILE, &unit);
+                }
+            } else if current_filesystem.options != new_filesystem.options {
+                // Mount options changes, so remount it.
+                units_to_reload.insert(unit.to_string(), ());
+                record_unit(RELOAD_LIST_FILE, &unit)
+            }
+        } else {
+            // Filesystem entry disappeared, so unmount it.
+            units_to_stop.insert(unit, ());
+        }
+    }
+
+    // Also handles swap devices.
+    for (device, _) in current_swaps {
+        if new_swaps.get(&device).is_none() {
+            // Swap entry disappeared, so turn it off.  Can't use "systemctl stop" here because
+            // systemd has lots of alias units that prevent a stop from actually calling "swapoff".
+            if *action == Action::DryActivate {
+                eprintln!("would stop swap device: {}", &device);
+            } else {
+                eprintln!("stopping swap device: {}", &device);
+                let c_device = std::ffi::CString::new(device.clone())
+                    .context("failed to convert device to cstring")?;
+                if unsafe { nix::libc::swapoff(c_device.as_ptr()) } != 0 {
+                    let err = std::io::Error::last_os_error();
+                    eprintln!("Failed to stop swapping to {device}: {err}");
+                }
+            }
+        }
+        // FIXME: update swap options (i.e. its priority).
+    }
+
+    // Should we have systemd re-exec itself?
+    let current_pid1_path = Path::new("/proc/1/exe")
+        .canonicalize()
+        .unwrap_or_else(|_| PathBuf::from("/unknown"));
+    let current_systemd_system_config = Path::new("/etc/systemd/system.conf")
+        .canonicalize()
+        .unwrap_or_else(|_| PathBuf::from("/unknown"));
+    let Ok(new_pid1_path) = new_systemd.join("lib/systemd/systemd").canonicalize() else {
+        die();
+    };
+    let new_systemd_system_config = toplevel
+        .join("etc/systemd/system.conf")
+        .canonicalize()
+        .unwrap_or_else(|_| PathBuf::from("/unknown"));
+
+    let restart_systemd = current_pid1_path != new_pid1_path
+        || current_systemd_system_config != new_systemd_system_config;
+
+    let units_to_stop_filtered = filter_units(&units_to_filter, &units_to_stop);
+
+    // Show dry-run actions.
+    if *action == Action::DryActivate {
+        if !units_to_stop_filtered.is_empty() {
+            let mut units = units_to_stop_filtered
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!("would stop the following units: {}", units.join(", "));
+        }
+
+        if !units_to_skip.is_empty() {
+            let mut units = units_to_skip
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!(
+                "would NOT stop the following changed units: {}",
+                units.join(", ")
+            );
+        }
+
+        eprintln!("would activate the configuration...");
+        _ = std::process::Command::new(out.join("dry-activate"))
+            .arg(&out)
+            .spawn()
+            .map(|mut child| child.wait());
+
+        // Handle the activation script requesting the restart or reload of a unit.
+        for unit in std::fs::read_to_string(DRY_RESTART_BY_ACTIVATION_LIST_FILE)
+            .unwrap_or_default()
+            .lines()
+        {
+            let current_unit_file = Path::new("/etc/systemd/system").join(unit);
+            let new_unit_file = toplevel.join("etc/systemd/system").join(unit);
+            let mut base_unit = unit.to_string();
+            let mut new_base_unit_file = new_unit_file.clone();
+
+            // Detect template instances.
+            if let Some((Some(template_name), Some(template_instance))) =
+                template_unit_re.captures(&unit).map(|captures| {
+                    (
+                        captures.get(1).map(|c| c.as_str()),
+                        captures.get(2).map(|c| c.as_str()),
+                    )
+                })
+            {
+                if !current_unit_file.exists() && !new_unit_file.exists() {
+                    base_unit = format!("{}@.{}", template_name, template_instance);
+                    new_base_unit_file = toplevel.join("etc/systemd/system").join(&base_unit);
+                }
+            }
+
+            let mut base_name = base_unit.as_str();
+            if let Some(Some(new_base_name)) = unit_name_re
+                .captures(&base_unit)
+                .map(|capture| capture.get(1).map(|first| first.as_str()))
+            {
+                base_name = new_base_name;
+            }
+
+            // Start units if they were not active previously
+            if !current_active_units.contains_key(unit) {
+                units_to_start.insert(unit.to_string(), ());
+                continue;
+            }
+
+            handle_modified_unit(
+                &toplevel,
+                unit,
+                base_name,
+                &new_unit_file,
+                &new_base_unit_file,
+                None,
+                &current_active_units,
+                &mut units_to_stop,
+                &mut units_to_start,
+                &mut units_to_reload,
+                &mut units_to_restart,
+                &mut units_to_skip,
+            )?;
+        }
+
+        remove_file_if_exists(DRY_RESTART_BY_ACTIVATION_LIST_FILE)
+            .with_context(|| format!("Failed to remove {}", DRY_RESTART_BY_ACTIVATION_LIST_FILE))?;
+
+        for unit in std::fs::read_to_string(DRY_RELOAD_BY_ACTIVATION_LIST_FILE)
+            .unwrap_or_default()
+            .lines()
+        {
+            if current_active_units.contains_key(unit)
+                && !units_to_restart.contains_key(unit)
+                && !units_to_stop.contains_key(unit)
+            {
+                units_to_reload.insert(unit.to_string(), ());
+                record_unit(RELOAD_LIST_FILE, unit);
+            }
+        }
+
+        remove_file_if_exists(DRY_RELOAD_BY_ACTIVATION_LIST_FILE)
+            .with_context(|| format!("Failed to remove {}", DRY_RELOAD_BY_ACTIVATION_LIST_FILE))?;
+
+        if restart_systemd {
+            eprintln!("would restart systemd");
+        }
+
+        if !units_to_reload.is_empty() {
+            let mut units = units_to_reload
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!("would reload the following units: {}", units.join(", "));
+        }
+
+        if !units_to_restart.is_empty() {
+            let mut units = units_to_restart
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!("would restart the following units: {}", units.join(", "));
+        }
+
+        let units_to_start_filtered = filter_units(&units_to_filter, &units_to_start);
+        if !units_to_start_filtered.is_empty() {
+            let mut units = units_to_start_filtered
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!("would start the following units: {}", units.join(", "));
+        }
+
+        std::process::exit(0);
+    }
+
+    log::info!("switching to system configuration {}", toplevel.display());
+
+    if !units_to_stop.is_empty() {
+        if !units_to_stop_filtered.is_empty() {
+            let mut units = units_to_stop_filtered
+                .keys()
+                .into_iter()
+                .map(String::as_str)
+                .collect::<Vec<&str>>();
+            units.sort_by_key(|name| name.to_lowercase());
+            eprintln!("stopping the following units: {}", units.join(", "));
+        }
+
+        for unit in units_to_stop.keys() {
+            match systemd.stop_unit(unit, "replace") {
+                Ok(job_path) => {
+                    let mut j = submitted_jobs.borrow_mut();
+                    j.insert(job_path.to_owned(), Job::Stop);
+                }
+                Err(_) => {}
+            };
+        }
+
+        block_on_jobs(&dbus_conn, &submitted_jobs);
+    }
+
+    if !units_to_skip.is_empty() {
+        let mut units = units_to_skip
+            .keys()
+            .into_iter()
+            .map(String::as_str)
+            .collect::<Vec<&str>>();
+        units.sort_by_key(|name| name.to_lowercase());
+        eprintln!(
+            "NOT restarting the following changed units: {}",
+            units.join(", "),
+        );
+    }
+
+    // Wait for all stop jobs to finish
+    block_on_jobs(&dbus_conn, &submitted_jobs);
+
+    let mut exit_code = 0;
+
+    // Activate the new configuration (i.e., update /etc, make accounts, and so on).
+    eprintln!("activating the configuration...");
+    match std::process::Command::new(out.join("activate"))
+        .arg(&out)
+        .spawn()
+        .map(|mut child| child.wait())
+    {
+        Ok(Ok(status)) if status.success() => {}
+        Err(_) => {
+            // allow toplevel to not have an activation script
+        }
+        _ => {
+            eprintln!("Failed to run activate script");
+            exit_code = 2;
+        }
+    }
+
+    // Handle the activation script requesting the restart or reload of a unit.
+    for unit in std::fs::read_to_string(RESTART_BY_ACTIVATION_LIST_FILE)
+        .unwrap_or_default()
+        .lines()
+    {
+        let new_unit_file = toplevel.join("etc/systemd/system").join(unit);
+        let mut base_unit = unit.to_string();
+        let mut new_base_unit_file = new_unit_file.clone();
+
+        // Detect template instances.
+        if let Some((Some(template_name), Some(template_instance))) =
+            template_unit_re.captures(&unit).map(|captures| {
+                (
+                    captures.get(1).map(|c| c.as_str()),
+                    captures.get(2).map(|c| c.as_str()),
+                )
+            })
+        {
+            if !new_unit_file.exists() {
+                base_unit = format!("{}@.{}", template_name, template_instance);
+                new_base_unit_file = toplevel.join("etc/systemd/system").join(&base_unit);
+            }
+        }
+
+        let mut base_name = base_unit.as_str();
+        if let Some(Some(new_base_name)) = unit_name_re
+            .captures(&base_unit)
+            .map(|capture| capture.get(1).map(|first| first.as_str()))
+        {
+            base_name = new_base_name;
+        }
+
+        // Start units if they were not active previously
+        if !current_active_units.contains_key(unit) {
+            units_to_start.insert(unit.to_string(), ());
+            record_unit(START_LIST_FILE, unit);
+            continue;
+        }
+
+        handle_modified_unit(
+            &toplevel,
+            unit,
+            base_name,
+            &new_unit_file,
+            &new_base_unit_file,
+            None,
+            &current_active_units,
+            &mut units_to_stop,
+            &mut units_to_start,
+            &mut units_to_reload,
+            &mut units_to_restart,
+            &mut units_to_skip,
+        )?;
+    }
+
+    // We can remove the file now because it has been propagated to the other restart/reload files
+    remove_file_if_exists(RESTART_BY_ACTIVATION_LIST_FILE)
+        .with_context(|| format!("Failed to remove {}", RESTART_BY_ACTIVATION_LIST_FILE))?;
+
+    for unit in std::fs::read_to_string(RELOAD_BY_ACTIVATION_LIST_FILE)
+        .unwrap_or_default()
+        .lines()
+    {
+        if current_active_units.contains_key(unit)
+            && !units_to_restart.contains_key(unit)
+            && !units_to_stop.contains_key(unit)
+        {
+            units_to_reload.insert(unit.to_string(), ());
+            record_unit(RELOAD_LIST_FILE, unit);
+        }
+    }
+
+    // We can remove the file now because it has been propagated to the other reload file
+    remove_file_if_exists(RELOAD_BY_ACTIVATION_LIST_FILE)
+        .with_context(|| format!("Failed to remove {}", RELOAD_BY_ACTIVATION_LIST_FILE))?;
+
+    // Restart systemd if necessary. Note that this is done using the current version of systemd,
+    // just in case the new one has trouble communicating with the running pid 1.
+    if restart_systemd {
+        eprintln!("restarting systemd...");
+        _ = systemd.reexecute(); // we don't get a dbus reply here
+
+        while !*systemd_reload_status.borrow() {
+            _ = dbus_conn
+                .process(Duration::from_millis(500))
+                .context("Failed to process dbus messages")?;
+        }
+    }
+
+    // Forget about previously failed services.
+    systemd
+        .reset_failed()
+        .context("Failed to reset failed units")?;
+
+    // Make systemd reload its units.
+    _ = systemd.reload(); // we don't get a dbus reply here
+    while !*systemd_reload_status.borrow() {
+        _ = dbus_conn
+            .process(Duration::from_millis(500))
+            .context("Failed to process dbus messages")?;
+    }
+
+    dbus_conn
+        .remove_match(reloading_token)
+        .context("Failed to cleanup systemd Reloading match")?;
+
+    // Reload user units
+    match logind.list_users() {
+        Err(err) => {
+            eprintln!("Unable to list users with logind: {err}");
+            die();
+        }
+        Ok(users) => {
+            for (uid, name, _) in users {
+                eprintln!("reloading user units for {}...", name);
+                let myself = Path::new("/proc/self/exe")
+                    .canonicalize()
+                    .context("Failed to get full path to /proc/self/exe")?;
+
+                std::process::Command::new(&myself)
+                    .uid(uid)
+                    .env("XDG_RUNTIME_DIR", format!("/run/user/{}", uid))
+                    .env("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE", &myself)
+                    .spawn()
+                    .map(|mut child| _ = child.wait())
+                    .with_context(|| format!("Failed to run user activation for {name}"))?;
+            }
+        }
+    }
+
+    // Restart sysinit-reactivation.target. This target only exists to restart services ordered
+    // before sysinit.target. We cannot use X-StopOnReconfiguration to restart sysinit.target
+    // because then ALL services of the system would be restarted since all normal services have a
+    // default dependency on sysinit.target. sysinit-reactivation.target ensures that services
+    // ordered BEFORE sysinit.target get re-started in the correct order. Ordering between these
+    // services is respected.
+    eprintln!("restarting {SYSINIT_REACTIVATION_TARGET}");
+    match systemd.restart_unit(SYSINIT_REACTIVATION_TARGET, "replace") {
+        Ok(job_path) => {
+            let mut jobs = submitted_jobs.borrow_mut();
+            jobs.insert(job_path, Job::Restart);
+        }
+        Err(err) => {
+            eprintln!("Failed to restart {SYSINIT_REACTIVATION_TARGET}: {err}");
+            exit_code = 4;
+        }
+    }
+
+    // Wait for the restart job of sysinit-reactivation.service to finish
+    block_on_jobs(&dbus_conn, &submitted_jobs);
+
+    // Before reloading we need to ensure that the units are still active. They may have been
+    // deactivated because one of their requirements got stopped. If they are inactive but should
+    // have been reloaded, the user probably expects them to be started.
+    if !units_to_reload.is_empty() {
+        for (unit, _) in units_to_reload.clone() {
+            if !unit_is_active(&dbus_conn, &unit)? {
+                // Figure out if we need to start the unit
+                let unit_info = parse_unit(
+                    toplevel.join("etc/systemd/system").join(&unit).as_path(),
+                    toplevel.join("etc/systemd/system").join(&unit).as_path(),
+                )?;
+                if !parse_systemd_bool(Some(&unit_info), "Unit", "RefuseManualStart", false)
+                    || parse_systemd_bool(Some(&unit_info), "Unit", "X-OnlyManualStart", false)
+                {
+                    units_to_start.insert(unit.clone(), ());
+                    record_unit(START_LIST_FILE, &unit);
+                }
+                // Don't reload the unit, reloading would fail
+                units_to_reload.remove(&unit);
+                unrecord_unit(RELOAD_LIST_FILE, &unit);
+            }
+        }
+    }
+
+    // Reload units that need it. This includes remounting changed mount units.
+    if !units_to_reload.is_empty() {
+        let mut units = units_to_reload
+            .keys()
+            .into_iter()
+            .map(String::as_str)
+            .collect::<Vec<&str>>();
+        units.sort_by_key(|name| name.to_lowercase());
+        eprintln!("reloading the following units: {}", units.join(", "));
+
+        for unit in units {
+            match systemd.reload_unit(unit, "replace") {
+                Ok(job_path) => {
+                    submitted_jobs
+                        .borrow_mut()
+                        .insert(job_path.clone(), Job::Reload);
+                }
+                Err(err) => {
+                    eprintln!("Failed to reload {unit}: {err}");
+                    exit_code = 4;
+                }
+            }
+        }
+
+        block_on_jobs(&dbus_conn, &submitted_jobs);
+
+        remove_file_if_exists(RELOAD_LIST_FILE)
+            .with_context(|| format!("Failed to remove {}", RELOAD_LIST_FILE))?;
+    }
+
+    // Restart changed services (those that have to be restarted rather than stopped and started).
+    if !units_to_restart.is_empty() {
+        let mut units = units_to_restart
+            .keys()
+            .into_iter()
+            .map(String::as_str)
+            .collect::<Vec<&str>>();
+        units.sort_by_key(|name| name.to_lowercase());
+        eprintln!("restarting the following units: {}", units.join(", "));
+
+        for unit in units {
+            match systemd.restart_unit(unit, "replace") {
+                Ok(job_path) => {
+                    let mut jobs = submitted_jobs.borrow_mut();
+                    jobs.insert(job_path, Job::Restart);
+                }
+                Err(err) => {
+                    eprintln!("Failed to restart {unit}: {err}");
+                    exit_code = 4;
+                }
+            }
+        }
+
+        block_on_jobs(&dbus_conn, &submitted_jobs);
+
+        remove_file_if_exists(RESTART_LIST_FILE)
+            .with_context(|| format!("Failed to remove {}", RESTART_LIST_FILE))?;
+    }
+
+    // Start all active targets, as well as changed units we stopped above. The latter is necessary
+    // because some may not be dependencies of the targets (i.e., they were manually started).
+    // FIXME: detect units that are symlinks to other units.  We shouldn't start both at the same
+    // time because we'll get a "Failed to add path to set" error from systemd.
+    let units_to_start_filtered = filter_units(&units_to_filter, &units_to_start);
+    if !units_to_start_filtered.is_empty() {
+        let mut units = units_to_start_filtered
+            .keys()
+            .into_iter()
+            .map(String::as_str)
+            .collect::<Vec<&str>>();
+        units.sort_by_key(|name| name.to_lowercase());
+        eprintln!("starting the following units: {}", units.join(", "));
+    }
+
+    for unit in units_to_start.keys() {
+        match systemd.start_unit(unit, "replace") {
+            Ok(job_path) => {
+                let mut jobs = submitted_jobs.borrow_mut();
+                jobs.insert(job_path, Job::Start);
+            }
+            Err(err) => {
+                eprintln!("Failed to start {unit}: {err}");
+                exit_code = 4;
+            }
+        }
+    }
+
+    block_on_jobs(&dbus_conn, &submitted_jobs);
+
+    remove_file_if_exists(START_LIST_FILE)
+        .with_context(|| format!("Failed to remove {}", START_LIST_FILE))?;
+
+    for (unit, job, result) in finished_jobs.borrow().values() {
+        match result.as_str() {
+            "timeout" | "failed" | "dependency" => {
+                eprintln!("Failed to {} {}", job, unit);
+                exit_code = 4;
+            }
+            _ => {}
+        }
+    }
+
+    dbus_conn
+        .remove_match(job_removed_token)
+        .context("Failed to cleanup systemd job match")?;
+
+    // Print failed and new units.
+    let mut failed_units = Vec::new();
+    let mut new_units = Vec::new();
+
+    // NOTE: We want switch-to-configuration to be able to report to the user any units that failed
+    // to start or units that systemd had to restart due to having previously failed. This is
+    // inherently a race condition between how long our program takes to run and how long the unit
+    // in question takes to potentially fail. The amount of time we wait for new messages on the
+    // bus to settle is purely tuned so that this program is compatible with the Perl
+    // implementation.
+    //
+    // Wait for events from systemd to settle. process() will return true if we have received any
+    // messages on the bus.
+    while dbus_conn
+        .process(Duration::from_millis(250))
+        .unwrap_or_default()
+    {}
+
+    let new_active_units = get_active_units(&systemd)?;
+
+    for (unit, unit_state) in new_active_units {
+        if &unit_state.state == "failed" {
+            failed_units.push(unit);
+            continue;
+        }
+
+        if unit_state.substate == "auto-restart" && unit.ends_with(".service") {
+            // A unit in auto-restart substate is a failure *if* it previously failed to start
+            let unit_object_path = systemd
+                .get_unit(&unit)
+                .context("Failed to get unit info for {unit}")?;
+            let exec_main_status: i32 = dbus_conn
+                .with_proxy(
+                    "org.freedesktop.systemd1",
+                    unit_object_path,
+                    Duration::from_millis(5000),
+                )
+                .get("org.freedesktop.systemd1.Service", "ExecMainStatus")
+                .context("Failed to get ExecMainStatus for {unit}")?;
+
+            if exec_main_status != 0 {
+                failed_units.push(unit);
+                continue;
+            }
+        }
+
+        // Ignore scopes since they are not managed by this script but rather created and managed
+        // by third-party services via the systemd dbus API. This only lists units that are not
+        // failed (including ones that are in auto-restart but have not failed previously)
+        if unit_state.state != "failed"
+            && !current_active_units.contains_key(&unit)
+            && !unit.ends_with(".scope")
+        {
+            new_units.push(unit);
+        }
+    }
+
+    if !new_units.is_empty() {
+        new_units.sort_by_key(|name| name.to_lowercase());
+        eprintln!(
+            "the following new units were started: {}",
+            new_units.join(", ")
+        );
+    }
+
+    if !failed_units.is_empty() {
+        failed_units.sort_by_key(|name| name.to_lowercase());
+        eprintln!(
+            "warning: the following units failed: {}",
+            failed_units.join(", ")
+        );
+        _ = std::process::Command::new(new_systemd.join("bin/systemctl"))
+            .arg("status")
+            .arg("--no-pager")
+            .arg("--full")
+            .args(failed_units)
+            .spawn()
+            .map(|mut child| child.wait());
+
+        exit_code = 4;
+    }
+
+    if exit_code == 0 {
+        log::info!(
+            "finished switching to system configuration {}",
+            toplevel.display()
+        );
+    } else {
+        log::error!(
+            "switching to system configuration {} failed (status {})",
+            toplevel.display(),
+            exit_code
+        );
+    }
+
+    std::process::exit(exit_code);
+}
+
+fn main() -> anyhow::Result<()> {
+    match (
+        unsafe { nix::libc::geteuid() },
+        std::env::var("__NIXOS_SWITCH_TO_CONFIGURATION_PARENT_EXE").ok(),
+    ) {
+        (0, None) => do_system_switch(),
+        (1..=u32::MAX, None) => bail!("This program does not support being ran outside of the switch-to-configuration environment"),
+        (_, Some(parent_exe)) => do_user_switch(parent_exe),
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use std::collections::HashMap;
+
+    #[test]
+    fn parse_fstab() {
+        {
+            let (filesystems, swaps) = super::parse_fstab(std::io::Cursor::new(""));
+            assert!(filesystems.is_empty());
+            assert!(swaps.is_empty());
+        }
+
+        {
+            let (filesystems, swaps) = super::parse_fstab(std::io::Cursor::new(
+                r#"\
+invalid
+                    "#,
+            ));
+            assert!(filesystems.is_empty());
+            assert!(swaps.is_empty());
+        }
+
+        {
+            let (filesystems, swaps) = super::parse_fstab(std::io::Cursor::new(
+                r#"\
+# This is a generated file.  Do not edit!
+#
+# To make changes, edit the fileSystems and swapDevices NixOS options
+# in your /etc/nixos/configuration.nix file.
+#
+# <file system> <mount point>   <type>  <options>       <dump>  <pass>
+
+# Filesystems.
+/dev/mapper/root / btrfs x-initrd.mount,compress=zstd,noatime,defaults 0 0
+/dev/disk/by-partlabel/BOOT /boot vfat x-systemd.automount 0 2
+/dev/disk/by-partlabel/home /home ext4 defaults 0 2
+/dev/mapper/usr /nix/.ro-store erofs x-initrd.mount,ro 0 2
+
+
+# Swap devices.
+                    "#,
+            ));
+            assert_eq!(filesystems.len(), 4);
+            assert_eq!(swaps.len(), 0);
+            let home_fs = filesystems.get("/home").unwrap();
+            assert_eq!(home_fs.fs_type, "ext4");
+            assert_eq!(home_fs.device, "/dev/disk/by-partlabel/home");
+            assert_eq!(home_fs.options, "defaults");
+        }
+    }
+
+    #[test]
+    fn filter_units() {
+        assert_eq!(
+            super::filter_units(&HashMap::from([]), &HashMap::from([])),
+            HashMap::from([])
+        );
+
+        assert_eq!(
+            super::filter_units(
+                &HashMap::from([("foo".to_string(), ())]),
+                &HashMap::from([("foo".to_string(), ()), ("bar".to_string(), ())])
+            ),
+            HashMap::from([("bar".to_string(), ())])
+        );
+    }
+
+    #[test]
+    fn compare_units() {
+        {
+            assert!(
+                super::compare_units(&HashMap::from([]), &HashMap::from([]))
+                    == super::UnitComparison::Equal
+            );
+
+            assert!(
+                super::compare_units(
+                    &HashMap::from([("Unit".to_string(), HashMap::from([]))]),
+                    &HashMap::from([])
+                ) == super::UnitComparison::Equal
+            );
+
+            assert!(
+                super::compare_units(
+                    &HashMap::from([(
+                        "Unit".to_string(),
+                        HashMap::from([(
+                            "X-Reload-Triggers".to_string(),
+                            vec!["foobar".to_string()]
+                        )])
+                    )]),
+                    &HashMap::from([])
+                ) == super::UnitComparison::Equal
+            );
+        }
+
+        {
+            assert!(
+                super::compare_units(
+                    &HashMap::from([("foobar".to_string(), HashMap::from([]))]),
+                    &HashMap::from([])
+                ) == super::UnitComparison::UnequalNeedsRestart
+            );
+
+            assert!(
+                super::compare_units(
+                    &HashMap::from([(
+                        "Mount".to_string(),
+                        HashMap::from([("Options".to_string(), vec![])])
+                    )]),
+                    &HashMap::from([(
+                        "Mount".to_string(),
+                        HashMap::from([("Options".to_string(), vec!["ro".to_string()])])
+                    )])
+                ) == super::UnitComparison::UnequalNeedsReload
+            );
+        }
+
+        {
+            assert!(
+                super::compare_units(
+                    &HashMap::from([]),
+                    &HashMap::from([(
+                        "Unit".to_string(),
+                        HashMap::from([(
+                            "X-Reload-Triggers".to_string(),
+                            vec!["foobar".to_string()]
+                        )])
+                    )])
+                ) == super::UnitComparison::UnequalNeedsReload
+            );
+
+            assert!(
+                super::compare_units(
+                    &HashMap::from([(
+                        "Unit".to_string(),
+                        HashMap::from([(
+                            "X-Reload-Triggers".to_string(),
+                            vec!["foobar".to_string()]
+                        )])
+                    )]),
+                    &HashMap::from([(
+                        "Unit".to_string(),
+                        HashMap::from([(
+                            "X-Reload-Triggers".to_string(),
+                            vec!["barfoo".to_string()]
+                        )])
+                    )])
+                ) == super::UnitComparison::UnequalNeedsReload
+            );
+
+            assert!(
+                super::compare_units(
+                    &HashMap::from([(
+                        "Mount".to_string(),
+                        HashMap::from([("Type".to_string(), vec!["ext4".to_string()])])
+                    )]),
+                    &HashMap::from([(
+                        "Mount".to_string(),
+                        HashMap::from([("Type".to_string(), vec!["btrfs".to_string()])])
+                    )])
+                ) == super::UnitComparison::UnequalNeedsRestart
+            );
+        }
+    }
+}
diff --git a/pkgs/by-name/tk/tkdiff/189.patch b/pkgs/by-name/tk/tkdiff/189.patch
deleted file mode 100644
index c638727d3bd48..0000000000000
--- a/pkgs/by-name/tk/tkdiff/189.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Index: tkdiff
-===================================================================
-diff --git a/tkdiff b/tkdiff
---- a/tkdiff	(revision 188)
-+++ b/tkdiff	(revision 189)
-@@ -111,7 +111,7 @@
- }
- 
- # Determine the name of the temporary directory, the rc file name,
--# and possible VPATH EnvVar, all of which are platform dependent.
-+# NULLdev, and possible VPATH EnvVar, all of which are platform dependent.
- #
- # Much MAY likely be overridden by a preference in .tkdiffrc,
- # EXCEPT (obviously) when no such file actually exists yet
-@@ -126,6 +126,9 @@
-             set opts(tmpdir) C:/temp
-         }
- 
-+        # Reserved filename which is actually a NULL device
-+        set opts(NULLdev) "nul"
-+
-         # Split up and store a VPATH if it exists
-         if {[info exists ::env(VPATH)]} {
-             set finfo(Vpath) [split $::env(VPATH) ";"]
-@@ -145,6 +148,9 @@
-             set opts(tmpdir) $::env(TMPDIR)
-         }  {set opts(tmpdir) /tmp }
- 
-+        # Reserved filename which is actually a NULL device (Unix-like platforms)
-+        set opts(NULLdev) "/dev/null"
-+
-         # Split up and store a VPATH if it exists
-         if {[info exists ::env(VPATH)]} {
-             set finfo(Vpath) [split $::env(VPATH) ":"]
-@@ -2106,7 +2112,7 @@
- #           1  Failed   (PLUS a 'pushed' HARD-error message to the caller)
- ###############################################################################
- proc get-file {fn ndx {probe 0}} {
--    global g finfo
-+    global g opts finfo
- 
-     # Ancestor files are stored into a slightly adjusted array element name 
-     #   N.B> 'ndx' AS PASSED *can* be an EXPRESSION (not just a number): resolve!
-@@ -2121,7 +2127,7 @@
-     } elseif {!$tildechk} {
-         # DO NOT REPORT non-existence if this attempt was ONLY a probe
-         if {$probe} { return 1 } { set MSG "File '$fn' does not exist" }
--    } elseif {[file isfile $fn]} {
-+    } elseif {[file isfile $fn] || $fn == $opts(NULLdev)} {
-         set finfo(${A}lbl,$ndx) [shortNm [set finfo(${A}pth,$ndx) "$fn"]]
-     } else { set MSG "'$fn' exists, but is not a file" }
- 
-@@ -2857,7 +2863,7 @@
- # Align various label decorations to the CURRENT input file pairing
- ###############################################################################
- proc alignDecor {pairnum} {
--    global g w finfo
-+    global g w opts finfo
- 
-     # Establish if 3way mode is NOW active and what file indices are in use
-     set g(is3way) [info exists finfo(albl,$pairnum)]
-@@ -2874,7 +2880,8 @@
-             set finfo(lbl,$LR) $finfo(ulbl,$ndx($n))    ;# Override lbl display
-         } else {set finfo(lbl,$LR) $finfo(lbl,$ndx($n))}
- 
--        if {![info exists finfo(tmp,$ndx($n))]} {
-+        if {![info exists finfo(tmp,$ndx($n))] \
-+            && $finfo(pth,$ndx($n)) != $opts(NULLdev)} {
-             #   (N.B> Tip data will ALSO be used by report generation heading)
-             set    g(tooltip,${LR}Label) "{$finfo(pth,$ndx($n))\n"
-             append g(tooltip,${LR}Label) \
diff --git a/pkgs/by-name/tk/tkdiff/194.patch b/pkgs/by-name/tk/tkdiff/194.patch
deleted file mode 100644
index 0fc50db3028bd..0000000000000
--- a/pkgs/by-name/tk/tkdiff/194.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: tkdiff
-===================================================================
-diff --git a/tkdiff b/tkdiff
---- a/tkdiff	(revision 193)
-+++ b/tkdiff	(revision 194)
-@@ -4557,7 +4557,8 @@
-                 }
-             }
-         }
--    }
-+        # But KICK scroll to *LOOK* for Ratcliff (when ON); otherwise is a NOOP
-+    } { $w(acTxWdg) SEE @1,1 }
- }
- 
- ###############################################################################
diff --git a/pkgs/by-name/tk/tkdiff/package.nix b/pkgs/by-name/tk/tkdiff/package.nix
index b057a07e56c42..8cf0e575f8dbc 100644
--- a/pkgs/by-name/tk/tkdiff/package.nix
+++ b/pkgs/by-name/tk/tkdiff/package.nix
@@ -2,24 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tkdiff";
-  version = "5.6";
+  version = "5.7";
 
   src = fetchzip {
     url = "mirror://sourceforge/tkdiff/tkdiff-${builtins.replaceStrings ["."] ["-"] finalAttrs.version}.zip";
-    hash = "sha256-EpbIdjsejkkTaSpoZRM5AHz0r1Cio+YzRryK0BoghBk=";
+    hash = "sha256-ZndpolvaXoCAzR4KF+Bu7DJrXyB/C2H2lWp5FyzOc4M=";
   };
 
-  patches = [
-    # fix regression: allow /dev/null again. eg: "tkdiff /dev/null file"
-    # svn diff --git -r188:189 https://svn.code.sf.net/p/tkdiff/code/trunk
-    ./189.patch
-
-    # fix regression: trigger redraw when inline recursive diff requested
-    # svn diff --git -r193:194 https://svn.code.sf.net/p/tkdiff/code/trunk | \
-    #   sed -e '/^@@ -4545,7/,14d' -e '/^@@ -18063,7/,$d'
-    ./194.patch
-  ];
-
   nativeBuildInputs = [ makeBinaryWrapper ];
 
   installPhase = ''
diff --git a/pkgs/by-name/to/tootik/package.nix b/pkgs/by-name/to/tootik/package.nix
index 9b236aabc6d94..c3b81e1722823 100644
--- a/pkgs/by-name/to/tootik/package.nix
+++ b/pkgs/by-name/to/tootik/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tootik";
-  version = "0.10.4";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "dimkr";
     repo = "tootik";
     rev = version;
-    hash = "sha256-7rdDVxfTYcj6Wcoxrb5xCbpEYVTHQpocM27mSezkpoE=";
+    hash = "sha256-aAIyEUeIZvDbWfUcfcETGrB3Md8GqRB8hvRBUtMU5Zs=";
   };
 
-  vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM=";
+  vendorHash = "sha256-kAnGMNBWqH37QETnn2ncp7qOaCSx6Xd4HCFhCehh/kU=";
 
   nativeBuildInputs = [ openssl ];
 
diff --git a/pkgs/by-name/to/torrentstream/deps.nix b/pkgs/by-name/to/torrentstream/deps.nix
index 048d85c10a620..b68fcf2d6cabe 100644
--- a/pkgs/by-name/to/torrentstream/deps.nix
+++ b/pkgs/by-name/to/torrentstream/deps.nix
@@ -2,38 +2,42 @@
 # Please dont edit it manually, your changes might get overwritten!
 
 { fetchNuGet }: [
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "7.0.0"; sha256 = "0n1grglxql9llmrsbbnlz5chx8mxrb5cpvjngm0hfyrkgzcwz90d"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "7.0.0"; sha256 = "1as8cygz0pagg17w22nsf6mb49lr2mcl1x8i3ad1wi8lyzygy1a3"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "7.0.0"; sha256 = "1qifb1pv7s76lih8wnjk418wdk4qwn87q2n6dx54knfvxai410bl"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "7.0.0"; sha256 = "1pmgjrvwdzqrxjb24cg3fd624r64lgywbqc9symd5hyl4175pwk8"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "7.0.0"; sha256 = "0nhh7rnh45s39x8sjn88czg7nyfpry85pkm0g619j8b468zj8nb4"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "7.0.0"; sha256 = "1fk7dcz6gfhd1k1d8ksz22rnjvj1waqjzk29ym4i3dz73rsq8j1i"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "7.0.0"; sha256 = "05zjmrpp99l128wijp1fy8asskc11ls871qaqr4mjnz3gbfycxnj"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "7.0.0"; sha256 = "0ks7lcyvfvr3ar36f5gp89bnnblxzic5vawppfcrvhw1ivas4mp1"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "7.0.0"; sha256 = "121zs4jp8iimgbpzm3wsglhjwkc06irg1pxy8c1zcdlsg34cfq1p"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "7.0.0"; sha256 = "0ff20yklyjgyjzdyv7sybczgqhgd557m05dbwxzjznr0x41b180d"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "7.0.0"; sha256 = "1f1h0l47abw0spssd64qkhgd7b54pyzslyb586zp21milimcfmgv"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "7.0.0"; sha256 = "1812vnkn8n0i4yr3k5azcxcfx1bbpcsmms95rdyxjfrzfksr05ai"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "7.0.0"; sha256 = "0wx50kswqv8jw1vr8sma1hf1mm3wkwsnml0hzzlilvak9ql7cr3n"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "7.0.0"; sha256 = "1h5szfsr1dalsvdj9c18y6362853chisfns0hfpsq44hz0pr8j9q"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Systemd"; version = "7.0.0"; sha256 = "07cr2lzmlczmz1f9sjv1i9sfqwinkcmkq1q0kkscnh9bqa85aaqd"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.WindowsServices"; version = "7.0.0"; sha256 = "1cvc24ma18vi2hb3kwkb9k7hfx5v8lcfdvy9n8bc12d5nhmh9zcc"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "7.0.0"; sha256 = "1bqd3pqn5dacgnkq0grc17cgb2i0w8z1raw12nwm3p3zhrfcvgxf"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.0"; sha256 = "1gn7d18i1wfy13vrwhmdv1rmsb4vrk26kqdld4cgvh77yigj90xs"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "7.0.0"; sha256 = "1f5fhpvzwyrwxh3g1ry027s4skmklf6mbm2w0p13h0x6fbmxcb24"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "7.0.0"; sha256 = "1m8ri2m3vlv9vzk0068jkrx0vkk4sqmk1kxmn8pc3wys38d38qaf"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "7.0.0"; sha256 = "14p7hrhdd58fxdhjbyjwmlzr00vs03bmns3sf2f6alsgpvbf2h1i"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "7.0.0"; sha256 = "0q1cgi456shngxs70ar0ibshpm5qk8whw369jrl6xdxnf1vxkkq8"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "7.0.0"; sha256 = "11rskmrijf6xv78slm38zywj6l3wjlm017kijhan1kfg56f1kvdk"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "7.0.0"; sha256 = "0b90zkrsk5dw3wr749rbynhpxlg4bgqdnd7d5vdlw2g9c7zlhgx6"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "7.0.0"; sha256 = "1liyprh0zha2vgmqh92n8kkjz61zwhr7g16f0gmr297z2rg1j5pj"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "7.0.0"; sha256 = "1b4km9fszid9vp2zb3gya5ni9fn8bq62bzaas2ck2r7gs0sdys80"; })
+  (fetchNuGet { pname = "dotnet-ef"; version = "8.0.0"; sha256 = "1qh1zwyfgzy2486xvwiblg8algmwi70w2p1sqaiw4pfjz5c6dn21"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; sha256 = "026f7f2iv6ph2dc5rnslll0bly8qcx5clmh2nn9hgyqjizzc4qvy"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; sha256 = "1br01zhzhnxjzqx63bxd25x48y9xs69hcs71pjni8y9kl50zja7z"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; sha256 = "1f2af5m1yny8b43251gsj75hjd9ixni1clcldy8cg91z1vxxm8dh"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Systemd"; version = "8.0.0"; sha256 = "1jhxx8wyk18vspvfp30j5dymv8m85jg9s1iahdkfyin5v5j8g0xq"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.WindowsServices"; version = "8.0.0"; sha256 = "1xwbk1xa2y888a4qrmxn50l9b2l8vnfq1lmia9xh7zykl9zhmrps"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; sha256 = "1d9b734vnll935661wqkgl7ry60rlh5p876l2bsa930mvfsaqfcv"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; sha256 = "1mvp3ipw7k33v2qw2yrvc4vl5yzgpk3yxa94gg0gz7wmcmhzvmkd"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; sha256 = "1h7mg97lj0ss47kq7zwnihh9c6xcrkwrr8ffhc16qcsrh36sg6q0"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; sha256 = "05vfrxw7mlwlwhsl6r4yrhxk3sd8dv5sl0hdlcpgw62n53incw5x"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; sha256 = "0gbjll6p03rmw0cf8fp0p8cxzn9awmzv8hvnyqbczrkax5h7p94i"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
   (fetchNuGet { pname = "Mono.Nat"; version = "3.0.0"; sha256 = "17lyjcpwp5j2dwx0gi975x710r7kqkx50c1wmyzwdyqhar3kszi8"; })
   (fetchNuGet { pname = "MonoTorrent"; version = "3.0.0-beta.rev0106"; sha256 = "0zz64nnb02d4pjpffs9x26jvbalm48yaghbgj3vc7j8ff0sm8xr4"; })
   (fetchNuGet { pname = "ReusableTasks"; version = "2.0.2"; sha256 = "0dkyirzspp8spmgd3ad9mak5jhqfmib6m437r2bmmyb3m4mxp5rb"; })
-  (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "7.0.0"; sha256 = "16p8z975dnzmncfifa9gw9n3k9ycpr2qvz7lglpghsvx0fava8k9"; })
-  (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "7.0.0"; sha256 = "0xgg9y06j6ch3h65lyrpnghb7iaf9g97w1kg5sz0ji6ikfiqlkxz"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.0"; sha256 = "0scb0lp7wbgcinaa4kqiqs7b8i5nx4ppfad81138jiwd1sl37pyp"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; })
+  (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; sha256 = "1xnvcidh2qf6k7w8ij1rvj0viqkq84cq47biw0c98xhxg5rk3pxf"; })
+  (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "8.0.0"; sha256 = "00hlb8vmfgs2kk39mqmij5h3bz5sgkqxpxvpnki4ncayqadx1bws"; })
+  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; })
 ]
diff --git a/pkgs/by-name/to/torrentstream/package.nix b/pkgs/by-name/to/torrentstream/package.nix
index b59c17dd59c67..34b7e4866d5a0 100644
--- a/pkgs/by-name/to/torrentstream/package.nix
+++ b/pkgs/by-name/to/torrentstream/package.nix
@@ -2,39 +2,39 @@
 , buildDotnetModule
 , fetchFromGitHub
 , dotnetCorePackages
-, fetchpatch
 }:
 
 buildDotnetModule rec {
   pname = "torrentstream";
-  version = "1.0.1.6";
+  version = "1.0.1.11";
 
   src = fetchFromGitHub {
     owner = "trueromanus";
     repo = "TorrentStream";
     rev = version;
-    hash = "sha256-41zlzrQ+YGY2wEvq4Su/lp6lOmGW4u0F37ub2a3z+7o=";
+    hash = "sha256-3lmQWx00Ulp0ZyQBEhFT+djHBi84foMlWGJEp/UOGek=";
   };
 
   sourceRoot = "${src.name}/src";
 
-  projectFile = "TorrentStream.sln";
-  nugetDeps = ./deps.nix;
-  dotnet-sdk = dotnetCorePackages.sdk_7_0;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
+  dotnet-sdk = dotnetCorePackages.sdk_8_0;
   executables = [ "TorrentStream" ];
+  nugetDeps = ./deps.nix;
+  projectFile = "TorrentStream.csproj";
+  selfContainedBuild = true;
+
+  dotnetFlags = [
+    "-p:PublishAot=false" # untill https://github.com/NixOS/nixpkgs/issues/280923 is fixed
+    "-p:PublishSingleFile=true"
+  ];
 
   patches = [
-    (fetchpatch {
-       name = "allow-setting-listen-address.patch";
-       url = "https://github.com/trueromanus/TorrentStream/compare/1.0.1.6..6900b6f33f2b4b94888a8a1355029a81767e66a4.patch";
-       hash = "sha256-jOUs5SO2BnNnkz3wJ710Z4stVlhZ8nKqpmHr4BNlGs0=";
-       stripLen = 1;
-       excludes = [ "README.md" ];
-     })
     ./0001-display-the-message-of-caught-exceptions.patch
   ];
 
+  postInstall = "rm $out/lib/torrentstream/NuGet.config"; # reduce closure size
+
   meta = {
     homepage = "https://github.com/trueromanus/TorrentStream";
     description = "Simple web server for streaming torrent files in video players";
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/by-name/tr/treefmt/package.nix
index 48fc4b44962e8..48fc4b44962e8 100644
--- a/pkgs/development/tools/treefmt/default.nix
+++ b/pkgs/by-name/tr/treefmt/package.nix
diff --git a/pkgs/by-name/tr/treefmt2/package.nix b/pkgs/by-name/tr/treefmt2/package.nix
new file mode 100644
index 0000000000000..defe9100906aa
--- /dev/null
+++ b/pkgs/by-name/tr/treefmt2/package.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "treefmt";
+  version = "2.0.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "numtide";
+    repo = "treefmt";
+    rev = "v${version}";
+    hash = "sha256-iRjd7iYd3617XZrGD6Bi6d1SoE8dgATMbT4AMXklfgM=";
+  };
+
+  vendorHash = "sha256-xbXy5Csl2JD5/F5mtvh8J36VZqrUIfO3OBV/LE+KzWA=";
+
+  subPackages = [ "." ];
+
+  CGO_ENABLED = 1;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X git.numtide.com/numtide/treefmt/build.Name=${pname}"
+    "-X git.numtide.com/numtide/treefmt/build.Version=v${version}"
+  ];
+
+  meta = {
+    description = "one CLI to format the code tree";
+    homepage = "https://github.com/numtide/treefmt";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brianmcgee lib.maintainers.zimbatm ];
+    mainProgram = "treefmt";
+  };
+}
diff --git a/pkgs/by-name/up/upbound/package.nix b/pkgs/by-name/up/upbound/package.nix
index 92031aa6dddf0..421be958b1687 100644
--- a/pkgs/by-name/up/upbound/package.nix
+++ b/pkgs/by-name/up/upbound/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "upbound";
-  version = "0.28.0";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "up";
     rev = "v${version}";
-    sha256 = "sha256-74kmEjJTcFYRgbuH8hFPS+sadVWk7FkFE+MrapQw/lw=";
+    sha256 = "sha256-KAWyHlqgj4xz3abSSa1cezpeDTmJbGSZAMffq3p/CyI=";
   };
 
-  vendorHash = "sha256-hNEM8U+3T4biEqGoN2ClKLSgKlfT/eoUkQQGiTrR2vM=";
+  vendorHash = "sha256-4o1WJHGHiO9r8RC8hr4KWZBiC8h52la1gKdYaYxEjbk=";
 
   subPackages = [ "cmd/docker-credential-up" "cmd/up" ];
 
diff --git a/pkgs/by-name/us/usql/package.nix b/pkgs/by-name/us/usql/package.nix
index 27ea4e6bb9e35..1297da876c318 100644
--- a/pkgs/by-name/us/usql/package.nix
+++ b/pkgs/by-name/us/usql/package.nix
@@ -11,18 +11,18 @@
 
 buildGoModule rec {
   pname = "usql";
-  version = "0.18.1";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "xo";
     repo = "usql";
     rev = "v${version}";
-    hash = "sha256-2/qB05LQGw4XjnODn0dzuTVqkc9X6YACJ45z+/juHXk=";
+    hash = "sha256-O0NsxOPp09W6FFdVjoCBUDSEkMct/MX/sLWDpoCmwwM=";
   };
 
   buildInputs = [ unixODBC icu ];
 
-  vendorHash = "sha256-PFXULlYMSUoJ23jDA3CTImiUAlcoqHoh1zq+749qO2g=";
+  vendorHash = "sha256-4WGxstIwjq7u+4UZ03IAONi58Vlg3p82fEOkfPS3eT4=";
   proxyVendor = true;
 
   # Exclude drivers from the bad group
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/by-name/ux/uxplay/package.nix
index 34c0a59e84adf..53c2c76f5ab50 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/by-name/ux/uxplay/package.nix
@@ -1,14 +1,16 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, cmake
-, openssl
-, libplist
-, pkg-config
-, wrapGAppsHook3
-, avahi
-, avahi-compat
-, gst_all_1
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  openssl,
+  libplist,
+  pkg-config,
+  wrapGAppsHook3,
+  avahi,
+  avahi-compat,
+  gst_all_1,
+  nix-update-script,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -47,12 +49,15 @@ stdenv.mkDerivation (finalAttrs: {
     gst_all_1.gst-libav
   ];
 
+  passthru.updateScript = nix-update-script { };
+
   meta = {
+    changelog = "https://github.com/FDH2/UxPlay/releases/tag/v${finalAttrs.version}";
     description = "AirPlay Unix mirroring server";
     homepage = "https://github.com/FDH2/UxPlay";
     license = lib.licenses.gpl3Plus;
+    mainProgram = "uxplay";
     maintainers = [ lib.maintainers.azuwis ];
     platforms = lib.platforms.unix;
-    mainProgram = "uxplay";
   };
 })
diff --git a/pkgs/by-name/va/valuta/package.nix b/pkgs/by-name/va/valuta/package.nix
new file mode 100644
index 0000000000000..cabd2edc289db
--- /dev/null
+++ b/pkgs/by-name/va/valuta/package.nix
@@ -0,0 +1,65 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, blueprint-compiler
+, desktop-file-utils
+, gtk4
+, gst_all_1
+, libsoup_3
+, libadwaita
+, wrapGAppsHook4
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "valuta";
+  version = "1.2.0";
+
+  pyproject = false;
+
+  src = fetchFromGitHub {
+    owner = "ideveCore";
+    repo = "Valuta";
+    rev = "v${version}";
+    hash = "sha256-ygroF9hlmsjQTocly7CNL6zQi4N6h8va/ZkJ8w8QHms=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    blueprint-compiler
+    desktop-file-utils
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    gtk4
+    gst_all_1.gstreamer
+    libsoup_3
+    libadwaita
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    dbus-python
+    pygobject3
+  ];
+
+  dontWrapGApps = true;
+
+  # Arguments to be passed to `makeWrapper`, only used by buildPython*
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  meta = with lib; {
+    description = "A simple application for converting currencies, with support for various APIs";
+    homepage = "https://github.com/ideveCore/Valuta";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ arthsmn ];
+    mainProgram = "currencyconverter";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix
index fb4644dfc45da..3cfc974a77f12 100644
--- a/pkgs/by-name/ve/vencord/package.nix
+++ b/pkgs/by-name/ve/vencord/package.nix
@@ -60,6 +60,6 @@ buildNpmPackage rec {
     description = "Vencord web extension";
     homepage = "https://github.com/Vendicated/Vencord";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ FlafyDev fwam NotAShelf Scrumplex ];
+    maintainers = with maintainers; [ FlafyDev NotAShelf Scrumplex ];
   };
 }
diff --git a/pkgs/by-name/wa/warp-terminal/package.nix b/pkgs/by-name/wa/warp-terminal/package.nix
index cd69dc6e37cf7..573e08678199d 100644
--- a/pkgs/by-name/wa/warp-terminal/package.nix
+++ b/pkgs/by-name/wa/warp-terminal/package.nix
@@ -99,7 +99,7 @@ meta = with lib; {
   homepage = "https://www.warp.dev";
   license = licenses.unfree;
   sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-  maintainers = with maintainers; [ emilytrau Enzime imadnyc ];
+  maintainers = with maintainers; [ emilytrau Enzime imadnyc donteatoreo ];
   platforms = platforms.darwin ++ [ "x86_64-linux" ];
 };
 
diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json
index 195553466fa19..28891c02ce2ab 100644
--- a/pkgs/by-name/wa/warp-terminal/versions.json
+++ b/pkgs/by-name/wa/warp-terminal/versions.json
@@ -1,10 +1,10 @@
 {
   "darwin": {
-    "hash": "sha256-oIRZtj1BZWioO1ucEXnJQoz/FfDNHWLdYLExuLk+aJk=",
-    "version": "0.2024.04.23.08.01.stable_03"
+    "hash": "sha256-Ky5JyocpI9JKvhmmhk0Cg/Eo7icmo6FQAT639cGIGrA=",
+    "version": "0.2024.05.07.08.02.stable_02"
   },
   "linux": {
-    "hash": "sha256-R9//eoelQkH8OAhoU0ux+o1EpQozWhRJwCTTSY9LBGU=",
-    "version": "0.2024.04.23.08.01.stable_03"
+    "hash": "sha256-zUbWNgiupBoFWoN3I726FejGtGne9dctaiGlPBbj5KU=",
+    "version": "0.2024.05.07.08.02.stable_02"
   }
 }
diff --git a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
index 9f910079eef1c..a38699cf0ddc3 100644
--- a/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
+++ b/pkgs/by-name/wi/wireguard-vanity-keygen/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "wireguard-vanity-keygen";
-  version = "0.0.8";
+  version = "0.0.9";
 
   src = fetchFromGitHub {
     owner = "axllent";
     repo = "wireguard-vanity-keygen";
     rev = version;
-    hash = "sha256-qTVPPr7lmjMvUqetDupZCo8RdoBHr++0V9CB4b6Bp4Y=";
+    hash = "sha256-K5lJSDRBf3NCs6v+HmjYJiHjfKt/6djvM847/C4qfeI=";
   };
 
-  vendorHash = "sha256-9/waDAfHYgKh+FsGZEp7HbgI83urRDQPuvtuEKHOf58=";
+  vendorHash = "sha256-kAPw5M9o99NijCC9BzYhIpzHK/8fSAJxvckaj8iRby0=";
 
   ldflags = [ "-s" "-w" "-X main.appVersion=${version}" ];
 
diff --git a/pkgs/by-name/wt/wtfis/package.nix b/pkgs/by-name/wt/wtfis/package.nix
index 886d7de4baa90..4163a31ac9887 100644
--- a/pkgs/by-name/wt/wtfis/package.nix
+++ b/pkgs/by-name/wt/wtfis/package.nix
@@ -5,12 +5,12 @@
 
 let
   pname = "wtfis";
-  version = "0.9.0";
+  version = "0.9.1";
   src = fetchFromGitHub {
     owner = "pirxthepilot";
     repo = "wtfis";
     rev = "refs/tags/v${version}";
-    hash = "sha256-LeIb2MLxulDsgQepNr7I81u8gG4HQC6PsszKZKVjFkw=";
+    hash = "sha256-nVcF7mPoWL5PNLh0W4FBPE7WVU72FidHpBZqMNl+Fd4=";
   };
 in python3.pkgs.buildPythonApplication {
   inherit pname version src;
diff --git a/pkgs/by-name/wt/wttrbar/package.nix b/pkgs/by-name/wt/wttrbar/package.nix
index 6cba42d0c1582..0d3fce04d1c1c 100644
--- a/pkgs/by-name/wt/wttrbar/package.nix
+++ b/pkgs/by-name/wt/wttrbar/package.nix
@@ -8,18 +8,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wttrbar";
-  version = "0.9.4";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "bjesus";
     repo = "wttrbar";
     rev = version;
-    hash = "sha256-kRrVqUfkrSK/9z3Hj4J+mKcdV7JdTzjhxlVRa/kf8sw=";
+    hash = "sha256-rUiLB0M/dzNxzBPAqlGy5m/gOTGYw4GRzb+ud0l/1+8=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]);
 
-  cargoHash = "sha256-HxSyGME95FWR5VwodmrMUX0jPlfE9SJV0WBbICuuTok=";
+  cargoHash = "sha256-v415OJ6dmWSLUDeFUtd27mBaQlB3x1vC37sjpMhKyYY=";
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/by-name/xd/xdg-terminal-exec-mkhl/package.nix b/pkgs/by-name/xd/xdg-terminal-exec-mkhl/package.nix
new file mode 100644
index 0000000000000..1d6e61edb6b0a
--- /dev/null
+++ b/pkgs/by-name/xd/xdg-terminal-exec-mkhl/package.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  rustPlatform,
+  fetchFromGitea,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "xdg-terminal-exec-mkhl";
+  version = "0.2.0";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "mkhl";
+    repo = "xdg-terminal-exec";
+    rev = "v${version}";
+    hash = "sha256-iVp+tg+OujMMddKsQ/T9wyqh/Jk/j/jQgsl23uQA/iM=";
+  };
+
+  cargoHash = "sha256-x2oEPFx2KRhnKPX3QjGBM16nkYGclxR5mELGYvxjtMA=";
+
+  meta = {
+    description = "Alternative rust-based implementation of the proposed XDG Default Terminal Execution Specification";
+    license = lib.licenses.gpl3Plus;
+    mainProgram = "xdg-terminal-exec";
+    maintainers = with lib.maintainers; [ quantenzitrone ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/by-name/yd/ydotool/package.nix
index 42f95735de597..137a701d87a36 100644
--- a/pkgs/tools/wayland/ydotool/default.nix
+++ b/pkgs/by-name/yd/ydotool/package.nix
@@ -1,13 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, cmake, scdoc, util-linux, xorg }:
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  cmake,
+  scdoc,
+  util-linux,
+  xorg,
+  nixosTests,
+}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "ydotool";
   version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "ReimuNotMoe";
     repo = "ydotool";
-    rev = "v${version}";
+    rev = "v${finalAttrs.version}";
     hash = "sha256-MtanR+cxz6FsbNBngqLE+ITKPZFHmWGsD1mBDk0OVng=";
   };
 
@@ -19,13 +28,22 @@ stdenv.mkDerivation rec {
   '';
 
   strictDeps = true;
-  nativeBuildInputs = [ cmake scdoc ];
+  nativeBuildInputs = [
+    cmake
+    scdoc
+  ];
 
-  meta = with lib; {
-    homepage = "https://github.com/ReimuNotMoe/ydotool";
+  passthru.tests.basic = nixosTests.ydotool;
+
+  meta = {
     description = "Generic Linux command-line automation tool";
-    license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ willibutz kraem ];
-    platforms = with platforms; linux;
+    homepage = "https://github.com/ReimuNotMoe/ydotool";
+    license = lib.licenses.agpl3Plus;
+    mainProgram = "ydotool";
+    maintainers = with lib.maintainers; [
+      willibutz
+      kraem
+    ];
+    platforms = lib.platforms.linux;
   };
-}
+})
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 6b715e580fe54..5628df5393cfe 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 = "Iosevka${toString set}";
-  version = "30.0.0";
+  version = "30.0.1";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-V+oRmrqeIdYDaHmX7zCt7+So9tHOsJbqF0cBhCoctSU=";
+    hash = "sha256-THs6kN5VZpTvzTK7w/sGQbxoEyyPwzl93JDOvwucgeo=";
   };
 
-  npmDepsHash = "sha256-vRk7yUL+st/1kwNItLhypF22A8YuOG7e3vfoZwB0+oo=";
+  npmDepsHash = "sha256-maDIkbe4BKY7XYOQNGdOalyTGdBXgIU5t0QjVJW6lvQ=";
 
   nativeBuildInputs = [
     remarshal
diff --git a/pkgs/data/icons/kora-icon-theme/default.nix b/pkgs/data/icons/kora-icon-theme/default.nix
index a490d1c7289a5..6ff07f749e543 100644
--- a/pkgs/data/icons/kora-icon-theme/default.nix
+++ b/pkgs/data/icons/kora-icon-theme/default.nix
@@ -10,13 +10,13 @@
 
 stdenvNoCC.mkDerivation rec  {
   pname = "kora-icon-theme";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub  {
     owner = "bikass";
     repo = "kora";
     rev = "v${version}";
-    sha256 = "sha256-YKdqV41HlQMvkyWoWbOCMUASshnEDnXtxzdmJdTEQGw=";
+    sha256 = "sha256-cWfQiJeyH/bkvASoe2nl4efHQdMpYFh587d5yycs31k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/nordzy-icon-theme/default.nix b/pkgs/data/icons/nordzy-icon-theme/default.nix
index 1e7b2f29b64ec..3aedf3b2c93ff 100644
--- a/pkgs/data/icons/nordzy-icon-theme/default.nix
+++ b/pkgs/data/icons/nordzy-icon-theme/default.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nordzy-icon-theme";
-  version = "1.8.6";
+  version = "1.8.7";
 
   src = fetchFromGitHub {
     owner = "alvatip";
     repo = "Nordzy-icon";
     rev = version;
-    sha256 = "sha256-EJDnT6ft70eTR7o2ps+zyLGNZL9NBn6Qn4nHKsskzvE=";
+    sha256 = "sha256-r/WYGcHRAFX7TennestobjcJhwu3GE8aQXxnaeokQM0=";
   };
 
   # In the post patch phase we should first make sure to patch shebangs.
diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix
index ae14a27c8b7f4..580dfef90bc5a 100644
--- a/pkgs/data/misc/unicode-emoji/default.nix
+++ b/pkgs/data/misc/unicode-emoji/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "15.0";
+  version = "15.1";
 
   fetchData = { suffix, hash }: stdenvNoCC.mkDerivation {
     pname = "unicode-emoji-${suffix}";
@@ -32,15 +32,15 @@ let
   srcs = {
     emoji-sequences = fetchData {
       suffix = "sequences";
-      hash = "sha256-XCIi2KQy2JagMaaML1SwT79HsPzi5phT8euKPpRetW0=";
+      hash = "sha256-63LJEV41BPu+HIYhthn4eUcaRszFbi9EVBe3wcrQUNE=";
     };
     emoji-test = fetchData {
       suffix = "test";
-      hash = "sha256-hEXyOsg4jglr4Z0CYuFPzv+Fb/Ugk/I1bciUhfGoU9s=";
+      hash = "sha256-2HbuJJqijqp2z6bfqnAoR6jROwYqpIjUZdA5XugTftk=";
     };
     emoji-zwj-sequences = fetchData {
       suffix = "zwj-sequences";
-      hash = "sha256-/jV/kRe3dGZ2Bjdl1YcTft+bJZA6eSvVSTW/CFZ5EYI=";
+      hash = "sha256-mnagPcrPzY+b/gjEnI2QtVGCuXfLzIemlOioGT77Dlc=";
     };
   };
 in
diff --git a/pkgs/data/themes/colloid-gtk-theme/default.nix b/pkgs/data/themes/colloid-gtk-theme/default.nix
index ef69114c855e0..60849a407d866 100644
--- a/pkgs/data/themes/colloid-gtk-theme/default.nix
+++ b/pkgs/data/themes/colloid-gtk-theme/default.nix
@@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "everforest"
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "2024-04-14";
+  version = "2024-05-13";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    hash = "sha256-DQYnR2V86KbIJfAA4ObRtKQq1IuECie1qdOBYVu8NtA=";
+    hash = "sha256-24U1iMByy+cFQuLUWYPBSuvJwYzwS0rCr7L6OWyMUz0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index 229a19f1b9668..d21264f4e075c 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "4.0.0-unstable-2024-04-24";
+  version = "4.0.0-unstable-2024-05-12";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "5e9a46b7610da0944a8131bbf08487861cae2c46";
-    hash = "sha256-pKKEZ/GheyIf6pPb+Sz4AfF8oRlf1Jk4cl0tub5Ye10=";
+    rev = "98ad13fb6efbdcbf944b3c5507de01cf94338c0c";
+    hash = "sha256-qF35jUvoDw3xMGGscET18sKqqQ0+oZJYNnSXbvy7ayM=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix
index 75bdf7b07aa9c..e1dd0a2565942 100644
--- a/pkgs/data/themes/orchis-theme/default.nix
+++ b/pkgs/data/themes/orchis-theme/default.nix
@@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks
 stdenvNoCC.mkDerivation
 rec {
   inherit pname;
-  version = "2024-04-18";
+  version = "2024-05-01";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    hash = "sha256-Kvafbvw1q8F0+l47WshFHPfZEQhFXPPXuI0RjBJnP4s=";
+    hash = "sha256-xi4kYT566bQqQEY4CByTrpwMfC1uhzeIqpprpe59oIM=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index eb0784840d1fa..e3e8d52977f10 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lxqt-openssh-askpass";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    hash = "sha256-YDGKp8Fd6lEFSRWGAFUG7SUUFq7gEpJnKlr+ZFsBCRU=";
+    hash = "sha256-poTOXVvVUdM6m1mHBgQGS+mVHu6O4iBKQRs0JwpU8X0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/aspectj/default.nix b/pkgs/development/compilers/aspectj/default.nix
index 50c54b66b73c4..2b7ac53401117 100644
--- a/pkgs/development/compilers/aspectj/default.nix
+++ b/pkgs/development/compilers/aspectj/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "1.9.21.2";
+  version = "1.9.22";
   versionSnakeCase = builtins.replaceStrings [ "." ] [ "_" ] version;
 in
 stdenvNoCC.mkDerivation {
@@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/eclipse/org.aspectj/releases/download/V${versionSnakeCase}/aspectj-${version}.jar";
-    hash = "sha256-wqQtyopS03zX+GJme5YZwWiACqO4GAYFr3XAjzqSFnQ=";
+    hash = "sha256-kQsWu/rS7Qf7Fcg5VZ+QhggvK69aUVD3HCh0aJ2qhfw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/compilers/ballerina/default.nix b/pkgs/development/compilers/ballerina/default.nix
index 5a58d9afd9a83..2c64bb7b54f3f 100644
--- a/pkgs/development/compilers/ballerina/default.nix
+++ b/pkgs/development/compilers/ballerina/default.nix
@@ -1,6 +1,6 @@
 { ballerina, lib, writeText, runCommand, makeWrapper, fetchzip, stdenv, openjdk }:
 let
-  version = "2201.8.6";
+  version = "2201.9.0";
   codeName = "swan-lake";
 in stdenv.mkDerivation {
   pname = "ballerina";
@@ -8,7 +8,7 @@ in stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://dist.ballerina.io/downloads/${version}/ballerina-${version}-${codeName}.zip";
-    hash = "sha256-/oYyYziUTt4OqQfYJdDuRVy9xmMDfhpj24lbisQFfAU=";
+    hash = "sha256-HLZqhVHBghVd52rbbsEoM4FxoEslxPSJ/oimBPNnmMM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix
index 8747215cce0d6..705dfed8a2496 100644
--- a/pkgs/development/compilers/llvm/common/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/common/llvm/default.nix
@@ -30,6 +30,7 @@
 , debugVersion ? false
 , doCheck ? !stdenv.isAarch32 && (if lib.versionOlder release_version "15" then stdenv.isLinux else true)
   && (!stdenv.isx86_32 /* TODO: why */) && (!stdenv.hostPlatform.isMusl)
+  && !(stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isBigEndian)
   && (stdenv.hostPlatform == stdenv.buildPlatform)
 , enableManpages ? false
 , enableSharedLibraries ? !stdenv.hostPlatform.isStatic
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 64abd3a1e322d..2ba33b2c68338 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nasm";
-  version = "2.16.02";
+  version = "2.16.03";
 
   src = fetchurl {
     url = "https://www.nasm.us/pub/nasm/releasebuilds/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-HhuULqiPIu2uiWWeFb4m+gJ+rgdH9RQTVA9S1OrEeQ0=";
+    hash = "sha256-FBKhx2C70F2wJrbA0WV6/9ZjHNCmPN229zzG1KphYUg=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/compilers/rust/1_77.nix b/pkgs/development/compilers/rust/1_77.nix
index 24c1b7bcb534f..ab501aba8ffbe 100644
--- a/pkgs/development/compilers/rust/1_77.nix
+++ b/pkgs/development/compilers/rust/1_77.nix
@@ -19,8 +19,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.77.1";
-  rustcSha256 = "7hBuTFafUtujtbKCsQWCD4a9j2s9CcBrjc6C+xuzpKE=";
+  rustcVersion = "1.77.2";
+  rustcSha256 = "xhRX749ZZjj928dxZ3iy9rmf8SUTo7DxOZTDvFIWOMM=";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_17.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_17.libllvm.override { enableSharedLibraries = true; };
diff --git a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
index 97ac535c93036..b4eec6d8ff2dd 100644
--- a/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-luarocks-package.nix
@@ -89,6 +89,7 @@ let
   generatedRockspecFilename = "./${self.pname}-${self.rockspecVersion}.rockspec";
 
   nativeBuildInputs = [
+    lua  # for lua.h
     wrapLua
     luarocks
   ];
@@ -167,6 +168,7 @@ let
   buildPhase = ''
     runHook preBuild
 
+    source ${lua}/nix-support/utils.sh
     nix_debug "Using LUAROCKS_CONFIG=$LUAROCKS_CONFIG"
 
     LUAROCKS_EXTRA_ARGS=""
diff --git a/pkgs/development/interpreters/lua-5/hooks/default.nix b/pkgs/development/interpreters/lua-5/hooks/default.nix
index ca9c15e8a3b1e..02716568acfd5 100644
--- a/pkgs/development/interpreters/lua-5/hooks/default.nix
+++ b/pkgs/development/interpreters/lua-5/hooks/default.nix
@@ -10,19 +10,6 @@ let
   callPackage = lua.pkgs.callPackage;
 in {
 
-  lua-setup-hook = LuaPathSearchPaths: LuaCPathSearchPaths:
-    let
-      hook = ./setup-hook.sh;
-    in runCommand "lua-setup-hook.sh" {
-      # hum doesn't seem to like caps !! BUG ?
-      luapathsearchpaths=lib.escapeShellArgs LuaPathSearchPaths;
-      luacpathsearchpaths=lib.escapeShellArgs LuaCPathSearchPaths;
-    } ''
-      cp ${hook} hook.sh
-      substituteAllInPlace hook.sh
-      mv hook.sh $out
-    '';
-
   luarocksCheckHook = callPackage ({ luarocks }:
     makeSetupHook {
       name = "luarocks-check-hook";
diff --git a/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh b/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
index 3027021661393..0e9aa689706e7 100644
--- a/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
+++ b/pkgs/development/interpreters/lua-5/hooks/setup-hook.sh
@@ -1,56 +1,4 @@
 # set -e
 
-nix_print() {
-  if [ ${NIX_DEBUG:-0} -ge $1 ]; then
-    echo "$2"
-  fi
-}
-
-nix_debug() {
-  nix_print 3 "$1"
-}
-
-addToLuaSearchPathWithCustomDelimiter() {
-  local varName="$1"
-  local absPattern="$2"
-
-  # export only if we haven't already got this dir in the search path
-  if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
-
-  # if the path variable has not yet been set, initialize it to ";;"
-  # this is a magic value that will be replaced by the default,
-  # allowing relative modules to be used even when there are system modules.
-  if [[ ! -v "${varName}" ]]; then export "${varName}=;;"; fi
-
-  # export only if the folder contains lua files
-  shopt -s globstar
-
-  local adjustedPattern="${absPattern/\?/\*\*\/\*}"
-  for _file in $adjustedPattern; do
-    export "${varName}=${!varName:+${!varName};}${absPattern}"
-    shopt -u globstar
-    return;
-  done
-  shopt -u globstar
-}
-
-addToLuaPath() {
-  local dir="$1"
-
-  if [[ ! -d "$dir" ]]; then
-    nix_debug "$dir not a directory abort"
-    return 0
-  fi
-  cd "$dir"
-  for pattern in @luapathsearchpaths@; do
-    addToLuaSearchPathWithCustomDelimiter LUA_PATH "$PWD/$pattern"
-  done
-
-  # LUA_CPATH
-  for pattern in @luacpathsearchpaths@; do
-    addToLuaSearchPathWithCustomDelimiter LUA_CPATH "$PWD/$pattern"
-  done
-  cd - >/dev/null
-}
-
+source ./utils.sh
 addEnvHooks "$hostOffset" addToLuaPath
diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix
index 2856951d9fbdf..7775fa5c84939 100644
--- a/pkgs/development/interpreters/lua-5/interpreter.nix
+++ b/pkgs/development/interpreters/lua-5/interpreter.nix
@@ -3,6 +3,7 @@
 , makeWrapper
 , self
 , packageOverrides ? (final: prev: {})
+, substituteAll
 , pkgsBuildBuild
 , pkgsBuildHost
 , pkgsBuildTarget
@@ -51,9 +52,10 @@ stdenv.mkDerivation (finalAttrs:
 
   LuaPathSearchPaths  = luaPackages.luaLib.luaPathList;
   LuaCPathSearchPaths = luaPackages.luaLib.luaCPathList;
-  setupHook = luaPackages.lua-setup-hook
-    finalAttrs.LuaPathSearchPaths
-    finalAttrs.LuaCPathSearchPaths;
+  setupHook = builtins.toFile "lua-setup-hook" ''
+      source @out@/nix-support/utils.sh
+      addEnvHooks "$hostOffset" addToLuaPath
+      '';
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ readline ];
@@ -107,7 +109,12 @@ stdenv.mkDerivation (finalAttrs:
   inherit postBuild;
 
   postInstall = ''
-    mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
+    mkdir -p "$out/nix-support" "$out/share/doc/lua" "$out/lib/pkgconfig"
+    cp ${substituteAll {
+      src = ./utils.sh;
+      luapathsearchpaths=lib.escapeShellArgs finalAttrs.LuaPathSearchPaths;
+      luacpathsearchpaths=lib.escapeShellArgs finalAttrs.LuaCPathSearchPaths;
+    }} $out/nix-support/utils.sh
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
     rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
     mkdir -p "$out/lib/pkgconfig"
diff --git a/pkgs/development/interpreters/lua-5/utils.sh b/pkgs/development/interpreters/lua-5/utils.sh
new file mode 100644
index 0000000000000..5491f8f7ad2d5
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/utils.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+nix_print() {
+  if [ ${NIX_DEBUG:-0} -ge $1 ]; then
+    echo "$2"
+  fi
+}
+
+nix_debug() {
+  nix_print 3 "$1"
+}
+
+addToLuaSearchPathWithCustomDelimiter() {
+  local varName="$1"
+  local absPattern="$2"
+
+  # export only if we haven't already got this dir in the search path
+  if [[ ${!varName-} == *"$absPattern"* ]]; then return; fi
+
+  # if the path variable has not yet been set, initialize it to ";;"
+  # this is a magic value that will be replaced by the default,
+  # allowing relative modules to be used even when there are system modules.
+  if [[ ! -v "${varName}" ]]; then export "${varName}=;;"; fi
+
+  # export only if the folder contains lua files
+  shopt -s globstar
+
+  local adjustedPattern="${absPattern/\?/\*\*\/\*}"
+  for _file in $adjustedPattern; do
+    export "${varName}=${!varName:+${!varName};}${absPattern}"
+    shopt -u globstar
+    return;
+  done
+  shopt -u globstar
+}
+
+addToLuaPath() {
+  local dir="$1"
+
+  if [[ ! -d "$dir" ]]; then
+    nix_debug "$dir not a directory abort"
+    return 0
+  fi
+  cd "$dir"
+  for pattern in @luapathsearchpaths@; do
+    addToLuaSearchPathWithCustomDelimiter LUA_PATH "$PWD/$pattern"
+  done
+
+  # LUA_CPATH
+  for pattern in @luacpathsearchpaths@; do
+    addToLuaSearchPathWithCustomDelimiter LUA_CPATH "$PWD/$pattern"
+  done
+  cd - >/dev/null
+}
+
diff --git a/pkgs/development/interpreters/lua-5/wrap-lua.nix b/pkgs/development/interpreters/lua-5/wrap-lua.nix
index b6e24a44ee656..c5e7c806cd179 100644
--- a/pkgs/development/interpreters/lua-5/wrap-lua.nix
+++ b/pkgs/development/interpreters/lua-5/wrap-lua.nix
@@ -11,6 +11,4 @@ makeSetupHook {
   propagatedBuildInputs = [ makeWrapper ];
   substitutions.executable = lua.interpreter;
   substitutions.lua = lua;
-  substitutions.LuaPathSearchPaths = lib.escapeShellArgs lua.LuaPathSearchPaths;
-  substitutions.LuaCPathSearchPaths = lib.escapeShellArgs lua.LuaPathSearchPaths;
 } ./wrap.sh
diff --git a/pkgs/development/interpreters/lua-5/wrap.sh b/pkgs/development/interpreters/lua-5/wrap.sh
index 5941ff4a6b985..7d59cf6095775 100644
--- a/pkgs/development/interpreters/lua-5/wrap.sh
+++ b/pkgs/development/interpreters/lua-5/wrap.sh
@@ -3,6 +3,8 @@
 # variable is passed in from the buildLuarocksPackage function.
 set -e
 
+source @lua@/nix-support/utils.sh
+
 wrapLuaPrograms() {
   wrapLuaProgramsIn "$out/bin" "$out $luaPath"
 }
diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix
index bd97e7186b97f..07ea75605c0f9 100644
--- a/pkgs/development/interpreters/lua-5/wrapper.nix
+++ b/pkgs/development/interpreters/lua-5/wrapper.nix
@@ -10,7 +10,7 @@
 # Create a lua executable that knows about additional packages.
 let
   env = let
-    paths =  requiredLuaModules (extraLibs ++ [ lua ] );
+    paths = [ lua ] ++ requiredLuaModules extraLibs;
   in buildEnv {
     name = "${lua.name}-env";
 
@@ -20,11 +20,11 @@ let
 
     nativeBuildInputs = [
       makeWrapper
-      (lua.pkgs.lua-setup-hook lua.LuaPathSearchPaths lua.LuaCPathSearchPaths)
     ];
 
     # we create wrapper for the binaries in the different packages
     postBuild = ''
+      source ${lua}/nix-support/utils.sh
       if [ -L "$out/bin" ]; then
           unlink "$out/bin"
       fi
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index 15bcfee3a44cc..3b98e8c790148 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -3,6 +3,7 @@
 , buildPackages
 , version
 , src
+, substituteAll
 , extraMeta ? { }
 , self
 , packageOverrides ? (final: prev: {})
@@ -73,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
     if test -n "''${dontStrip-}"; then
       # CCDEBUG must be non-empty or everything will be stripped, -g being
       # passed by nixpkgs CC wrapper is insufficient on its own
-      substituteInPlace src/Makefile --replace "#CCDEBUG= -g" "CCDEBUG= -g"
+      substituteInPlace src/Makefile --replace-fail "#CCDEBUG= -g" "CCDEBUG= -g"
     fi
   '';
 
@@ -95,6 +96,12 @@ stdenv.mkDerivation (finalAttrs: {
   env.NIX_CFLAGS_COMPILE = toString XCFLAGS;
 
   postInstall = ''
+    mkdir -p $out/nix-support
+    cp ${substituteAll {
+      src = ../lua-5/utils.sh;
+      luapathsearchpaths=lib.escapeShellArgs finalAttrs.LuaPathSearchPaths;
+      luacpathsearchpaths=lib.escapeShellArgs finalAttrs.LuaCPathSearchPaths;
+    }} $out/nix-support/utils.sh
     ( cd "$out/include"; ln -s luajit-*/* . )
     ln -s "$out"/bin/luajit-* "$out"/bin/lua
     if [[ ! -e "$out"/bin/luajit ]]; then
@@ -105,7 +112,10 @@ stdenv.mkDerivation (finalAttrs: {
   LuaPathSearchPaths    = luaPackages.luaLib.luaPathList;
   LuaCPathSearchPaths   = luaPackages.luaLib.luaCPathList;
 
-  setupHook = luaPackages.lua-setup-hook luaPackages.luaLib.luaPathList luaPackages.luaLib.luaCPathList;
+  setupHook = builtins.toFile "lua-setup-hook" ''
+      source @out@/nix-support/utils.sh
+      addEnvHooks "$hostOffset" addToLuaPath
+      '';
 
   # copied from python
   passthru = let
diff --git a/pkgs/development/libraries/aws-c-auth/default.nix b/pkgs/development/libraries/aws-c-auth/default.nix
index 670725c2cd681..c15cbe8bde401 100644
--- a/pkgs/development/libraries/aws-c-auth/default.nix
+++ b/pkgs/development/libraries/aws-c-auth/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-auth";
-  version = "0.7.17";
+  version = "0.7.18";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-auth";
     rev = "v${version}";
-    hash = "sha256-dSb8VgL/fxU7yHomj/ThcLCrGrvern1ESho5oM39Um4=";
+    hash = "sha256-JWYJz8ugYvXDvtJ5dRWVcA8F3PdjxO8aCc8l0jghYXg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix
index 0188c8937c90e..5f4c303265d94 100644
--- a/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/pkgs/development/libraries/aws-c-cal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "aws-c-cal";
-  version = "0.6.10";
+  version = "0.6.12";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    hash = "sha256-rzJypIf0DrKI/2Wt5vFop34dL+KYTeCfWC0RflZpiMo=";
+    hash = "sha256-aegK01wYdOc6RGNVf/dZKn1HkqQr+yEblcu6hnlMZE4=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 48b4e5ef11d3d..5cf9de861cdf4 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.9.15";
+  version = "0.9.17";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-x5bFBiFFcx6X+ZDtIkHe+ikMTrl2REK3QnqTaXExahM=";
+    hash = "sha256-Ee3wkgIOTsZn2PgHoaO5HqblXuOacuKm5vUwkl4Dg+4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-mqtt/default.nix b/pkgs/development/libraries/aws-c-mqtt/default.nix
index 2e6c6a5611150..829dc76dce933 100644
--- a/pkgs/development/libraries/aws-c-mqtt/default.nix
+++ b/pkgs/development/libraries/aws-c-mqtt/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-mqtt";
-  version = "0.10.3";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-mqtt";
     rev = "v${version}";
-    hash = "sha256-MWcXTMwKtFnrNp+OnHxkiYCUXc3IUhM6iTQa+F9JwsQ=";
+    hash = "sha256-i+ssZzHC8MPfyOaRqvjq0z7w772BJqIA6BwntW1fRek=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-sdkutils/default.nix b/pkgs/development/libraries/aws-c-sdkutils/default.nix
index 7ced8b5a415d7..dc5dc02f6242d 100644
--- a/pkgs/development/libraries/aws-c-sdkutils/default.nix
+++ b/pkgs/development/libraries/aws-c-sdkutils/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-sdkutils";
-  version = "0.1.15";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-sdkutils";
     rev = "v${version}";
-    hash = "sha256-RTRDbdv+QmRG0Sk/R9qhl45WYEVyl+M0EceLFsoONTI=";
+    hash = "sha256-ih7U2uP5FrBx6or1Rp/k+HWDE6evEZyNM//wsPxH9Qo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index cafe03ce1461b..50ec9d64bbb17 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -27,13 +27,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "aws-sdk-cpp";
-  version = "1.11.309";
+  version = "1.11.318";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-sdk-cpp";
     rev = version;
-    hash = "sha256-+Hx/qJREXTu92KxwOv1zTsveXWZvoBxpvc27kEej7sw=";
+    hash = "sha256-HQNtVCt8vemRVnz0v9TNjUpjYn/IlbgIOeDESt3iI4A=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix
index 53b4e167a7d9b..c9a45218dfb4c 100644
--- a/pkgs/development/libraries/botan/2.0.nix
+++ b/pkgs/development/libraries/botan/2.0.nix
@@ -2,6 +2,6 @@
 
 callPackage ./generic.nix (args // {
   baseVersion = "2.19";
-  revision = "3";
-  hash = "sha256-2uBH85nFpH8IfbXT2dno8RrkmF0UySjXHaGv+AGALVU=";
+  revision = "4";
+  hash = "sha256-WjqI72Qz6XvKsO+h7WDGGX5K2p2dMLwcR0N7+JuX8nY=";
 })
diff --git a/pkgs/development/libraries/criterion/default.nix b/pkgs/development/libraries/criterion/default.nix
deleted file mode 100644
index 9b3304f6012f2..0000000000000
--- a/pkgs/development/libraries/criterion/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, boxfort, meson, libcsptr, pkg-config, gettext
-, cmake, ninja, protobuf, libffi, libgit2, dyncall, nanomsg, nanopbMalloc
-, python3Packages }:
-
-stdenv.mkDerivation rec {
-  pname = "criterion";
-  version = "2.4.1";
-
-  src = fetchFromGitHub {
-    owner = "Snaipe";
-    repo = "Criterion";
-    rev = "v${version}";
-    sha256 = "KT1XvhT9t07/ubsqzrVUp4iKcpVc1Z+saGF4pm2RsgQ=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ meson ninja cmake pkg-config protobuf ];
-
-  buildInputs = [
-    boxfort.dev
-    dyncall
-    gettext
-    libcsptr
-    nanomsg
-    nanopbMalloc
-    libgit2
-    libffi
-  ];
-
-  nativeCheckInputs = with python3Packages; [ cram ];
-
-  doCheck = true;
-
-  postPatch = ''
-    patchShebangs ci/isdir.py src/protocol/gen-pb.py
-  '';
-
-  outputs = [ "dev" "out" ];
-
-  meta = with lib; {
-    description = "A cross-platform C and C++ unit testing framework for the 21th century";
-    homepage = "https://github.com/Snaipe/Criterion";
-    license = licenses.mit;
-    maintainers = with maintainers; [
-      thesola10
-      Yumasi
-    ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 728d4a82b23c7..13bdb921ef71d 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -44,6 +44,8 @@
 , rsyslog
 , openconnect
 , samba
+
+, gitUpdater
 }:
 
 let
@@ -58,11 +60,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnutls";
-  version = "3.8.4";
+  version = "3.8.5";
 
   src = fetchurl {
     url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
-    hash = "sha256-K+pOFUeU8/ABgPoqXFH+iwBax6Mc1YvUTN+n8268Ops=";
+    hash = "sha256-ZiaaLP4OHC2r7Ie9u9irZW85bt2aQN0AaXjgA8+lK/w=";
   };
 
   outputs = [ "bin" "dev" "out" ]
@@ -97,12 +99,6 @@ stdenv.mkDerivation rec {
     sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
   '' + lib.optionalString stdenv.hostPlatform.isMusl '' # See https://gitlab.com/gnutls/gnutls/-/issues/945
     sed '2iecho "certtool tests skipped in musl build"\nexit 0' -i tests/cert-tests/certtool.sh
-  '' + lib.optionalString stdenv.hostPlatform.isStatic ''
-    # Adapted from https://gitlab.com/gnutls/gnutls/-/commit/d214cd4570fb1559a20e941bb7ceac7df52e96d3
-    # Can be removed with 3.8.5+.
-    sed -i lib/nettle/backport/rsa-sign-tr.c -e \
-      '/^#include <nettle\/rsa\.h>/i\
-    #define nettle_rsa_compute_root_tr _gnutls_nettle_backport_rsa_compute_root_tr'
   '';
 
   preConfigure = "patchShebangs .";
@@ -153,6 +149,11 @@ stdenv.mkDerivation rec {
       --replace "-lunistring" ""
   '';
 
+
+  passthru.updateScript = gitUpdater {
+    url = "https://gitlab.com/gnutls/gnutls.git";
+  };
+
   passthru.tests = {
     inherit ngtcp2-gnutls curlWithGnuTls ffmpeg emacs qemu knot-resolver samba openconnect;
     inherit (ocamlPackages) ocamlnet;
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index 341827b248e0d..34a5582ffa676 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -169,18 +169,15 @@ stdenv.mkDerivation (finalAttrs: {
 
   mesonFlags = [
     # ../docs/tools/shooter.c:4:10: fatal error: 'cairo-xlib.h' file not found
-    "-Ddocumentation=${lib.boolToString x11Support}"
+    (lib.mesonBool "documentation" x11Support)
     "-Dbuild-tests=false"
-    "-Dtracker=${if trackerSupport then "enabled" else "disabled"}"
-    "-Dbroadway-backend=${lib.boolToString broadwaySupport}"
-  ] ++ lib.optionals vulkanSupport [
-    "-Dvulkan=enabled"
-  ] ++ lib.optionals (!cupsSupport) [
-    "-Dprint-cups=disabled"
+    (lib.mesonEnable "tracker" trackerSupport)
+    (lib.mesonBool "broadway-backend" broadwaySupport)
+    (lib.mesonEnable "vulkan" vulkanSupport)
+    (lib.mesonEnable "print-cups" cupsSupport)
+    (lib.mesonBool "x11-backend" x11Support)
   ] ++ lib.optionals (stdenv.isDarwin && !stdenv.isAarch64) [
     "-Dmedia-gstreamer=disabled" # requires gstreamer-gl
-  ] ++ lib.optionals (!x11Support) [
-    "-Dx11-backend=false"
   ];
 
   doCheck = false; # needs X11
diff --git a/pkgs/development/libraries/icu/make-icu.nix b/pkgs/development/libraries/icu/make-icu.nix
index b130c346dbaa3..3e65e80ef7c4d 100644
--- a/pkgs/development/libraries/icu/make-icu.nix
+++ b/pkgs/development/libraries/icu/make-icu.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildPackages, fetchurl, fixDarwinDylibNames, testers }:
 
-{ version, hash, patches ? [], patchFlags ? [] }:
+{ version, hash, patches ? [], patchFlags ? [], withStatic ? stdenv.hostPlatform.isStatic }:
 
 let
   # Cross-compiled icu4c requires a build-root of a native compile
@@ -36,9 +36,12 @@ let
       sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
     '';
 
+    dontDisableStatic = withStatic;
+
     configureFlags = [ "--disable-debug" ]
       ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) "--enable-rpath"
-      ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--with-cross-build=${nativeBuildRoot}";
+      ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--with-cross-build=${nativeBuildRoot}"
+      ++ lib.optional withStatic "--enable-static";
 
     enableParallelBuilding = true;
 
@@ -58,7 +61,7 @@ let
   realAttrs = baseAttrs // {
     name = pname + "-" + version;
 
-    outputs = [ "out" "dev" ];
+    outputs = [ "out" "dev" ] ++ lib.optional withStatic "static";
     outputBin = "dev";
 
     # FIXME: This fixes dylib references in the dylibs themselves, but
@@ -66,7 +69,10 @@ let
     nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
 
     # remove dependency on bootstrap-tools in early stdenv build
-    postInstall = lib.optionalString stdenv.isDarwin ''
+    postInstall = lib.optionalString withStatic ''
+      mkdir -p $static/lib
+      mv -v lib/*.a $static/lib
+    '' + lib.optionalString stdenv.isDarwin ''
       sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
     '' + (let
       replacements = [
diff --git a/pkgs/development/libraries/ldutils/default.nix b/pkgs/development/libraries/ldutils/default.nix
index 0268aa8ce62db..157c86ec553e1 100644
--- a/pkgs/development/libraries/ldutils/default.nix
+++ b/pkgs/development/libraries/ldutils/default.nix
@@ -1,41 +1,41 @@
-{ mkDerivation
-, lib
-, fetchFromGitLab
-, qtcharts
-, qtsvg
-, qmake
+{
+  mkDerivation,
+  lib,
+  fetchFromGitLab,
+  libsForQt5,
+  cmake,
 }:
-
 mkDerivation rec {
   pname = "ldutils";
-  version = "1.10";
+  version = "1.15";
 
   src = fetchFromGitLab {
     owner = "ldutils-projects";
     repo = pname;
-    rev = "v_${version}";
-    sha256 = "sha256-fP+tZY+ayaeuxPvywO/639sNE+IwrxaEJ245q9HTOCU=";
+    rev = "4fc416f694ce888c5bd4c4432a7730bb6260475c";
+    #rev = "v_${version}";
+    sha256 = "sha256-UMDayvz9RlcR4HVJNn7tN4FKbiKAFRSPaK0osA6OGTI=";
   };
 
-  buildInputs = [
+  buildInputs = with libsForQt5.qt5; [
     qtcharts
     qtsvg
   ];
 
   nativeBuildInputs = [
-    qmake
+    cmake
   ];
 
-  qmakeFlags = [ "ldutils.pro" ];
+  qmakeFlags = ["ldutils.pro"];
 
-  LDUTILS_LIB=placeholder "out";
-  LDUTILS_INCLUDE=placeholder "out";
+  LDUTILS_LIB = placeholder "out";
+  LDUTILS_INCLUDE = placeholder "out";
 
   meta = with lib; {
     description = "Headers and link library for other ldutils projects";
     homepage = "https://gitlab.com/ldutils-projects/ldutils";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ sohalt ];
+    maintainers = with maintainers; [sohalt];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index ffac6412ef950..474b1664fbe9d 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -1,6 +1,11 @@
 { lib, stdenv, fetchzip, yasm, perl, cmake, pkg-config, python3
 , enableVmaf ? true, libvmaf
 , gitUpdater
+
+# for passthru.tests
+, ffmpeg
+, libavif
+, libheif
 }:
 
 let
@@ -8,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libaom";
-  version = "3.8.2";
+  version = "3.9.0";
 
   src = fetchzip {
     url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz";
-    hash = "sha256-x152jIe7QxeprFEFJnXBfou8yHuW0oHImLIVkSxByWw=";
+    hash = "sha256-ON/BWCO2k7fADW3ZANKjnRE8SrQZpjdyUF1N0fD/xnc=";
     stripRoot = false;
   };
 
@@ -67,6 +72,10 @@ stdenv.mkDerivation rec {
       rev-prefix = "v";
       ignoredVersions = "(alpha|beta|rc).*";
     };
+    tests = {
+      inherit libavif libheif;
+      ffmpeg = ffmpeg.override { withAom = true; };
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 11a065654c9cf..5e37255d235bb 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -28,13 +28,13 @@
 assert xarSupport -> libxml2 != null;
 stdenv.mkDerivation (finalAttrs: {
   pname = "libarchive";
-  version = "3.7.3";
+  version = "3.7.4";
 
   src = fetchFromGitHub {
     owner = "libarchive";
     repo = "libarchive";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bfuEhw8l/flGyHNRguVcygyTYCLdnv5PAo7QGb2LybQ=";
+    hash = "sha256-czNKXHoEn1x4deNErnqp/NZfCglF1CxNoLtZ8tcl394=";
   };
 
   outputs = [ "out" "lib" "dev" ];
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 9e8d5970431c9..7be484538ab12 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch2
-, fetchurl
 , autoreconfHook
 , strace
 , which
@@ -25,16 +24,6 @@ stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/void-linux/void-packages/861ac185a6b60134292ff93d40e40b5391d0aa8e/srcpkgs/libeatmydata/patches/musl.patch";
       hash = "sha256-MZfTgf2Qn94UpPlYNRM2zK99iKQorKQrlbU5/1WJhJM=";
     })
-
-    # Don't use transitional LFS64 API, removed in musl 1.2.4.
-    (fetchurl {
-      url = "https://git.alpinelinux.org/aports/plain/main/libeatmydata/lfs64.patch?id=f87f2c59384cc4a8a1b71aaa875be2b3ae2dbce0";
-      hash = "sha256-5Jhy9gunKcbrSmLh0DoP/uwJLgaLd+zKV2iVxiDwiHs=";
-    })
-  ];
-
-  configureFlags = [
-    "CFLAGS=-D_FILE_OFFSET_BITS=64"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index ed162d115298c..d8339ba086ad1 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
     (lib.enableFeature enableShared "shared")
   ] ++ lib.optional stdenv.isFreeBSD "--with-pic";
 
+  passthru = { inherit setupHooks; };
+
   meta = {
     description = "An iconv(3) implementation";
 
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index b9096fce9ef0c..eee6b4faa5d3e 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -7,7 +7,6 @@
 # for passthru.tests
 , audacity
 , mpd
-, mpg321
 , normalize
 , ocamlPackages
 , streamripper
@@ -70,7 +69,7 @@ stdenv.mkDerivation rec {
   preConfigure = "autoconf";
 
   passthru.tests = {
-    inherit audacity mpd mpg321 normalize streamripper vlc;
+    inherit audacity mpd normalize streamripper vlc;
     ocaml-mad = ocamlPackages.mad;
   };
 
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 340cfafee3271..28b4ac66004d6 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -4,7 +4,6 @@
 , darwin
 , duktape
 , fetchFromGitHub
-, fetchpatch
 , gi-docgen
 , gitUpdater
 , glib
@@ -21,7 +20,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libproxy";
-  version = "0.5.3";
+  version = "0.5.6";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -29,18 +28,10 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "libproxy";
     repo = "libproxy";
     rev = finalAttrs.version;
-    hash = "sha256-qdYB6HJkgboS8kkTvTqLy6Z3JYY5SOJsRl6nZM0iuvw=";
+    hash = "sha256-2uDlKjxzrKlyZKV0BSUDzmLSo2voJKDerbZZkamgNYk=";
   };
 
   patches = [
-    # Minor refactoring. Allows the following patches to apply without rebasing.
-    (fetchpatch {
-      url = "https://github.com/libproxy/libproxy/commit/397f4dc72607cc1bb3b584ffd3de49f8ba80491a.patch";
-      hash = "sha256-iUMBMpcVOLG+NxEj8Nd7JtKZFmoGXn0t6A2r2ayiteg=";
-      includes = [
-        "src/backend/plugins/config-gnome/config-gnome.c"
-      ];
-    })
   ]
   ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
     # Disable schema presence detection, it would fail because it cannot be autopatched,
@@ -87,7 +78,11 @@ stdenv.mkDerivation (finalAttrs: {
     gsettings-desktop-schemas
   ]);
 
-  mesonFlags = lib.optionals stdenv.hostPlatform.isDarwin [
+  mesonFlags = [
+    # Prevent installing commit hook.
+    "-Drelease=true"
+  ]
+  ++ lib.optionals stdenv.hostPlatform.isDarwin [
     "-Dconfig-gnome=false"
   ];
 
diff --git a/pkgs/development/libraries/librecast/default.nix b/pkgs/development/libraries/librecast/default.nix
index 563a77f3a29cb..045b0bb309db0 100644
--- a/pkgs/development/libraries/librecast/default.nix
+++ b/pkgs/development/libraries/librecast/default.nix
@@ -7,14 +7,14 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   name = "librecast";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "librecast";
     repo = "librecast";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-NlwYJJn1yewx92y6UKJcj6R2MnPn+XuEiKOmsR2oE3g=";
+    hash = "sha256-8Qit1KFazVG+2TEmSGXiBNawvpc7Ihr/0mx4KCzBoAY=";
   };
   buildInputs = [ lcrq libsodium ];
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 59bcae1cd87ab..b2617cb774446 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -116,7 +116,7 @@ in {
   };
 
   libressl_3_9 = generic {
-    version = "3.9.1";
-    hash = "sha256-baC5VGlffuYrA/ZCAKik8Cr5Nxe2DM4Eq2yN8mLAelE=";
+    version = "3.9.2";
+    hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c=";
   };
 }
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index e9faec42cd318..9b53b7cc138e4 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -61,5 +61,9 @@ stdenv.mkDerivation (finalAttrs: {
       "libva-glx" "libva-wayland" "libva-x11"
     ];
     platforms = platforms.unix;
+    badPlatforms = [
+      # Mandatory libva shared library.
+      lib.systems.inspect.platformPatterns.isStatic
+    ];
   };
 })
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 03064a7e7b2a8..67dbb0c4d8cdb 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -13,6 +13,7 @@
 , libX11
   # To enable the "interactive-wayland" subcommand of xkbcli. This is the
   # wayland equivalent of `xev` on X11.
+, xorgserver # for Xvfb in tests
 , withWaylandTools ? stdenv.isLinux
 , wayland
 , wayland-protocols
@@ -22,17 +23,22 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "libxkbcommon";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchurl {
     url = with finalAttrs; "https://xkbcommon.org/download/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Vg8RxLu8oQ9JXz7306aqTKYrT4+wtS59RZ0Yom5G4Bc=";
+    hash = "sha256-ZXgvChCktFWvnGuqtwQOL1N1IMqi7CCSgFzf02hjskc=";
   };
 
+  patches = [
+    # Disable one Xvfb test as it fails for permission checks.
+    ./disable-x11com.patch
+  ];
+
   outputs = [ "out" "dev" "doc" ];
 
   depsBuildBuild = [ pkg-config ];
-  nativeBuildInputs = [ meson ninja pkg-config bison doxygen ]
+  nativeBuildInputs = [ meson ninja pkg-config bison doxygen xorgserver ]
     ++ lib.optional withWaylandTools wayland-scanner;
   buildInputs = [ xkeyboard_config libxcb libxml2 ]
     ++ lib.optionals withWaylandTools [ wayland wayland-protocols ];
@@ -42,6 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
     "-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
     "-Dx-locale-root=${libX11.out}/share/X11/locale"
+    "-Denable-docs=true"
     "-Denable-wayland=${lib.boolToString withWaylandTools}"
   ];
 
diff --git a/pkgs/development/libraries/libxkbcommon/disable-x11com.patch b/pkgs/development/libraries/libxkbcommon/disable-x11com.patch
new file mode 100644
index 0000000000000..fb5c8458b5dd1
--- /dev/null
+++ b/pkgs/development/libraries/libxkbcommon/disable-x11com.patch
@@ -0,0 +1,17 @@
+On nixpkgs /tmp/.X11-unix is not compatible with Xvfb requirement and the
+test fails.
+--- a/meson.build
++++ b/meson.build
+@@ -775,12 +775,6 @@ if get_option('enable-x11')
+         env: test_env,
+         is_parallel : false,
+     )
+-    test(
+-        'x11comp',
+-        executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep),
+-        env: test_env,
+-        is_parallel : false,
+-    )
+ endif
+ if get_option('enable-xkbregistry')
+     test(
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index d3f6f311df94d..c26807a679528 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.3.15";
+  version = "0.3.19";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    hash = "sha256-S0wBVhfRa81mAmqpYYAKAyKLnfnVsXJEcGA21i5tdzo=";
+    hash = "sha256-gXLWHkT+h/wvmmi7PyIx16gbeYznVOT7CwuBgF3bjOY=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
index e9bd27e1fff14..b35c8dfc8cdfc 100644
--- a/pkgs/development/libraries/libxmlb/installed-tests-path.patch
+++ b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
@@ -15,6 +15,5 @@
 @@ -3,4 +3,5 @@ option('introspection', type : 'boolean', value : true, description : 'generate
  option('tests', type : 'boolean', value : true, description : 'enable tests')
  option('stemmer', type : 'boolean', value : false, description : 'enable stemmer support')
- option('cli', type : 'boolean', value : true, description : 'build and install the xb-tool CLI')
- option('zstd', type : 'boolean', value : true, description : 'enable zstd support')
 +option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
+ option('cli', type : 'boolean', value : true, description : 'build and install the xb-tool CLI')
diff --git a/pkgs/development/libraries/mdk-sdk/default.nix b/pkgs/development/libraries/mdk-sdk/default.nix
index 1dd85da495387..89038628f2f91 100644
--- a/pkgs/development/libraries/mdk-sdk/default.nix
+++ b/pkgs/development/libraries/mdk-sdk/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mdk-sdk";
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchurl {
     url = "https://github.com/wang-bin/mdk-sdk/releases/download/v${version}/mdk-sdk-linux-x64.tar.xz";
-    hash = "sha256-DZiipuGXhzrlm49doNeFExApHMDI7ILfOumgXA8useA=";
+    hash = "sha256-JGYZ+Rodvyo/PkQfuW7xM0aIa3Gql75TwRUU1yZHJJ8=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 7568ec0de1580..d27707d91e889 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -111,8 +111,8 @@
 # nix build .#mesa .#pkgsi686Linux.mesa .#pkgsCross.aarch64-multiplatform.mesa .#pkgsMusl.mesa
 
 let
-  version = "24.0.5";
-  hash = "sha256-OMwkXKj6o8adptJof4kGN3AB9jNlNIpizG9/r7HowBg=";
+  version = "24.0.6";
+  hash = "sha256-i3qS2+ZGjBjyODcAE1tf6d6DbN8MyP19uuPHEQI31gQ=";
 
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
diff --git a/pkgs/development/libraries/nsync/default.nix b/pkgs/development/libraries/nsync/default.nix
index a984058e9b10f..b54691a45bf29 100644
--- a/pkgs/development/libraries/nsync/default.nix
+++ b/pkgs/development/libraries/nsync/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nsync";
-  version = "1.26.0";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = version;
-    hash = "sha256-pE9waDI+6LQwbyPJ4zROoF93Vt6+SETxxJ/UxeZE5WE=";
+    hash = "sha256-5pd2IpnPB7lEmy44OJjcwfE+yUQBS0fZVG18VUe/3C8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opensaml-cpp/default.nix b/pkgs/development/libraries/opensaml-cpp/default.nix
index 7e44f2a50eebb..09c2be979a829 100644
--- a/pkgs/development/libraries/opensaml-cpp/default.nix
+++ b/pkgs/development/libraries/opensaml-cpp/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchgit, autoreconfHook, pkg-config
-, boost, openssl, log4shib, xercesc, xml-security-c, xml-tooling-c, zlib
+, darwin, boost, openssl, log4shib, xercesc, xml-security-c, xml-tooling-c, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     boost openssl log4shib xercesc xml-security-c xml-tooling-c zlib
-  ];
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    CoreServices
+    SystemConfiguration
+  ]);
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   configureFlags = [ "--with-xmltooling=${xml-tooling-c}" ];
diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix
index a4ce0fe60c1e7..280c1b7ef934c 100644
--- a/pkgs/development/libraries/openvino/default.nix
+++ b/pkgs/development/libraries/openvino/default.nix
@@ -17,6 +17,7 @@
 
 # runtime
 , flatbuffers
+, level-zero
 , libusb1
 , libxml2
 , ocl-icd
@@ -53,14 +54,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "openvino";
-  version = "2024.0.0";
+  version = "2024.1.0";
 
   src = fetchFromGitHub {
     owner = "openvinotoolkit";
     repo = "openvino";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    hash = "sha256-Xsrmc1EynkjgPgiQ+ESyVJRJT9Afqyob0/uH+Is4TYA=";
+    hash = "sha256-OOSxXpLjmhOgKvrSO6SmY7xLhJSzGXT8w/Y4FnfwTqU=";
   };
 
   outputs = [
@@ -132,6 +133,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     flatbuffers
+    level-zero
     libusb1
     libxml2
     ocl-icd
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 52219152845ba..e488ebe1f464a 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl
+{ lib, stdenv, fetchurl, fetchpatch
 , pcre, windows ? null
 , variant ? null
 }:
@@ -25,8 +25,17 @@ stdenv.mkDerivation rec {
   ]
     ++ lib.optional (variant != null) "--enable-${variant}";
 
-  # https://bugs.exim.org/show_bug.cgi?id=2173
-  patches = [ ./stacksize-detection.patch ];
+  patches = [
+    # https://bugs.exim.org/show_bug.cgi?id=2173
+    ./stacksize-detection.patch
+
+    # Fix segfaults & tests on powerpc64
+    (fetchpatch {
+      name = "sljit-ppc-icache-flush.patch";
+      url = "https://github.com/void-linux/void-packages/raw/d286e231ee680875ad8e80f90ea62e46f5edd812/srcpkgs/pcre/patches/ppc-icache-flush.patch";
+      hash = "sha256-pttmKwihLzKrAV6O4qVLp2pu4NwNJEFS/9Id8/b3nAU=";
+    })
+  ];
 
   preCheck = ''
     patchShebangs RunGrepTest
diff --git a/pkgs/development/libraries/pinocchio/default.nix b/pkgs/development/libraries/pinocchio/default.nix
index add7ef6fde22e..86f0c891b2a90 100644
--- a/pkgs/development/libraries/pinocchio/default.nix
+++ b/pkgs/development/libraries/pinocchio/default.nix
@@ -4,7 +4,9 @@
 , cmake
 , boost
 , eigen
+, example-robot-data
 , collisionSupport ? !stdenv.isDarwin
+, jrl-cmakemodules
 , hpp-fcl
 , urdfdom
 , pythonSupport ? false
@@ -13,16 +15,22 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "pinocchio";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "stack-of-tasks";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
-    fetchSubmodules = true;
-    hash = "sha256-yhrG+MilGJkvwLUNTAgNhDqUWGjPswjrbg38yOLsmHc=";
+    hash = "sha256-Ks5dvKi5iutjM+iovDOYGx3vsr45JWRqGOXV8+Ko4gg=";
   };
 
+  # example-robot-data models are used in checks.
+  # Upstream provide them as git submodule, but we can use our own version instead.
+  postPatch = ''
+    rmdir models/example-robot-data
+    ln -s ${example-robot-data.src} models/example-robot-data
+  '';
+
   strictDeps = true;
 
   nativeBuildInputs = [
@@ -30,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   propagatedBuildInputs = [
+    jrl-cmakemodules
     urdfdom
   ] ++ lib.optionals (!pythonSupport) [
     boost
@@ -43,15 +52,13 @@ stdenv.mkDerivation (finalAttrs: {
     python3Packages.hpp-fcl
   ];
 
-  cmakeFlags = lib.optionals collisionSupport [
-    "-DBUILD_WITH_COLLISION_SUPPORT=ON"
-  ] ++ lib.optionals pythonSupport [
-    "-DBUILD_WITH_LIBPYTHON=ON"
+  cmakeFlags = [
+    (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
+    (lib.cmakeBool "BUILD_WITH_LIBPYTHON" pythonSupport)
+    (lib.cmakeBool "BUILD_WITH_COLLISION_SUPPORT" collisionSupport)
   ] ++ lib.optionals (pythonSupport && stdenv.isDarwin) [
     # AssertionError: '.' != '/tmp/nix-build-pinocchio-2.7.0.drv/sou[84 chars].dae'
     "-DCMAKE_CTEST_ARGUMENTS='--exclude-regex;test-py-bindings_geometry_model_urdf'"
-  ] ++ lib.optionals (!pythonSupport) [
-    "-DBUILD_PYTHON_INTERFACE=OFF"
   ];
 
   doCheck = true;
@@ -60,11 +67,11 @@ stdenv.mkDerivation (finalAttrs: {
     "pinocchio"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives";
     homepage = "https://github.com/stack-of-tasks/pinocchio";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ nim65s wegank ];
-    platforms = platforms.unix;
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ nim65s wegank ];
+    platforms = lib.platforms.unix;
   };
 })
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index 0254a42416bae..9a9e1f634df8d 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "re2";
-  version = "2024-04-01";
+  version = "2024-05-01";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "re2";
     rev = version;
-    hash = "sha256-qRNV0O55L+r2rNSUJjU6nMqkPWXENZQvyr5riTU3e5o=";
+    hash = "sha256-p4MdHjTk0SQsBPVkEy+EceAN/QTyzBDe7Pd1hJwOs3A=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index d172d75e011bb..fe39cac8a25f8 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${lib.optionalString interactive "-interactive"}";
-  version = "3.45.2";
+  version = "3.45.3";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2024/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    hash = "sha256-vJBnRC7t8905mJtcXPv/83rmbMnJknTgwwUtxNSo9q4=";
+    hash = "sha256-soCcpTEkwZxg9Cv2J3NurgEa/cwgW7SCcKXumjgZFTE=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index 94ac07df9d402..d988a71e54e88 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,12 +4,12 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.45.2";
+    version = "3.45.3";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2024/sqlite-src-${archiveVersion version}.zip";
-      hash = "sha256-SkWjV3zIr2g8S9TG6Bp8eCxbfV2qBhdeosuXHKcWkbE=";
+      hash = "sha256-7AyVnkLLXxgEE10FVfjqMr5v8gSOsYG8zTZ8j1PxhdE=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix
index 628f32a91c69d..3fa8800abfa54 100644
--- a/pkgs/development/libraries/tpm2-tss/default.nix
+++ b/pkgs/development/libraries/tpm2-tss/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchurl
+{ stdenv, lib, fetchFromGitHub
 , autoreconfHook, autoconf-archive, pkg-config, doxygen, perl
 , openssl, json_c, curl, libgcrypt
 , cmocka, uthash, ibm-sw-tpm2, iproute2, procps, which
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tss";
-  version = "4.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "tpm2-software";
     repo = pname;
     rev = version;
-    sha256 = "sha256-75yiKVZrR1vcCwKp4tDO4A9JB0KDM0MXPJ1N85kAaRk=";
+    hash = "sha256-cQdIPQNZzy5CisWw5yifPXC7FqaZxj4VKWpvtPOffE8=";
   };
 
   outputs = [ "out" "man" "dev" ];
@@ -53,11 +53,6 @@ stdenv.mkDerivation rec {
     # Do not rely on dynamic loader path
     # TCTI loader relies on dlopen(), this patch prefixes all calls with the output directory
     ./no-dynamic-loader-path.patch
-    (fetchurl {
-      name = "skip-test-fapi-fix-provisioning-with-template-if-no-certificate-available.patch";
-      url = "https://github.com/tpm2-software/tpm2-tss/commit/218c0da8d9f675766b1de502a52e23a3aa52648e.patch";
-      sha256 = "sha256-dnl9ZAknCdmvix2TdQvF0fHoYeWp+jfCTg8Uc7h0voA=";
-    })
   ];
 
   postPatch = ''
@@ -65,7 +60,7 @@ stdenv.mkDerivation rec {
     substituteInPlace src/tss2-tcti/tctildr-dl.c \
       --replace '@PREFIX@' $out/lib/
     substituteInPlace ./test/unit/tctildr-dl.c \
-      --replace '@PREFIX@' $out/lib
+      --replace '@PREFIX@' $out/lib/
     substituteInPlace ./bootstrap \
       --replace 'git describe --tags --always --dirty' 'echo "${version}"'
   '';
diff --git a/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch b/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch
index 60f8c91bae852..fcbfaca299fdd 100644
--- a/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch
+++ b/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch
@@ -1,232 +1,503 @@
 diff --git a/src/tss2-tcti/tctildr-dl.c b/src/tss2-tcti/tctildr-dl.c
-index 622637dc..88fc3d8f 100644
+index d26219d2..92d2b6a3 100644
 --- a/src/tss2-tcti/tctildr-dl.c
 +++ b/src/tss2-tcti/tctildr-dl.c
-@@ -92,7 +92,7 @@ handle_from_name(const char *file,
-         LOG_DEBUG("Could not load TCTI file: \"%s\": %s", file, dlerror());
-     }
- 
--    len = snprintf(NULL, 0, TCTI_NAME_TEMPLATE_0, file);
-+    len = snprintf(NULL, 0, "@PREFIX@" TCTI_NAME_TEMPLATE_0, file);
-     if (len >= PATH_MAX) {
-         LOG_ERROR("TCTI name truncated in transform.");
-         return TSS2_TCTI_RC_BAD_VALUE;
-@@ -129,6 +129,50 @@ handle_from_name(const char *file,
-         return TSS2_TCTI_RC_BAD_VALUE;
-     }
-     *handle = dlopen(file_xfrm, RTLD_NOW);
-+    if (*handle != NULL) {
-+        return TSS2_RC_SUCCESS;
-+    } else {
-+        LOG_DEBUG("Failed to load TCTI for name \"%s\": %s", file, dlerror());
-+    }
-+    size = snprintf(file_xfrm,
-+                    len + 1,
-+                    "@PREFIX@%s",
-+                    file);
-+    if (size >= len + 1) {
-+        LOG_ERROR("TCTI name truncated in transform.");
-+        return TSS2_TCTI_RC_BAD_VALUE;
-+    }
-+    *handle = dlopen(file_xfrm, RTLD_NOW);
-+    if (*handle != NULL) {
-+        return TSS2_RC_SUCCESS;
-+    } else {
-+        LOG_DEBUG("Could not load TCTI file: \"%s\": %s", file, dlerror());
-+    }
-+    /* 'name' alone didn't work, try libtss2-tcti-<name>.so.0 */
-+    size = snprintf(file_xfrm,
-+                    len + 1,
-+                    "@PREFIX@" TCTI_NAME_TEMPLATE_0,
-+                    file);
-+    if (size >= len + 1) {
-+        LOG_ERROR("TCTI name truncated in transform.");
-+        return TSS2_TCTI_RC_BAD_VALUE;
-+    }
-+    *handle = dlopen(file_xfrm, RTLD_NOW);
-+    if (*handle != NULL) {
-+        return TSS2_RC_SUCCESS;
-+    } else {
-+        LOG_DEBUG("Could not load TCTI file \"%s\": %s", file, dlerror());
-+    }
-+    /* libtss2-tcti-<name>.so.0 didn't work, try libtss2-tcti-<name>.so */
-+    size = snprintf(file_xfrm,
-+                    len + 1,
-+                    "@PREFIX@" TCTI_NAME_TEMPLATE,
-+                    file);
-+    if (size >= len + 1) {
-+        LOG_ERROR("TCTI name truncated in transform.");
-+        return TSS2_TCTI_RC_BAD_VALUE;
-+    }
-+    *handle = dlopen(file_xfrm, RTLD_NOW);
-     if (*handle == NULL) {
-         LOG_DEBUG("Failed to load TCTI for name \"%s\": %s", file, dlerror());
-         SAFE_FREE(file_xfrm);
+@@ -88,14 +88,24 @@ handle_from_name(const char *file,
+     const char *formats[] = {
+         /* <name> */
+         "%s",
++        /* <name> */
++        "@PREFIX@" "%s",
+         /* libtss2-tcti-<name>.so.0 */
+         FMT_TCTI_PREFIX "%s" FMT_LIB_SUFFIX_0,
++        /* libtss2-tcti-<name>.so.0 */
++        "@PREFIX@" FMT_TCTI_PREFIX "%s" FMT_LIB_SUFFIX_0,
+         /* libtss2-tcti-<name>.so */
+         FMT_TCTI_PREFIX "%s" FMT_LIB_SUFFIX,
++        /* libtss2-tcti-<name>.so */
++        "@PREFIX@" FMT_TCTI_PREFIX "%s" FMT_LIB_SUFFIX,
+         /* libtss2-<name>.so.0 */
+         FMT_TSS_PREFIX "%s" FMT_LIB_SUFFIX_0,
++        /* libtss2-<name>.so.0 */
++        "@PREFIX@" FMT_TSS_PREFIX "%s" FMT_LIB_SUFFIX_0,
+         /* libtss2-<name>.so */
+         FMT_TSS_PREFIX "%s" FMT_LIB_SUFFIX,
++        /* libtss2-<name>.so */
++        "@PREFIX@" FMT_TSS_PREFIX "%s" FMT_LIB_SUFFIX,
+     };
+ 
+     if (handle == NULL) {
 diff --git a/test/unit/tctildr-dl.c b/test/unit/tctildr-dl.c
-index 4279baee..6685c811 100644
+index 135e1b14..7d654d1f 100644
 --- a/test/unit/tctildr-dl.c
 +++ b/test/unit/tctildr-dl.c
-@@ -229,6 +229,18 @@ test_get_info_default_success (void **state)
+@@ -168,6 +168,10 @@ test_handle_from_name_second_dlopen_success (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_A);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_B);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, TEST_HANDLE);
+@@ -186,10 +190,18 @@ test_handle_from_name_third_dlopen_success (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_A);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_B);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_B);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_C);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, TEST_HANDLE);
+@@ -208,14 +220,26 @@ test_handle_from_name_fourth_dlopen_success (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_A);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_B);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_B);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_C);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_C);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_D);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, TEST_HANDLE);
+@@ -234,18 +258,34 @@ test_handle_from_name_fifth_dlopen_success (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_A);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_B);
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
  
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-default.so");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_B);
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_C);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_C);
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so");
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_D);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" TEST_TCTI_TRY_D);
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, TEST_TCTI_TRY_E);
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, TEST_HANDLE);
+@@ -281,22 +321,42 @@ test_get_info_default_success (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-default.so");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-tabrmd.so.0");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, HANDLE);
-@@ -261,6 +273,18 @@ test_get_info_default_info_fail (void **state)
+@@ -321,22 +381,42 @@ test_get_info_default_info_fail (void **state)
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
  
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-default.so");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-default.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
++
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
+ 
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
 +
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-tabrmd.so.0");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, HANDLE);
-@@ -413,6 +437,15 @@ test_tcti_fail_all (void **state)
+@@ -483,120 +563,225 @@ test_tcti_fail_all (void **state)
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-default.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-default.so");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-default.so.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-default.so");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-default.so.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-default.so.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-default.so.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-default.so.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      /* Skip over libtss2-tcti-tabrmd.so */
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-tabrmd.so.0");
-@@ -424,6 +457,15 @@ test_tcti_fail_all (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-tabrmd.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-tabrmd.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-tabrmd.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-tabrmd.so.0.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-tabrmd.so.0");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-tabrmd.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-tabrmd.so.0.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-tabrmd.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-tabrmd.so.0.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-tabrmd.so.0.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-tabrmd.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-tabrmd.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      /* Skip over libtss2-tcti-device.so, /dev/tpmrm0 */
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-device.so.0");
-@@ -435,6 +477,15 @@ test_tcti_fail_all (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-device.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-device.so.0");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-device.so.0.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-device.so.0.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      /* Skip over libtss2-tcti-device.so, /dev/tpm0 */
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-device.so.0");
-@@ -446,6 +497,15 @@ test_tcti_fail_all (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-device.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-device.so.0");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-device.so.0.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-device.so.0.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+ 
+     /* Skip over libtss2-tcti-device.so, /dev/tcm0 */
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-device.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-device.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-device.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-device.so.0.so");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-device.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-device.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      /* Skip over libtss2-tcti-swtpm.so */
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-swtpm.so.0");
-@@ -457,6 +517,15 @@ test_tcti_fail_all (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-swtpm.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-swtpm.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-swtpm.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-swtpm.so.0.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-swtpm.so.0");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-swtpm.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-swtpm.so.0.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-swtpm.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-swtpm.so.0.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-swtpm.so.0.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-swtpm.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-swtpm.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      /* Skip over libtss2-tcti-mssim.so */
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-mssim.so.0");
-@@ -468,6 +537,15 @@ test_tcti_fail_all (void **state)
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-mssim.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-mssim.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-mssim.so.0.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-libtss2-tcti-mssim.so.0.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-mssim.so.0");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-libtss2-tcti-mssim.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-mssim.so.0.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-mssim.so.0.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-mssim.so.0.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-libtss2-tcti-mssim.so.0.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-libtss2-tcti-mssim.so.0.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-libtss2-tcti-mssim.so.0.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      TSS2_RC r;
      TSS2_TCTI_CONTEXT *tcti;
-@@ -496,6 +574,15 @@ test_info_from_name_handle_fail (void **state)
+@@ -619,18 +804,33 @@ test_info_from_name_handle_fail (void **state)
+     expect_string(__wrap_dlopen, filename, "foo");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "foo");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-foo.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-foo.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-foo.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/foo");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-foo.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-foo.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-foo.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-foo.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-foo.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-foo.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-foo.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
      TSS2_RC rc = info_from_name ("foo", &info, &data);
      assert_int_equal (rc, TSS2_TCTI_RC_NOT_SUPPORTED);
-@@ -612,6 +699,15 @@ test_tctildr_get_info_from_name (void **state)
+@@ -741,18 +941,33 @@ test_tctildr_get_info_from_name (void **state)
+     expect_string(__wrap_dlopen, filename, "foo");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "foo");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
+     expect_string(__wrap_dlopen, filename, "libtss2-tcti-foo.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-foo.so.0");
++    expect_value(__wrap_dlopen, flags, RTLD_NOW);
++    will_return(__wrap_dlopen, NULL);
      expect_string(__wrap_dlopen, filename, "libtss2-tcti-foo.so");
      expect_value(__wrap_dlopen, flags, RTLD_NOW);
      will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/foo");
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-tcti-foo.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-foo.so.0");
+     expect_string(__wrap_dlopen, filename, "libtss2-foo.so.0");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-foo.so.0");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
-+    expect_string(__wrap_dlopen, filename, "@PREFIX@/libtss2-tcti-foo.so");
+     expect_string(__wrap_dlopen, filename, "libtss2-foo.so");
+     expect_value(__wrap_dlopen, flags, RTLD_NOW);
+     will_return(__wrap_dlopen, NULL);
++    expect_string(__wrap_dlopen, filename, "@PREFIX@" "libtss2-foo.so");
 +    expect_value(__wrap_dlopen, flags, RTLD_NOW);
 +    will_return(__wrap_dlopen, NULL);
  
diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index 21cb3f97b3be8..ad8dd33783786 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.7.1";
+  version = "3.7.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-UKOr5Az7CzXO1D7HFtvxNomS5ETvegur8gLHrGqy9vQ=";
+    hash = "sha256-608rKIoMvp5hSHHLAEgnRGHP4cuEZ6yBexAtOHPby6U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 5c1e088592e54..67400eaee929b 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tracker";
-  version = "3.7.1";
+  version = "3.7.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = with finalAttrs; "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-zZG4he6YOc3lOH+OBe0kpxCNFidinLaxsqpRqWA+Ewo=";
+    hash = "sha256-3ryqKR5Gr63Bz2olHxfvsCRAqki/9kPXjGESOAfc4A8=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix
index d5194ea299498..89af6e847a887 100644
--- a/pkgs/development/libraries/vte/default.nix
+++ b/pkgs/development/libraries/vte/default.nix
@@ -98,7 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   # error: argument unused during compilation: '-pie' [-Werror,-Wunused-command-line-argument]
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isMusl "-Wno-unused-command-line-argument";
+  env.NIX_CFLAGS_COMPILE = toString (lib.optional stdenv.hostPlatform.isMusl "-Wno-unused-command-line-argument"
+    ++ lib.optional stdenv.cc.isClang "-Wno-cast-function-type-strict");
 
   postPatch = ''
     patchShebangs perf/*
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index e150c87c15d1a..a260b2b63b92d 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -6,14 +6,14 @@
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
-  version = "1.34";
+  version = "1.35";
 
   # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.linker == "bfd" && wayland.withLibraries;
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";
-    hash = "sha256-xZsnys2F9guvTuX4DfXA0Vdg6taiQysAq34uBXTcr+s=";
+    hash = "sha256-N6JxaigTPcgZNBxWiinSHoy3ITDlwSah/PyfQsI9las=";
   };
 
   postPatch = lib.optionalString doCheck ''
diff --git a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
index 30e2a343e2d07..b7887bce3e1b2 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
     description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
     license = licenses.bsd3;
-    # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/v0.3.1/webrtc/rtc_base/system/arch.h
+    # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/blob/v0.3.1/webrtc/typedefs.h
     # + our patches
     platforms = intersectLists platforms.unix (platforms.arm ++ platforms.aarch64 ++ platforms.mips ++ platforms.power ++ platforms.riscv ++ platforms.x86);
   };
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 178dacd0b3fbe..bccfd1d99e70a 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -3,33 +3,25 @@ Regenerate it with: nix run nixpkgs#luarocks-packages-updater
 You can customize the generated packages in pkgs/development/lua-modules/overrides.nix
 */
 
-{ stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args:
+{ stdenv, lib, fetchurl, fetchgit, callPackage, ... }:
 final: prev:
 {
-alt-getopt = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+alt-getopt = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "alt-getopt";
   version = "0.8.0-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/alt-getopt-0.8.0-1.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/alt-getopt-0.8.0-1.rockspec";
     sha256 = "17yxi1lsrbkmwzcn1x48x8758d7v1frsz1bmnpqfv4vfnlh0x210";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/cheusov/lua-alt-getopt",
-  "rev": "f495c21d6a203ab280603aa5799e636fb5651ae7",
-  "date": "2017-01-06T13:50:55+03:00",
-  "path": "/nix/store/z72v77cw9188408ynsppwhlzii2dr740-lua-alt-getopt",
-  "sha256": "1kq7r5668045diavsqd1j6i9hxdpsk99w8q4zr8cby9y3ws4q6rv",
-  "hash": "sha256-OxtMNB8++cVQ/gQjntLUt3WYopGhYb1VbIUAZEzJB88=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "cheusov";
+    repo = "lua-alt-getopt";
+    rev = "0.8.0";
+    hash = "sha256-OxtMNB8++cVQ/gQjntLUt3WYopGhYb1VbIUAZEzJB88=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
 
   meta = {
     homepage = "https://github.com/cheusov/lua-alt-getopt";
@@ -39,12 +31,12 @@ buildLuarocksPackage {
   };
 }) {};
 
-argparse = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+argparse = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "argparse";
   version = "0.7.1-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/argparse-0.7.1-1.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/argparse-0.7.1-1.rockspec";
     sha256 = "116iaczq6glzzin6qqa2zn7i22hdyzzsq6mzjiqnz6x1qmi0hig8";
   }).outPath;
   src = fetchzip {
@@ -52,8 +44,7 @@ buildLuarocksPackage {
     sha256 = "0idg79d0dfis4qhbkbjlmddq87np75hb2vj41i6prjpvqacvg5v1";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/luarocks/argparse";
@@ -62,7 +53,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-basexx = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+basexx = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "basexx";
   version = "0.4.1-1";
@@ -75,8 +66,7 @@ buildLuarocksPackage {
     sha256 = "1rnz6xixxqwy0q6y2hi14rfid4w47h69gfi0rnlq24fz8q2b0qpz";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/aiq/basexx";
@@ -85,7 +75,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-binaryheap = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+binaryheap = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "binaryheap";
   version = "0.4-1";
@@ -98,8 +88,7 @@ buildLuarocksPackage {
     sha256 = "0f5l4nb5s7dycbkgh3rrl7pf0npcf9k6m2gr2bsn09fjyb3bdc8h";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/Tieske/binaryheap.lua";
@@ -109,7 +98,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-bit32 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+bit32 = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "bit32";
   version = "5.3.0-1";
@@ -117,22 +106,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/bit32-5.3.0-1.rockspec";
     sha256 = "1d6xdihpksrj5a3yvsvnmf3vfk15hj6f8n1rrs65m7adh87hc0yd";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/keplerproject/lua-compat-5.2.git",
-  "rev": "10c7d40943601eb1f80caa9e909688bb203edc4d",
-  "date": "2015-02-17T10:44:04+01:00",
-  "path": "/nix/store/9kz7kgjmq0w9plrpha866bmwsgp4rfhn-lua-compat-5.2",
-  "sha256": "1ipqlbvb5w394qwhm2f3w6pdrgy8v4q8sps5hh3pqz14dcqwakhj",
-  "hash": "sha256-Ek7FMWskfHwHhEVfjTDZyL/cruHDiQo5Jmnwsvai+MY=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "keplerproject";
+    repo = "lua-compat-5.2";
+    rev = "bitlib-5.3.0";
+    hash = "sha256-Ek7FMWskfHwHhEVfjTDZyL/cruHDiQo5Jmnwsvai+MY=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://www.lua.org/manual/5.2/manual.html#6.7";
@@ -142,7 +123,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-busted = callPackage({ buildLuarocksPackage, dkjson, fetchgit, fetchurl, lua, lua-term, luaOlder, lua_cliargs, luassert, luasystem, mediator_lua, penlight, say }:
+busted = callPackage({ buildLuarocksPackage, dkjson, fetchFromGitHub, fetchurl, lua-term, luaOlder, lua_cliargs, luassert, luasystem, mediator_lua, penlight, say }:
 buildLuarocksPackage {
   pname = "busted";
   version = "2.2.0-1";
@@ -150,22 +131,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/busted-2.2.0-1.rockspec";
     sha256 = "0h4zk4lcm40wg3l0vgjn6lsyh9yayhljx65a0pz5n99dxal8lgnf";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/busted.git",
-  "rev": "02f31a9c103a44e166617cfdb6ba1b8994a9c912",
-  "date": "2023-11-06T14:24:47+03:00",
-  "path": "/nix/store/59a4spix6yw8lvkxq7q1fkdv0gfqd72k-busted",
-  "sha256": "0pwyidy7l223ydsfbf5xsjqgyhm73942ks44d3bivh8ldam4zg74",
-  "hash": "sha256-5LxPqmoUwR3XaIToKUgap0L/sNS9uOV080MIenyLnl8=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "busted";
+    rev = "v2.2.0";
+    hash = "sha256-5LxPqmoUwR3XaIToKUgap0L/sNS9uOV080MIenyLnl8=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ dkjson lua lua-term lua_cliargs luassert luasystem mediator_lua penlight say ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ dkjson lua-term lua_cliargs luassert luasystem mediator_lua penlight say ];
 
   meta = {
     homepage = "https://lunarmodules.github.io/busted/";
@@ -174,7 +148,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-cassowary = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, penlight }:
+cassowary = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, penlight }:
 buildLuarocksPackage {
   pname = "cassowary";
   version = "2.3.2-1";
@@ -182,22 +156,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/cassowary-2.3.2-1.rockspec";
     sha256 = "0c6sflm8zpgbcdj47s3rd34h69h3nqcciaaqd1wdx5m0lwc3mii0";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/sile-typesetter/cassowary.lua",
-  "rev": "e33195f08438c15d725d283979165fda7c6c3321",
-  "date": "2022-04-22T11:23:46+03:00",
-  "path": "/nix/store/51mb376xh9pnh2krk08ljmy01zhr9y3z-cassowary.lua",
-  "sha256": "1lvl40dhzmbqqjrqpjgqlg2kl993fpdy1mpc6d1610zpa9znx1f0",
-  "hash": "sha256-wIVuf1L3g2BCM+zW4Nt1IyU6xaP4yYuzxHjVDxsgdNM=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "sile-typesetter";
+    repo = "cassowary.lua";
+    rev = "v2.3.2";
+    hash = "sha256-wIVuf1L3g2BCM+zW4Nt1IyU6xaP4yYuzxHjVDxsgdNM=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua penlight ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ penlight ];
 
   meta = {
     homepage = "https://github.com/sile-typesetter/cassowary.lua";
@@ -207,7 +174,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-cldr = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, penlight }:
+cldr = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, penlight }:
 buildLuarocksPackage {
   pname = "cldr";
   version = "0.3.0-0";
@@ -215,22 +182,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/cldr-0.3.0-0.rockspec";
     sha256 = "1fnr8k713w21v7hc64s4w5lgcgnbphq3gm69pisc2s4wq2fkija1";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/alerque/cldr-lua.git",
-  "rev": "4602a7859535ca198ddfaba73a02f9bce3e81025",
-  "date": "2022-12-06T12:36:06+03:00",
-  "path": "/nix/store/3xgwqd2pica8301sbfrw4bmv0xm2wzx5-cldr-lua",
-  "sha256": "0hlfb115qhamczzskvckxczf9dpp8cv8h6vz7zgdl2n025ik9dp4",
-  "hash": "sha256-5LY0YxHACtreP38biDZD97bkPuuT7an/Z1VBXEJYjkI=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "alerque";
+    repo = "cldr-lua";
+    rev = "v0.3.0";
+    hash = "sha256-5LY0YxHACtreP38biDZD97bkPuuT7an/Z1VBXEJYjkI=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua penlight ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ penlight ];
 
   meta = {
     homepage = "https://github.com/alerque/cldr-lua";
@@ -240,21 +200,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-commons-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+commons-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "commons.nvim";
-  version = "15.0.0-1";
+  version = "15.0.2-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/commons.nvim-15.0.0-1.rockspec";
-    sha256 = "1f3izlp5jkr772pfbdm3q6qm5vmqqzdn4pl9qyq9fp9jzxrbv62r";
+    url    = "mirror://luarocks/commons.nvim-15.0.2-1.rockspec";
+    sha256 = "1n78bgp9y2smnhkjkdvn2c6lq6071k9dml4j6r7hk462hxsbjsqn";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/linrongbin16/commons.nvim/archive/b50a5a220c25baa5d7568137451bdc8c3c08e80c.zip";
-    sha256 = "1ylvrywms5igixmkpgk6kv3a8w6d4c17dzlca9av0xxxj7ny3vgq";
+    url    = "https://github.com/linrongbin16/commons.nvim/archive/cc17fd28c5f171c5d55f75d668b812e2d70b4cf3.zip";
+    sha256 = "0w5z03r59jy3zb653dwp9c6fq8ivjj1j2ksnsx95wlmj1mx04ixi";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://linrongbin16.github.io/commons.nvim/";
@@ -264,7 +223,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-compat53 = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+compat53 = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "compat53";
   version = "0.13-1";
@@ -277,8 +236,7 @@ buildLuarocksPackage {
     sha256 = "06kpx5qyk1zki2r2g6z3alwhvmays50670z7mbl55h7s0kff2cpz";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/lunarmodules/lua-compat-5.3";
@@ -288,7 +246,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-cosmo = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lpeg }:
+cosmo = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lpeg }:
 buildLuarocksPackage {
   pname = "cosmo";
   version = "16.06.04-1";
@@ -296,31 +254,23 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/cosmo-16.06.04-1.rockspec";
     sha256 = "0ipv1hrlhvaz1myz6qxabq7b7kb3bz456cya3r292487a3g9h9pb";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mascarenhas/cosmo.git",
-  "rev": "e774f08cbf8d271185812a803536af8a8240ac51",
-  "date": "2016-06-17T05:39:58-07:00",
-  "path": "/nix/store/k3p4xc4cfihp4h8aj6vacr25rpcsjd96-cosmo",
-  "sha256": "03b5gwsgxd777970d2h6rx86p7ivqx7bry8xmx2r396g3w85qy2p",
-  "hash": "sha256-V3hcEB/PpJFFrx35vE7HO55rUM8GigZOOue0/jR/ZQ0=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mascarenhas";
+    repo = "cosmo";
+    rev = "v16.06.04";
+    hash = "sha256-mJE5GkDnfZ3qAQyyyKj+aXOtlITeYs8lerGJSTzU/Tk=";
+  };
 
   propagatedBuildInputs = [ lpeg ];
 
   meta = {
     homepage = "http://cosmo.luaforge.net";
     description = "Safe templates for Lua";
-    maintainers = with lib.maintainers; [ ];
     license.fullName = "MIT/X11";
   };
 }) {};
 
-coxpcall = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }:
+coxpcall = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
 buildLuarocksPackage {
   pname = "coxpcall";
   version = "1.17.0-1";
@@ -328,19 +278,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/coxpcall-1.17.0-1.rockspec";
     sha256 = "0mf0nggg4ajahy5y1q5zh2zx9rmgzw06572bxx6k8b736b8j7gca";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/keplerproject/coxpcall",
-  "rev": "ea22f44e490430e40217f0792bf82eaeaec51903",
-  "date": "2018-02-26T19:53:11-03:00",
-  "path": "/nix/store/1q4p5qvr6rlwisyarlgnmk4dx6vp8xdl-coxpcall",
-  "sha256": "1k3q1rr2kavkscf99b5njxhibhp6iwhclrjk6nnnp233iwc2jvqi",
-  "hash": "sha256-EW8pGI9jiGutNVNmyiCP5sIVYZe2rJQc03OrKXIOeMw=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "keplerproject";
+    repo = "coxpcall";
+    rev = "v1_17_0";
+    hash = "sha256-EW8pGI9jiGutNVNmyiCP5sIVYZe2rJQc03OrKXIOeMw=";
+  };
 
 
   meta = {
@@ -363,8 +306,7 @@ buildLuarocksPackage {
     sha256 = "0lhd02ag3r1sxr2hx847rdjkddm04l1vf5234v5cz9bd4kfjw4cy";
   };
 
-  disabled = (lua.luaversion != "5.2");
-  propagatedBuildInputs = [ lua ];
+  disabled = lua.luaversion != "5.2";
 
   meta = {
     homepage = "http://25thandclement.com/~william/projects/cqueues.html";
@@ -374,7 +316,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-cyan = callPackage({ argparse, buildLuarocksPackage, fetchgit, fetchurl, luafilesystem, tl }:
+cyan = callPackage({ argparse, buildLuarocksPackage, fetchFromGitHub, fetchurl, luafilesystem, tl }:
 buildLuarocksPackage {
   pname = "cyan";
   version = "0.3.0-1";
@@ -382,19 +324,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/cyan-0.3.0-1.rockspec";
     sha256 = "1bs5gwgdhibj2gm8y3810b0hh6s9n00fgij8nnjag9kpqrd80vsj";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/teal-language/cyan",
-  "rev": "51649e4a814c05deaf5dde929ba82803f5170bbc",
-  "date": "2024-02-18T03:16:47-06:00",
-  "path": "/nix/store/dg57a34dhah1gvlvj9y2crmngb5rrg5c-cyan",
-  "sha256": "0kjvgm2hpgdk2bb4fn426v8yy13gycyzmd4kjwwbh70pa227cwgk",
-  "hash": "sha256-83F2hFAXHLg4l5O0+j3zbwTv0TaCWEfWErO9C0V9W04=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "teal-language";
+    repo = "cyan";
+    rev = "51649e4a814c05deaf5dde929ba82803f5170bbc";
+    hash = "sha256-83F2hFAXHLg4l5O0+j3zbwTv0TaCWEfWErO9C0V9W04=";
+  };
 
   propagatedBuildInputs = [ argparse luafilesystem tl ];
 
@@ -405,27 +340,23 @@ buildLuarocksPackage {
   };
 }) {};
 
-digestif = callPackage({ buildLuarocksPackage, fetchgit, lpeg, lua, luaOlder, luafilesystem }:
+digestif = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lpeg, luaOlder }:
 buildLuarocksPackage {
   pname = "digestif";
-  version = "dev-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/astoff/digestif",
-  "rev": "c0199f9cd86021c0a89662002d7a3411d12fb168",
-  "date": "2023-03-10T15:04:26+01:00",
-  "path": "/nix/store/3s849fwc80lf7pvgsiavqmvc5538cwwd-digestif",
-  "sha256": "0xccrrfwvcj03nnrzs3iwig7y2ahl706h413hkywcplyd5407dv9",
-  "hash": "sha256-abcDSGmeXsb9hCMQaMChUAl/XuRx6J+tHUCyzV3OjHU=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  version = "0.5.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/digestif-0.5.1-1.rockspec";
+    sha256 = "03hhzpq1szdw43slq38wbndwh8knv71q9pgwd7hvvkp9wykzjhwr";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "astoff";
+    repo = "digestif";
+    rev = "v0.5.1";
+    hash = "sha256-8QTc4IKD1tjRlyrSZy7cyUzRkvm6IHwlOXchPf2BaMk=";
+  };
 
-  disabled = (luaOlder "5.3");
-  propagatedBuildInputs = [ lpeg lua luafilesystem ];
+  disabled = luaOlder "5.3";
+  propagatedBuildInputs = [ lpeg ];
 
   meta = {
     homepage = "https://github.com/astoff/digestif/";
@@ -434,21 +365,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-dkjson = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }:
+dkjson = callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "dkjson";
   version = "2.7-1";
   knownRockspec = (fetchurl {
     url    = "mirror://luarocks/dkjson-2.7-1.rockspec";
-    sha256 = "sha256-rVMDFF/yY7fTlY4Icj4LWt72qmKMCwedbgoigqx/+U0=";
+    sha256 = "0kgrgyn848hadsfhf2wccamgdpjs1cz7424fjp9vfqzjbwa06lxd";
   }).outPath;
   src = fetchurl {
     url    = "http://dkolf.de/dkjson-lua/dkjson-2.7.tar.gz";
     sha256 = "sha256-TFGmIQLy9r23Z3fx23NgUJtKARaANYi06CVfQ1ryOVw=";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://dkolf.de/dkjson-lua/";
@@ -457,7 +387,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-fennel = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+fennel = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "fennel";
   version = "1.4.2-1";
@@ -470,8 +400,7 @@ buildLuarocksPackage {
     sha256 = "1inhy8rrywx8svdzhy1yaaa0cfyrmi21ckj7h8xmd7yqaw66ma86";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://fennel-lang.org/";
@@ -481,7 +410,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-fidget-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+fidget-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "fidget.nvim";
   version = "1.1.0-1";
@@ -494,8 +423,7 @@ buildLuarocksPackage {
     sha256 = "0bwjcqkb735wqnzc8rngvpq1b2rxgc7m0arjypvnvzsxw6wd1f61";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/j-hui/fidget.nvim";
@@ -505,12 +433,12 @@ buildLuarocksPackage {
   };
 }) {};
 
-fifo = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua }:
+fifo = callPackage({ buildLuarocksPackage, fetchurl, fetchzip }:
 buildLuarocksPackage {
   pname = "fifo";
   version = "0.2-0";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/fifo-0.2-0.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/fifo-0.2-0.rockspec";
     sha256 = "0vr9apmai2cyra2n573nr3dyk929gzcs4nm1096jdxcixmvh2ymq";
   }).outPath;
   src = fetchzip {
@@ -518,7 +446,6 @@ buildLuarocksPackage {
     sha256 = "1800k7h5hxsvm05bjdr65djjml678lwb0661cll78z1ys2037nzn";
   };
 
-  propagatedBuildInputs = [ lua ];
 
   meta = {
     homepage = "https://github.com/daurnimator/fifo.lua";
@@ -527,7 +454,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-fluent = callPackage({ buildLuarocksPackage, cldr, fetchgit, fetchurl, lua, luaOlder, luaepnf, penlight }:
+fluent = callPackage({ buildLuarocksPackage, cldr, fetchFromGitHub, fetchurl, luaOlder, luaepnf, penlight }:
 buildLuarocksPackage {
   pname = "fluent";
   version = "0.2.0-0";
@@ -535,22 +462,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/fluent-0.2.0-0.rockspec";
     sha256 = "1x3nk8xdf923rvdijr0jx8v6w3wxxfch7ri3kxca0pw80b5bc2fa";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/alerque/fluent-lua.git",
-  "rev": "e1cd4130e460bcd52f9118b7d9f9a72d2e8b902c",
-  "date": "2022-04-16T23:08:20+03:00",
-  "path": "/nix/store/flxlnrzg6rx75qikiggmy494npx59p0b-fluent-lua",
-  "sha256": "12js8l4hcxhziza0sry0f01kfm8f8m6kx843dmcky36z1y2mccmq",
-  "hash": "sha256-uDJWhQ/fDD9ZbYOgPk1FDlU3A3DAZw3Ujx92BglFWoo=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "alerque";
+    repo = "fluent-lua";
+    rev = "v0.2.0";
+    hash = "sha256-uDJWhQ/fDD9ZbYOgPk1FDlU3A3DAZw3Ujx92BglFWoo=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ cldr lua luaepnf penlight ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ cldr luaepnf penlight ];
 
   meta = {
     homepage = "https://github.com/alerque/fluent-lua";
@@ -560,7 +480,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-funnyfiles-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+funnyfiles-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "funnyfiles.nvim";
   version = "1.0.1-1";
@@ -573,8 +493,7 @@ buildLuarocksPackage {
     sha256 = "00p026r05gldbf18mmv8da9ap09di8dhy0rrd586pr2s2s36nzpd";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/aikooo7/funnyfiles.nvim";
@@ -584,21 +503,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-fzf-lua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+fzf-lua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "fzf-lua";
-  version = "0.0.1220-1";
+  version = "0.0.1243-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/fzf-lua-0.0.1220-1.rockspec";
-    sha256 = "1l9fhd3akahf6v1x7i9zn6z5gflkh7c3d79m23ijqs4m70kpbik0";
+    url    = "mirror://luarocks/fzf-lua-0.0.1243-1.rockspec";
+    sha256 = "1qg36v2gx36k313jisxyf6yjywzqngak2qcx211hd2wzxdnsaxdb";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/ibhagwan/fzf-lua/archive/36df11e3bbb6453014ff4736f6805b5a91dda56d.zip";
-    sha256 = "1nw3j1g3kqn36lqdslgb7nxcmm5knhwvfadip46milq0qc73yx1p";
+    url    = "https://github.com/ibhagwan/fzf-lua/archive/9a0912d171940e8701d1f65d5ee2b23b810720c1.zip";
+    sha256 = "0xzgpng4r9paza87fnxc3cfn331g1pmcayv1vky7jmriy5xsrxh6";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/ibhagwan/fzf-lua";
@@ -608,7 +526,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-fzy = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+fzy = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "fzy";
   version = "1.0.3-1";
@@ -621,8 +539,7 @@ buildLuarocksPackage {
     sha256 = "0w3alddhn0jd19vmminbi1b79mzlagyl1lygmfpxhzzccdv4vapm";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/swarn/fzy-lua";
@@ -632,27 +549,19 @@ buildLuarocksPackage {
   };
 }) {};
 
-gitsigns-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua }:
+gitsigns-nvim = callPackage({ buildLuarocksPackage, fetchFromGitHub, lua }:
 buildLuarocksPackage {
   pname = "gitsigns.nvim";
   version = "scm-1";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lewis6991/gitsigns.nvim",
-  "rev": "d96ef3bbff0bdbc3916a220f5c74a04c4db033f2",
-  "date": "2024-04-12T16:53:20+01:00",
-  "path": "/nix/store/q2wga9cw7f4sgklgjygk6gkfd1zqnp5m-gitsigns.nvim",
-  "sha256": "1lngbagsnk8zmq034j6jq3nl25crvdjvb73y7da7m282cbm3547j",
-  "hash": "sha256-8pAy6mICiXpUO36ctWXbmRVB7cDSSDIArh9Nq59az9I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lewis6991";
+    repo = "gitsigns.nvim";
+    rev = "035da036e68e509ed158414416c827d022d914bd";
+    hash = "sha256-UK3DyvrQ0kLm9wrMQ6tLDoDunoThbY/Yfjn+eCZpuMw=";
+  };
 
-  disabled = (lua.luaversion != "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = lua.luaversion != "5.1";
 
   meta = {
     homepage = "http://github.com/lewis6991/gitsigns.nvim";
@@ -661,7 +570,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-haskell-tools-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+haskell-tools-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "haskell-tools.nvim";
   version = "3.1.8-1";
@@ -674,17 +583,17 @@ buildLuarocksPackage {
     sha256 = "14nk6jyq2y4q93ij56bdjy17h3jlmjwsspw3l6ahvjsl6yg1lv75";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/mrcjkb/haskell-tools.nvim";
     description = "Supercharge your Haskell experience in neovim!";
+    maintainers = with lib.maintainers; [ mrcjkb ];
     license.fullName = "GPL-2.0";
   };
 }) {};
 
-http = callPackage({ basexx, binaryheap, bit32, buildLuarocksPackage, compat53, cqueues, fetchurl, fetchzip, fifo, lpeg, lpeg_patterns, lua, luaOlder, luaossl }:
+http = callPackage({ basexx, binaryheap, bit32, buildLuarocksPackage, compat53, cqueues, fetchurl, fetchzip, fifo, lpeg, lpeg_patterns, luaOlder, luaossl }:
 buildLuarocksPackage {
   pname = "http";
   version = "0.3-0";
@@ -697,8 +606,8 @@ buildLuarocksPackage {
     sha256 = "1pqxxxifl2j1cik3kgayx43v6py5jp6r22myhvxfffysb3b84a2l";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ basexx binaryheap bit32 compat53 cqueues fifo lpeg lpeg_patterns lua luaossl ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ basexx binaryheap bit32 compat53 cqueues fifo lpeg lpeg_patterns luaossl ];
 
   meta = {
     homepage = "https://github.com/daurnimator/lua-http";
@@ -708,7 +617,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-image-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, magick }:
+image-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, magick }:
 buildLuarocksPackage {
   pname = "image.nvim";
   version = "1.2.0-1";
@@ -721,8 +630,8 @@ buildLuarocksPackage {
     sha256 = "1v4db60yykjajabmf12zjcg47bb814scjrig0wvn4yc11isinymg";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua magick ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ magick ];
 
   meta = {
     homepage = "https://github.com/3rd/image.nvim";
@@ -732,7 +641,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-inspect = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+inspect = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "inspect";
   version = "3.1.3-0";
@@ -745,8 +654,7 @@ buildLuarocksPackage {
     sha256 = "1sqylz5hmj5sbv4gi9988j6av3cb5lwkd7wiyim1h5lr7xhnlf23";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/kikito/inspect.lua";
@@ -755,7 +663,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-jsregexp = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+jsregexp = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "jsregexp";
   version = "0.0.7-1";
@@ -763,22 +671,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/jsregexp-0.0.7-1.rockspec";
     sha256 = "1yx0340h51xk23n0g8irj5c9bs35zy6p1zl5kp7vy2cwxazbipbl";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/kmarius/jsregexp.git",
-  "rev": "d76a7d656a122de38789f4b4a345de6290ed83cc",
-  "date": "2024-01-11T15:13:03+01:00",
-  "path": "/nix/store/zxx7v0r88k4wz438509sbsw6h1hymqba-jsregexp",
-  "sha256": "1m0ndsivx98znbc7gh4kcg9c4q8lbflc108xjl53ivmhisd4cx39",
-  "hash": "sha256-aXRGmo6w7jgKlR2BwKhbFGHC0mOTwHfYsh+lvqNuFtQ=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "kmarius";
+    repo = "jsregexp";
+    rev = "v0.0.7";
+    hash = "sha256-aXRGmo6w7jgKlR2BwKhbFGHC0mOTwHfYsh+lvqNuFtQ=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/kmarius/jsregexp";
@@ -787,7 +687,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-ldbus = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+ldbus = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "ldbus";
   version = "scm-0";
@@ -795,22 +695,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/ldbus-scm-0.rockspec";
     sha256 = "1c0h6fx7avzh89hl17v6simy1p4mjg8bimlsbjybks0zxznd8rbm";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/daurnimator/ldbus.git",
-  "rev": "6d4909c983c8a0e2c7384bac8055c628aa524ea2",
-  "date": "2021-11-10T23:58:54+11:00",
-  "path": "/nix/store/j830jk2hkanz7abkdsbvg2warsyr0a2c-ldbus",
-  "sha256": "18q98b98mfvjzbyssf18bpnlx4hsx4s9lwcwia4z9dxiaiw7b77j",
-  "hash": "sha256-8px1eFSxt/SJipxxmjTpGpJO7V0oOK39+nK7itJCCaM=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "daurnimator";
+    repo = "ldbus";
+    rev = "6d4909c983c8a0e2c7384bac8055c628aa524ea2";
+    hash = "sha256-8px1eFSxt/SJipxxmjTpGpJO7V0oOK39+nK7itJCCaM=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/daurnimator/ldbus";
@@ -819,7 +711,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-ldoc = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, markdown, penlight }:
+ldoc = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, markdown, penlight }:
 buildLuarocksPackage {
   pname = "ldoc";
   version = "1.5.0-1";
@@ -827,19 +719,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/ldoc-1.5.0-1.rockspec";
     sha256 = "1c0yx9j3yqlzxpmspz7n7l1nvh2sww84zhkb1fsbg042sr8h9bxp";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/ldoc.git",
-  "rev": "09f82c959c50d8c3d5a968c379b1c75de66b002d",
-  "date": "2023-05-03T00:05:39+03:00",
-  "path": "/nix/store/7l5xpw1grnwr5m8myll63gyy4311glb1-ldoc",
-  "sha256": "0g65dd51l42693jr3251p6s40950wcwfr1kspjvc2frkwm7qpv9i",
-  "hash": "sha256-Me2LT+UzO8G2vHqG7DjjoCRAtLmhiJHlSEYQGkprxTw=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "ldoc";
+    rev = "v1.5.0";
+    hash = "sha256-Me2LT+UzO8G2vHqG7DjjoCRAtLmhiJHlSEYQGkprxTw=";
+  };
 
   propagatedBuildInputs = [ markdown penlight ];
 
@@ -850,7 +735,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lgi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lgi = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lgi";
   version = "0.9.2-1";
@@ -858,22 +743,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lgi-0.9.2-1.rockspec";
     sha256 = "1gqi07m4bs7xibsy4vx8qgyp3yb1wnh0gdq1cpwqzv35y6hn5ds3";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/pavouk/lgi.git",
-  "rev": "0fdcf8c677094d0c109dfb199031fdbc0c9c47ea",
-  "date": "2017-10-09T20:55:55+02:00",
-  "path": "/nix/store/vh82n8pc8dy5c8nph0vssk99vv7q4qg2-lgi",
-  "sha256": "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj",
-  "hash": "sha256-UpamUbvqzF0JKV3J0wIiJlV6iedwe823vD0EIm3zKw8=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "pavouk";
+    repo = "lgi";
+    rev = "0.9.2";
+    hash = "sha256-UpamUbvqzF0JKV3J0wIiJlV6iedwe823vD0EIm3zKw8=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://github.com/pavouk/lgi";
@@ -882,7 +759,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-linenoise = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+linenoise = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "linenoise";
   version = "0.9-1";
@@ -892,8 +769,7 @@ buildLuarocksPackage {
     sha256 = "177h6gbq89arwiwxah9943i8hl5gvd9wivnd1nhmdl7d8x0dn76c";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/hoelzro/lua-linenoise";
@@ -915,8 +791,7 @@ buildLuarocksPackage {
     sha256 = "1w9g36nhxv92cypjia7igg1xpfrn3dbs3hfy6gnnz5mx14v50abf";
   };
 
-  disabled = (lua.luaversion != "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = lua.luaversion != "5.1";
 
   meta = {
     homepage = "http://www.myriabit.com/ljsyscall/";
@@ -926,7 +801,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lmathx = callPackage({ buildLuarocksPackage, fetchurl, lua }:
+lmathx = callPackage({ buildLuarocksPackage, fetchurl }:
 buildLuarocksPackage {
   pname = "lmathx";
   version = "20150624-1";
@@ -939,7 +814,6 @@ buildLuarocksPackage {
     sha256 = "1r0ax3lq4xx6469aqc6qlfl3jynlghzhl5j65mpdj0kyzv4nknzf";
   };
 
-  propagatedBuildInputs = [ lua ];
 
   meta = {
     homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lmathx";
@@ -949,7 +823,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lmpfrlib = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }:
+lmpfrlib = callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "lmpfrlib";
   version = "20170112-2";
@@ -962,8 +836,7 @@ buildLuarocksPackage {
     sha256 = "1bkfwdacj1drzqsfxf352fjppqqwi5d4j084jr9vj9dvjb31rbc1";
   };
 
-  disabled = (luaOlder "5.3") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.3" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.html";
@@ -973,7 +846,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-loadkit = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+loadkit = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "loadkit";
   version = "1.1.0-1";
@@ -981,22 +854,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/loadkit-1.1.0-1.rockspec";
     sha256 = "08fx0xh90r2zvjlfjkyrnw2p95xk1a0qgvlnq4siwdb2mm6fq12l";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/leafo/loadkit.git",
-  "rev": "95b13a36442f59b41ab52df96d52233c4a725dfd",
-  "date": "2023-08-17T11:36:25-07:00",
-  "path": "/nix/store/9xcy2p5pxiq0p17szv8p2lagb6xzb8c8-loadkit",
-  "sha256": "0hivmn5r1scxv3nckm4hqfplq33wiab3ypjwsfdkmp3bdri0dhxs",
-  "hash": "sha256-usMGYm5r3Dqb01xeP5aKfAxMr8OQ1Mns2J3pkIutO0I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "leafo";
+    repo = "loadkit";
+    rev = "v1.1.0";
+    hash = "sha256-fw+aoP9+yDpme4qXupE07cV1QGZjb2aU7IOHapG+ihU=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/leafo/loadkit";
@@ -1006,7 +871,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lpeg = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+lpeg = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lpeg";
   version = "1.1.0-1";
@@ -1019,8 +884,7 @@ buildLuarocksPackage {
     sha256 = "0aimsjpcpkh3kk65f0pg1z2bp6d83rn4dg6pgbx1yv14s9kms5ab";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://www.inf.puc-rio.br/~roberto/lpeg.html";
@@ -1030,7 +894,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lpeg_patterns = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lpeg, lua }:
+lpeg_patterns = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lpeg }:
 buildLuarocksPackage {
   pname = "lpeg_patterns";
   version = "0.5-0";
@@ -1043,7 +907,7 @@ buildLuarocksPackage {
     sha256 = "1s3c179a64r45ffkawv9dnxw4mzwkzj00nr9z2gs5haajgpjivw6";
   };
 
-  propagatedBuildInputs = [ lpeg lua ];
+  propagatedBuildInputs = [ lpeg ];
 
   meta = {
     homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
@@ -1052,7 +916,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lpeglabel = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+lpeglabel = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lpeglabel";
   version = "1.6.0-1";
@@ -1065,8 +929,7 @@ buildLuarocksPackage {
     sha256 = "1i02lsxj20iygqm8fy6dih1gh21lqk5qj1mv14wlrkaywnv35wcv";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/sqmedeiros/lpeglabel/";
@@ -1075,7 +938,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lrexlib-gnu = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lrexlib-gnu = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lrexlib-gnu";
   version = "2.9.2-1";
@@ -1083,22 +946,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lrexlib-gnu-2.9.2-1.rockspec";
     sha256 = "14dp5lzpz2prvimpcbqjygbyh9h791h0ywjknj9wgrjjd62qsy6i";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/rrthomas/lrexlib.git",
-  "rev": "9aa5e7e9ca47da1bd0e023dfa0b1b2d43aa358f3",
-  "date": "2023-11-05T17:32:50+00:00",
-  "path": "/nix/store/z74bw029468iizgrv19wllpzsvazj3bg-lrexlib",
-  "sha256": "15y9ha28qq08b100a32s72h6rx1bqs7gl5h7j3zacy5ixyyl6cqg",
-  "hash": "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "rrthomas";
+    repo = "lrexlib";
+    rev = "rel-2-9-2";
+    hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/rrthomas/lrexlib";
@@ -1107,7 +962,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lrexlib-pcre = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lrexlib-pcre = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lrexlib-pcre";
   version = "2.9.2-1";
@@ -1115,22 +970,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lrexlib-pcre-2.9.2-1.rockspec";
     sha256 = "1214ssm6apgprryqvijjjn82ikb27ylq94yijqf7qjyiy6pz7dc1";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/rrthomas/lrexlib.git",
-  "rev": "9aa5e7e9ca47da1bd0e023dfa0b1b2d43aa358f3",
-  "date": "2023-11-05T17:32:50+00:00",
-  "path": "/nix/store/z74bw029468iizgrv19wllpzsvazj3bg-lrexlib",
-  "sha256": "15y9ha28qq08b100a32s72h6rx1bqs7gl5h7j3zacy5ixyyl6cqg",
-  "hash": "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "rrthomas";
+    repo = "lrexlib";
+    rev = "rel-2-9-2";
+    hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/rrthomas/lrexlib";
@@ -1140,7 +987,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lrexlib-posix = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lrexlib-posix = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lrexlib-posix";
   version = "2.9.2-1";
@@ -1148,22 +995,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lrexlib-posix-2.9.2-1.rockspec";
     sha256 = "1i11cdvz09a3wjhfjgc88g0mdmdrk13fnhhgskzgm5cmhsdx4s0i";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/rrthomas/lrexlib.git",
-  "rev": "9aa5e7e9ca47da1bd0e023dfa0b1b2d43aa358f3",
-  "date": "2023-11-05T17:32:50+00:00",
-  "path": "/nix/store/z74bw029468iizgrv19wllpzsvazj3bg-lrexlib",
-  "sha256": "15y9ha28qq08b100a32s72h6rx1bqs7gl5h7j3zacy5ixyyl6cqg",
-  "hash": "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "rrthomas";
+    repo = "lrexlib";
+    rev = "rel-2-9-2";
+    hash = "sha256-DzNDve+xeKb+kAcW+o7GK/RsoDhaDAVAWAhgjISCyZc=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/rrthomas/lrexlib";
@@ -1172,7 +1011,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-cjson = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-cjson = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-cjson";
   version = "2.1.0.10-1";
@@ -1180,22 +1019,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-cjson-2.1.0.10-1.rockspec";
     sha256 = "05sp7rq72x4kdkyid1ch0yyscwsi5wk85d2hj6xwssz3h8n8drdg";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/openresty/lua-cjson",
-  "rev": "96e6e0ce67ed070a52223c1e9518c9018b1ce376",
-  "date": "2021-12-10T20:19:58+08:00",
-  "path": "/nix/store/1ac8lz6smfa8zqfipqfsg749l9rw4ly9-lua-cjson",
-  "sha256": "03hdsv7d77mggis58k8fmlpbh1d544m0lfqyl9rpjcqkiqs1qvza",
-  "hash": "sha256-6m8cNI4TM3lzoh47CiohpQW4Lq0OTVR0fK+e087WDQ4=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "openresty";
+    repo = "lua-cjson";
+    rev = "2.1.0.10";
+    hash = "sha256-/SeQro0FaJn91bAGjsVIin+mJF89VUm/G0KyJkV9Qps=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://www.kyne.com.au/~mark/software/lua-cjson.php";
@@ -1204,7 +1035,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-cmsgpack = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-cmsgpack = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-cmsgpack";
   version = "0.4.0-0";
@@ -1212,22 +1043,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-cmsgpack-0.4.0-0.rockspec";
     sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/antirez/lua-cmsgpack.git",
-  "rev": "dec1810a70d2948725f2e32cc38163de62b9d9a7",
-  "date": "2015-06-03T08:39:04+02:00",
-  "path": "/nix/store/ksqvl7hbd5s7nb6hjffyic1shldac4z2-lua-cmsgpack",
-  "sha256": "0j0ahc9rprgl6dqxybaxggjam2r5i2wqqsd6764n0d7fdpj9fqm0",
-  "hash": "sha256-oGKX5G3uNGCJOaZpjLmIJYuq5HtdLd9xM/TlmxODCkg=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "antirez";
+    repo = "lua-cmsgpack";
+    rev = "0.4.0";
+    hash = "sha256-oGKX5G3uNGCJOaZpjLmIJYuq5HtdLd9xM/TlmxODCkg=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://github.com/antirez/lua-cmsgpack";
@@ -1236,7 +1059,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-curl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+lua-curl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-curl";
   version = "0.3.13-1";
@@ -1249,8 +1072,7 @@ buildLuarocksPackage {
     sha256 = "0gn59bwrnb2mvl8i0ycr6m3jmlgx86xlr9mwnc85zfhj7zhi5anp";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/Lua-cURL";
@@ -1259,30 +1081,22 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-ffi-zlib = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-ffi-zlib = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-ffi-zlib";
   version = "0.6-0";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-ffi-zlib-0.6-0.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lua-ffi-zlib-0.6-0.rockspec";
     sha256 = "060sac715f1ris13fjv6gwqm0lk6by0a2zhldxd8hdrc0jss8p34";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/hamishforbes/lua-ffi-zlib",
-  "rev": "61e95cb434e4047c8bc65a180c293a05bf754416",
-  "date": "2023-08-11T09:28:16+12:00",
-  "path": "/nix/store/gfyr81q84mgpgwyh28xpzlf34ndjkfwc-lua-ffi-zlib",
-  "sha256": "0r6vima495h0d4f8ibf3fv9b6k7rqnavgvsy78dybslrm7lwsz4p",
-  "hash": "sha256-l3zN6amZ6uUbOl7vt5XF+Uyz0nbDrYgcaQCWRFSN22Q=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "hamishforbes";
+    repo = "lua-ffi-zlib";
+    rev = "v0.6";
+    hash = "sha256-l3zN6amZ6uUbOl7vt5XF+Uyz0nbDrYgcaQCWRFSN22Q=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/hamishforbes/lua-ffi-zlib";
@@ -1290,7 +1104,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-iconv = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+lua-iconv = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-iconv";
   version = "7.0.0-4";
@@ -1303,8 +1117,7 @@ buildLuarocksPackage {
     sha256 = "0arp0h342hpp4kfdxc69yxspziky4v7c13jbf12yrs8f1lnjzr0x";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/lunarmodules/lua-iconv/";
@@ -1313,30 +1126,23 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-lsp = callPackage({ buildLuarocksPackage, dkjson, fetchgit, fetchurl, inspect, lpeglabel, lua, luaAtLeast, luaOlder }:
+lua-lsp = callPackage({ buildLuarocksPackage, dkjson, fetchFromGitHub, fetchurl, inspect, lpeglabel, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-lsp";
   version = "0.1.0-2";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-lsp-0.1.0-2.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/lua-lsp-0.1.0-2.rockspec";
     sha256 = "19jsz00qlgbyims6cg8i40la7v8kr7zsxrrr3dg0kdg0i36xqs6c";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/Alloyed/lua-lsp",
-  "rev": "6afbe53b43d9fb2e70edad50081cc3062ca3d78f",
-  "date": "2020-10-17T15:07:11-04:00",
-  "path": "/nix/store/qn9syhm875k1qardhhsp025cm3dbnqvm-lua-lsp",
-  "sha256": "17k3jq61jz6j9bz4vc3hmsfx1s26cfgq1acja8fqyixljklmsbqp",
-  "hash": "sha256-Fy9d6ZS0R48dUpKpgJ9jRujQna5wsE3+StJ8GQyWY54=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "Alloyed";
+    repo = "lua-lsp";
+    rev = "v0.1.0";
+    hash = "sha256-Fy9d6ZS0R48dUpKpgJ9jRujQna5wsE3+StJ8GQyWY54=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ dkjson inspect lpeglabel lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
+  propagatedBuildInputs = [ dkjson inspect lpeglabel ];
 
   meta = {
     homepage = "https://github.com/Alloyed/lua-lsp";
@@ -1345,7 +1151,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-messagepack = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+lua-messagepack = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-messagepack";
   version = "0.5.4-1";
@@ -1358,8 +1164,7 @@ buildLuarocksPackage {
     sha256 = "0kk1n9kf6wip8k2xx4wjlv7647biji2p86v4jf0h6d6wkaypq0kz";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://fperrad.frama.io/lua-MessagePack/";
@@ -1368,7 +1173,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-protobuf = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-protobuf = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-protobuf";
   version = "0.5.1-1";
@@ -1376,22 +1181,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-protobuf-0.5.1-1.rockspec";
     sha256 = "1ljn0xwrhcr49k4fzrh0g1q13j16sa6h3wd5q62995q4jlrmnhja";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/starwing/lua-protobuf.git",
-  "rev": "5e998726522725138fb4066f03a5cc478c7f7b2c",
-  "date": "2024-04-01T17:44:38+08:00",
-  "path": "/nix/store/rdayi9dlv3r62pb1lrl7xg6s1wib3n4v-lua-protobuf",
-  "sha256": "0vzm2x7vlfby8xqiqa68bqjki3h5775jhfhkvg4mfk152rm1ybhf",
-  "hash": "sha256-Di4fahYlTFfJ2xM6KMs5BY44JV7IKBxxR345uk8X9W8=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "starwing";
+    repo = "lua-protobuf";
+    rev = "0.5.1";
+    hash = "sha256-Di4fahYlTFfJ2xM6KMs5BY44JV7IKBxxR345uk8X9W8=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/starwing/lua-protobuf";
@@ -1401,7 +1198,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-resty-http = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-resty-http = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-resty-http";
   version = "0.17.2-0";
@@ -1409,22 +1206,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-resty-http-0.17.2-0.rockspec";
     sha256 = "10swbq779d1q794d17269v0ln26hblsk7kvxj9s60rx71skzql6s";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/ledgetech/lua-resty-http",
-  "rev": "183310324026120ab7eaf5dd82b9be90ae63aadf",
-  "date": "2024-02-29T19:43:47+00:00",
-  "path": "/nix/store/wv99dz7m98dps8qbg5bgvddbgwyw7v84-lua-resty-http",
-  "sha256": "0xllxaph4r5sk2xc6cpji9i537vr2cgc7n7q7qpq6a8q6jkwy79y",
-  "hash": "sha256-Ph3PpzQYKYMvPvjYwx4TeZ9RYoryMsO6mLpkAq/qlHY=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "ledgetech";
+    repo = "lua-resty-http";
+    rev = "v0.17.2";
+    hash = "sha256-Ph3PpzQYKYMvPvjYwx4TeZ9RYoryMsO6mLpkAq/qlHY=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/ledgetech/lua-resty-http";
@@ -1433,7 +1222,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-resty-jwt = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-resty-openssl, luaOlder }:
+lua-resty-jwt = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lua-resty-openssl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-resty-jwt";
   version = "0.2.3-0";
@@ -1441,22 +1230,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-resty-jwt-0.2.3-0.rockspec";
     sha256 = "1fxdwfr4pna3fdfm85kin97n53caq73h807wjb59wpqiynbqzc8c";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/cdbattags/lua-resty-jwt",
-  "rev": "b3d5c085643fa95099e72a609c57095802106ff9",
-  "date": "2021-01-20T16:53:57-05:00",
-  "path": "/nix/store/z4a8ffxj2i3gbjp0f8r377cdp88lkzl4-lua-resty-jwt",
-  "sha256": "07w8r8gqbby06x493qzislig7a3giw0anqr4ivp3g2ms8v9fnng6",
-  "hash": "sha256-5lnr0ka6ijfujiRjqwCPb6jzItXx45FIN8CvhR/KiB8=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "cdbattags";
+    repo = "lua-resty-jwt";
+    rev = "v0.2.3";
+    hash = "sha256-m8UbvKk2DR8yCYX9Uv5HjXcZDVyVeRlUKp7UiaN/SkA=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua lua-resty-openssl ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ lua-resty-openssl ];
 
   meta = {
     homepage = "https://github.com/cdbattags/lua-resty-jwt";
@@ -1465,7 +1247,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-resty-openidc = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-resty-http, lua-resty-jwt, lua-resty-session, luaOlder }:
+lua-resty-openidc = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lua-resty-http, lua-resty-jwt, lua-resty-session, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-resty-openidc";
   version = "1.7.6-3";
@@ -1473,22 +1255,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-resty-openidc-1.7.6-3.rockspec";
     sha256 = "08nq24kxw51xiyyp5jailyqjfsgz4m4fzy4hb7g3fv76vcsf8msp";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/zmartzone/lua-resty-openidc",
-  "rev": "5a7b9e2cfe4f5aab7c60032e6ca94d2d534f7d19",
-  "date": "2023-01-30T19:06:51+01:00",
-  "path": "/nix/store/nyd2jqhlq8gx4chapqyxk2q4dsxgm8hz-lua-resty-openidc",
-  "sha256": "15dh9z7y84n840x02xsn2m9h9hdakbbv4p1z7dfz85v5w5i6c86p",
-  "hash": "sha256-1yBmYuFlF/RdOz9csteaqsEEUxVWdwE6IMgS5M9PsJU=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "zmartzone";
+    repo = "lua-resty-openidc";
+    rev = "v1.7.6";
+    hash = "sha256-1yBmYuFlF/RdOz9csteaqsEEUxVWdwE6IMgS5M9PsJU=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua lua-resty-http lua-resty-jwt lua-resty-session ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ lua-resty-http lua-resty-jwt lua-resty-session ];
 
   meta = {
     homepage = "https://github.com/zmartzone/lua-resty-openidc";
@@ -1497,27 +1272,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-resty-openssl = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }:
+lua-resty-openssl = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
 buildLuarocksPackage {
   pname = "lua-resty-openssl";
-  version = "1.2.1-1";
+  version = "1.3.1-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/lua-resty-openssl-1.2.1-1.rockspec";
-    sha256 = "1xd3z9kgns4p7v725kb781kg6v5fq8yibvarlqvz368l24js63ak";
+    url    = "mirror://luarocks/lua-resty-openssl-1.3.1-1.rockspec";
+    sha256 = "1rqsmsnnnz78yb0x2xf7764l3rk54ngk3adm6an4g7dm5kryv33f";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/fffonion/lua-resty-openssl.git",
-  "rev": "58c6ce6885556ed7cb85dde83d673fad05ba73aa",
-  "date": "2024-02-28T12:55:27+08:00",
-  "path": "/nix/store/5827180ly4rwyb07d6gb6f5g713j3w2b-lua-resty-openssl",
-  "sha256": "1m7bvxplg47c5dy9faahjy620bc179kld77v4mysw489kqd7zkc0",
-  "hash": "sha256-gM1/Gp4JEa59JfucRmc6gS0gjJdQKZd8K+yQR2/f69Q=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "fffonion";
+    repo = "lua-resty-openssl";
+    rev = "1.3.1";
+    hash = "sha256-4h6oIdiMyW9enJToUBtRuUdnKSyWuFFxIDvj4dFRKDs=";
+  };
 
 
   meta = {
@@ -1527,7 +1295,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-resty-session = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, lua-ffi-zlib, lua-resty-openssl, luaOlder }:
+lua-resty-session = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lua-ffi-zlib, lua-resty-openssl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-resty-session";
   version = "4.0.5-1";
@@ -1535,22 +1303,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-resty-session-4.0.5-1.rockspec";
     sha256 = "0h0kqwna46mrraq310qjb7yigxwv13n4czk24xnqr21czxsskzkg";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/bungle/lua-resty-session.git",
-  "rev": "5f2aed616d16fa7ca04dc40e23d6941740cd634d",
-  "date": "2023-08-16T18:24:43+03:00",
-  "path": "/nix/store/s6i1idv9lx52x7lcl0kc2c9sm9pic4kq-lua-resty-session",
-  "sha256": "08pih1baqhlvsqvcr1zzympmn8v7gskmis6ffhigll37hbzvljcz",
-  "hash": "sha256-n0m6/4JnUPoidM7oWKd+ZyNbb/X/h8w21ptCrFaA8SI=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "bungle";
+    repo = "lua-resty-session";
+    rev = "v4.0.5";
+    hash = "sha256-n0m6/4JnUPoidM7oWKd+ZyNbb/X/h8w21ptCrFaA8SI=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua lua-ffi-zlib lua-resty-openssl ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ lua-ffi-zlib lua-resty-openssl ];
 
   meta = {
     homepage = "https://github.com/bungle/lua-resty-session";
@@ -1559,27 +1320,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-rtoml = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder, luarocks-build-rust-mlua }:
+lua-rtoml = callPackage({ buildLuarocksPackage, fetchFromGitHub, luaOlder, luarocks-build-rust-mlua }:
 buildLuarocksPackage {
   pname = "lua-rtoml";
   version = "0.2-0";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lblasc/lua-rtoml.git",
-  "rev": "c83f56b9519d85968d663308e303f384c55c7b18",
-  "date": "2023-11-02T14:28:19+01:00",
-  "path": "/nix/store/x6mm838p27gwk45j23jkd0cpzxncxgci-lua-rtoml",
-  "sha256": "11i2km1k686nbh2ylfrcn3grd816vdhnigjjaiykkgwj0i8il6ix",
-  "hash": "sha256-PRoaUQSSvzl9VFK+aGHbJqCW37AsO+oFXNYgM0OdIoY=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lblasc";
+    repo = "lua-rtoml";
+    rev = "c83f56b9519d85968d663308e303f384c55c7b18";
+    hash = "sha256-PRoaUQSSvzl9VFK+aGHbJqCW37AsO+oFXNYgM0OdIoY=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua luarocks-build-rust-mlua ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ luarocks-build-rust-mlua ];
 
   meta = {
     homepage = "https://github.com/lblasc/lua-rtoml";
@@ -1589,27 +1343,19 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-subprocess = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }:
+lua-subprocess = callPackage({ buildLuarocksPackage, fetchFromGitHub, luaOlder }:
 buildLuarocksPackage {
   pname = "subprocess";
   version = "scm-1";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/0x0ade/lua-subprocess.git",
-  "rev": "bfa8e97da774141f301cfd1106dca53a30a4de54",
-  "date": "2021-01-09T22:31:54+01:00",
-  "path": "/nix/store/3lr7n1k85kbf718wxr51xd40i8dfs5qd-lua-subprocess",
-  "sha256": "0p91hda0b0hpgdbff5drcyygaizq086gw8vnvzn0y0fg3mc9if70",
-  "hash": "sha256-4LiYWB3PAQ/s33Yj/gwC+Ef1vGe5FedWexeCBVSDIV0=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "0x0ade";
+    repo = "lua-subprocess";
+    rev = "bfa8e97da774141f301cfd1106dca53a30a4de54";
+    hash = "sha256-4LiYWB3PAQ/s33Yj/gwC+Ef1vGe5FedWexeCBVSDIV0=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/xlq/lua-subprocess";
@@ -1640,7 +1386,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-toml = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-toml = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-toml";
   version = "2.0-1";
@@ -1648,22 +1394,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-toml-2.0-1.rockspec";
     sha256 = "0zd3hrj1ifq89rjby3yn9y96vk20ablljvqdap981navzlbb7zvq";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/jonstoler/lua-toml.git",
-  "rev": "13731a5dd48c8c314d2451760604810bd6221085",
-  "date": "2017-12-08T16:30:50-08:00",
-  "path": "/nix/store/cnpflpyj441c65jhb68hjr2bcvnj9han-lua-toml",
-  "sha256": "0lklhgs4n7gbgva5frs39240da1y4nwlx6yxaj3ix6r5lp9sh07b",
-  "hash": "sha256-6wCo06Ulmx6HVN2bTrklPqgGiEhDZ1fUfusdS/SDdFI=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "jonstoler";
+    repo = "lua-toml";
+    rev = "v2.0.1";
+    hash = "sha256-6wCo06Ulmx6HVN2bTrklPqgGiEhDZ1fUfusdS/SDdFI=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/jonstoler/lua-toml";
@@ -1672,7 +1410,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-utils-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+lua-utils-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-utils.nvim";
   version = "1.0.2-1";
@@ -1685,8 +1423,7 @@ buildLuarocksPackage {
     sha256 = "0bnl2kvxs55l8cjhfpa834bm010n8r4gmsmivjcp548c076msagn";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/nvim-neorg/lua-utils.nvim";
@@ -1696,7 +1433,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-yajl = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-yajl = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-yajl";
   version = "2.0-1";
@@ -1704,22 +1441,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-yajl-2.0-1.rockspec";
     sha256 = "0h600zgq5qc9z3cid1kr35q3qb98alg0m3qf0a3mfj33hya6pcxp";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/brimworks/lua-yajl.git",
-  "rev": "c0b598a70966b6cabc57a110037faf9091436f30",
-  "date": "2020-11-12T06:22:23-08:00",
-  "path": "/nix/store/9acgxpqk52kwn03m5xasn4f6mmsby2r9-lua-yajl",
-  "sha256": "1frry90y7vqnw1rd1dfnksilynh0n24gfhkmjd6wwba73prrg0pf",
-  "hash": "sha256-7oKX8x1HLc5Nk3VC94iwAFpPo57WtdBy4Bbv40HyObs=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "brimworks";
+    repo = "lua-yajl";
+    rev = "v2.0";
+    hash = "sha256-/UhdjTUzd5ZsQG3CaS6i0cYOgkLR4TJCUAcw5yYhYEI=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://github.com/brimworks/lua-yajl";
@@ -1729,7 +1458,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua-zlib = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua-zlib = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua-zlib";
   version = "1.2-2";
@@ -1737,22 +1466,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua-zlib-1.2-2.rockspec";
     sha256 = "1ycjy59w6rkhasqqbiyra0f1sj87fswcz25zwxy4gyv7rrwy5hxd";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/brimworks/lua-zlib.git",
-  "rev": "a305d98f473d0a253b6fd740ce60d7d5a5f1cda0",
-  "date": "2017-10-07T08:26:37-07:00",
-  "path": "/nix/store/6hjfczd3xkilkdxidgqzdrwmaiwnlf05-lua-zlib",
-  "sha256": "1cv12s5c5lihmf3hb0rz05qf13yihy1bjpb7448v8mkiss6y1s5c",
-  "hash": "sha256-rOjgjdZxVrQRIWdduYKH0Y/gcAE/gwWHqzDSwooWYbM=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "brimworks";
+    repo = "lua-zlib";
+    rev = "v1.2";
+    hash = "sha256-3gDYO4KcGUmcJFV22NDXWrFDwHNmPvMp++iXrz+QbC0=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/brimworks/lua-zlib";
@@ -1762,7 +1483,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lua_cliargs = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lua_cliargs = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lua_cliargs";
   version = "3.0.2-1";
@@ -1770,22 +1491,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lua_cliargs-3.0.2-1.rockspec";
     sha256 = "1gp3n9ipaqdk59ilqx1ci5faxmx4dh9sgg3279jb8yfa7wg5b8pf";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/lua_cliargs.git",
-  "rev": "5e77d9e2295abd3a67af509090ac7b430f4ad266",
-  "date": "2023-12-18T14:11:33+03:00",
-  "path": "/nix/store/0lzpybn6s27nhia20kcsa6n1bsm32ki4-lua_cliargs",
-  "sha256": "0a4920kyqf4qc12srg8yvwfwh33n6pm6k2md1jy7mfqb1w2ymgf0",
-  "hash": "sha256-wL3qBQ8Lu3q8DK2Kaeo1dgzIHd8evaxFYJg47CcQiSg=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "lua_cliargs";
+    rev = "v3.0.2";
+    hash = "sha256-wL3qBQ8Lu3q8DK2Kaeo1dgzIHd8evaxFYJg47CcQiSg=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/lunarmodules/lua_cliargs.git";
@@ -1794,27 +1507,19 @@ buildLuarocksPackage {
   };
 }) {};
 
-luabitop = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }:
+luabitop = callPackage({ buildLuarocksPackage, fetchFromGitHub, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luabitop";
   version = "1.0.2-3";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/teto/luabitop.git",
-  "rev": "8d7b674386460ca83e9510b3a8a4481344eb90ad",
-  "date": "2021-08-30T10:14:03+02:00",
-  "path": "/nix/store/sdnza0zpmlkz9jppnysasbvqy29f4zia-luabitop",
-  "sha256": "1b57f99lrjbwsi4m23cq5kpj0dbpxh3xwr0mxs2rzykr2ijpgwrw",
-  "hash": "sha256-PPN3ZRR5+p+F7hVk3gfsdzUg7yyYDVFJ1HzJTFNyp6w=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "teto";
+    repo = "luabitop";
+    rev = "96f0a3d73ae5183d0a81bc2f29326eaa06becbfd";
+    hash = "sha256-PrM8ncb3TaqgVhFdRa+rUsJ5WuIzS4/DRqVqj8tCaeg=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.3");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.3";
 
   meta = {
     homepage = "http://bitop.luajit.org/";
@@ -1823,7 +1528,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luacheck = callPackage({ argparse, buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luafilesystem }:
+luacheck = callPackage({ argparse, buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, luafilesystem }:
 buildLuarocksPackage {
   pname = "luacheck";
   version = "1.1.2-1";
@@ -1831,22 +1536,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luacheck-1.1.2-1.rockspec";
     sha256 = "11p7kf7v1b5rhi3m57g2zqwzmnnp79v76gh13b0fg2c78ljkq1k9";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luacheck.git",
-  "rev": "418f48976c73be697fe64b0eba9ea9821ac9bca8",
-  "date": "2023-12-08T15:44:11+03:00",
-  "path": "/nix/store/yf6mjkl5vw6fx57p0f0b046q0yfsn0h0-luacheck",
-  "sha256": "12jlp2a9l3x9a52b6za6h3jfx31kwg3cv4b10nqpp5jxx530fh81",
-  "hash": "sha256-AUEHRuldlnuxBWGRzcbjM4zu5IBGfbNEUakPmpS4VIo=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luacheck";
+    rev = "v1.1.2";
+    hash = "sha256-AUEHRuldlnuxBWGRzcbjM4zu5IBGfbNEUakPmpS4VIo=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ argparse lua luafilesystem ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ argparse luafilesystem ];
 
   meta = {
     homepage = "https://github.com/lunarmodules/luacheck";
@@ -1855,7 +1553,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luacov = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+luacov = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luacov";
   version = "0.15.0-1";
@@ -1863,22 +1561,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luacov-0.15.0-1.rockspec";
     sha256 = "18byfl23c73pazi60hsx0vd74hqq80mzixab76j36cyn8k4ni9db";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/keplerproject/luacov.git",
-  "rev": "19b52ca0298c8942df82dd441d7a4a588db4c413",
-  "date": "2021-02-15T18:47:58-03:00",
-  "path": "/nix/store/9vm38il9knzx2m66m250qj1fzdfzqg0y-luacov",
-  "sha256": "08550nna6qcb5jn6ds1hjm6010y8973wx4qbf9vrvrcn1k2yr6ki",
-  "hash": "sha256-cZrsxQyW5Z13cguTzsdJyIMATJUw6GasLItho6wFpSA=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "keplerproject";
+    repo = "luacov";
+    rev = "v0.15.0";
+    hash = "sha256-cZrsxQyW5Z13cguTzsdJyIMATJUw6GasLItho6wFpSA=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://keplerproject.github.io/luacov/";
@@ -1887,7 +1577,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luadbi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+luadbi = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luadbi";
   version = "0.7.3-1";
@@ -1895,22 +1585,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luadbi-0.7.3-1.rockspec";
     sha256 = "0lyiwyg6qnnj7d5rxim6b9p68nbszmwhg57xjlvalbcgwgipk1ns";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mwild1/luadbi",
-  "rev": "eee6ef21c75cfb25c5166fd94c0c5a2ed2bf0f85",
-  "date": "2024-03-04T17:01:25-05:00",
-  "path": "/nix/store/ryvf83j6b2j4c40jlam6ccf75fn6rrfh-luadbi",
-  "sha256": "1wivk3z1vab4izfn3jnqj7rcw3797x0sby5131hz9g07irxvys1g",
-  "hash": "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mwild1";
+    repo = "luadbi";
+    rev = "v0.7.3";
+    hash = "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/mwild1/luadbi";
@@ -1919,30 +1601,23 @@ buildLuarocksPackage {
   };
 }) {};
 
-luadbi-mysql = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }:
+luadbi-mysql = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder, luadbi }:
 buildLuarocksPackage {
   pname = "luadbi-mysql";
   version = "0.7.3-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/luadbi-mysql-0.7.3-1.rockspec";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luadbi-mysql-0.7.3-1.rockspec";
     sha256 = "1x0pl6qpdi4vmhxs2076kkxmikbv0asndh8lp34r47lym37hcrr3";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mwild1/luadbi",
-  "rev": "eee6ef21c75cfb25c5166fd94c0c5a2ed2bf0f85",
-  "date": "2024-03-04T17:01:25-05:00",
-  "path": "/nix/store/ryvf83j6b2j4c40jlam6ccf75fn6rrfh-luadbi",
-  "sha256": "1wivk3z1vab4izfn3jnqj7rcw3797x0sby5131hz9g07irxvys1g",
-  "hash": "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mwild1";
+    repo = "luadbi";
+    rev = "v0.7.3";
+    hash = "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua luadbi ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
+  propagatedBuildInputs = [ luadbi ];
 
   meta = {
     homepage = "https://github.com/mwild1/luadbi";
@@ -1951,7 +1626,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luadbi-postgresql = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }:
+luadbi-postgresql = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder, luadbi }:
 buildLuarocksPackage {
   pname = "luadbi-postgresql";
   version = "0.7.3-1";
@@ -1959,22 +1634,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luadbi-postgresql-0.7.3-1.rockspec";
     sha256 = "1bnjsgk7cl6wmfhmn8b0av49yabf8flhdi1jhczksvvpf32p77bw";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mwild1/luadbi",
-  "rev": "eee6ef21c75cfb25c5166fd94c0c5a2ed2bf0f85",
-  "date": "2024-03-04T17:01:25-05:00",
-  "path": "/nix/store/ryvf83j6b2j4c40jlam6ccf75fn6rrfh-luadbi",
-  "sha256": "1wivk3z1vab4izfn3jnqj7rcw3797x0sby5131hz9g07irxvys1g",
-  "hash": "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mwild1";
+    repo = "luadbi";
+    rev = "v0.7.3";
+    hash = "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua luadbi ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
+  propagatedBuildInputs = [ luadbi ];
 
   meta = {
     homepage = "https://github.com/mwild1/luadbi";
@@ -1983,7 +1651,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luadbi-sqlite3 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder, luadbi }:
+luadbi-sqlite3 = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder, luadbi }:
 buildLuarocksPackage {
   pname = "luadbi-sqlite3";
   version = "0.7.3-1";
@@ -1991,22 +1659,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luadbi-sqlite3-0.7.3-1.rockspec";
     sha256 = "0ppkk1jkxw2fhc4x26h7h2bks51shl3am552phn7all5h3k7h3by";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mwild1/luadbi",
-  "rev": "eee6ef21c75cfb25c5166fd94c0c5a2ed2bf0f85",
-  "date": "2024-03-04T17:01:25-05:00",
-  "path": "/nix/store/ryvf83j6b2j4c40jlam6ccf75fn6rrfh-luadbi",
-  "sha256": "1wivk3z1vab4izfn3jnqj7rcw3797x0sby5131hz9g07irxvys1g",
-  "hash": "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mwild1";
+    repo = "luadbi";
+    rev = "v0.7.3";
+    hash = "sha256-L2i/e44HvPRhGKH4pUE/6QzO8pHYymHdj2SpHf6YO/I=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua luadbi ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
+  propagatedBuildInputs = [ luadbi ];
 
   meta = {
     homepage = "https://github.com/mwild1/luadbi";
@@ -2015,7 +1676,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaepnf = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lpeg, lua, luaAtLeast, luaOlder }:
+luaepnf = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lpeg, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luaepnf";
   version = "0.3-2";
@@ -2023,22 +1684,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luaepnf-0.3-2.rockspec";
     sha256 = "0kqmnj11wmfpc9mz04zzq8ab4mnbkrhcgc525wrq6pgl3p5li8aa";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/siffiejoe/lua-luaepnf.git",
-  "rev": "4e0a867ff54cf424e1558781f5d2c85d2dc2137c",
-  "date": "2015-01-15T16:54:10+01:00",
-  "path": "/nix/store/n7gb0z26sl7dzdyy3bx1y3cz3npsna7d-lua-luaepnf",
-  "sha256": "1lvsi3fklhvz671jgg0iqn0xbkzn9qjcbf2ks41xxjz3lapjr6c9",
-  "hash": "sha256-iZksr6Ljy94D0VO4xSRO9s/VgcURvCfDMX9DOt2IetM=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "siffiejoe";
+    repo = "lua-luaepnf";
+    rev = "v0.3";
+    hash = "sha256-iZksr6Ljy94D0VO4xSRO9s/VgcURvCfDMX9DOt2IetM=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lpeg lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
+  propagatedBuildInputs = [ lpeg ];
 
   meta = {
     homepage = "http://siffiejoe.github.io/lua-luaepnf/";
@@ -2047,7 +1701,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaevent = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+luaevent = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luaevent";
   version = "0.4.6-1";
@@ -2060,8 +1714,7 @@ buildLuarocksPackage {
     sha256 = "0pbh315d3p7hxgzmbhphkcldxv2dadbka96131b8j5914nxvl4nx";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/harningt/luaevent";
@@ -2070,7 +1723,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaexpat = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luaexpat = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luaexpat";
   version = "1.4.1-1";
@@ -2078,22 +1731,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luaexpat-1.4.1-1.rockspec";
     sha256 = "1abwd385x7wnza7qqz5s4aj6m2l1c23pjmbgnpq73q0s17pn1h0c";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luaexpat.git",
-  "rev": "e0dd18e946f079a1308497cfde1f6ad482858e15",
-  "date": "2024-04-09T09:50:02+02:00",
-  "path": "/nix/store/3n2hssn7d5wzvi127hy0am64yv0i2q9a-luaexpat",
-  "sha256": "14x4wqjcjd6v6zirpkkm7d9vbv4y897v598jbwrql4w0hw7z5xqj",
-  "hash": "sha256-EvfyD4eAE4ozXxKlsk9Cnuy1Uzt1zpvjN9s0ySTmpJM=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luaexpat";
+    rev = "1.4.1";
+    hash = "sha256-SnI+a7555R/EFFdnrvJohP6uzwQiMNQPqgp0jxAI178=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://lunarmodules.github.io/luaexpat";
@@ -2103,7 +1748,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaffi = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luaffi = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luaffi";
   version = "scm-1";
@@ -2111,22 +1756,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luaffi-scm-1.rockspec";
     sha256 = "1nia0g4n1yv1sbv5np572y8yfai56a8bnscir807s5kj5bs0xhxm";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/facebook/luaffifb.git",
-  "rev": "a1cb731b08c91643b0665935eb5622b3d621211b",
-  "date": "2021-03-01T11:46:30-05:00",
-  "path": "/nix/store/6dwfn64p3clcsxkq41b307q8izi0fvji-luaffifb",
-  "sha256": "0nj76fw3yi57vfn35yvbdmpdbg9gmn5j1gw84ajs9w1j86sc0661",
-  "hash": "sha256-wRjAtEEy8KSlIoi/IIutL73Vbm1r+zKs26dEP7gzR1o=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "luaffifb";
+    rev = "a1cb731b08c91643b0665935eb5622b3d621211b";
+    hash = "sha256-wRjAtEEy8KSlIoi/IIutL73Vbm1r+zKs26dEP7gzR1o=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/facebook/luaffifb";
@@ -2135,7 +1772,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luafilesystem = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luafilesystem = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luafilesystem";
   version = "1.8.0-1";
@@ -2143,22 +1780,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luafilesystem-1.8.0-1.rockspec";
     sha256 = "18nkaks0b75dmycljg5vljap5w8d0ysdkg96yl5szgzr7nzrymfa";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/keplerproject/luafilesystem",
-  "rev": "7c6e1b013caec0602ca4796df3b1d7253a2dd258",
-  "date": "2020-04-22T22:16:42-03:00",
-  "path": "/nix/store/qzjav1cmn4zwclpfs0xzykpbv835d84z-luafilesystem",
-  "sha256": "16hpwhj6zgkjns3zilcg3lxfijm3cl71v39y9n5lbjk4b9kkwh54",
-  "hash": "sha256-pEA+Z1pkykWLTT6NHQ5lo8roOh2P0fiHtnK+byTkF5o=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "keplerproject";
+    repo = "luafilesystem";
+    rev = "v1_8_0";
+    hash = "sha256-pEA+Z1pkykWLTT6NHQ5lo8roOh2P0fiHtnK+byTkF5o=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/keplerproject/luafilesystem";
@@ -2168,7 +1797,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lualdap = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+lualdap = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "lualdap";
   version = "1.4.0-1";
@@ -2176,22 +1805,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lualdap-1.4.0-1.rockspec";
     sha256 = "0n924gxm6ccr9hjk4bi5z70vgh7g75dl7293pab41a2qcrlsj9nk";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lualdap/lualdap",
-  "rev": "7a73c883012f9d12a05563afbb3481a57055368c",
-  "date": "2023-11-04T09:38:06+01:00",
-  "path": "/nix/store/7j6wl1f9qg4kh9zwm8fnc0ky7zhf7qbf-lualdap",
-  "sha256": "0xq0xi3ymg5lk6dh7782ddjnz5bjycd2xnc5dp1cwssi37nm7pdv",
-  "hash": "sha256-u91T7RlRa87CbYXZLhrzcpVvZWsCnQObmbS86kfsAHc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lualdap";
+    repo = "lualdap";
+    rev = "v1.4.0";
+    hash = "sha256-u91T7RlRa87CbYXZLhrzcpVvZWsCnQObmbS86kfsAHc=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://lualdap.github.io/lualdap/";
@@ -2201,7 +1822,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lualogging = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, luasocket }:
+lualogging = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luasocket }:
 buildLuarocksPackage {
   pname = "lualogging";
   version = "1.8.2-1";
@@ -2209,19 +1830,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/lualogging-1.8.2-1.rockspec";
     sha256 = "164c4xgwkv2ya8fbb22wm48ywc4gx939b574r6bgl8zqayffdqmx";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/lualogging.git",
-  "rev": "465c994788f1bc18fca950934fa5ec9a909f496c",
-  "date": "2023-01-27T20:29:41+01:00",
-  "path": "/nix/store/pvb3yq11xgqhq6559sjd8rkf1x991rrz-lualogging",
-  "sha256": "1mz5iiv9pfikkm4ay7j0q6mk3bmcxylnlg9piwda47xxc1zyb1j4",
-  "hash": "sha256-RIblf2C9H6Iajzc9aqnvrK4xq8FAHq9InTO6m3aM5dc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "lualogging";
+    rev = "v1.8.2";
+    hash = "sha256-RIblf2C9H6Iajzc9aqnvrK4xq8FAHq9InTO6m3aM5dc=";
+  };
 
   propagatedBuildInputs = [ luasocket ];
 
@@ -2232,7 +1846,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaossl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua }:
+luaossl = callPackage({ buildLuarocksPackage, fetchurl, fetchzip }:
 buildLuarocksPackage {
   pname = "luaossl";
   version = "20220711-0";
@@ -2245,7 +1859,6 @@ buildLuarocksPackage {
     sha256 = "1a9pgmc6fbhgh1m9ksz9fq057yzz46npqgakcsy9vngg47xacfdb";
   };
 
-  propagatedBuildInputs = [ lua ];
 
   meta = {
     homepage = "http://25thandclement.com/~william/projects/luaossl.html";
@@ -2254,7 +1867,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaposix = callPackage({ bit32, buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+luaposix = callPackage({ bit32, buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luaposix";
   version = "34.1.1-1";
@@ -2267,8 +1880,8 @@ buildLuarocksPackage {
     sha256 = "0863r8c69yx92lalj174qdhavqmcs2cdimjim6k55qj9yn78v9zl";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ bit32 lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
+  propagatedBuildInputs = [ bit32 ];
 
   meta = {
     homepage = "http://github.com/luaposix/luaposix/";
@@ -2278,7 +1891,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luarepl = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+luarepl = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luarepl";
   version = "0.10-1";
@@ -2291,8 +1904,7 @@ buildLuarocksPackage {
     sha256 = "0wv37h9w6y5pgr39m7yxbf8imkwvaila6rnwjcp0xsxl5c1rzfjm";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/hoelzro/lua-repl";
@@ -2301,7 +1913,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luarocks-build-rust-mlua = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }:
+luarocks-build-rust-mlua = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
 buildLuarocksPackage {
   pname = "luarocks-build-rust-mlua";
   version = "0.2.0-1";
@@ -2309,19 +1921,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luarocks-build-rust-mlua-0.2.0-1.rockspec";
     sha256 = "0mpxj2wpzgqffic1j6agisaawbfhh16gis29x6y60kyjq446mv0z";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/khvzak/luarocks-build-rust-mlua",
-  "rev": "461a9a3b717d4a34d29b6a324046ff8773ebe943",
-  "date": "2023-08-29T00:54:12+01:00",
-  "path": "/nix/store/qcls9aqaahfpykfphrnivg2wh7jdpcfv-luarocks-build-rust-mlua",
-  "sha256": "071lpnzn49fn8gvkcqkryl1h934yv5x1rw5mnki3d0xzzmg6pavz",
-  "hash": "sha256-f6trXv2/gzbitLXwHHrZnowEA/V5Yjb3Q9YlYr+9NBw=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "khvzak";
+    repo = "luarocks-build-rust-mlua";
+    rev = "0.2.0";
+    hash = "sha256-f6trXv2/gzbitLXwHHrZnowEA/V5Yjb3Q9YlYr+9NBw=";
+  };
 
 
   meta = {
@@ -2356,7 +1961,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luasec = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luasocket }:
+luasec = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, luasocket }:
 buildLuarocksPackage {
   pname = "luasec";
   version = "1.3.2-1";
@@ -2364,22 +1969,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luasec-1.3.2-1.rockspec";
     sha256 = "09nqs60cmbq1bi70cdh7v5xjnlsm2mrxv9pmbbvczijvz184jh33";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/brunoos/luasec",
-  "rev": "4c06287052d68fdbe7429b8f967cdc8ee94aa44a",
-  "date": "2023-08-31T17:09:53-03:00",
-  "path": "/nix/store/wnl78b5l3dxw52slphmi4rmr1cd8bd3r-luasec",
-  "sha256": "0rrdfbnkd8pgqwh3f0iyd5cxy7g1h0568a88m3sq1z7715js4yx3",
-  "hash": "sha256-o3uiZQnn/ID1qAgpZAqA4R3fWWk+Ajcgx++iNu1yLWc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "brunoos";
+    repo = "luasec";
+    rev = "v1.3.2";
+    hash = "sha256-o3uiZQnn/ID1qAgpZAqA4R3fWWk+Ajcgx++iNu1yLWc=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua luasocket ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ luasocket ];
 
   meta = {
     homepage = "https://github.com/brunoos/luasec/wiki";
@@ -2389,7 +1987,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luasnip = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, jsregexp, lua, luaOlder }:
+luasnip = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, jsregexp, luaOlder }:
 buildLuarocksPackage {
   pname = "luasnip";
   version = "2.3.0-1";
@@ -2402,8 +2000,8 @@ buildLuarocksPackage {
     sha256 = "0bbackpym8k11gm32iwwzqjnqanpralanfjkl4lrs33xl7lsylqk";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ jsregexp lua ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ jsregexp ];
 
   meta = {
     homepage = "https://github.com/L3MON4D3/LuaSnip";
@@ -2412,7 +2010,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luasocket = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luasocket = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luasocket";
   version = "3.1.0-1";
@@ -2420,22 +2018,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luasocket-3.1.0-1.rockspec";
     sha256 = "0wg9735cyz2gj7r9za8yi83w765g0f4pahnny7h0pdpx58pgfx4r";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luasocket.git",
-  "rev": "95b7efa9da506ef968c1347edf3fc56370f0deed",
-  "date": "2022-07-27T10:07:00+03:00",
-  "path": "/nix/store/r5pqxqjkdwl80nmjkv400mbls7cfymjc-luasocket",
-  "sha256": "13hyf9cvny0kxwyg08929kkl31w74j66fj6zg1myyjr9nh5b795h",
-  "hash": "sha256-sKSzCrQpS+9reN9IZ4wkh4dB50wiIfA87xN4u1lyHo4=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luasocket";
+    rev = "v3.1.0";
+    hash = "sha256-sKSzCrQpS+9reN9IZ4wkh4dB50wiIfA87xN4u1lyHo4=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/lunarmodules/luasocket";
@@ -2444,7 +2034,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luasql-sqlite3 = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luasql-sqlite3 = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luasql-sqlite3";
   version = "2.6.1-3";
@@ -2452,22 +2042,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luasql-sqlite3-2.6.1-3.rockspec";
     sha256 = "1qf8cx4cmsngwp65ksdsf5dsv6yhb4qwdrd2lkpyqaq6p55jfkyb";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luasql.git",
-  "rev": "930aeb330781b9d77daff9d87ba31314939ebc23",
-  "date": "2024-02-07T15:31:36-03:00",
-  "path": "/nix/store/6sljqfgnipf4l8czzgry0y408y5818f4-luasql",
-  "sha256": "1f911s111h613b8psmqwknmm13z644rfdl4n6crs3n1v63n4dsmc",
-  "hash": "sha256-rOpG7DA72KEzM5bQ5jIh5o9Qq50cV33RGsHAEIIOIbk=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luasql";
+    rev = "2.6.0";
+    hash = "sha256-bRddE9K9f6TFBD2nY5kkS0BzXilfUP7Z358QLPfna+I=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://lunarmodules.github.io/luasql/";
@@ -2477,7 +2059,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luassert = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, say }:
+luassert = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, say }:
 buildLuarocksPackage {
   pname = "luassert";
   version = "1.9.0-1";
@@ -2485,22 +2067,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luassert-1.9.0-1.rockspec";
     sha256 = "1bkzr03190p33lprgy51nl84aq082fyc3f7s3wkk7zlay4byycxd";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luassert.git",
-  "rev": "8d8dc8a54cc468048a128a867f6449a6c3fdd11a",
-  "date": "2022-08-24T00:00:45+03:00",
-  "path": "/nix/store/vfcl25wxps5kvh5prjkkjlj1ga3kgw63-luassert",
-  "sha256": "0wlp6qdm9dkwzs8lvnj7zvmid4y12v717ywlhxn2brkbjpvl2dwf",
-  "hash": "sha256-jjdB95Vr5iVsh5T7E84WwZMW6/5H2k2R/ny2VBs2l3I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luassert";
+    rev = "v1.9.0";
+    hash = "sha256-jjdB95Vr5iVsh5T7E84WwZMW6/5H2k2R/ny2VBs2l3I=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua say ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ say ];
 
   meta = {
     homepage = "https://lunarmodules.github.io/busted/";
@@ -2509,7 +2084,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luasystem = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+luasystem = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luasystem";
   version = "0.3.0-2";
@@ -2517,22 +2092,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luasystem-0.3.0-2.rockspec";
     sha256 = "02kwkcwf81v6ncxl1ng2pxlhalz78q2476snh5xxv3wnwqwbp10a";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/luasystem.git",
-  "rev": "c06963917ccc951a1058d7b7f412c52d3c4f443a",
-  "date": "2023-12-16T00:18:54+01:00",
-  "path": "/nix/store/kbal1mi8j60d3nm2mf7kdhz55dv23qk6-luasystem",
-  "sha256": "11d65rnf8y2jnr5nc5gij666p1bsw701ldd9n8sjm0bq3z9lfcd1",
-  "hash": "sha256-oTFH0x94gSo1sqk1GsDheoVrjJHxFWZLtlJ45GwupoU=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "luasystem";
+    rev = "v0.3.0";
+    hash = "sha256-oTFH0x94gSo1sqk1GsDheoVrjJHxFWZLtlJ45GwupoU=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/lunarmodules/luasystem";
@@ -2541,7 +2108,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaunbound = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }:
+luaunbound = callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luaunbound";
   version = "1.0.0-1";
@@ -2554,8 +2121,7 @@ buildLuarocksPackage {
     sha256 = "1lsh0ylp5xskygxl5qdv6mhkm1x8xp0vfd5prk5hxkr19jk5mr3d";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://www.zash.se/luaunbound.html";
@@ -2564,7 +2130,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luaunit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+luaunit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luaunit";
   version = "3.4-1";
@@ -2577,8 +2143,7 @@ buildLuarocksPackage {
     sha256 = "0qf07y3229lq3qq1mfkv83gzbc7dgyr67hysqjb5bbk333flv56r";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://github.com/bluebird75/luaunit";
@@ -2588,7 +2153,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luautf8 = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+luautf8 = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luautf8";
   version = "0.1.5-2";
@@ -2601,8 +2166,7 @@ buildLuarocksPackage {
     sha256 = "077ji840wfmy7hq0y13l01dv6jhasznykf89gk9m672jhz6dxggl";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://github.com/starwing/luautf8";
@@ -2612,7 +2176,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luazip = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+luazip = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luazip";
   version = "1.2.7-1";
@@ -2620,22 +2184,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/luazip-1.2.7-1.rockspec";
     sha256 = "1wxy3p2ksaq4s8lg925mi9cvbh875gsapgkzm323dr8qaxxg7mba";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mpeterv/luazip",
-  "rev": "e424f667cc5c78dd19bb5eca5a86b3c8698e0ce5",
-  "date": "2017-09-05T14:02:52+03:00",
-  "path": "/nix/store/idllj442c0iwnx1cpkrifx2afb7vh821-luazip",
-  "sha256": "1jlqzqlds3aa3hnp737fm2awcx0hzmwyd87klv0cv13ny5v9f2x4",
-  "hash": "sha256-pAuXdvF2hM3ApvOg5nn9EHTGlajujHMtHEoN3Sj+mMo=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mpeterv";
+    repo = "luazip";
+    rev = "1.2.7";
+    hash = "sha256-pAuXdvF2hM3ApvOg5nn9EHTGlajujHMtHEoN3Sj+mMo=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
 
   meta = {
     homepage = "https://github.com/mpeterv/luazip";
@@ -2644,27 +2200,22 @@ buildLuarocksPackage {
   };
 }) {};
 
-lush-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }:
+lush-nvim = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "lush.nvim";
   version = "scm-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/lush.nvim-scm-1.rockspec";
+    sha256 = "0ivir5p3mmv051pyya2hj1yrnflrv8bp38dx033i3kzfbpyg23ca";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "rktjmp";
+    repo = "lush.nvim";
+    rev = "7c0e27f50901481fe83b974493c4ea67a4296aeb";
+    hash = "sha256-GVGIZPBrunaWexwdnkbc0LxM3xMHslrwON2FunN3TDE=";
+  };
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/rktjmp/lush.nvim",
-  "rev": "bc12f010b34cfeefac35720656eb777753b165d9",
-  "date": "2024-03-17T14:18:46+11:00",
-  "path": "/nix/store/9i1sasxxkjc8gbmnhlm0hq5x19hpcyzx-lush.nvim",
-  "sha256": "06am05fcipfxz8nfr6yg8yhkcdir53asl9h3k40hl0sscx4a03s9",
-  "hash": "sha256-SQ+gSGdaAwoBmQMmqtUoOTY2oUfPm+ws+t3dyFwBVRk=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
-
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
 
   meta = {
     homepage = "https://github.com/rktjmp/lush.nvim";
@@ -2674,7 +2225,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luuid = callPackage({ buildLuarocksPackage, fetchurl, lua, luaAtLeast, luaOlder }:
+luuid = callPackage({ buildLuarocksPackage, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "luuid";
   version = "20120509-2";
@@ -2687,8 +2238,7 @@ buildLuarocksPackage {
     sha256 = "1bfkj613d05yps3fivmz0j1bxf2zkg9g1yl0ifffgw0vy00hpnvm";
   };
 
-  disabled = (luaOlder "5.2") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.2" || luaAtLeast "5.4";
 
   meta = {
     homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#luuid";
@@ -2697,7 +2247,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-luv = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+luv = callPackage({ buildLuarocksPackage, cmake, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "luv";
   version = "1.44.2-1";
@@ -2710,8 +2260,8 @@ buildLuarocksPackage {
     sha256 = "0c2wkszxw6gwa4l6g1d2zzh660j13lif6c7a910vq7zn8jycgd9y";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
+  nativeBuildInputs = [ cmake ];
 
   meta = {
     homepage = "https://github.com/luvit/luv";
@@ -2720,7 +2270,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-lyaml = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+lyaml = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "lyaml";
   version = "6.2.8-1";
@@ -2733,8 +2283,7 @@ buildLuarocksPackage {
     sha256 = "0r3jjsd8x2fs1aanki0s1mvpznl16f32c1qfgmicy0icgy5xfch0";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://github.com/gvvaughan/lyaml";
@@ -2744,7 +2293,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-magick = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua }:
+magick = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lua }:
 buildLuarocksPackage {
   pname = "magick";
   version = "1.6.0-1";
@@ -2752,22 +2301,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/magick-1.6.0-1.rockspec";
     sha256 = "1pg150xsxnqvlhxpiy17s9hm4dkc84v46mlwi9rhriynqz8qks9w";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/leafo/magick.git",
-  "rev": "6971fa700c4d392130492a3925344b51c7cc54aa",
-  "date": "2022-03-10T20:02:11-08:00",
-  "path": "/nix/store/fpl99q09zg3qnk4kagxk1djabl1dm47l-magick",
-  "sha256": "01b9qsz27f929rz5z7vapqhazxak74sichdwkjwb219nlhrwfncm",
-  "hash": "sha256-lVnHM6Q2BbG4nLxBFjU5U/WvIL5qn19+TiK5I77GaQU=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "leafo";
+    repo = "magick";
+    rev = "v1.6.0";
+    hash = "sha256-gda+vLrWyMQ553jVCIRl1qYTS/rXsGhxrBsrJyI8EN4=";
+  };
 
-  disabled = (lua.luaversion != "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = lua.luaversion != "5.1";
 
   meta = {
     homepage = "https://github.com/leafo/magick.git";
@@ -2777,7 +2318,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-markdown = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+markdown = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "markdown";
   version = "0.33-1";
@@ -2785,22 +2326,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/markdown-0.33-1.rockspec";
     sha256 = "02sixijfi6av8h59kx3ngrhygjn2sx1c85c0qfy20gxiz72wi1pl";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/mpeterv/markdown",
-  "rev": "8c09109924b218aaecbfd4d4b1de538269c4d765",
-  "date": "2015-09-27T17:49:28+03:00",
-  "path": "/nix/store/akl80hh077hm20bdqj1lksy0fn2285b5-markdown",
-  "sha256": "019bk2qprszqncnm8zy6ns6709iq1nwkf7i86nr38f035j4lc11y",
-  "hash": "sha256-PgRGiSwDODSyNSgeN7kNOCZwjLbGf1Qts/jrfLGYKwU=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "mpeterv";
+    repo = "markdown";
+    rev = "0.33";
+    hash = "sha256-PgRGiSwDODSyNSgeN7kNOCZwjLbGf1Qts/jrfLGYKwU=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
 
   meta = {
     homepage = "https://github.com/mpeterv/markdown";
@@ -2809,7 +2342,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-mediator_lua = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+mediator_lua = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "mediator_lua";
   version = "1.1.2-0";
@@ -2822,8 +2355,7 @@ buildLuarocksPackage {
     sha256 = "16zzzhiy3y35v8advmlkzpryzxv5vji7727vwkly86q8sagqbxgs";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://olivinelabs.com/mediator_lua/";
@@ -2832,7 +2364,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-middleclass = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+middleclass = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "middleclass";
   version = "4.1.1-0";
@@ -2845,8 +2377,7 @@ buildLuarocksPackage {
     sha256 = "11ahv0b9wgqfnabv57rb7ilsvn2vcvxb1czq6faqrsqylvr5l7nh";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/kikito/middleclass";
@@ -2855,7 +2386,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-mimetypes = callPackage({ buildLuarocksPackage, fetchurl, lua, luaOlder }:
+mimetypes = callPackage({ buildLuarocksPackage, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "mimetypes";
   version = "1.0.0-3";
@@ -2868,8 +2399,7 @@ buildLuarocksPackage {
     sha256 = "1rc5lnzvw4cg8wxn4w4sar2xgf5vaivdd2hgpxxcqfzzcmblg1zk";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github/lunarmodules/lua-mimetypes/";
@@ -2878,27 +2408,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-moonscript = callPackage({ argparse, buildLuarocksPackage, fetchgit, lpeg, lua, luaOlder, luafilesystem }:
+moonscript = callPackage({ argparse, buildLuarocksPackage, fetchFromGitHub, lpeg, luaOlder, luafilesystem }:
 buildLuarocksPackage {
   pname = "moonscript";
   version = "dev-1";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/leafo/moonscript.git",
-  "rev": "d5341c9093c49d3724072b209cde28b5cb0f47c9",
-  "date": "2023-11-06T12:54:51-08:00",
-  "path": "/nix/store/djmh6brp03gy8nyzxjfvzkpy440fj05z-moonscript",
-  "sha256": "1h65cxh5rhnxx99asdydkc9yf6gnf61m97jvl03g31f65jl22lxi",
-  "hash": "sha256-sVMhqCzGhfEGoFueVINx9hnnE5vNN61S6t3CXGBnxcA=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "leafo";
+    repo = "moonscript";
+    rev = "d5341c9093c49d3724072b209cde28b5cb0f47c9";
+    hash = "sha256-sVMhqCzGhfEGoFueVINx9hnnE5vNN61S6t3CXGBnxcA=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ argparse lpeg lua luafilesystem ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ argparse lpeg luafilesystem ];
 
   meta = {
     homepage = "http://moonscript.org";
@@ -2929,21 +2452,21 @@ buildLuarocksPackage {
   };
 }) {};
 
-neotest = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, plenary-nvim }:
+neotest = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, plenary-nvim }:
 buildLuarocksPackage {
   pname = "neotest";
-  version = "4.2.0-1";
+  version = "5.2.3-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/neotest-4.2.0-1.rockspec";
-    sha256 = "0mkjwag6h7psff6rmsirn945ax38dszag0kwch2az2axk1nl6nj8";
+    url    = "mirror://luarocks/neotest-5.2.3-1.rockspec";
+    sha256 = "16pwkwv2dmi9aqhp6bdbgwhksi891iz73rvksqmv136jx6fi7za1";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/nvim-neotest/neotest/archive/a2f1cb4072bb29fcc067605fb712bbd83917513e.zip";
-    sha256 = "0f8rn9v26v3a6yq0wngdzrgz5rdwlpmnc74b98l1aqb2ikn6gxvd";
+    url    = "https://github.com/nvim-neotest/neotest/archive/5caac5cc235d495a2382bc2980630ef36ac87032.zip";
+    sha256 = "1i1d6m17wf3p76nm75jk4ayd4zyhslmqi2pc7j8qx87391mnz2c4";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua plenary-nvim ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ nvim-nio plenary-nvim ];
 
   meta = {
     homepage = "https://github.com/nvim-neotest/neotest";
@@ -2953,7 +2476,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-nlua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+nlua = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "nlua";
   version = "0.1.0-1";
@@ -2966,8 +2489,7 @@ buildLuarocksPackage {
     sha256 = "1x3pbv5ngbk0sjgwfpjsv3x49wzq4x29d9rm0hgyyb2g2mwag3jc";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/mfussenegger/nlua";
@@ -2977,7 +2499,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-nui-nvim = callPackage({ buildLuarocksPackage, fetchgit, fetchurl }:
+nui-nvim = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl }:
 buildLuarocksPackage {
   pname = "nui.nvim";
   version = "0.3.0-1";
@@ -2985,19 +2507,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/nui.nvim-0.3.0-1.rockspec";
     sha256 = "0ng75wzbc0bn4zgwqk7dx5hazybfqxpjfzp7k2syh7kajmsy8z8b";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/MunifTanjim/nui.nvim.git",
-  "rev": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733",
-  "date": "2024-02-17T02:19:19+06:00",
-  "path": "/nix/store/llww4x7kg89998avrv3h15zhsajsr37h-nui.nvim",
-  "sha256": "0fjrnhfhq7sn3am7283adar0jlf6gcyq303kxkwqvxzvvdg9nirg",
-  "hash": "sha256-L0ebXtv794357HOAgT17xlEJsmpqIHGqGlYfDB20WTo=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "MunifTanjim";
+    repo = "nui.nvim";
+    rev = "0.3.0";
+    hash = "sha256-L0ebXtv794357HOAgT17xlEJsmpqIHGqGlYfDB20WTo=";
+  };
 
 
   meta = {
@@ -3008,27 +2523,19 @@ buildLuarocksPackage {
   };
 }) {};
 
-nvim-cmp = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }:
+nvim-cmp = callPackage({ buildLuarocksPackage, fetchFromGitHub, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "nvim-cmp";
   version = "scm-1";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/hrsh7th/nvim-cmp",
-  "rev": "ce16de5665c766f39c271705b17fff06f7bcb84f",
-  "date": "2024-04-02T16:05:54+09:00",
-  "path": "/nix/store/f9ax2s683i9q6gr4mwh85fil8lqz00ax-nvim-cmp",
-  "sha256": "10i720fidv41421as9i2xp4d4kr69zfyvkxjhgv6h41fdi75070c",
-  "hash": "sha256-DBxQTmwuEGj2g7LP7d1PJk/SyO0iJq2CIIHsFh0QJ4I=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "hrsh7th";
+    repo = "nvim-cmp";
+    rev = "8f3c541407e691af6163e2447f3af1bd6e17f9a3";
+    hash = "sha256-rz+JMd/hsUEDNVan2sCuEGtbsOVi6oRmPtps+7qSXQE=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
 
   meta = {
     homepage = "https://github.com/hrsh7th/nvim-cmp";
@@ -3037,7 +2544,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-nvim-nio = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+nvim-nio = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "nvim-nio";
   version = "1.9.0-1";
@@ -3050,8 +2557,7 @@ buildLuarocksPackage {
     sha256 = "0y3afl42z41ymksk29al5knasmm9wmqzby860x8zj0i0mfb1q5k5";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/nvim-neotest/nvim-nio";
@@ -3061,21 +2567,21 @@ buildLuarocksPackage {
   };
 }) {};
 
-pathlib-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, nvim-nio }:
+pathlib-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio }:
 buildLuarocksPackage {
   pname = "pathlib.nvim";
-  version = "2.2.0-1";
+  version = "2.2.2-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/pathlib.nvim-2.2.0-1.rockspec";
-    sha256 = "0zj3psdq06822y8vl117z3y7zlc6jxwqppbv9irgwzr60wdz517n";
+    url    = "mirror://luarocks/pathlib.nvim-2.2.2-1.rockspec";
+    sha256 = "04dklc0ibl6dbfckmkpj2s1gvjfmr0k2hyagw37rxypifncrffkr";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/pysan3/pathlib.nvim/archive/v2.2.0.zip";
-    sha256 = "1nyl3y0z2rrr35dyk2ypv8xjx43zamqxlpdq468iyyhfvkplz9yw";
+    url    = "https://github.com/pysan3/pathlib.nvim/archive/v2.2.2.zip";
+    sha256 = "10jhbdffaw1rh1qppzllmy96dbsn741bk46mph5kxpjq4ldx27hz";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua nvim-nio ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ nvim-nio ];
 
   meta = {
     homepage = "https://pysan3.github.io/pathlib.nvim/";
@@ -3084,27 +2590,23 @@ buildLuarocksPackage {
   };
 }) {};
 
-penlight = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder, luafilesystem }:
+penlight = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, luafilesystem }:
 buildLuarocksPackage {
   pname = "penlight";
-  version = "dev-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/penlight.git",
-  "rev": "ba1c8e51e047e9f33fa45c6a5f3b93fe4a35727b",
-  "date": "2024-04-02T13:58:00+02:00",
-  "path": "/nix/store/ypgbcsi4n5pvjlzgq64qv0xvs7s01c4a-penlight",
-  "sha256": "0dw7ggnzwxaax1hvw6h4lb9ff0ap2wnaf3ma0fv1jqwaaav1gfd2",
-  "hash": "sha256-orkXtlKKYxm2A6oOpywXVwHn0qIEGr5h6Ep1/u17hzc=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  version = "1.14.0-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/penlight-1.14.0-1.rockspec";
+    sha256 = "1zmibf0pgcnf0lj1xmxs0srbyy1cswvb9g1jajy9lhicnpqqlgvh";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "penlight";
+    rev = "1.14.0";
+    hash = "sha256-4zAt0GgQEkg9toaUaDn3ST3RvjLUDsuOzrKi9lhq0fQ=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua luafilesystem ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ luafilesystem ];
 
   meta = {
     homepage = "https://lunarmodules.github.io/penlight";
@@ -3114,27 +2616,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-plenary-nvim = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder, luassert }:
+plenary-nvim = callPackage({ buildLuarocksPackage, fetchFromGitHub, luaAtLeast, luaOlder, luassert }:
 buildLuarocksPackage {
   pname = "plenary.nvim";
   version = "scm-1";
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/nvim-lua/plenary.nvim",
-  "rev": "8aad4396840be7fc42896e3011751b7609ca4119",
-  "date": "2024-03-25T13:22:05+01:00",
-  "path": "/nix/store/jni4wdb67id5s257ps8ld4is7m3cpqxr-plenary.nvim",
-  "sha256": "06ahw1mxjp5g1kbsdza29hyawr4blqzw3vb9d4rg2d5qmnwcbky0",
-  "hash": "sha256-wM/FuK24NPEyaWntwT+mi2SuPExC/abXDK9c2WvgUBk=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "nvim-lua";
+    repo = "plenary.nvim";
+    rev = "08e301982b9a057110ede7a735dd1b5285eb341f";
+    hash = "sha256-vy0MXEoSM4rvYpfwbc2PnilvMOA30Urv0FAxjXuvqQ8=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua luassert ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.4";
+  propagatedBuildInputs = [ luassert ];
 
   meta = {
     homepage = "http://github.com/nvim-lua/plenary.nvim";
@@ -3143,27 +2638,23 @@ buildLuarocksPackage {
   };
 }) {};
 
-rapidjson = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }:
+rapidjson = callPackage({ buildLuarocksPackage, cmake, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "rapidjson";
   version = "0.7.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/rapidjson-0.7.1-1.rockspec";
+    sha256 = "01lbsn9rckdyx0va7nm9dammic9117kxiawp55yg2h5q3p978d41";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "xpol";
+    repo = "lua-rapidjson";
+    rev = "v0.7.1";
+    hash = "sha256-y/czEVPtCt4uN1n49Qi7BrgZmkG+SDXlM5D2GvvO2qg=";
+  };
 
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/xpol/lua-rapidjson",
-  "rev": "242b40c8eaceb0cc43bcab88309736461cac1234",
-  "date": "2021-04-09T19:59:20+08:00",
-  "path": "/nix/store/65l71ph27pmipgrq8j4whg6n8h2avvs4-lua-rapidjson",
-  "sha256": "1a6srvximxlh6gjkaj5y86d1kf06pc4gby2r6wpdw2pdac8k7xyb",
-  "hash": "sha256-y/czEVPtCt4uN1n49Qi7BrgZmkG+SDXlM5D2GvvO2qg=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
-
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
+  nativeBuildInputs = [ cmake ];
 
   meta = {
     homepage = "https://github.com/xpol/lua-rapidjson";
@@ -3172,7 +2663,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-rest-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, lua-curl, luaOlder, mimetypes, nvim-nio, xml2lua }:
+rest-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua-curl, luaOlder, mimetypes, nvim-nio, xml2lua }:
 buildLuarocksPackage {
   pname = "rest.nvim";
   version = "2.0.1-1";
@@ -3185,8 +2676,8 @@ buildLuarocksPackage {
     sha256 = "09rs04d5h061zns1kdfycryx4ll8ix15q3ybpmqsdyp2gn8l77df";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua lua-curl mimetypes nvim-nio xml2lua ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ lua-curl mimetypes nvim-nio xml2lua ];
 
   meta = {
     homepage = "https://github.com/rest-nvim/rest.nvim";
@@ -3196,21 +2687,21 @@ buildLuarocksPackage {
   };
 }) {};
 
-rocks-config-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, rocks-nvim }:
+rocks-config-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, rocks-nvim }:
 buildLuarocksPackage {
   pname = "rocks-config.nvim";
-  version = "1.4.0-1";
+  version = "1.5.0-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/rocks-config.nvim-1.4.0-1.rockspec";
-    sha256 = "0q630hxcxx05v6agddm4f9hhp433hipsyhqy0m7y8fcgxkh6qxiz";
+    url    = "mirror://luarocks/rocks-config.nvim-1.5.0-1.rockspec";
+    sha256 = "14rj1p7grmdhi3xm683c3c441xxcldhi5flh6lg1fab1rm9mij6b";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v1.4.0.zip";
-    sha256 = "0yw7am97q3ybifqfnzy8b505cp8hwzlnycqvsjdwr16dl2ihn6v7";
+    url    = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v1.5.0.zip";
+    sha256 = "0kpvd9ddj1vhkz54ckqsym4fbj1krzpp8cslb20k8qk2n1ccjynv";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua rocks-nvim ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ rocks-nvim ];
 
   meta = {
     homepage = "https://github.com/nvim-neorocks/rocks-config.nvim";
@@ -3244,7 +2735,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-rocks-git-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, nvim-nio, rocks-nvim }:
+rocks-git-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio, rocks-nvim }:
 buildLuarocksPackage {
   pname = "rocks-git.nvim";
   version = "1.4.0-1";
@@ -3257,8 +2748,8 @@ buildLuarocksPackage {
     sha256 = "0yjigf9pzy53yylznnnb68dwmylx9a3qv84kdc2whsf4cj23m2nj";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua nvim-nio rocks-nvim ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ nvim-nio rocks-nvim ];
 
   meta = {
     homepage = "https://github.com/nvim-neorocks/rocks-git.nvim";
@@ -3268,45 +2759,67 @@ buildLuarocksPackage {
   };
 }) {};
 
-rocks-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, fidget-nvim, fzy, lua, luaOlder, nvim-nio, toml-edit }:
+rocks-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, fidget-nvim, fzy, luaOlder, nvim-nio, rtp-nvim, toml-edit }:
 buildLuarocksPackage {
   pname = "rocks.nvim";
-  version = "2.21.1-1";
+  version = "2.26.0-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/rocks.nvim-2.21.1-1.rockspec";
-    sha256 = "0qf0hbknn87y6fp49r9810fbnwprv6rmwdqj96c8iibxg7qzda23";
+    url    = "mirror://luarocks/rocks.nvim-2.26.0-1.rockspec";
+    sha256 = "1piypyxq1c6l203f3w8z4fhfi649h5ppl58lckvxph9dvidg11lf";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/nvim-neorocks/rocks.nvim/archive/v2.21.1.zip";
-    sha256 = "1va06snki6m93hs62ypy94chcjvg09pilqiivvr401vp2jzsmydx";
+    url    = "https://github.com/nvim-neorocks/rocks.nvim/archive/v2.26.0.zip";
+    sha256 = "10wck99dfwxv49pkd9pva7lqr4a79zccbqvb75qbxkgnj0yd5awc";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ fidget-nvim fzy lua nvim-nio toml-edit ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ fidget-nvim fzy nvim-nio rtp-nvim toml-edit ];
 
   meta = {
     homepage = "https://github.com/nvim-neorocks/rocks.nvim";
     description = "Neovim plugin management inspired by Cargo, powered by luarocks";
-    maintainers = with lib.maintainers; [ teto mrcjkb ];
+    maintainers = with lib.maintainers; [ mrcjkb ];
     license.fullName = "GPL-3.0";
   };
 }) {};
 
-rustaceanvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+
+rtp-nvim = callPackage ({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
+buildLuarocksPackage {
+  pname = "rtp.nvim";
+  version = "1.0.0-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/rtp.nvim-1.0.0-1.rockspec";
+    sha256 = "0ddlwhk62g3yx1ysddsmlggfqv0hj7dljgczfwij1ijbz7qyp3hy";
+  }).outPath;
+  src = fetchzip {
+    url    = "https://github.com/nvim-neorocks/rtp.nvim/archive/v1.0.0.zip";
+    sha256 = "1kx7qzdz8rpwsjcp63wwn619nrkxn6xd0nr5pfm3g0z4072nnpzn";
+  };
+
+  disabled = luaOlder "5.1";
+
+  meta = {
+    homepage = "https://github.com/nvim-neorocks/rtp.nvim";
+    description = "Source plugin and ftdetect directories on the Neovim runtimepath.";
+    license.fullName = "GPL-3.0";
+  };
+}) {};
+
+rustaceanvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
 buildLuarocksPackage {
   pname = "rustaceanvim";
-  version = "4.21.1-1";
+  version = "4.22.8-1";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/rustaceanvim-4.21.1-1.rockspec";
-    sha256 = "11z9rwnnqsmdrmzah2lwfxl01zk3yr0dnf9c2xqbcpfvq08v8p2c";
+    url    = "mirror://luarocks/rustaceanvim-4.22.8-1.rockspec";
+    sha256 = "18hghs9v9j3kv3fxwdp7qk9vhbxn4c8xd8pyxwnyjq5ad7ninr82";
   }).outPath;
   src = fetchzip {
-    url    = "https://github.com/mrcjkb/rustaceanvim/archive/4.21.1.zip";
-    sha256 = "0zb8h8m9ypdl9i8dvgm3lb9b7fgw746wq7y94b8dbqjmbwrdsspl";
+    url    = "https://github.com/mrcjkb/rustaceanvim/archive/4.22.8.zip";
+    sha256 = "1n9kqr8xdqamc8hd8a155h7rzyda8bz39n0zdgdw0j8hqc214vmm";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/mrcjkb/rustaceanvim";
@@ -3316,27 +2829,22 @@ buildLuarocksPackage {
   };
 }) {};
 
-say = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }:
+say = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "say";
-  version = "scm-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lunarmodules/say.git",
-  "rev": "3e1f783d0aa496eb21d16e85b2235335cb9332df",
-  "date": "2023-08-13T02:37:27+03:00",
-  "path": "/nix/store/5biavac0k8z0xg4rr3bm8z3kdi8mm8c0-say",
-  "sha256": "04dkf0av6n71vmz0h86i5brklvaf9p91lkldn1xldpdr0qqs0x63",
-  "hash": "sha256-w3SgMQa53UZ7sI1OGtJNTm068yrRIAh+3eFYsxVwsxE=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  version = "1.4.1-3";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/say-1.4.1-3.rockspec";
+    sha256 = "0iibmq5m5092y168banckgs15ngj2yjx11n40fyk7jly4pbasljq";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "lunarmodules";
+    repo = "say";
+    rev = "v1.4.1";
+    hash = "sha256-IjNkK1leVtYgbEjUqguVMjbdW+0BHAOCE0pazrVuF50=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://lunarmodules.github.io/say";
@@ -3345,30 +2853,22 @@ buildLuarocksPackage {
   };
 }) {};
 
-serpent = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaAtLeast, luaOlder }:
+serpent = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "serpent";
   version = "0.30-2";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/serpent-0.30-2.rockspec";
-    sha256 = "0v83lr9ars1n0djbh7np8jjqdhhaw0pdy2nkcqzqrhv27rzv494n";
+    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/serpent-0.30-2.rockspec";
+    sha256 = "01696wwp1m8jlcj0y1wwscnz3cpcjdvm8pcnc6c6issa2s4544vr";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/pkulchenko/serpent",
-  "rev": "d78683597606c6e13a1fed039bc91d86eb8f600f",
-  "date": "2017-09-01T21:35:14-07:00",
-  "path": "/nix/store/z6df44n3p07n4bia7s514vgngbkbpnap-serpent",
-  "sha256": "0q80yfrgqgr01qprf0hrp284ngb7fbcq1v9rbzmdkhbm9lpgy8v8",
-  "hash": "sha256-aCP/Lk11wdnqXzntgNlyZz1LkLgZApcvDiA//LLzAGE=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "pkulchenko";
+    repo = "serpent";
+    rev = "0.30";
+    hash = "sha256-aCP/Lk11wdnqXzntgNlyZz1LkLgZApcvDiA//LLzAGE=";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "https://github.com/pkulchenko/serpent";
@@ -3378,7 +2878,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-sqlite = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, luv }:
+sqlite = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luv }:
 buildLuarocksPackage {
   pname = "sqlite";
   version = "v1.2.2-0";
@@ -3386,19 +2886,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/sqlite-v1.2.2-0.rockspec";
     sha256 = "0jxsl9lpxsbzc6s5bwmh27mglkqz1299lz68vfxayvailwl3xbxm";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/tami5/sqlite.lua.git",
-  "rev": "6c00ab414dc1b69621b145908c582b747f24b46e",
-  "date": "2022-06-17T15:57:13+03:00",
-  "path": "/nix/store/637s46bsvsxfnzmy6ygig3y0vqmf3r8p-sqlite.lua",
-  "sha256": "0ckifx6xxrannn9szacgiiqjsp4rswghxscdl3s411dhas8djj1m",
-  "hash": "sha256-NUjZkFawhUD0oI3pDh/XmVwtcYyPqa+TtVbl3k13cTI=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "tami5";
+    repo = "sqlite.lua";
+    rev = "v1.2.2";
+    hash = "sha256-NUjZkFawhUD0oI3pDh/XmVwtcYyPqa+TtVbl3k13cTI=";
+  };
 
   propagatedBuildInputs = [ luv ];
 
@@ -3409,27 +2902,20 @@ buildLuarocksPackage {
   };
 }) {};
 
-std-_debug = callPackage({ buildLuarocksPackage, fetchgit, lua, luaAtLeast, luaOlder }:
+std-_debug = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "std._debug";
-  version = "git-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/lua-stdlib/_debug.git",
-  "rev": "8b80b14bbbe7259a47c160176546bb152bb2d6f1",
-  "date": "2023-01-31T16:39:35-07:00",
-  "path": "/nix/store/i24iz2hvnjp18iz9z8kljsy9iv17m2zl-_debug",
-  "sha256": "07z5lz3gy8wzzks79r3v68vckj42i3sybhfmqx7h2s58ld2kn5fd",
-  "hash": "sha256-zRU7RaOoaAFPx9XB5fWIgsjJNjJ75HT0/J8j/8an5R8=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  version = "1.0.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/std._debug-1.0.1-1.rockspec";
+    sha256 = "0mr9hgzfr9v37da9rfys2wjq48hi3lv27i3g38433dlgbxipsbc4";
+  }).outPath;
+  src = fetchzip {
+    url    = "http://github.com/lua-stdlib/_debug/archive/v1.0.1.zip";
+    sha256 = "19vfpv389q79vgxwhhr09l6l6hf6h2yjp09zvnp0l07ar4v660pv";
+  };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://lua-stdlib.github.io/_debug";
@@ -3438,7 +2924,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-std-normalize = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder, std-_debug }:
+std-normalize = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder, std-_debug }:
 buildLuarocksPackage {
   pname = "std.normalize";
   version = "2.0.3-1";
@@ -3451,8 +2937,8 @@ buildLuarocksPackage {
     sha256 = "1gyywglxd2y7ck3hk8ap73w0x7hf9irpg6vgs8yc6k9k4c5g3fgi";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua std-_debug ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
+  propagatedBuildInputs = [ std-_debug ];
 
   meta = {
     homepage = "https://lua-stdlib.github.io/normalize";
@@ -3461,7 +2947,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-stdlib = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaAtLeast, luaOlder }:
+stdlib = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaAtLeast, luaOlder }:
 buildLuarocksPackage {
   pname = "stdlib";
   version = "41.2.2-1";
@@ -3474,8 +2960,7 @@ buildLuarocksPackage {
     sha256 = "0ry6k0wh4vyar1z68s0qmqzkdkfn9lcznsl8av7x78qz6l16wfw4";
   };
 
-  disabled = (luaOlder "5.1") || (luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1" || luaAtLeast "5.5";
 
   meta = {
     homepage = "http://lua-stdlib.github.io/lua-stdlib";
@@ -3485,7 +2970,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-teal-language-server = callPackage({ buildLuarocksPackage, cyan, dkjson, fetchgit, fetchurl, luafilesystem }:
+teal-language-server = callPackage({ buildLuarocksPackage, cyan, dkjson, fetchFromGitHub, fetchurl, luafilesystem }:
 buildLuarocksPackage {
   pname = "teal-language-server";
   version = "dev-1";
@@ -3493,19 +2978,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/teal-language-server-dev-1.rockspec";
     sha256 = "01l44c6bknz7ff9xqgich31hlb0yk4ms5k1hs4rhm3cs95s5vlzc";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://git@github.com/teal-language/teal-language-server.git",
-  "rev": "67b5d7cad60b9df472851a2c61591f2aab97da47",
-  "date": "2022-12-21T20:33:53-06:00",
-  "path": "/nix/store/qyaz38njm8qgyfxca6m6f8i4lkfcfdb0-teal-language-server",
-  "sha256": "12nqarykmdvxxci9l6gq2yhn4pjzzqlxyrl2c8svb97hka68wjvx",
-  "hash": "sha256-fUuOjJrwpLU1YoJm3yn+X15ioRf4GZoi6323On1W2Io=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "teal-language";
+    repo = "teal-language-server";
+    rev = "67b5d7cad60b9df472851a2c61591f2aab97da47";
+    hash = "sha256-fUuOjJrwpLU1YoJm3yn+X15ioRf4GZoi6323On1W2Io=";
+  };
 
   propagatedBuildInputs = [ cyan dkjson luafilesystem ];
 
@@ -3516,7 +2994,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-telescope-manix = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder, telescope-nvim }:
+telescope-manix = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, telescope-nvim }:
 buildLuarocksPackage {
   pname = "telescope-manix";
   version = "1.0.2-1";
@@ -3529,8 +3007,8 @@ buildLuarocksPackage {
     sha256 = "0y3n270zkii123r3987xzvp194dl0q1hy234v95w7l48cf4v495k";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua telescope-nvim ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ telescope-nvim ];
 
   meta = {
     homepage = "https://github.com/mrcjkb/telescope-manix";
@@ -3539,7 +3017,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-telescope-nvim = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, plenary-nvim }:
+telescope-nvim = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, lua, plenary-nvim }:
 buildLuarocksPackage {
   pname = "telescope.nvim";
   version = "scm-1";
@@ -3547,22 +3025,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/telescope.nvim-scm-1.rockspec";
     sha256 = "07mjkv1nv9b3ifxk2bbpbhvp0awblyklyz6aaqw418x4gm4q1g35";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/nvim-telescope/telescope.nvim",
-  "rev": "5a701e99906961218b55d7ad6c2a998f066c6fe0",
-  "date": "2024-04-10T01:26:51+00:00",
-  "path": "/nix/store/xipvnxyxi80swp58xvpfwh48pjbdxl0i-telescope.nvim",
-  "sha256": "02d877a6lp3fgh75m10n3scyk4sdran10pbsp0ghp7xids1fg985",
-  "hash": "sha256-BaXngm6xnwsfuHpdEKzKTZPpmR4WhFoOfG5catQ5qAk=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "nvim-telescope";
+    repo = "telescope.nvim";
+    rev = "35f94f0ef32d70e3664a703cefbe71bd1456d899";
+    hash = "sha256-AtvZ7b2bg+Iaei4rRzTBYf76vHJH2Yq5tJAJZrZw/pk=";
+  };
 
-  disabled = (lua.luaversion != "5.1");
-  propagatedBuildInputs = [ lua plenary-nvim ];
+  disabled = lua.luaversion != "5.1";
+  propagatedBuildInputs = [ plenary-nvim ];
 
   meta = {
     homepage = "https://github.com/nvim-telescope/telescope.nvim";
@@ -3571,7 +3042,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-tiktoken_core = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder, luarocks-build-rust-mlua }:
+tiktoken_core = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder, luarocks-build-rust-mlua }:
 buildLuarocksPackage {
   pname = "tiktoken_core";
   version = "0.2.1-1";
@@ -3579,22 +3050,15 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/tiktoken_core-0.2.1-1.rockspec";
     sha256 = "0mdmrpg82vmk0cqiqdayyk4vvl299z0xqrg58q18dfs5nc27wkla";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/gptlang/lua-tiktoken",
-  "rev": "61d831a81a01ba095f8c94e148b721b3aa7b1e45",
-  "date": "2024-03-03T23:24:06+00:00",
-  "path": "/nix/store/5ik17k726wl8hpz295n7dqq3438k8ddj-lua-tiktoken",
-  "sha256": "11lpzxmmb4zglkp9czlzggd8i46r7whpq021b5d3fx7bc5a81d3n",
-  "hash": "sha256-drSAVGHrdDdaWUEAfCE/2ZCI2nuffpbupO+TVWv/l4Y=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "gptlang";
+    repo = "lua-tiktoken";
+    rev = "0.2.1";
+    hash = "sha256-drSAVGHrdDdaWUEAfCE/2ZCI2nuffpbupO+TVWv/l4Y=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua luarocks-build-rust-mlua ];
+  disabled = luaOlder "5.1";
+  propagatedBuildInputs = [ luarocks-build-rust-mlua ];
 
   meta = {
     homepage = "https://github.com/gptlang/lua-tiktoken";
@@ -3604,7 +3068,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-tl = callPackage({ argparse, buildLuarocksPackage, compat53, fetchgit, fetchurl, luafilesystem }:
+tl = callPackage({ argparse, buildLuarocksPackage, compat53, fetchFromGitHub, fetchurl, luafilesystem }:
 buildLuarocksPackage {
   pname = "tl";
   version = "0.15.3-1";
@@ -3612,19 +3076,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/tl-0.15.3-1.rockspec";
     sha256 = "15p67r5bjp997pymjq80yn1gyf7r5g2nwkachkwx88100ihblqrc";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/teal-language/tl",
-  "rev": "28f8fd9eb1a756267b8cde25990dfae27f8f5bcc",
-  "date": "2023-11-05T23:31:17-03:00",
-  "path": "/nix/store/8qbkpkni2ci042ryzjh0nfxnrmmckg3l-tl",
-  "sha256": "0spr0zajy8i91n0jqmjpgdcsryrlras6fv60np9ml1rfirh0yk4y",
-  "hash": "sha256-nkwPYI4uB1rTtcBsZ7TKNPusWXtXViyBDSkiL9UH+Wo=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "teal-language";
+    repo = "tl";
+    rev = "v0.15.3";
+    hash = "sha256-nkwPYI4uB1rTtcBsZ7TKNPusWXtXViyBDSkiL9UH+Wo=";
+  };
 
   propagatedBuildInputs = [ argparse compat53 luafilesystem ];
 
@@ -3639,18 +3096,18 @@ buildLuarocksPackage {
 toml = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
 buildLuarocksPackage {
   pname = "toml";
-  version = "0.4.0-0";
+  version = "0.3.0-0";
   knownRockspec = (fetchurl {
-    url    = "mirror://luarocks/toml-0.4.0-0.rockspec";
-    sha256 = "17yr5gj9yyax3wzn7cv3vvkjrg5qq4yfw8sc6v72ivg79fhvwnli";
+    url    = "mirror://luarocks/toml-0.3.0-0.rockspec";
+    sha256 = "0y4qdzsvf4xwnr49xcpbqclrq9d6snv83cbdkrchl0cn4cx6zpxy";
   }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/LebJe/toml.lua.git",
-  "rev": "1a9b2a5726b9ba7b5d328e54ae36047ffe1730f2",
-  "date": "2024-01-02T12:05:36-05:00",
-  "path": "/nix/store/2d6rhs6wdya63q86ca2gi59n8c3dc57c-toml.lua",
-  "sha256": "12cy73cni3h1mkmjagh58fv112kxfg2z624ssh2banw53pvphmfd",
-  "hash": "sha256-zVV49x2FW7UE1JoI88VzfYoQtkMFPiXrrAGOaNk4nok=",
+  "rev": "319e9accf8c5cedf68795354ba81e54c817d1277",
+  "date": "2023-02-19T23:00:49-05:00",
+  "path": "/nix/store/p6a98sqp9a4jwsw6ghqcwpn9lxmhvkdg-toml.lua",
+  "sha256": "05p33bq0ajl41vbsw9bx73shpf0p11n5gb6yy8asvp93zh2m51hq",
+  "hash": "sha256-GIZSBfwj3a0V8t6sV2wIF7gL9Th9Ja7XDoRKBfAa4xY=",
   "fetchLFS": false,
   "fetchSubmodules": true,
   "deepClone": false,
@@ -3669,7 +3126,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-toml-edit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, lua, luaOlder }:
+toml-edit = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, luarocks-build-rust-mlua }:
 buildLuarocksPackage {
   pname = "toml-edit";
   version = "0.3.6-1";
@@ -3682,8 +3139,8 @@ buildLuarocksPackage {
     sha256 = "19v6axraj2n22lmilfr4x9nr40kcjb6wnpsfhf1mh2zy9nsd6ji6";
   };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
+  nativeBuildInputs = [ luarocks-build-rust-mlua ];
 
   meta = {
     homepage = "https://github.com/vhyrro/toml-edit.lua";
@@ -3714,27 +3171,22 @@ buildLuarocksPackage {
   };
 }) {};
 
-vstruct = callPackage({ buildLuarocksPackage, fetchgit, lua, luaOlder }:
+vstruct = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "vstruct";
-  version = "2.2.0-1";
-
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/ToxicFrog/vstruct.git",
-  "rev": "227433d5d0ea69760c8ada1954e22d318aaafc30",
-  "date": "2024-02-26T20:52:23-05:00",
-  "path": "/nix/store/d6a7rz62m7s6k71v4cycq1yq9gpl9b04-vstruct",
-  "sha256": "1x8g9l28vqqyvhd9zr3a0ylh2fiihdf1x4jkh68cl6kqcnz3g7xk",
-  "hash": "sha256-s583vmV4GsqQgVOSHlyDMToBqQdq5J8a3B7jjQRND/U=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  version = "2.1.1-1";
+  knownRockspec = (fetchurl {
+    url    = "mirror://luarocks/vstruct-2.1.1-1.rockspec";
+    sha256 = "111ff5207hspda9fpj9dqdd699rax0df3abdnfbmdbdy3j07dd04";
+  }).outPath;
+  src = fetchFromGitHub {
+    owner = "ToxicFrog";
+    repo = "vstruct";
+    rev = "v2.1.1";
+    hash = "sha256-p9yRJ3Kr6WQ4vBSTOVLoX6peNCJW6b6kgXCySg7aiWo=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "https://github.com/ToxicFrog/vstruct";
@@ -3742,7 +3194,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-vusted = callPackage({ buildLuarocksPackage, busted, fetchgit, fetchurl, luasystem }:
+vusted = callPackage({ buildLuarocksPackage, busted, fetchFromGitHub, fetchurl, luasystem }:
 buildLuarocksPackage {
   pname = "vusted";
   version = "2.3.4-1";
@@ -3750,19 +3202,12 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/vusted-2.3.4-1.rockspec";
     sha256 = "1yzdr0xgsjfr4a80a2zrj58ls0gmms407q4h1dx75sszppzvm1wc";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/notomo/vusted.git",
-  "rev": "e0c5e542945844fdb4551b4dc7881b9ee780f57a",
-  "date": "2024-01-03T15:52:14+09:00",
-  "path": "/nix/store/4nacg6j8z42nz1114hrpap0z3x7jpgzy-vusted",
-  "sha256": "05mzhvv55gpj0qbq8i7y8fhknmzrdxsv2cr8mgwm2v3bffc7h7k6",
-  "hash": "sha256-Zh54mHNrbFH5qygzsXVv+Vc7oUP+RIQXBvK+UvaGvxY=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "notomo";
+    repo = "vusted";
+    rev = "v2.3.4";
+    hash = "sha256-Zh54mHNrbFH5qygzsXVv+Vc7oUP+RIQXBvK+UvaGvxY=";
+  };
 
   propagatedBuildInputs = [ busted luasystem ];
 
@@ -3774,7 +3219,7 @@ buildLuarocksPackage {
   };
 }) {};
 
-xml2lua = callPackage({ buildLuarocksPackage, fetchgit, fetchurl, lua, luaOlder }:
+xml2lua = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
 buildLuarocksPackage {
   pname = "xml2lua";
   version = "1.5-2";
@@ -3782,22 +3227,14 @@ buildLuarocksPackage {
     url    = "mirror://luarocks/xml2lua-1.5-2.rockspec";
     sha256 = "1h0zszjzi65jc2rmpam7ai38sx2ph09q66jkik5mgzr6cxm1cm4h";
   }).outPath;
-  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "https://github.com/manoelcampos/xml2lua",
-  "rev": "b24be89a154d49b33295958584944bfd7ba2b24e",
-  "date": "2021-07-13T10:22:09-03:00",
-  "path": "/nix/store/i5dvpc0mhhw7jbrvg4bsz1scs0kvmx5f-xml2lua",
-  "sha256": "1vk3chcpq8b98dss5kwskbzxig58zar0jgi8mizdccw4rx698c44",
-  "hash": "sha256-hDCUTM+EM9Z+rCg+CbL6qLzY/5qaz6J1Q2khfBlkY+4=",
-  "fetchLFS": false,
-  "fetchSubmodules": true,
-  "deepClone": false,
-  "leaveDotGit": false
-}
- '') ["date" "path" "sha256"]) ;
+  src = fetchFromGitHub {
+    owner = "manoelcampos";
+    repo = "xml2lua";
+    rev = "v1.5-2";
+    hash = "sha256-hDCUTM+EM9Z+rCg+CbL6qLzY/5qaz6J1Q2khfBlkY+4=";
+  };
 
-  disabled = (luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];
+  disabled = luaOlder "5.1";
 
   meta = {
     homepage = "http://manoelcampos.github.io/xml2lua/";
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index cb06785e048fb..ddda6aeb63ab6 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -93,7 +93,7 @@ in
     ];
     postConfigure = ''
       substituteInPlace ''${rockspecFilename} \
-        --replace "'lua_cliargs = 3.0'," "'lua_cliargs >= 3.0',"
+        --replace-fail "'lua_cliargs = 3.0'," "'lua_cliargs >= 3.0-1',"
     '';
     postInstall = ''
       installShellCompletion --cmd busted \
@@ -148,6 +148,16 @@ in
     '';
   });
 
+  # Until https://github.com/swarn/fzy-lua/pull/8 is merged,
+  # we have to invoke busted manually
+  fzy = prev.fzy.overrideAttrs(oa: {
+    doCheck = true;
+    nativeCheckInputs = [ final.busted ];
+    checkPhase = ''
+      busted
+    '';
+  });
+
   http = prev.http.overrideAttrs (oa: {
     patches = [
       (fetchpatch {
@@ -639,7 +649,8 @@ in
       tar xf *.tar.gz
     '';
 
-    propagatedBuildInputs = [ lua luaposix
+    propagatedBuildInputs = [
+      luaposix
       readline.out
     ];
 
@@ -698,9 +709,9 @@ in
     propagatedBuildInputs = oa.propagatedBuildInputs ++ [ sol2 ];
 
     postPatch = ''
-      substituteInPlace CMakeLists.txt \
-        --replace "TOML_PLUS_PLUS_SRC" "${tomlplusplus.src}" \
-        --replace "MAGIC_ENUM_SRC" "${magic-enum.src}"
+      substituteInPlace CMakeLists.txt --replace-fail \
+        "TOML_PLUS_PLUS_SRC" \
+        "${tomlplusplus.src}"
     '';
   });
 
@@ -711,11 +722,7 @@ in
       hash = "sha256-2P+mokkjdj2PccQG/kAGnIoUPVnK2FqNfYpHPhsp8kw=";
     };
 
-    nativeBuildInputs = let
-      # HACK: luarocks-nix doesn't pick up rockspec build dependencies,
-      # so we have to pass the correct package in here.
-      lua = lib.head oa.propagatedBuildInputs;
-    in oa.nativeBuildInputs ++ [
+    nativeBuildInputs = oa.nativeBuildInputs ++ [
       cargo
       rustPlatform.cargoSetupHook
       lua.pkgs.luarocks-build-rust-mlua
@@ -743,9 +750,11 @@ in
 
   vusted = prev.vusted.overrideAttrs (_: {
     postConfigure = ''
+      cat ''${rockspecFilename}
       substituteInPlace ''${rockspecFilename} \
-        --replace '"luasystem = 0.2.1",' '"luasystem",'
+        --replace-fail '"luasystem = 0.2.1",' "'luasystem >= 0.2',"
     '';
+
     # make sure vusted_entry.vim doesn't get wrapped
     postInstall = ''
       chmod -x $out/bin/vusted_entry.vim
diff --git a/pkgs/development/lua-modules/updater/.flake8 b/pkgs/development/lua-modules/updater/.flake8
index 16f76a43624cf..7ad3e937c9a54 100644
--- a/pkgs/development/lua-modules/updater/.flake8
+++ b/pkgs/development/lua-modules/updater/.flake8
@@ -4,3 +4,5 @@
 # E123 buggy
 ignore =
 	E501,E265,E402
+
+max-line-length = 120
diff --git a/pkgs/development/lua-modules/updater/updater.py b/pkgs/development/lua-modules/updater/updater.py
index 407b4104b774c..f0a91a313919a 100755
--- a/pkgs/development/lua-modules/updater/updater.py
+++ b/pkgs/development/lua-modules/updater/updater.py
@@ -49,8 +49,8 @@ FOOTER = """
 class LuaPlugin:
     name: str
     """Name of the plugin, as seen on luarocks.org"""
-    src: str
-    """address to the git repository"""
+    rockspec: str
+    """Full path towards the rockspec"""
     ref: Optional[str]
     """git reference (branch name/tag)"""
     version: Optional[str]
@@ -103,7 +103,7 @@ class LuaEditor(pluginupdate.Editor):
             f.write(HEADER)
             header2 = textwrap.dedent(
                 """
-                { stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args:
+                { stdenv, lib, fetchurl, fetchgit, callPackage, ... }:
                 final: prev:
                 {
             """
@@ -171,16 +171,17 @@ def generate_pkg_nix(plug: LuaPlugin):
     if plug.maintainers:
         cmd.append(f"--maintainers={plug.maintainers}")
 
-    if plug.src != "":
-        if plug.src is None:
+    if plug.rockspec != "":
+        if plug.ref or plug.version:
             msg = (
-                "src must be set when 'version' is set to \"src\" for package %s"
+                "'version' and 'ref' will be ignored as the rockspec is hardcoded for package %s"
                 % plug.name
             )
-            log.error(msg)
-            raise RuntimeError(msg)
-        log.debug("Updating from source %s", plug.src)
-        cmd.append(plug.src)
+            log.warn(msg)
+
+        log.debug("Updating from rockspec %s", plug.rockspec)
+        cmd.append(plug.rockspec)
+
     # update the plugin from luarocks
     else:
         cmd.append(plug.name)
diff --git a/pkgs/development/misc/brev-cli/default.nix b/pkgs/development/misc/brev-cli/default.nix
index 146d41321c6a6..812f063a3c620 100644
--- a/pkgs/development/misc/brev-cli/default.nix
+++ b/pkgs/development/misc/brev-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "brev-cli";
-  version = "0.6.279";
+  version = "0.6.284";
 
   src = fetchFromGitHub {
     owner = "brevdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jQkaMFTArXPSCm6aBQb/vb4JEkgHtmzJl/Iz/f/pBSY=";
+    sha256 = "sha256-G70309GQ3C7ZBS4baRKN3Ms4MBvCmLmPorbByZy4Qh4=";
   };
 
   vendorHash = "sha256-IR/tgqh8rS4uN5jSOcopCutbHCKHSU9icUfRhOgu4t8=";
diff --git a/pkgs/development/misc/resholve/README.md b/pkgs/development/misc/resholve/README.md
index 734ff26d8c4e5..3d8ae6d966f32 100644
--- a/pkgs/development/misc/resholve/README.md
+++ b/pkgs/development/misc/resholve/README.md
@@ -102,19 +102,19 @@ trivial, so I'll also link to some real-world examples:
 ```nix
 {
   resholvedScript = resholve.writeScript "name" {
-      inputs = [ file ];
-      interpreter = "${bash}/bin/bash";
-    } ''
-      echo "Hello"
-      file .
-    '';
+    inputs = [ file ];
+    interpreter = "${bash}/bin/bash";
+  } ''
+    echo "Hello"
+    file .
+  '';
   resholvedScriptBin = resholve.writeScriptBin "name" {
-      inputs = [ file ];
-      interpreter = "${bash}/bin/bash";
-    } ''
-      echo "Hello"
-      file .
-    '';
+    inputs = [ file ];
+    interpreter = "${bash}/bin/bash";
+  } ''
+    echo "Hello"
+    file .
+  '';
 }
 ```
 
@@ -230,7 +230,7 @@ from the manpage, and the Nix equivalents:
     # all single-word directives use `true` as value
     aliases = true;
     "$GIT" = [ "gix" ];
-    interpreter = "/bin/bash";
+    "/bin/bash" = true;
   };
 
   # --keep 'source:$HOME /etc/bashrc ~/.bashrc'
diff --git a/pkgs/development/misc/resholve/source.nix b/pkgs/development/misc/resholve/source.nix
index 1492e3685779c..7d843d61b1630 100644
--- a/pkgs/development/misc/resholve/source.nix
+++ b/pkgs/development/misc/resholve/source.nix
@@ -3,11 +3,11 @@
 }:
 
 rec {
-  version = "0.10.2";
+  version = "0.10.5";
   rSrc = fetchFromGitHub {
     owner = "abathur";
     repo = "resholve";
     rev = "v${version}";
-    hash = "sha256-QXIX3Ai9HUFosvhfYTUJILZ588cvxTzULUUp1LYkQ0A=";
+    hash = "sha256-SzJbA0wLeSwvXnAE4bTNqh0tnpFPkn6N1hp7sZGAkB4=";
   };
 }
diff --git a/pkgs/development/misc/resholve/test.nix b/pkgs/development/misc/resholve/test.nix
index e9551b5be2a9b..887c4e45cd88d 100644
--- a/pkgs/development/misc/resholve/test.nix
+++ b/pkgs/development/misc/resholve/test.nix
@@ -18,7 +18,6 @@
 , gettext
 , rSrc
 , runDemo ? false
-, fetchpatch
 , binlore
 , sqlite
 , unixtools
@@ -26,6 +25,39 @@
 , rlwrap
 , gnutar
 , bc
+# override testing
+, esh
+, getconf
+, libarchive
+, locale
+, mount
+, ncurses
+, nixos-install-tools
+, nixos-rebuild
+, procps
+, ps
+# known consumers
+, aaxtomp3
+, arch-install-scripts
+, bashup-events32
+, dgoss
+, git-ftp
+, ix
+, lesspipe
+, locate-dominating-file
+, mons
+, msmtp
+, nix-direnv
+, pdf2odt
+, pdfmm
+, rancid
+, s0ix-selftest-tool
+, unix-privesc-check
+, wgnord
+, wsl-vpnkit
+, xdg-utils
+, yadm
+, zxfer
 }:
 
 let
@@ -123,21 +155,6 @@ rec {
     name = "resholve-test";
     src = rSrc;
 
-    # TODO: should be removable on next resholve update--just
-    # temporarily work around test breaks caused by changes in
-    # bats 1.10.0. Since this is just about fixing tests, I'm
-    # patching test source to avoid going through staging.
-    patches = [
-      (fetchpatch {
-        url = "https://github.com/abathur/resholve/commit/e1d6ccbc9cd5ec26122997610954dcb7d826f652.patch";
-        hash = "sha256-XA9KUc/OAD2S8Vpt+C7KcjTP44rnZ4FLdgnnRqVWdWY=";
-      })
-      (fetchpatch {
-        url = "https://github.com/abathur/resholve/commit/50db1a6a97baa7d7543a8abe33dddda62b487c65.patch";
-        hash = "sha256-m1dKaLI02Wag7uacG4BkcdCXw30Kn6J4ydTqPd7bsak=";
-      })
-    ];
-
     dontBuild = true;
 
     installPhase = ''
@@ -206,4 +223,71 @@ rec {
     echo "Hello"
     file .
   '';
+  # spot-check lore overrides
+  loreOverrides = resholve.writeScriptBin "verify-overrides" {
+    inputs = [
+      coreutils
+      esh
+      getconf
+      libarchive
+      locale
+      mount
+      ncurses
+      procps
+      ps
+    ] ++ lib.optionals stdenv.isLinux [
+      nixos-install-tools
+      nixos-rebuild
+    ];
+    interpreter = "none";
+    execer = [
+      "cannot:${esh}/bin/esh"
+    ];
+    fix = {
+      mount = true;
+    };
+  } (''
+    env b2sum fake args
+    b2sum fake args
+    esh fake args
+    getconf fake args
+    bsdtar fake args
+    locale fake args
+    mount fake args
+    reset fake args
+    tput fake args
+    tset fake args
+    ps fake args
+    top fake args
+  '' + lib.optionalString stdenv.isLinux ''
+    nixos-generate-config fake args
+    nixos-rebuild fake args
+  '');
+
+  # ensure known consumers in nixpkgs keep working
+  inherit aaxtomp3;
+  inherit bashup-events32;
+  inherit bats;
+  inherit git-ftp;
+  inherit ix;
+  inherit lesspipe;
+  inherit locate-dominating-file;
+  inherit mons;
+  inherit msmtp;
+  inherit nix-direnv;
+  inherit pdf2odt;
+  inherit pdfmm;
+  inherit shunit2;
+  inherit xdg-utils;
+  inherit yadm;
+} // lib.optionalAttrs stdenv.isLinux {
+  inherit arch-install-scripts;
+  inherit dgoss;
+  inherit rancid;
+  inherit unix-privesc-check;
+  inherit wgnord;
+  inherit wsl-vpnkit;
+  inherit zxfer;
+} // lib.optionalAttrs (stdenv.isLinux && (stdenv.isi686 || stdenv.isx86_64)) {
+  inherit s0ix-selftest-tool;
 }
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index 73f7c0aaccd20..30b955876ace5 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,7 +1,6 @@
 { buildDunePackage
 , lib
 , fetchFromGitHub
-, fetchpatch
 , which
 , ocsigen_server
 , lwt_react
@@ -18,19 +17,13 @@
 
 buildDunePackage rec {
   pname = "eliom";
-  version = "10.3.1";
+  version = "10.4.1";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "eliom";
     rev = version;
-    hash = "sha256-REOyxwnQqWOKywVYwN/WP22cNKZv5Nv0OpFVbNBPJN8=";
-  };
-
-  # Compatibility with tyxml 4.6.x
-  patches = fetchpatch {
-    url = "https://github.com/ocsigen/eliom/commit/9a6adcce3959a37b971890999331335d07f4f732.patch";
-    hash = "sha256-rgsqohSAHHljvag3c+HNGEgW9qwmqPq8qfTpX6vVKtg=";
+    hash = "sha256-j4t6GEd8hYyM87b9XvgcnaV9XMkouz6+v0SYW22/bqg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/odoc-parser/default.nix b/pkgs/development/ocaml-modules/odoc-parser/default.nix
index 90e99427ec09d..5d22d2d712384 100644
--- a/pkgs/development/ocaml-modules/odoc-parser/default.nix
+++ b/pkgs/development/ocaml-modules/odoc-parser/default.nix
@@ -1,23 +1,22 @@
-{ lib, fetchurl, buildDunePackage, ocaml, astring, result, camlp-streams, version ? "2.0.0" }:
+{ lib, fetchurl, buildDunePackage, ocaml, astring, result, camlp-streams, version ? "2.4.2" }:
 
 let param = {
+  "2.4.2" = {
+    sha256 = "sha256-Vjz9uybsijDnN6nPKFoG4LuulT9I4lu7D2n3qZwrpAs=";
+  };
   "2.0.0" = {
     sha256 = "sha256-QHkZ+7DrlXYdb8bsZ3dijZSqGQc0O9ymeLGIC6+zOSI=";
-    extraBuildInputs = [ camlp-streams ];
   };
   "1.0.1" = {
     sha256 = "sha256-orvo5CAbYOmAurAeluQfK6CwW6P1C0T3WDfoovuQfSw=";
-    extraBuildInputs = [ camlp-streams ];
   };
   "1.0.0" = {
     sha256 = "sha256-tqoI6nGp662bK+vE2h7aDXE882dObVfRBFnZNChueqE=";
     max_version = "5.0";
-    extraBuildInputs = [];
   };
   "0.9.0" = {
     sha256 = "sha256-3w2tG605v03mvmZsS2O5c71y66O3W+n3JjFxIbXwvXk=";
     max_version = "5.0";
-    extraBuildInputs = [];
   };
 }."${version}"; in
 
@@ -31,11 +30,14 @@ buildDunePackage rec {
   minimalOCamlVersion = "4.02";
 
   src = fetchurl {
-    url = "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz";
+    url = if lib.versionAtLeast version "2.4"
+      then "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz"
+      else "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz";
     inherit (param) sha256;
   };
 
-  propagatedBuildInputs = [ astring result ] ++ param.extraBuildInputs;
+  propagatedBuildInputs = [ astring result ] ++
+    lib.optional (lib.versionAtLeast version "1.0.1") camlp-streams;
 
   meta = {
     description = "Parser for Ocaml documentation comments";
diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix
index 18be9801a9c01..92d605be157a3 100644
--- a/pkgs/development/ocaml-modules/odoc/default.nix
+++ b/pkgs/development/ocaml-modules/odoc/default.nix
@@ -1,4 +1,5 @@
 { lib, fetchurl, buildDunePackage, ocaml
+, ocaml-crunch
 , astring, cmdliner, cppo, fpath, result, tyxml
 , markup, yojson, sexplib0, jq
 , odoc-parser, ppx_expect, bash, fmt
@@ -6,14 +7,9 @@
 
 buildDunePackage rec {
   pname = "odoc";
-  version = "2.2.1";
+  inherit (odoc-parser) version src;
 
-  src = fetchurl {
-    url = "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz";
-    sha256 = "sha256-F4blO/CCT+HHx7gdKn2EaEal0RZ3lp5jljYfd6OBaAM=";
-  };
-
-  nativeBuildInputs = [ cppo ];
+  nativeBuildInputs = [ cppo ocaml-crunch ];
   buildInputs = [ astring cmdliner fpath result tyxml odoc-parser fmt ];
 
   nativeCheckInputs = [ bash jq ];
diff --git a/pkgs/development/ocaml-modules/pecu/default.nix b/pkgs/development/ocaml-modules/pecu/default.nix
index 746c75fccc1c0..66d9e56c6dc36 100644
--- a/pkgs/development/ocaml-modules/pecu/default.nix
+++ b/pkgs/development/ocaml-modules/pecu/default.nix
@@ -2,15 +2,13 @@
 
 buildDunePackage rec {
   pname = "pecu";
-  version = "0.6";
-
-  duneVersion = "3";
+  version = "0.7";
 
   minimalOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = "https://github.com/mirage/pecu/releases/download/v${version}/pecu-v${version}.tbz";
-    sha256 = "a9d2b7da444c83b20f879f6c3b7fc911d08ac1e6245ad7105437504f9394e5c7";
+    url = "https://github.com/mirage/pecu/releases/download/v${version}/pecu-${version}.tbz";
+    hash = "sha256-rXR3tbFkKNM8MkQAZ2hJU9lO+qQ/qvYghXkYus6f13g=";
   };
 
   # crowbar availability
diff --git a/pkgs/development/ocaml-modules/unstrctrd/default.nix b/pkgs/development/ocaml-modules/unstrctrd/default.nix
index f9e287e21620c..d1ac4ca9acf58 100644
--- a/pkgs/development/ocaml-modules/unstrctrd/default.nix
+++ b/pkgs/development/ocaml-modules/unstrctrd/default.nix
@@ -14,15 +14,13 @@
 
 buildDunePackage rec {
   pname = "unstrctrd";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchzip {
-    url = "https://github.com/dinosaure/unstrctrd/releases/download/v${version}/unstrctrd-v${version}.tbz";
-    sha256 = "0mjm4v7kk75iwwsfnpmxc3bsl8aisz53y7z21sykdp60f4rxnah7";
+    url = "https://github.com/dinosaure/unstrctrd/releases/download/v${version}/unstrctrd-${version}.tbz";
+    hash = "sha256-CGcDqEr+VDTbDYkjxeYB6IFWiTkOTLJJl/Y2bHtv19g=";
   };
 
-  duneVersion = "3";
-
   propagatedBuildInputs = [
     angstrom
     uutf
diff --git a/pkgs/development/python-modules/accelerate/default.nix b/pkgs/development/python-modules/accelerate/default.nix
index 61b3c53e834cb..b32cadab4b2de 100644
--- a/pkgs/development/python-modules/accelerate/default.nix
+++ b/pkgs/development/python-modules/accelerate/default.nix
@@ -77,6 +77,9 @@ buildPythonPackage rec {
     "test_remote_code"
     "test_transformers_model"
 
+    # nondeterministic, tests GC behaviour by thresholding global ram usage
+    "test_free_memory_dereferences_prepared_components"
+
     # set the environment variable, CC, which conflicts with standard environment
     "test_patch_environment_key_exists"
   ] ++ lib.optionals (pythonAtLeast "3.12") [
diff --git a/pkgs/development/python-modules/androidtvremote2/default.nix b/pkgs/development/python-modules/androidtvremote2/default.nix
index a0c066c4d9751..df179dab636be 100644
--- a/pkgs/development/python-modules/androidtvremote2/default.nix
+++ b/pkgs/development/python-modules/androidtvremote2/default.nix
@@ -1,40 +1,37 @@
-{ lib
-, aiofiles
-, buildPythonPackage
-, cryptography
-, fetchFromGitHub
-, protobuf
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiofiles,
+  buildPythonPackage,
+  cryptography,
+  fetchFromGitHub,
+  protobuf,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "androidtvremote2";
-  version = "0.0.15";
-  format = "pyproject";
+  version = "0.1.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "tronikos";
     repo = "androidtvremote2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aLNmuMuwaMhl/Utv6bVU4fR8zmhj0fUiInL4RHT4dVw=";
+    hash = "sha256-Zem2IWBUWmyVdBjqoVKFk+/lg5T7CPXCKFXhFusQFLY=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     aiofiles
     cryptography
     protobuf
   ];
 
-  pythonImportsCheck = [
-    "androidtvremote2"
-  ];
+  pythonImportsCheck = [ "androidtvremote2" ];
 
   # Module only has a dummy test
   doCheck = false;
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index ae77ab3594bed..b0145a3113eea 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -41,6 +41,11 @@ buildPythonPackage rec {
       hash = "sha256-eTnQkftvjK0YHU+ovotRVSuVlvaVeXp5SvYk1DPCg88=";
       excludes = [ ".github/workflows/ci.yml" "tox.ini" ];
     })
+    (fetchpatch {
+      # python 3.12 compat
+      url = "https://github.com/ansible/ansible-runner/commit/dc248497bb2375a363222ce755bf3a31f21d5f64.patch";
+      hash = "sha256-QT28Iw0uENoO35rqZpYBcmJB/GNDEF4m86SKf6p0XQU=";
+    })
   ];
 
   build-system = [
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index b29ddeedad7fe..e079703d17a0c 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     click
     cryptography
     markdown
@@ -57,7 +57,11 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_apprise_cli_nux_env"
+    # Nondeterministic. Fails with `assert 0 == 1`
+    "test_notify_emoji_general"
     "test_plugin_mqtt_general"
+    # Nondeterministic. Fails with `AssertionError`
+    "test_plugin_xbmc_kodi_urls"
   ];
 
   disabledTestPaths = [
@@ -76,7 +80,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/caronc/apprise";
     changelog = "https://github.com/caronc/apprise/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ getchoo ];
     mainProgram = "apprise";
   };
 }
diff --git a/pkgs/development/python-modules/augmax/default.nix b/pkgs/development/python-modules/augmax/default.nix
index 879bffb8a0d0a..3be4c47136006 100644
--- a/pkgs/development/python-modules/augmax/default.nix
+++ b/pkgs/development/python-modules/augmax/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage
 , einops
-, fetchPypi
+, fetchFromGitHub
 , jax
 , jaxlib
 , lib
@@ -15,19 +15,21 @@ buildPythonPackage rec {
 
   disbaled = pythonOlder "3.6";
 
-  # Using fetchPypi because the latest version was not tagged on GitHub.
-  # Switch back to fetchFromGitHub when a tag will be available
-  # https://github.com/khdlr/augmax/issues/8
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-pf1DTaHA7D+s2rqwwGYlJrJOI7fok+WOvOCtZhOOGHo=";
+  src = fetchFromGitHub {
+    owner = "khdlr";
+    repo = "augmax";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-xz6yJiVZUkRcRa2rKZdytfpP+XCk/QI4xtKlNaS9FYo=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     setuptools
   ];
 
-  propagatedBuildInputs = [ einops jax ];
+  dependencies = [
+    einops
+    jax
+  ];
 
   # augmax does not have any tests at the time of writing (2022-02-19), but
   # jaxlib is necessary for the pythonImportsCheckPhase.
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index b57472867005d..7d2f6c14a7eed 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , cython
 , fetchFromGitHub
+, fetchpatch
 , ffmpeg_5-headless
 , numpy
 , pillow
@@ -26,6 +27,15 @@ buildPythonPackage rec {
     hash = "sha256-pCKP+4ZmZCJcG7/Qy9H6aS4svQdgaRA9S1QVNWFYhSQ=";
   };
 
+  patches = [
+    # merged upstream PR: https://github.com/PyAV-Org/PyAV/pull/1387
+    (fetchpatch {
+      name = "use-pkg-config-env-var-fix-cross.patch";
+      url = "https://github.com/PyAV-Org/PyAV/commit/ba7a2c9f716af506838d399e6ed27ed6d64d2435.patch";
+      sha256 = "sha256-oH+g8sVoVCQe6DimRN38VT2GdziriwHYRAhldNxz9/E=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython
     pkg-config
diff --git a/pkgs/development/python-modules/bdffont/default.nix b/pkgs/development/python-modules/bdffont/default.nix
index f5cd8f9431211..29cbe658db4d3 100644
--- a/pkgs/development/python-modules/bdffont/default.nix
+++ b/pkgs/development/python-modules/bdffont/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "bdffont";
-  version = "0.0.20";
+  version = "0.0.24";
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-T0gTtudsZmL0VZ3a3+C/v+dWAwbXUgf0PEdNtkxWROw=";
+    hash = "sha256-3HJwtBV78zsMUlmwJrPj74Vd5cru1zflvies5mNGcy4=";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/cepa/default.nix b/pkgs/development/python-modules/cepa/default.nix
deleted file mode 100644
index 1b12ea1e5efbd..0000000000000
--- a/pkgs/development/python-modules/cepa/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchpatch
-, fetchPypi
-, python
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "cepa";
-  version = "1.8.4";
-  format = "setuptools";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-P7xwGsP8ic1/abxYptDXNbAU+kC2Hiwu/Tge0g21ipY=";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "python-3.11-compatibility.patch";
-      url = "https://github.com/onionshare/cepa/commit/0bf9aee7151e65594c532826bb04636e1d80fb6f.patch";
-      hash = "sha256-roSt9N5OvnOOxKZUee86zGXt0AsZCcbBdV2cLz1MB2k=";
-    })
-  ];
-
-  postPatch = ''
-    rm test/unit/installation.py
-    sed -i "/test.unit.installation/d" test/settings.cfg
-    # https://github.com/torproject/stem/issues/56
-    sed -i '/MOCK_VERSION/d' run_tests.py
-  '';
-
-  nativeCheckInputs = [ mock ];
-
-  checkPhase = ''
-    touch .gitignore
-    ${python.interpreter} run_tests.py -u
-  '';
-
-  meta = with lib; {
-    description = "Controller library that allows applications to interact with Tor";
-    mainProgram = "tor-prompt";
-    homepage = "https://github.com/onionshare/cepa";
-    license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ bbjubjub ];
-  };
-}
diff --git a/pkgs/development/python-modules/chai/default.nix b/pkgs/development/python-modules/chai/default.nix
index 6146ec692c75f..7fb8e6d3489f3 100644
--- a/pkgs/development/python-modules/chai/default.nix
+++ b/pkgs/development/python-modules/chai/default.nix
@@ -10,6 +10,14 @@ buildPythonPackage rec {
     sha256 = "ff8d2b6855f660cd23cd5ec79bd10264d39f24f6235773331b48e7fcd637d6cc";
   };
 
+  postPatch = ''
+    # python 3.12 compatibility
+    substituteInPlace tests/*.py \
+      --replace "assertEquals" "assertEqual" \
+      --replace "assertNotEquals" "assertNotEqual" \
+      --replace "assert_equals" "assert_equal"
+  '';
+
   meta = with lib; {
     description = "Mocking, stubbing and spying framework for python";
   };
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index f7bba7ba76ec7..34ca3c05bdcd3 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "cloudflare";
-  version = "2.19.4";
+  version = "2.20.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-O2AAoBojfCO8z99tICVupREex0qCaunnT58OW7WyOD8=";
+    hash = "sha256-Rq78Od+qI2XWObQjzsLNU1CuERU8ckfT6zVFvc8Bpoo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/command-runner/default.nix b/pkgs/development/python-modules/command-runner/default.nix
index fb8fd94f80308..f50e32abd5f3e 100644
--- a/pkgs/development/python-modules/command-runner/default.nix
+++ b/pkgs/development/python-modules/command-runner/default.nix
@@ -1,17 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, psutil }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  psutil,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+}:
 
 buildPythonPackage rec {
   pname = "command-runner";
   version = "1.6.0";
-  format = "setuptools";
+  pyproject = true;
 
-  src = fetchPypi {
-    pname = "command_runner";
-    inherit version;
-    sha256 = "sha256-lzt1UhhrPqQrBKsRmPhqhtOIfFlCteQqo6sZ6rOut0A=";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "netinvent";
+    repo = "command_runner";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QzqkcF2/YExK/dz+b0Uk0Af/rAXRMuRIeEynyFgDql8=";
   };
 
-  propagatedBuildInputs = [ psutil ];
+  build-system = [ setuptools ];
+
+  dependencies = [ psutil ];
+
+  # Tests are execute ping
+  # ping: socket: Operation not permitted
+  doCheck = false;
+
+  pythonImportsCheck = [ "command_runner" ];
 
   meta = with lib; {
     homepage = "https://github.com/netinvent/command_runner";
@@ -19,6 +38,7 @@ buildPythonPackage rec {
       Platform agnostic command execution, timed background jobs with live
       stdout/stderr output capture, and UAC/sudo elevation
     '';
+    changelog = "https://github.com/netinvent/command_runner/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = teams.wdz.members;
   };
diff --git a/pkgs/development/python-modules/coordinates/default.nix b/pkgs/development/python-modules/coordinates/default.nix
index e699e1b9a015f..454a2b7083cb1 100644
--- a/pkgs/development/python-modules/coordinates/default.nix
+++ b/pkgs/development/python-modules/coordinates/default.nix
@@ -1,33 +1,37 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, pytest
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  pytestCheckHook,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "coordinates";
   version = "0.4.0";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "clbarnes";
     repo = "coordinates";
-    rev = "v${version}";
-    sha256 = "1zha594rshjg3qjq9mrai2hfldya282ihasp2i3km7b2j4gjdw2b";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-S/AmH5FinTpHFFcrGAUSyjfqoIgq14QlHk9CnUkqCv4=";
   };
 
-  nativeCheckInputs = [ pytest ];
+  build-system = [ setuptools ];
 
-  checkPhase = ''
-    runHook preCheck
-    pytest tests/
-    runHook postCheck
-  '';
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "coordinates" ];
 
   meta = with lib; {
     description = "Convenience class for doing maths with explicit coordinates";
     homepage = "https://github.com/clbarnes/coordinates";
+    changelog = "https://github.com/clbarnes/coordinates/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index ff6ede5dcf206..6484e549daf79 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -1,26 +1,42 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, setuptools
+, setuptools-scm
 , pyramid
-, simplejson
-, six
-, venusian
+, pytestCheckHook
+, pytest-cache
+, webtest
+, marshmallow
+, colander
 }:
 
 buildPythonPackage rec {
   pname = "cornice";
   version = "6.1.0";
-  format = "setuptools";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-v9G2wqmRp8yxsggrbenjuPGYtqK0oHqwgA4F3wWkU2E=";
+  src = fetchFromGitHub {
+    owner = "Cornices";
+    repo = "cornice";
+    rev = version;
+    hash = "sha256-jAf8unDPpr/ZAWkb9LhOW4URjwcRnaYVUKmfnYBStTg=";
   };
 
-  propagatedBuildInputs = [ pyramid simplejson six venusian ];
+  build-system = [
+    setuptools
+    setuptools-scm
+  ];
 
-  # tests not packaged with pypi release
-  doCheck = false;
+  dependencies = [ pyramid ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cache
+    webtest
+    marshmallow
+    colander
+  ];
   pythonImportsCheck = [ "cornice" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/dask-yarn/default.nix b/pkgs/development/python-modules/dask-yarn/default.nix
index acea511b24952..c14f52aa43c97 100644
--- a/pkgs/development/python-modules/dask-yarn/default.nix
+++ b/pkgs/development/python-modules/dask-yarn/default.nix
@@ -1,20 +1,22 @@
 { lib
-, stdenv
 , buildPythonPackage
-, dask
-, distributed
+, pythonOlder
 , fetchFromGitHub
 , fetchpatch
+, setuptools
+, versioneer
+, dask
+, distributed
 , grpcio
-, pytestCheckHook
-, pythonOlder
 , skein
+, pytestCheckHook
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "dask-yarn";
   version = "0.9";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -33,9 +35,18 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [
-    distributed
+  postPatch = ''
+    rm versioneer.py
+  '';
+
+  build-system = [
+    setuptools
+    versioneer
+  ];
+
+  dependencies = [
     dask
+    distributed
     grpcio
     skein
   ];
diff --git a/pkgs/development/python-modules/dj-rest-auth/default.nix b/pkgs/development/python-modules/dj-rest-auth/default.nix
index e415977d86374..49e0c49e75bb1 100644
--- a/pkgs/development/python-modules/dj-rest-auth/default.nix
+++ b/pkgs/development/python-modules/dj-rest-auth/default.nix
@@ -1,61 +1,46 @@
-{ lib
-, buildPythonPackage
-, django
-, django-allauth
-, djangorestframework
-, djangorestframework-simplejwt
-, fetchFromGitHub
-, fetchpatch
-, python
-, pythonOlder
-, responses
-, setuptools
-, unittest-xml-reporting
+{
+  lib,
+  buildPythonPackage,
+  django,
+  django-allauth,
+  djangorestframework,
+  djangorestframework-simplejwt,
+  fetchFromGitHub,
+  python,
+  pythonOlder,
+  responses,
+  setuptools,
+  unittest-xml-reporting,
 }:
 
 buildPythonPackage rec {
   pname = "dj-rest-auth";
-  version = "5.0.2";
+  version = "6.0.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "iMerica";
     repo = "dj-rest-auth";
     rev = "refs/tags/${version}";
-    hash = "sha256-TqeNpxXn+v89fEiJ4AVNhp8blCfYQKFQfYmZ6/QlRbQ=";
+    hash = "sha256-fNy1uN3oH54Wd9+EqYpiV0ot1MbSSC7TZoAARQeR81s=";
   };
 
-  patches = [
-    # https://github.com/iMerica/dj-rest-auth/pull/597
-    (fetchpatch {
-      name = "disable-email-confirmation-ratelimit-in-tests-to-support-new-allauth.patch";
-      url = "https://github.com/iMerica/dj-rest-auth/commit/c8f19e18a93f4959da875f9c5cdd32f7d9363bba.patch";
-      hash = "sha256-Y/YBjV+c5Gw1wMR5r/4VnyV/ewUVG0z4pjY/MB4ca9Y=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "==" ">="
+      --replace-fail "==" ">="
+    substituteInPlace dj_rest_auth/tests/test_api.py \
+      --replace-fail "assertEquals" "assertEqual"
   '';
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
-  buildInputs = [
-    django
-  ];
+  buildInputs = [ django ];
 
-  propagatedBuildInputs = [
-    djangorestframework
-  ];
+  dependencies = [ djangorestframework ];
 
-  passthru.optional-dependencies.with_social = [
-    django-allauth
-  ];
+  passthru.optional-dependencies.with_social = [ django-allauth ];
 
   nativeCheckInputs = [
     djangorestframework-simplejwt
@@ -66,7 +51,7 @@ buildPythonPackage rec {
   preCheck = ''
     # Test connects to graph.facebook.com
     substituteInPlace dj_rest_auth/tests/test_serializers.py \
-      --replace "def test_http_error" "def dont_test_http_error"
+      --replace-fail "def test_http_error" "def dont_test_http_error"
   '';
 
   checkPhase = ''
@@ -75,9 +60,7 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  pythonImportsCheck = [
-    "dj_rest_auth"
-  ];
+  pythonImportsCheck = [ "dj_rest_auth" ];
 
   meta = with lib; {
     description = "Authentication for Django Rest Framework";
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index bc1fcbdfe9c8d..4ee0ab76175ef 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -1,8 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
-, fetchpatch2
+, fetchFromGitHub
 , pythonAtLeast
 , pythonOlder
 , substituteAll
@@ -44,15 +43,16 @@
 
 buildPythonPackage rec {
   pname = "django";
-  version = "4.2.11";
+  version = "4.2.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    pname = "Django";
-    inherit version;
-    hash = "sha256-bm/z2y2N0MmGtO7IVUyOT5GbXB/2KltDkMF6/y7W5cQ=";
+  src = fetchFromGitHub {
+    owner = "django";
+    repo = "django";
+    rev = "refs/tags/${version}";
+    hash = "sha256-n6esWUpZpCP4J4bNckNKJ9E61qFjTPS7XF+WgxNS2JE=";
   };
 
   patches = [
@@ -64,13 +64,6 @@ buildPythonPackage rec {
     # and disable failing tests
     ./django_4_tests.patch
 
-    (fetchpatch2 {
-      # https://github.com/django/django/pull/17979
-      name = "django-mime-utf8-surrogates.patch";
-      url = "https://github.com/django/django/commit/0d3ddcaf2c74638a32781f361d467af572ced95f.patch";
-      hash = "sha256-AoIFvehBsXIrzIlCsqOZ++RqtDFl/H+zXqA25OMQr7g=";
-    })
-
   ] ++ lib.optionals withGdal [
     (substituteAll {
       src = ./django_4_set_geos_gdal_lib.patch;
diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix
index 161e5361c1c14..fdf766f37f05a 100644
--- a/pkgs/development/python-modules/docutils/default.nix
+++ b/pkgs/development/python-modules/docutils/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , lib
-, fetchgit
+, fetchFromRepoOrCz
 , buildPythonPackage
 , flit-core
 , pillow
@@ -8,17 +8,20 @@
 , pythonOlder
 }:
 
+# Note: this package is used to build LLVM’s documentation, which is part of the Darwin stdenv.
+# It cannot use `fetchgit` because that would pull curl into the bootstrap, which is disallowed.
+
 let self = buildPythonPackage rec {
   pname = "docutils";
-  version = "0.21.1";
+  version = "0.21.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchgit {
-    url = "git://repo.or.cz/docutils.git";
+  src = fetchFromRepoOrCz {
+    repo = "docutils";
     rev = "docutils-${version}";
-    hash = "sha256-ahnj6iKjyUCDxhgxJdwEb8huFIGpbuuLQBHDzKj6O9E=";
+    hash = "sha256-Q+9yW+BYUEvPYV504368JsAoKKoaTZTeKh4tVeiNv5Y=";
   };
 
   build-system = [ flit-core ];
diff --git a/pkgs/development/python-modules/drf-spectacular/default.nix b/pkgs/development/python-modules/drf-spectacular/default.nix
index f38a2fbf86bc7..9b957b53d4a0c 100644
--- a/pkgs/development/python-modules/drf-spectacular/default.nix
+++ b/pkgs/development/python-modules/drf-spectacular/default.nix
@@ -1,42 +1,47 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, fetchpatch
-, dj-rest-auth
-, django
-, django-allauth
-, django-filter
-, django-oauth-toolkit
-, django-polymorphic
-, django-rest-auth
-, django-rest-polymorphic
-, djangorestframework
-, djangorestframework-camel-case
-, djangorestframework-dataclasses
-, djangorestframework-recursive
-, djangorestframework-simplejwt
-, drf-jwt
-, drf-nested-routers
-, drf-spectacular-sidecar
-, inflection
-, jsonschema
-, psycopg2
-, pytest-django
-, pytestCheckHook
-, pyyaml
-, uritemplate
+{
+  lib,
+  buildPythonPackage,
+  dj-rest-auth,
+  django,
+  django-allauth,
+  django-filter,
+  django-oauth-toolkit,
+  django-polymorphic,
+  django-rest-auth,
+  django-rest-polymorphic,
+  djangorestframework,
+  djangorestframework-camel-case,
+  djangorestframework-dataclasses,
+  djangorestframework-recursive,
+  djangorestframework-simplejwt,
+  drf-jwt,
+  drf-nested-routers,
+  drf-spectacular-sidecar,
+  fetchFromGitHub,
+  fetchpatch,
+  inflection,
+  jsonschema,
+  psycopg2,
+  pytest-django,
+  pytestCheckHook,
+  pythonOlder,
+  pyyaml,
+  setuptools,
+  uritemplate,
 }:
 
 buildPythonPackage rec {
   pname = "drf-spectacular";
-  version = "0.27.1";
-  format = "setuptools";
+  version = "0.27.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tfranzel";
     repo = "drf-spectacular";
     rev = "refs/tags/${version}";
-    hash = "sha256-R6rxEo9SNNziXRWB+01UUInParpGcFDIkDZtN4k+dFE=";
+    hash = "sha256-lOgFDkAY+PqSeyLSvWFT7KPVicSJZxd6yl17GAGHbRs=";
   };
 
   patches = [
@@ -47,7 +52,9 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     django
     djangorestframework
     inflection
@@ -77,10 +84,11 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # requires django with gdal
+    # Test requires django with gdal
     "test_rest_framework_gis"
-    # outdated test artifact
+    # Outdated test artifact
     "test_pydantic_decoration"
+    "test_knox_auth_token"
   ];
 
   pythonImportsCheck = [ "drf_spectacular" ];
diff --git a/pkgs/development/python-modules/fontbakery/default.nix b/pkgs/development/python-modules/fontbakery/default.nix
index 7ac5f86b1ee2a..313e6d7c7e48f 100644
--- a/pkgs/development/python-modules/fontbakery/default.nix
+++ b/pkgs/development/python-modules/fontbakery/default.nix
@@ -47,11 +47,11 @@
 
 buildPythonPackage rec {
   pname = "fontbakery";
-  version = "0.12.2";
+  version = "0.12.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sHkTxu8TdPXbUZvpJH46SF8U4JNIzfFb5HJEXCqomOI=";
+    hash = "sha256-DN1v5MQtMhHO12tVPkJUuIfh+X3kb1o71zAwNgtLH+I=";
   };
 
   pyproject = true;
diff --git a/pkgs/development/python-modules/fontbakery/tests.nix b/pkgs/development/python-modules/fontbakery/tests.nix
index 4725b1fee3e31..d968d6ec056d5 100644
--- a/pkgs/development/python-modules/fontbakery/tests.nix
+++ b/pkgs/development/python-modules/fontbakery/tests.nix
@@ -10,13 +10,10 @@ runCommand "${pname}-tests" { meta.timeout = 5; } ''
   # Check the version matches what we packaged.
   ${fontbakery}/bin/fontbakery --version | grep -q "${version}"
 
-  # Can it list its own subcommands?
-  ${fontbakery}/bin/fontbakery --list-subcommands >>$out
-
   # Unpack src to get some test fonts.
   tar -xzf ${src} --strip-components=1 ${pname}-${version}/data/test
 
   # Run some font checks.
-  ${fontbakery}/bin/fontbakery check-ufo-sources --no-progress --no-colors data/test/test.ufo >>$out
+  ${fontbakery}/bin/fontbakery check-ufo --no-progress --no-colors data/test/test.ufo >>$out
   # TODO add more
 ''
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index be573a627e99e..57e8372efa768 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.49.0";
+  version = "4.51.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-8xQVuAnIS/mwYKwI+ow0YArIP8wFTKWGLZ+NCgIFYok=";
+    hash = "sha256-JUAFGLjyq/2OXlhTB6dIcO3Mq7Rx1HII+sg2TaQfPYU=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/gdown/default.nix b/pkgs/development/python-modules/gdown/default.nix
index 1b0b3aa70b92a..881840e2a0e8b 100644
--- a/pkgs/development/python-modules/gdown/default.nix
+++ b/pkgs/development/python-modules/gdown/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "gdown";
-  version = "5.1.0";
+  version = "5.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VQpy3FyigZ/kvMFdgNBdfJjAuQ5XJWJUt30CVrnfRoM=";
+    hash = "sha256-IUUWUGLYVSCjzZizVsntUixeeYTUCFNUCf1G+U3vx4c=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/gemfileparser/default.nix b/pkgs/development/python-modules/gemfileparser/default.nix
index e6b91d24f804e..73ef12c7496fd 100644
--- a/pkgs/development/python-modules/gemfileparser/default.nix
+++ b/pkgs/development/python-modules/gemfileparser/default.nix
@@ -1,31 +1,38 @@
-{ lib
-, fetchPypi
-, buildPythonPackage
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
+
 buildPythonPackage rec {
   pname = "gemfileparser";
   version = "0.8.0";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e";
+    hash = "sha256-g5WS5J6j/Zhc7AA+9Y+OdwCaae12RKDArMlM9t2bjW4=";
   };
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "gemfileparser"
-  ];
+  pythonImportsCheck = [ "gemfileparser" ];
 
   meta = with lib; {
     description = "A library to parse Ruby Gemfile, .gemspec and Cocoapod .podspec file using Python";
-    mainProgram = "parsegemfile";
     homepage = "https://github.com/gemfileparser/gemfileparser";
-    license = with licenses; [ gpl3Plus /* or */ mit ];
-    maintainers = [ ];
+    license = with licenses; [
+      gpl3Plus
+      mit
+    ];
+    maintainers = with maintainers; [ ];
+    mainProgram = "parsegemfile";
   };
 }
diff --git a/pkgs/development/python-modules/gguf/default.nix b/pkgs/development/python-modules/gguf/default.nix
new file mode 100644
index 0000000000000..767a8472adf83
--- /dev/null
+++ b/pkgs/development/python-modules/gguf/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, poetry-core
+, pythonOlder
+}:
+buildPythonPackage rec {
+  pname = "gguf";
+  version = "0.6.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-suIuq6KhBsGtFIGGoUrZ8pxCk1Fob+nXzhbfOaBgfmU=";
+  };
+
+  dependencies = [
+    numpy
+    poetry-core
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A module for writing binary files in the GGUF format";
+    homepage = "https://ggml.ai/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mitchmindtree ];
+  };
+}
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index 6f385ff9fb7c9..c913971f6d35b 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.44.0";
+  version = "0.45.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "griffe";
     rev = "refs/tags/${version}";
-    hash = "sha256-jZ5QK6HiQ0C5miFYGavIlScJHmocy6frzC2c8xTvYOw=";
+    hash = "sha256-nczu6Neh1feSZyyMrXyiXU1aDIjOsX6RKqaH+Qw8yrQ=";
   };
 
   build-system = [ pdm-backend ];
diff --git a/pkgs/development/python-modules/hatchling/default.nix b/pkgs/development/python-modules/hatchling/default.nix
index 9f8ca78a96aee..fa5f239acacc2 100644
--- a/pkgs/development/python-modules/hatchling/default.nix
+++ b/pkgs/development/python-modules/hatchling/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "hatchling";
-  version = "1.24.1";
+  version = "1.24.2";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UfhhiR6YxAROtFUWOnN+XSMo16p0iQsYLbLYD+4ipJc=";
+    hash = "sha256-Qd3CfNsl2573tovvB1+CnITLNJqhv/gkB5fQElEFR7A=";
   };
 
   # listed in backend/pyproject.toml
diff --git a/pkgs/development/python-modules/hid/default.nix b/pkgs/development/python-modules/hid/default.nix
index deb4006dfe78a..7c33cb5b9d3c5 100644
--- a/pkgs/development/python-modules/hid/default.nix
+++ b/pkgs/development/python-modules/hid/default.nix
@@ -1,30 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , hidapi
-, nose
 }:
 
 buildPythonPackage rec {
   pname = "hid";
   version = "1.0.6";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-SNdk166XRroSO5bb9FeJPKgCaLd5HEsdLgUTEO64OGA=";
   };
 
-  propagatedBuildInputs = [ hidapi ];
-
-  nativeCheckInputs = [ nose ];
-
  postPatch = ''
-    hidapi=${hidapi}/lib/
-    test -d $hidapi || { echo "ERROR: $hidapi doesn't exist, please update/fix this build expression."; exit 1; }
-    sed -i -e "s|libhidapi|$hidapi/libhidapi|" hid/__init__.py
+   hidapi=${hidapi}/lib/
+   test -d $hidapi || { echo "ERROR: $hidapi doesn't exist, please update/fix this build expression."; exit 1; }
+   sed -i -e "s|libhidapi|$hidapi/libhidapi|" hid/__init__.py
   '';
 
+  build-system = [
+    setuptools
+  ];
+
+  dependencies = [
+    hidapi
+  ];
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [
+    "hid"
+  ];
+
   meta = with lib; {
     description = "hidapi bindings in ctypes";
     homepage = "https://github.com/apmorton/pyhidapi";
diff --git a/pkgs/development/python-modules/hikari-lightbulb/default.nix b/pkgs/development/python-modules/hikari-lightbulb/default.nix
new file mode 100644
index 0000000000000..3295dd637d8cb
--- /dev/null
+++ b/pkgs/development/python-modules/hikari-lightbulb/default.nix
@@ -0,0 +1,48 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  wheel,
+  hikari,
+  croniter,
+}:
+
+buildPythonPackage rec {
+  pname = "hikari-lightbulb";
+  version = "2.3.5";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "tandemdude";
+    repo = "hikari-lightbulb";
+    rev = version;
+    hash = "sha256-gqbbex2xj48LZqW4bVSPDW1UZEFVeOHbNQVM6nhpl1Y=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [ hikari ];
+
+  passthru.optional-dependencies = {
+    crontrigger = [ croniter ];
+  };
+
+  pythonImportsCheck = [ "lightbulb" ];
+
+  meta = with lib; {
+    description = "A command handler for Hikari, the Python Discord API wrapper library";
+    longDescription = ''
+      Lightbulb is designed to be an easy to use command handler library that integrates with the Discord API wrapper library for Python, Hikari.
+
+      This library aims to make it simple for you to make your own Discord bots and provide all the utilities and functions you need to help make this job easier.
+    '';
+    homepage = "https://hikari-lightbulb.readthedocs.io/en/latest/";
+    # https://github.com/tandemdude/hikari-lightbulb/blob/d87df463488d1c1d947144ac0bafa4304e12ddfd/setup.py#L68
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ tomodachi94 ];
+  };
+}
diff --git a/pkgs/development/python-modules/hikvision/default.nix b/pkgs/development/python-modules/hikvision/default.nix
index 23f6387853a82..354edc5d77981 100644
--- a/pkgs/development/python-modules/hikvision/default.nix
+++ b/pkgs/development/python-modules/hikvision/default.nix
@@ -1,35 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, requests
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "hikvision";
   version = "2.0.4";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "fbradyirl";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1l0zvir4hf1pcwwcmrhkspbdljzmi4lknxar5bkipdanpsm588mn";
+    repo = "hikvision";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tiJUqr5WtRvnKll1OymJ9Uva1tUT5so4Zzc4SHLcH9A=";
   };
 
-  propagatedBuildInputs = [
-    requests
-  ];
+  build-system = [ setuptools ];
+
+  dependencies = [ requests ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "hikvision.api" ];
 
   meta = with lib; {
     description = "Python module for interacting with Hikvision IP Cameras";
     homepage = "https://github.com/fbradyirl/hikvision";
+    changelog = "https://github.com/fbradyirl/hikvision/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/hjson/default.nix b/pkgs/development/python-modules/hjson/default.nix
index 44aa789f0d043..46ae9f518a34d 100644
--- a/pkgs/development/python-modules/hjson/default.nix
+++ b/pkgs/development/python-modules/hjson/default.nix
@@ -1,25 +1,34 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, python
-, makeWrapper
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  makeWrapper,
+  pytestCheckHook,
+  python,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "hjson";
   version = "3.0.2";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.5";
 
-  # N.B. pypi src tarball does not have tests
   src = fetchFromGitHub {
     owner = "hjson";
     repo = "hjson-py";
-    rev = "v${version}";
-    sha256 = "1jc7j790rcqnhbrfj4lhnz3f6768dc55aij840wmx16jylfqpc2n";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VrCLHfXShF45IEhGVQpryBzjxreQEunyghazDNKRh8k=";
   };
 
+  build-system = [ setuptools ];
+
   nativeBuildInputs = [ makeWrapper ];
 
+  nativeCheckInputs = [ pytestCheckHook ];
+
   pythonImportsCheck = [ "hjson" ];
 
   postInstall = ''
@@ -29,11 +38,17 @@ buildPythonPackage rec {
       --prefix PATH : ${lib.makeBinPath [ python ]}
   '';
 
+  disabledTestPaths = [
+    # AttributeError:  b'/build/source/hjson/tool.py:14: Deprecati[151 chars]ools' != b''
+    "hjson/tests/test_tool.py"
+  ];
+
   meta = with lib; {
     description = "A user interface for JSON";
-    mainProgram = "hjson";
     homepage = "https://github.com/hjson/hjson-py";
+    changelog = "https://github.com/hjson/hjson-py/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ bhipple ];
+    mainProgram = "hjson";
   };
 }
diff --git a/pkgs/development/python-modules/html2text/default.nix b/pkgs/development/python-modules/html2text/default.nix
index bda7879eab0a4..236b312e343da 100644
--- a/pkgs/development/python-modules/html2text/default.nix
+++ b/pkgs/development/python-modules/html2text/default.nix
@@ -1,38 +1,38 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, pytestCheckHook
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  pytestCheckHook,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "html2text";
   version = "2024.2.26";
   pyproject = true;
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Alir3z4";
     repo = "html2text";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-1CLkTFR+/XQ428WjMF7wliyAG6CB+n8JSsLDdLHPO7I=";
+    hash = "sha256-1CLkTFR+/XQ428WjMF7wliyAG6CB+n8JSsLDdLHPO7I=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "html2text" ];
 
   meta = with lib; {
-    changelog = "https://github.com/Alir3z4/html2text/blob/${src.rev}/ChangeLog.rst";
     description = "Turn HTML into equivalent Markdown-structured text";
     homepage = "https://github.com/Alir3z4/html2text/";
+    changelog = "https://github.com/Alir3z4/html2text/blob/${src.rev}/ChangeLog.rst";
     license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ];
     mainProgram = "html2text";
-    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/http-parser/default.nix b/pkgs/development/python-modules/http-parser/default.nix
index 05cd4397dbf93..7e53465939f28 100644
--- a/pkgs/development/python-modules/http-parser/default.nix
+++ b/pkgs/development/python-modules/http-parser/default.nix
@@ -1,9 +1,11 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, cython
-, setuptools
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  cython,
+  setuptools,
+  pytestCheckHook,
+  fetchpatch,
 }:
 
 buildPythonPackage rec {
@@ -28,18 +30,24 @@ buildPythonPackage rec {
     make -B
   '';
 
-  pythonImportsCheck = [
-    "http_parser"
-  ];
+  pythonImportsCheck = [ "http_parser" ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
+  # The imp module is deprecated since version 3.4, and was removed in 3.12
+  # https://docs.python.org/3.11/library/imp.html
+  # Fix from: https://github.com/benoitc/http-parser/pull/101/
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/benoitc/http-parser/commit/4d4984ce129253f9de475bfd3c683301c916e8b1.patch";
+      hash = "sha256-d3k1X41/D9PpPWsDety2AiYyLv9LJIhpkOo3a6qKcB8=";
+    })
   ];
 
-  meta = with lib; {
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  meta = {
     description = "HTTP request/response parser for python in C";
     homepage = "https://github.com/benoitc/http-parser";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    license = lib.licenses.mit;
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix
index 7807d5d7b2798..826b2cee22356 100644
--- a/pkgs/development/python-modules/ical/default.nix
+++ b/pkgs/development/python-modules/ical/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "8.0.0";
+  version = "8.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "ical";
     rev = "refs/tags/${version}";
-    hash = "sha256-nwF6iInQzHdOtmcC1fi6CS2LnYRCxc/DS9bg8IxTlFg=";
+    hash = "sha256-GA2Kn6OednhQtNzmIq5npN2qXVaMHCzy02Jwx7g3GBA=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index 80b87378a6e4d..f36f67f1d3d24 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -4,12 +4,12 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, flit-core
 , babel
 , markupsafe
 , pytestCheckHook
 , sphinxHook
 , pallets-sphinx-themes
-, setuptools
 , sphinxcontrib-log-cabinet
 , sphinx-issues
 
@@ -19,19 +19,18 @@
 
 buildPythonPackage rec {
   pname = "jinja2";
-  version = "3.1.3";
+  version = "3.1.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    pname = "Jinja2";
-    inherit version;
-    hash = "sha256-rIvWVE1Lssl5K/OhWegLuo/afwfoG8Ou1WVDLVklupA=";
+    inherit pname version;
+    hash = "sha256-Sjruesu+cwOu3o6WSNE7i/iKQpKCqmEiqZPwrIAMs2k=";
   };
 
   nativeBuildInputs = [
-    setuptools
+    flit-core
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
index 9609d68c69614..ce2a48bae9c82 100644
--- a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
+++ b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , buildPythonPackage
 , cargo
-, darwin
+, libiconv
 , fetchFromGitHub
 , json-stream
 , json-stream-rs-tokenizer
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
-    darwin.libiconv
+    libiconv
   ];
 
   # Tests depend on json-stream, which depends on this package.
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index 55deee586c8da..156f8f5c2cd5e 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , pytest, pytest-cov, pytest-xdist
-, six, numpy, scipy, pyyaml, h5py
+, six, numpy, scipy, pyyaml, h5py, optree
 , keras-applications, keras-preprocessing
 }:
 
diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix
index 7e357a070ea0f..804f63a88e9ff 100644
--- a/pkgs/development/python-modules/langchain/default.nix
+++ b/pkgs/development/python-modules/langchain/default.nix
@@ -51,7 +51,7 @@
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.1.16";
+  version = "0.1.52";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -59,8 +59,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "langchain-ai";
     repo = "langchain";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-Xv8juma/1qGC2Rb659dJBvRzRh5W+zU+O8W6peElFGc=";
+    rev = "refs/tags/langchain-core==${version}";
+    hash = "sha256-H8rtysRIwyuJEUFI93vid3MsqReyRCER88xztsuYpOc=";
   };
 
   sourceRoot = "${src.name}/libs/langchain";
diff --git a/pkgs/development/python-modules/language-data/default.nix b/pkgs/development/python-modules/language-data/default.nix
index ff04b036dc05c..da1a35456152a 100644
--- a/pkgs/development/python-modules/language-data/default.nix
+++ b/pkgs/development/python-modules/language-data/default.nix
@@ -1,45 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, marisa-trie
-, poetry-core
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  marisa-trie,
+  pythonOlder,
+  setuptools-scm,
 }:
 
 buildPythonPackage rec {
   pname = "language-data";
-  version = "1.0.1";
-  format = "pyproject";
+  version = "1.2.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "rspeer";
+    owner = "georgkrause";
     repo = "language_data";
-    rev = "v${version}";
-    sha256 = "51TUVHXPHG6ofbnxI6+o5lrtr+QCIpGKu+OjDK3l7Mc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TVWyDEDI6NBioc8DqhXzpLS22EFKsZ/nan2vfgFsieQ=";
   };
 
-  nativeBuildInputs = [
-    poetry-core
-    setuptools
-  ];
+  build-system = [ setuptools-scm ];
 
-  propagatedBuildInputs = [
-    marisa-trie
-  ];
+  dependencies = [ marisa-trie ];
 
-  # Module has no tests
-  doCheck = false;
+  pythonImportsCheck = [ "language_data" ];
 
-  pythonImportsCheck = [
-    "language_data"
-  ];
+  # No unittests
+  doCheck = false;
 
   meta = with lib; {
     description = "Supplement module for langcodes";
-    homepage = "https://github.com/rspeer/language_data";
+    homepage = "https://github.com/georgkrause/language_data";
+    changelog = "https://github.com/georgkrause/language_data/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/lockfile/default.nix b/pkgs/development/python-modules/lockfile/default.nix
index 0fb64ad0baf9f..1ee92f4ce38af 100644
--- a/pkgs/development/python-modules/lockfile/default.nix
+++ b/pkgs/development/python-modules/lockfile/default.nix
@@ -1,25 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , pbr
-, nose
+, pynose
 }:
 
 buildPythonPackage rec {
   pname = "lockfile";
   version = "0.12.2";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799";
   };
 
-  buildInputs = [ pbr ];
-  nativeCheckInputs = [ nose ];
+  build-system = [
+    pbr
+    setuptools
+  ];
+
+  nativeCheckInputs = [ pynose ];
 
   checkPhase = ''
+    runHook preCheck
     nosetests
+    runHook postcheck
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index 00d23b854030e..8b87fc606c98e 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,18 +1,19 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchPypi
-, openssl
-, parameterized
-, pytestCheckHook
-, pythonOlder
-, swig2
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  fetchPypi,
+  openssl,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  swig,
 }:
 
 buildPythonPackage rec {
   pname = "m2crypto";
   version = "0.41.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -22,32 +23,29 @@ buildPythonPackage rec {
     hash = "sha256-OhNYx+6EkEbZF4Knd/F4a/AnocHVG1+vjxlDW/w/FJU=";
   };
 
-  nativeBuildInputs = [
-    swig2
-    openssl
-  ];
+  build-system = [ setuptools ];
 
-  buildInputs = [
-    openssl
-    parameterized
-  ];
+  nativeBuildInputs = [ swig ];
 
-  env = {
-    NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [
-      "-Wno-error=implicit-function-declaration"
-      "-Wno-error=incompatible-pointer-types"
-    ]);
-  } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
-    CPP = "${stdenv.cc.targetPrefix}cpp";
-  };
+  buildInputs = [ openssl ];
+
+  env =
+    {
+      NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [
+        "-Wno-error=implicit-function-declaration"
+        "-Wno-error=incompatible-pointer-types"
+      ]);
+    }
+    // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
+      CPP = "${stdenv.cc.targetPrefix}cpp";
+    };
 
   nativeCheckInputs = [
     pytestCheckHook
+    openssl
   ];
 
-  pythonImportsCheck = [
-    "M2Crypto"
-  ];
+  pythonImportsCheck = [ "M2Crypto" ];
 
   meta = with lib; {
     description = "A Python crypto and SSL toolkit";
diff --git a/pkgs/development/python-modules/mandown/default.nix b/pkgs/development/python-modules/mandown/default.nix
index 37231a55afc21..34004e3a9fbbd 100644
--- a/pkgs/development/python-modules/mandown/default.nix
+++ b/pkgs/development/python-modules/mandown/default.nix
@@ -9,6 +9,7 @@
 , filetype
 , lxml
 , natsort
+, nix-update-script
 , pillow
 , python-slugify
 , requests
@@ -18,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "mandown";
-  version = "1.7.0";
+  version = "1.8.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "potatoeggy";
     repo = "mandown";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oHa7/2fv+BG5KIKFIICYBqddub5SokDvAI6frbVwGSo=";
+    hash = "sha256-vzvidtfBwbIV6cIUjQQIezN12VfxsBOKODoSChz2VDA=";
   };
 
   nativeBuildInputs = [
@@ -56,6 +57,7 @@ buildPythonPackage rec {
     gui = [
       pyside6
     ];
+    updateScript = nix-update-script { };
   };
 
   pythonImportsCheck = [ "mandown" ];
diff --git a/pkgs/development/python-modules/manim-slides/default.nix b/pkgs/development/python-modules/manim-slides/default.nix
index 8f89346b81b8f..f028035d53e79 100644
--- a/pkgs/development/python-modules/manim-slides/default.nix
+++ b/pkgs/development/python-modules/manim-slides/default.nix
@@ -34,7 +34,7 @@
 }:
 buildPythonPackage rec {
   pname = "manim-slides";
-  version = "5.1.5";
+  version = "5.1.6";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     owner = "jeertmans";
     repo = "manim-slides";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YOveWGukizXvEUOhId7UDJema64ypbg7w06JzrTsKjw=";
+    hash = "sha256-BFfp/jeKBXr+Ukh0jNEtMPHlstlBjhSnvA803ddYoZE=";
   };
 
   build-system = [
diff --git a/pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch b/pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch
new file mode 100644
index 0000000000000..ac98a5fc4d309
--- /dev/null
+++ b/pkgs/development/python-modules/miasm/0001-setup.py-use-valid-semver.patch
@@ -0,0 +1,26 @@
+From c85780ce97798f332d627bd44cbbfa19c9ea565e Mon Sep 17 00:00:00 2001
+From: Moritz Sanft <58110325+msanft@users.noreply.github.com>
+Date: Sat, 11 May 2024 11:03:34 +0200
+Subject: [PATCH] setup.py: use valid semver
+
+Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index e1e54434..98e29fee 100644
+--- a/setup.py
++++ b/setup.py
+@@ -314,7 +314,7 @@ def build_all():
+         try:
+             s = setup(
+                 name = "miasm",
+-                version = __import__("miasm").VERSION,
++                version = "v0.0.0",
+                 packages = packages,
+                 data_files=[("", ["README.md"])],
+                 package_data = {
+-- 
+2.44.0
+
diff --git a/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch b/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch
new file mode 100644
index 0000000000000..20262d8102b10
--- /dev/null
+++ b/pkgs/development/python-modules/miasm/0002-core-remove-IDAPython-dependency.patch
@@ -0,0 +1,65 @@
+From fd2a6b2899c8b836a086b43ec9ebccf726f71ec4 Mon Sep 17 00:00:00 2001
+From: Moritz Sanft <58110325+msanft@users.noreply.github.com>
+Date: Sat, 11 May 2024 11:04:19 +0200
+Subject: [PATCH] core: remove IDAPython dependency
+
+Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
+---
+ miasm/core/bin_stream_ida.py | 45 ------------------------------------
+ 1 file changed, 45 deletions(-)
+ delete mode 100644 miasm/core/bin_stream_ida.py
+
+diff --git a/miasm/core/bin_stream_ida.py b/miasm/core/bin_stream_ida.py
+deleted file mode 100644
+index 15bd9d8b..00000000
+--- a/miasm/core/bin_stream_ida.py
++++ /dev/null
+@@ -1,45 +0,0 @@
+-from builtins import range
+-from idc import get_wide_byte, get_segm_end
+-from idautils import Segments
+-from idaapi import is_mapped
+-
+-from miasm.core.utils import int_to_byte
+-from miasm.core.bin_stream import bin_stream_str
+-
+-
+-class bin_stream_ida(bin_stream_str):
+-    """
+-    bin_stream implementation for IDA
+-
+-    Don't generate xrange using address computation:
+-    It can raise error on overflow 7FFFFFFF with 32 bit python
+-    """
+-    def _getbytes(self, start, l=1):
+-        out = []
+-        for ad in range(l):
+-            offset = ad + start + self.base_address
+-            if not is_mapped(offset):
+-                raise IOError(f"not enough bytes @ offset {offset:x}")
+-            out.append(int_to_byte(get_wide_byte(offset)))
+-        return b''.join(out)
+-
+-    def readbs(self, l=1):
+-        if self.offset + l > self.l:
+-            raise IOError("not enough bytes")
+-        content = self.getbytes(self.offset)
+-        self.offset += l
+-        return content
+-
+-    def __str__(self):
+-        raise NotImplementedError('Not fully functional')
+-
+-    def setoffset(self, val):
+-        self.offset = val
+-
+-    def getlen(self):
+-        # Lazy version
+-        if hasattr(self, "_getlen"):
+-            return self._getlen
+-        max_addr = get_segm_end(list(Segments())[-1]  - (self.offset - self.base_address))
+-        self._getlen = max_addr
+-        return max_addr
+-- 
+2.44.0
+
diff --git a/pkgs/development/python-modules/miasm/default.nix b/pkgs/development/python-modules/miasm/default.nix
new file mode 100644
index 0000000000000..4d220bf976626
--- /dev/null
+++ b/pkgs/development/python-modules/miasm/default.nix
@@ -0,0 +1,58 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, future
+, gcc
+, llvmlite
+, parameterized
+, pycparser
+, pyparsing
+, z3-solver
+, setuptools
+}:
+let
+  commit = "90dc1671b59077ee27c3d44d9d536d6659eb3bbe";
+in
+buildPythonPackage rec {
+  pname = "miasm";
+  version = "0.1.5-unstable-2024-04-28";
+
+  pyproject = true;
+  build-system = [ setuptools ];
+
+  src = fetchFromGitHub {
+    owner = "cea-sec";
+    repo = "miasm";
+    rev = commit;
+    hash = "sha256-nkRcirJLmTwSL7lwd+Yk6mteU3YPnm5ekJ4eFF5FmYo=";
+  };
+
+  patches = [
+    #  Use a valid semver as now required by setuptools
+    ./0001-setup.py-use-valid-semver.patch
+
+    # Removes the (unfree) IDAPython dependency
+    ./0002-core-remove-IDAPython-dependency.patch
+  ];
+
+  dependencies = [
+    future
+    llvmlite
+    parameterized
+    pycparser
+    pyparsing
+    z3-solver
+  ];
+
+  buildInputs = [ gcc ];
+
+  pythonImportsCheck = [ "miasm" ];
+
+  meta = {
+    description = "Reverse engineering framework in Python";
+    homepage = "https://github.com/cea-sec/miasm";
+    changelog = "https://github.com/cea-sec/miasm/blob/${commit}/CHANGELOG.md";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ msanft ];
+  };
+}
diff --git a/pkgs/development/python-modules/nanomsg-python/default.nix b/pkgs/development/python-modules/nanomsg-python/default.nix
index 06b2ed5f634f2..1125b88c0e4ea 100644
--- a/pkgs/development/python-modules/nanomsg-python/default.nix
+++ b/pkgs/development/python-modules/nanomsg-python/default.nix
@@ -1,22 +1,35 @@
-{ lib, buildPythonPackage, fetchFromGitHub, nanomsg }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  nanomsg,
+  setuptools,
+  pythonOlder,
+}:
 
 buildPythonPackage {
   pname = "nanomsg-python";
   version = "1.0.20190114";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tonysimpson";
     repo = "nanomsg-python";
     rev = "3acd9160f90f91034d4a43ce603aaa19fbaf1f2e";
-    sha256 = "1qgybcpmm9xxrn39alcgdcpvwphgm1glkbnwx0ljpz4nd1jsnyrl";
+    hash = "sha256-NHurZWiW/Csp6NyuSV+oD16+L2uPUZWGzb2nWi9b/uE=";
   };
 
+  build-system = [ setuptools ];
+
   buildInputs = [ nanomsg ];
 
   # Tests requires network connections
   doCheck = false;
 
+  pythonImportsCheck = [ "nanomsg" ];
+
   meta = with lib; {
     description = "Bindings for nanomsg";
     homepage = "https://github.com/tonysimpson/nanomsg-python";
diff --git a/pkgs/development/python-modules/nanotime/default.nix b/pkgs/development/python-modules/nanotime/default.nix
index aeabc540eb005..d41126916b0bb 100644
--- a/pkgs/development/python-modules/nanotime/default.nix
+++ b/pkgs/development/python-modules/nanotime/default.nix
@@ -1,24 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi, nose }:
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  setuptools,
+  pythonOlder,
+}:
 
 buildPythonPackage rec {
   pname = "nanotime";
   version = "0.5.2";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7cc231fc5f6db401b448d7ab51c96d0a4733f4b69fabe569a576f89ffdf966b";
+    hash = "sha256-x8wjH8X220AbRI16tRyW0KRzP0tp+r5Wmldvif/flms=";
   };
 
-  nativeCheckInputs = [ nose ];
-
-  checkPhase = ''
-    nosetests
-  '';
+  build-system = [ setuptools ];
 
-  # tests currently fail
+  # Tests currently failing
+  # https://github.com/jbenet/nanotime/issues/2
   doCheck = false;
 
+  pythonImportsCheck = [ "nanotime" ];
+
   meta = with lib; {
     description = "Provides a time object that keeps time as the number of nanoseconds since the UNIX epoch";
     homepage = "https://github.com/jbenet/nanotime/tree/master/python";
diff --git a/pkgs/development/python-modules/nats-python/default.nix b/pkgs/development/python-modules/nats-python/default.nix
index 9662dddd5ddbb..f93b2feab69c9 100644
--- a/pkgs/development/python-modules/nats-python/default.nix
+++ b/pkgs/development/python-modules/nats-python/default.nix
@@ -1,41 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, fetchpatch
-, poetry-core
-, pythonOlder
-, setuptools
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  fetchpatch,
+  poetry-core,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "nats-python";
   version = "0.8.0";
-  disabled = pythonOlder "3.6";
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Gr1N";
     repo = "nats-python";
-    rev = version;
-    sha256 = "1j7skyxldir3mphvnsyhjxmf3cimv4h7n5v58jl2gff4yd0hdw7g";
+    rev = "refs/tags/${version}";
+    hash = "sha256-7/AGQfPEuSeoRGUXeyDZNbLhapfQa7vhrSPHRruf+sg=";
   };
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
-
   patches = [
     # Switch to poetry-core, https://github.com/Gr1N/nats-python/pull/19
     (fetchpatch {
       name = "use-poetry-core.patch";
       url = "https://github.com/Gr1N/nats-python/commit/71b25b324212dccd7fc06ba3914491adba22e83f.patch";
-      sha256 = "1fip1qpzk2ka7qgkrdpdr6vnrnb1p8cwapa51xp0h26nm7yis1gl";
+      hash = "sha256-9AUd/anWCAhuD0VdxRm6Ydlst8nttjwfPmqK+S8ON7o=";
     })
   ];
 
-  propagatedBuildInputs = [
-    setuptools
-  ];
+  build-system = [ poetry-core ];
+
+  dependencies = [ setuptools ];
 
   # Tests require a running NATS server
   doCheck = false;
@@ -45,6 +43,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python client for NATS messaging system";
     homepage = "https://github.com/Gr1N/nats-python";
+    changelog = "https://github.com/Gr1N/nats-python/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/naturalsort/default.nix b/pkgs/development/python-modules/naturalsort/default.nix
index 9d7572fb0f701..8be9da8328f26 100644
--- a/pkgs/development/python-modules/naturalsort/default.nix
+++ b/pkgs/development/python-modules/naturalsort/default.nix
@@ -1,20 +1,36 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+}:
 
 buildPythonPackage rec {
   pname = "naturalsort";
   version = "1.5.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "xolox";
     repo = "python-naturalsort";
-    rev = version;
-    sha256 = "0w43vlddzh97hffnvxp2zkrns9qyirx5g8ijxnxkbx1c4b4gq5ih";
+    rev = "refs/tags/${version}";
+    hash = "sha256-MBb8yCIs9DW77TKiV3qOHidt8/zi9m2dgyfB3xrdg3A=";
   };
 
+  build-system = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "natsort" ];
+
   meta = with lib; {
     description = "Simple natural order sorting API for Python that just works";
     homepage = "https://github.com/xolox/python-naturalsort";
+    changelog = "https://github.com/xolox/python-naturalsort/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ eyjhb ];
   };
diff --git a/pkgs/development/python-modules/noiseprotocol/default.nix b/pkgs/development/python-modules/noiseprotocol/default.nix
index d1cc83e517ad3..8192e2dd4f30d 100644
--- a/pkgs/development/python-modules/noiseprotocol/default.nix
+++ b/pkgs/development/python-modules/noiseprotocol/default.nix
@@ -1,18 +1,30 @@
-{ lib, buildPythonPackage, fetchFromGitHub, cryptography, pytestCheckHook }:
+{
+  lib,
+  buildPythonPackage,
+  cryptography,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+}:
 
 buildPythonPackage rec {
   pname = "noiseprotocol";
   version = "0.3.1";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "plizonczyk";
     repo = "noiseprotocol";
-    rev = "v${version}";
-    sha256 = "1mk0rqpjifdv3v1cjwkdnjbrfmzzjm9f3qqs1r8vii4j2wvhm6am";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VZkKNxeSxLhRDhrj4VKV/1eXl7RtcsnCHru5KC/OYNY=";
   };
 
-  propagatedBuildInputs = [ cryptography ];
+  build-system = [ setuptools ];
+
+  dependencies = [ cryptography ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
@@ -21,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Noise Protocol Framework";
     homepage = "https://github.com/plizonczyk/noiseprotocol/";
+    changelog = "https://github.com/plizonczyk/noiseprotocol/blob/v${version}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/oemthermostat/default.nix b/pkgs/development/python-modules/oemthermostat/default.nix
index f40e39f10bf63..154a3f7f1e6b3 100644
--- a/pkgs/development/python-modules/oemthermostat/default.nix
+++ b/pkgs/development/python-modules/oemthermostat/default.nix
@@ -1,45 +1,39 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, requests
-, setuptools-scm
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pytestCheckHook,
+  pythonOlder,
+  requests,
+  setuptools-scm,
 }:
 
 buildPythonPackage rec {
   pname = "oemthermostat";
   version = "1.1.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Cadair";
     repo = "openenergymonitor_thermostat";
-    rev = "v${version}";
-    sha256 = "vrMw3/X8MtejO1WyUA1DOlfVCPTCPgcK5p3+OlTWcM4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vrMw3/X8MtejO1WyUA1DOlfVCPTCPgcK5p3+OlTWcM4=";
   };
 
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
+  build-system = [ setuptools-scm ];
 
-  propagatedBuildInputs = [
-    requests
-  ];
+  dependencies = [ requests ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [
-    "oemthermostat"
-  ];
+  pythonImportsCheck = [ "oemthermostat" ];
 
   meta = with lib; {
     description = "Python module to interact with OpenEnergyMonitor thermostats";
     homepage = "https://github.com/Cadair/openenergymonitor_thermostat";
+    changelog = "https://github.com/Cadair/openenergymonitor_thermostat/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/open-clip-torch/default.nix b/pkgs/development/python-modules/open-clip-torch/default.nix
index 6de2c610fbf63..81b686332883d 100644
--- a/pkgs/development/python-modules/open-clip-torch/default.nix
+++ b/pkgs/development/python-modules/open-clip-torch/default.nix
@@ -69,6 +69,8 @@ buildPythonPackage rec {
     "test_inference_with_data"
     "test_pretrained_text_encoder"
     "test_training_mt5"
+    # fails due to type errors
+    "test_num_shards"
   ] ++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
     "test_training"
     "test_training_coca"
diff --git a/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix b/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
index c5a5ac35b3cd6..efafabe29d61e 100644
--- a/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
+++ b/pkgs/development/python-modules/openwrt-ubus-rpc/default.nix
@@ -1,34 +1,43 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, requests
-, urllib3
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  requests,
+  setuptools,
+  urllib3,
 }:
 
 buildPythonPackage rec {
   pname = "openwrt-ubus-rpc";
   version = "0.0.3";
-  format = "setuptools";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Noltari";
     repo = "python-ubus-rpc";
-    rev = version;
-    sha256 = "19scncc1w9ar3pw4yrw24akjgm74n2m7y308hzl1i360daf5p21k";
+    rev = "refs/tags/${version}";
+    hash = "sha256-M4hbnGrAjBjohwgMf6qw5NQnpyKCZ0/4HVklHhizTKc=";
   };
 
-  propagatedBuildInputs = [
+  build-system = [ setuptools ];
+
+  dependencies = [
     requests
     urllib3
   ];
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "openwrt.ubus" ];
 
   meta = with lib; {
     description = "Python API for OpenWrt ubus RPC";
     homepage = "https://github.com/Noltari/python-ubus-rpc";
+    changelog = "https://github.com/Noltari/python-ubus-rpc/releases/tag/${version}";
     license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/optree/default.nix b/pkgs/development/python-modules/optree/default.nix
new file mode 100644
index 0000000000000..d592c6d51f399
--- /dev/null
+++ b/pkgs/development/python-modules/optree/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, lib
+, cmake
+, setuptools
+, typing-extensions
+, pybind11
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "optree";
+  version = "0.11.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "metaopt";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-VnnnEoXkYJO+S7baH+JZvsW18Tk3TiY9+Cd230OlZWo=";
+  };
+
+  dontUseCmakeConfigure = true;
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+  nativeBuildInputs = [
+    setuptools
+    pybind11
+    cmake
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  # prevent import failures from pytest
+  preCheck = ''
+    rm -r optree
+  '';
+  disabledTests = [
+    # Fails because the 'test_treespec' module can't be found
+    "test_treespec_pickle_missing_registration"
+  ];
+  pythonImportsCheck = [
+    "optree"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/metaopt/optree";
+    changelog = "https://github.com/metaopt/optree/releases/tag/v${version}";
+    description = "Optimized PyTree Utilities";
+    maintainers = with maintainers; [ pandapip1 ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/opuslib/default.nix b/pkgs/development/python-modules/opuslib/default.nix
index c30d708511866..2f5bbf8b2581d 100644
--- a/pkgs/development/python-modules/opuslib/default.nix
+++ b/pkgs/development/python-modules/opuslib/default.nix
@@ -1,17 +1,20 @@
-{ buildPythonPackage,
+{
+  buildPythonPackage,
   fetchFromGitHub,
   fetchpatch,
   isPy27,
   libopus,
-  nose,
-  lib, stdenv,
+  pynose,
+  lib,
+  stdenv,
   substituteAll,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "opuslib";
   version = "3.0.3";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = isPy27;
 
@@ -41,7 +44,11 @@ buildPythonPackage rec {
     })
   ];
 
-  nativeCheckInputs = [ nose ];
+  build-system = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [ pynose ];
 
   meta = with lib; {
     description = "Python bindings to the libopus, IETF low-delay audio codec";
diff --git a/pkgs/development/python-modules/pcffont/default.nix b/pkgs/development/python-modules/pcffont/default.nix
new file mode 100644
index 0000000000000..7c4c0ca54dd3e
--- /dev/null
+++ b/pkgs/development/python-modules/pcffont/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, bdffont
+, pytestCheckHook
+, nix-update-script
+}:
+
+buildPythonPackage rec {
+  pname = "pcffont";
+  version = "0.0.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "TakWolf";
+    repo = "pcffont";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gu9niWxYTw3rcA++z8B+MdKp5XaqAGjmvd+PdSDosfg=";
+  };
+
+  build-system = [
+    hatchling
+  ];
+
+  dependencies = [
+    bdffont
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pcffont" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    description = "Library for manipulating Portable Compiled Format (PCF) fonts";
+    homepage = "https://github.com/TakWolf/pcffont";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/pdm-backend/default.nix b/pkgs/development/python-modules/pdm-backend/default.nix
index 8c199ffd8e8b5..d2d77f67fc255 100644
--- a/pkgs/development/python-modules/pdm-backend/default.nix
+++ b/pkgs/development/python-modules/pdm-backend/default.nix
@@ -9,25 +9,26 @@
 # tests
 , editables
 , git
+, mercurial
 , pytestCheckHook
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pdm-backend";
-  version = "2.2.1";
+  version = "2.3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pdm-project";
     repo = "pdm-backend";
     rev = "refs/tags/${version}";
-    hash = "sha256-WvRpZD486yGP9qqxZyiErfEuIyrULDbzKAoFwroV1KE=";
+    hash = "sha256-V+NESf7NavR6L6ko4Oh4KhAR2iIN5GiHZPELwvkpr4c=";
   };
 
   env.PDM_BUILD_SCM_VERSION = version;
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
+  dependencies = lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
 
@@ -38,12 +39,17 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     editables
     git
+    mercurial
     pytestCheckHook
     setuptools
   ];
 
   preCheck = ''
     unset PDM_BUILD_SCM_VERSION
+
+    # tests require a configured git identity
+    export HOME=$TMPDIR
+    git config --global user.email nixbld@localhost
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index 0efeaffddd69a..ff4baf1aa2be0 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "19.9.4";
+  version = "19.10.8";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4v+I1NXfVseKid8A5gBIvAIQfwdMMLWUNts9Ga29tWs=";
+    hash = "sha256-H9AJErjJC/zo5Fy1sZFLw6GCMm4YirMzwWbAhzXM7mg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pipdeptree/default.nix b/pkgs/development/python-modules/pipdeptree/default.nix
index b312b78a2bfb2..3aa70970fc65c 100644
--- a/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/pkgs/development/python-modules/pipdeptree/default.nix
@@ -7,6 +7,7 @@
   graphviz,
   hatchling,
   hatch-vcs,
+  packaging,
   pytest-mock,
   pytestCheckHook,
   pip,
@@ -32,7 +33,10 @@ buildPythonPackage rec {
     hatch-vcs
   ];
 
-  dependencies = [ pip ];
+  dependencies = [
+    pip
+    packaging
+  ];
 
   passthru.optional-dependencies = {
     graphviz = [ graphviz ];
diff --git a/pkgs/development/python-modules/pixel-font-builder/default.nix b/pkgs/development/python-modules/pixel-font-builder/default.nix
index 0ef77bd5521c9..d8908fe265eff 100644
--- a/pkgs/development/python-modules/pixel-font-builder/default.nix
+++ b/pkgs/development/python-modules/pixel-font-builder/default.nix
@@ -10,23 +10,32 @@
 , brotli
 , fonttools
 , pypng
+, pcffont
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
   pname = "pixel-font-builder";
-  version = "0.0.19";
+  version = "0.0.24";
+  pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     pname = "pixel_font_builder";
     inherit version;
-    hash = "sha256-f38DyM5hojHfv8k/W6kcHxbOjz43hHW6i4Scm6NbHiQ=";
+    hash = "sha256-hBlTTIPx4TRgeXapVnSaKPUwseR3uYT0gcgKLGmmSZI=";
   };
 
-  format = "pyproject";
+  pythonRelaxDeps = [
+    "fonttools"
+  ];
 
   nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  build-system = [
     hatch-vcs
     hatchling
   ];
@@ -36,10 +45,11 @@ buildPythonPackage rec {
     pypng
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     bdffont
     brotli
     fonttools
+    pcffont
   ];
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/development/python-modules/plantuml-markdown/default.nix b/pkgs/development/python-modules/plantuml-markdown/default.nix
index 09a64b298e469..0ec4ad920fdde 100644
--- a/pkgs/development/python-modules/plantuml-markdown/default.nix
+++ b/pkgs/development/python-modules/plantuml-markdown/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "plantuml-markdown";
-  version = "3.9.6";
+  version = "3.9.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mikitex70";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LbAQt7cbSUHSU5QfqQWQWuolPxCoXBjmVaw5Tz96fK8=";
+    hash = "sha256-/lsu7kiUyQ6LUFINX+/aCFSKm1pGyIfUzSuUehwCz7I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/playwright/default.nix b/pkgs/development/python-modules/playwright/default.nix
index ff22cdf0cb8d8..c0032e5ebf836 100644
--- a/pkgs/development/python-modules/playwright/default.nix
+++ b/pkgs/development/python-modules/playwright/default.nix
@@ -51,7 +51,7 @@ buildPythonPackage rec {
 
     substituteInPlace setup.py \
       --replace "setuptools-scm==8.0.4" "setuptools-scm" \
-      --replace "wheel==0.41.2" "wheel"
+      --replace-fail "wheel==0.42.0" "wheel"
 
     substituteInPlace pyproject.toml \
       --replace 'requires = ["setuptools==68.2.2", "setuptools-scm==8.0.4", "wheel==0.42.0", "auditwheel==5.4.0"]' \
diff --git a/pkgs/development/python-modules/proxy-py/default.nix b/pkgs/development/python-modules/proxy-py/default.nix
index 72630b722bc4e..384dd6c1ec080 100644
--- a/pkgs/development/python-modules/proxy-py/default.nix
+++ b/pkgs/development/python-modules/proxy-py/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "proxy-py";
-  version = "2.4.4rc5";
+  version = "2.4.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "abhinavsingh";
     repo = "proxy.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ngIskWzN6699C0WjSX/ZbHxV3Eb8ikQPNYZFzfzt7xU=";
+    hash = "sha256-QWwIbNt2MtRfQaX7uZJzYmS++2MH+gTjWO0aEKYSETI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/psycopg2cffi/default.nix b/pkgs/development/python-modules/psycopg2cffi/default.nix
index f791f953d3f0a..608bae034ea58 100644
--- a/pkgs/development/python-modules/psycopg2cffi/default.nix
+++ b/pkgs/development/python-modules/psycopg2cffi/default.nix
@@ -5,35 +5,46 @@
 , postgresql
 , postgresqlTestHook
 , pytestCheckHook
+, setuptools
 , six
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "psycopg2cffi";
-  version = "2.8.1";
-  format = "setuptools";
-
-  # NB: This is a fork.
-  # The original repo exists at https://github.com/chtd/psycopg2cffi, however
-  # this is mostly unmaintained and does not build for PyPy. Given that the
-  # whole point of this cffi alternative to psycopg2 is to use it with PyPy, I
-  # chose to use a working fork instead, which was linked in the relevant issue:
-  # https://github.com/chtd/psycopg2cffi/issues/113#issuecomment-730548574
-  #
-  # If/when these changes get merged back upstream we should revert to using the
-  # original source as opposed to the fork.
+  version = "2.9.0";
+  pyproject = true;
+
   src = fetchFromGitHub {
-    owner = "Omegapol";
-    repo = pname;
-    rev = "c202b25cd861d5e8f0f55c329764ff1da9f020c0";
-    sha256 = "09hsnjkix1c0vlhmfvrp8pchpnz2ya4xrchyq15czj527nx2dmy2";
+    owner = "chtd";
+    repo = "psycopg2cffi";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9r5MYxw9cvdbLVj8StmMmn0AKQepOpCc7TIBGXZGWe4=";
   };
 
-  nativeBuildInputs = [ postgresql ];
+  postPatch = ''
+    substituteInPlace psycopg2cffi/_impl/_build_libpq.py \
+      --replace-fail "from distutils import sysconfig" "import sysconfig" \
+      --replace-fail "sysconfig.get_python_inc()" "sysconfig.get_path('include')"
+  '';
+
+  build-system = [
+    postgresql
+    setuptools
+  ];
+
+  dependencies = [
+    cffi
+    six
+  ];
 
-  propagatedBuildInputs = [ six cffi ];
+  # FATAL: could not create shared memory segment: Operation not permitted
+  doCheck = !stdenv.isDarwin;
 
-  nativeCheckInputs = [ postgresqlTestHook pytestCheckHook ];
+  nativeCheckInputs = [
+    postgresqlTestHook
+    pytestCheckHook
+  ];
 
   disabledTests = [
     # AssertionError: '{}' != []
diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix
index f404504cce907..615e076cb702f 100644
--- a/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20240508";
+  version = "0.10.0.20240512";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DnDamv29WeYYL6FFDxfxFWRGYUvmNemorW+DlvoEM64=";
+    hash = "sha256-776icZQcsDEZv0EOeLmLlKmK1tidWi/FQ2SZ/N4Cbqo=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index 415d95f8b324e..1226e25bfa34f 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "2.4.2";
+  version = "2.4.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mib1185";
     repo = "py-synologydsm-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uqQY0vt+3JGjciG0t9eh8zK5dnq1QhU6FkzWkKX/+DM=";
+    hash = "sha256-KhYK72kIPeZ32bdJ+3j8rcq/LIrcuELQD+/OQYhktog=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyannote-pipeline/default.nix b/pkgs/development/python-modules/pyannote-pipeline/default.nix
index 00b7eab6344a1..0b85c50474d58 100644
--- a/pkgs/development/python-modules/pyannote-pipeline/default.nix
+++ b/pkgs/development/python-modules/pyannote-pipeline/default.nix
@@ -1,16 +1,17 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, setuptools
-, wheel
-, pyannote-core
-, pyannote-database
-, pyyaml
-, optuna
-, tqdm
-, docopt
-, filelock
-, scikit-learn
+{
+  lib,
+  buildPythonPackage,
+  docopt,
+  fetchFromGitHub,
+  filelock,
+  optuna,
+  pyannote-core,
+  pyannote-database,
+  pyyaml,
+  scikit-learn,
+  setuptools,
+  tqdm,
+  versioneer,
 }:
 
 buildPythonPackage rec {
@@ -21,11 +22,21 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "pyannote";
     repo = "pyannote-pipeline";
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-0wSgy6kbKi9Wa5dimOz34IV5/8fSwaHDMUpaBW7tm2Y=";
   };
 
-  propagatedBuildInputs = [
+  postPatch = ''
+    # Remove vendorized versioeer.py
+    rm versioneer.py
+  '';
+
+  build-system = [
+    setuptools
+    versioneer
+  ];
+
+  dependencies = [
     pyannote-core
     pyannote-database
     pyyaml
@@ -36,18 +47,13 @@ buildPythonPackage rec {
     scikit-learn
   ];
 
-  nativeBuildInputs = [
-    setuptools
-    wheel
-  ];
-
   pythonImportsCheck = [ "pyannote.pipeline" ];
 
   meta = with lib; {
     description = "Tunable pipelines";
-    mainProgram = "pyannote-pipeline";
     homepage = "https://github.com/pyannote/pyannote-pipeline";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "pyannote-pipeline";
   };
 }
diff --git a/pkgs/development/python-modules/pyelftools/default.nix b/pkgs/development/python-modules/pyelftools/default.nix
index 063215f5bc6e1..85110fdf94aac 100644
--- a/pkgs/development/python-modules/pyelftools/default.nix
+++ b/pkgs/development/python-modules/pyelftools/default.nix
@@ -38,12 +38,18 @@ buildPythonPackage rec {
     "elftools"
   ];
 
-  meta = with lib; {
+  meta = {
     description = "Python library for analyzing ELF files and DWARF debugging information";
     homepage = "https://github.com/eliben/pyelftools";
     changelog = "https://github.com/eliben/pyelftools/blob/v${version}/CHANGES";
-    license = licenses.publicDomain;
-    maintainers = with maintainers; [ igsha pamplemousse ];
+    license = with lib.licenses; [
+      # Public domain with Unlicense waiver.
+      unlicense
+      # pyelftools bundles construct library that is licensed under MIT license.
+      # See elftools/construct/{LICENSE,README} in the source code.
+      mit
+    ];
+    maintainers = with lib.maintainers; [ igsha pamplemousse ];
     mainProgram = "readelf.py";
   };
 }
diff --git a/pkgs/development/python-modules/pyexploitdb/default.nix b/pkgs/development/python-modules/pyexploitdb/default.nix
index 93f5e3567839b..763b5a4a62c7a 100644
--- a/pkgs/development/python-modules/pyexploitdb/default.nix
+++ b/pkgs/development/python-modules/pyexploitdb/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyexploitdb";
-  version = "0.2.16";
+  version = "0.2.17";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pyExploitDb";
     inherit version;
-    hash = "sha256-PP9dR8Jl4eWsky3vO9Pgraw0plik/5aWvmOAEc2/Qpo=";
+    hash = "sha256-I7uDmKvHVx8mpqlq+kOyp57wCii8fy9ecJTSm7uHbZ0=";
   };
 
   build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix
index 61fee2859d184..89d245e6e6ae2 100644
--- a/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/pkgs/development/python-modules/pygraphviz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pygraphviz";
-  version = "1.12";
+  version = "1.13";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "pygraphviz";
     repo = "pygraphviz";
-    rev = "pygraphviz-${version}";
-    hash = "sha256-XDP77H724eiMa/V18OtLxpUpxlIVDmcFLMYOAbazquo=";
+    rev = "refs/tags/pygraphviz-${version}";
+    hash = "sha256-/H7eHgs3jtbgat8//1Y1S3iV5s0UBKW+J+zK+f8qGqI=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pymilter/default.nix b/pkgs/development/python-modules/pymilter/default.nix
index be0ee9bd2bc45..9cefa458d7e9f 100644
--- a/pkgs/development/python-modules/pymilter/default.nix
+++ b/pkgs/development/python-modules/pymilter/default.nix
@@ -1,4 +1,15 @@
-{ lib, python, buildPythonPackage, fetchFromGitHub, libmilter, bsddb3, pydns, iana-etc, libredirect }:
+{ lib
+, python
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, libmilter
+, bsddb3
+, pydns
+, iana-etc
+, libredirect
+, pyasyncore
+}:
 
 buildPythonPackage rec {
   pname = "pymilter";
@@ -13,7 +24,14 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ libmilter ];
+  nativeCheckInputs = [ pyasyncore ];
   propagatedBuildInputs = [ bsddb3 pydns ];
+  patches = [ (fetchpatch {
+    name = "Remove-calls-to-the-deprecated-method-assertEquals";
+    url = "https://github.com/sdgathman/pymilter/pull/57.patch";
+    hash = "sha256-/5LlDR15nMR3l7rkVjT3w4FbDTFAAgNdERWlPNL2TVg=";
+    })
+  ];
 
   preBuild = ''
     sed -i 's/import thread/import _thread as thread/' Milter/greylist.py
diff --git a/pkgs/development/python-modules/pynmeagps/default.nix b/pkgs/development/python-modules/pynmeagps/default.nix
index 7791bb13f315e..89bfe09c1637b 100644
--- a/pkgs/development/python-modules/pynmeagps/default.nix
+++ b/pkgs/development/python-modules/pynmeagps/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pynmeagps";
-  version = "1.0.35";
+  version = "1.0.36";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "semuconsulting";
     repo = "pynmeagps";
-    rev = "v${version}";
-    hash = "sha256-ULGBfTHCFGUSF3cmJ4GEUrgGDo4uJwstBj8nZ7tj0AA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-n7dCr85TeBLxdrD1ZAA7PGJd9+3+xFJ8gjRU/JOFysY=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix
index 8a28d85b06d42..5e2dc4547e9f8 100644
--- a/pkgs/development/python-modules/pynws/default.nix
+++ b/pkgs/development/python-modules/pynws/default.nix
@@ -1,31 +1,32 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, fetchFromGitHub
-, freezegun
-, metar
-, pytest-aiohttp
-, pytest-asyncio
-, pytest-cov
-, pytestCheckHook
-, pythonOlder
-, setuptools
-, setuptools-scm
-, tenacity
+{
+  lib,
+  aiohttp,
+  buildPythonPackage,
+  fetchFromGitHub,
+  freezegun,
+  metar,
+  pytest-aiohttp,
+  pytest-asyncio,
+  pytest-cov,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
+  setuptools-scm,
+  tenacity,
 }:
 
 buildPythonPackage rec {
   pname = "pynws";
-  version = "1.7.0";
+  version = "1.8.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "MatthewFlamm";
-    repo = pname;
+    repo = "pynws";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JjXGDjLITzJxEmCIv7RPvb+Jqe9hm++ptpJOryuK9M0=";
+    hash = "sha256-KUCylHYng6mn2TWKf8C7k0IoerM22OIQ7pJMKi5SF3A=";
   };
 
   build-system = [
@@ -38,9 +39,7 @@ buildPythonPackage rec {
     metar
   ];
 
-  optional-dependencies.retry = [
-    tenacity
-  ];
+  optional-dependencies.retry = [ tenacity ];
 
   nativeCheckInputs = [
     freezegun
@@ -55,6 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library to retrieve data from NWS/NOAA";
     homepage = "https://github.com/MatthewFlamm/pynws";
+    changelog = "https://github.com/MatthewFlamm/pynws/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix b/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
index 1fef60d8acf51..c10bf0108761a 100644
--- a/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
+++ b/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-backend-insightidr";
-  version = "0.2.2";
+  version = "0.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-insightidr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-B42MADteF0+GC/CPJPLaTGdGcQjC8KEsK9u3tBmtObg=";
+    hash = "sha256-wQMnnJ0KU+53MS3PIBkwIhUiyUdCrDbdUT6upk2Pp/8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-fixture-config/default.nix b/pkgs/development/python-modules/pytest-fixture-config/default.nix
index 31ab985dbff2d..5be97cd7471ce 100644
--- a/pkgs/development/python-modules/pytest-fixture-config/default.nix
+++ b/pkgs/development/python-modules/pytest-fixture-config/default.nix
@@ -1,17 +1,30 @@
-{ lib, buildPythonPackage, fetchPypi
-, setuptools-git, pytest }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  setuptools-git,
+  pytest,
+}:
 
 buildPythonPackage rec {
   pname = "pytest-fixture-config";
-  version = "1.7.0";
-  format = "setuptools";
+  version = "1.7.1-unstable-2022-10-03";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "13i1qpz22w3x4dmw8vih5jdnbqfqvl7jiqs0dg764s0zf8bp98a1";
+  src = fetchFromGitHub {
+    owner = "man-group";
+    repo = "pytest-plugins";
+    rev = "5f9b88a65a8c1e506885352bbd9b2a47900f5014";
+    hash = "sha256-huN3RzwtfVf4iMJ96VRP/ldOxTUlUMF1wJIdbcGXHn4=";
   };
 
-  nativeBuildInputs = [ setuptools-git ];
+  sourceRoot = "${src.name}/pytest-fixture-config";
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-git
+  ];
 
   buildInputs = [ pytest ];
 
diff --git a/pkgs/development/python-modules/pytest-server-fixtures/default.nix b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
index 29f26251b022c..1466371e1af44 100644
--- a/pkgs/development/python-modules/pytest-server-fixtures/default.nix
+++ b/pkgs/development/python-modules/pytest-server-fixtures/default.nix
@@ -1,26 +1,45 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, pytest-shutil, pytest-fixture-config, psutil
-, requests, future, retry }:
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  future,
+  psutil,
+  pytest,
+  pytest-shutil,
+  pytest-fixture-config,
+  requests,
+  retry,
+  six,
+  setuptools,
+}:
 
 buildPythonPackage rec {
   pname = "pytest-server-fixtures";
-  version = "1.7.1";
-  format = "setuptools";
+  inherit (pytest-fixture-config) version src;
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-xecz0gqNDnc8pRPjYOS6JkeVLqlCj6K9BVFsYoHqPOc=";
-  };
+  sourceRoot = "${src.name}/pytest-server-fixtures";
+
+  build-system = [ setuptools ];
 
   buildInputs = [ pytest ];
-  propagatedBuildInputs = [ pytest-shutil pytest-fixture-config psutil requests future retry ];
 
-  # RuntimeError: Unable to find a free server number to start Xvfb
+  dependencies = [
+    future
+    psutil
+    pytest-shutil
+    pytest-fixture-config
+    requests
+    retry
+    six
+  ];
+
+  # Don't run intergration tests
   doCheck = false;
 
   meta = with lib; {
     description = "Extensible server fixures for py.test";
-    homepage  = "https://github.com/manahl/pytest-plugins";
+    homepage = "https://github.com/manahl/pytest-plugins";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/pytest-shutil/default.nix b/pkgs/development/python-modules/pytest-shutil/default.nix
index 480c15b87c361..d9c80a93510ee 100644
--- a/pkgs/development/python-modules/pytest-shutil/default.nix
+++ b/pkgs/development/python-modules/pytest-shutil/default.nix
@@ -1,13 +1,15 @@
 { lib
 , isPyPy
 , buildPythonPackage
-, fetchPypi
+, pytest-fixture-config
+, fetchpatch
 
-# build
-, pytest
+# build-time
+, setuptools
+, setuptools-git
 
 # runtime
-, setuptools-git
+, pytest
 , mock
 , path
 , execnet
@@ -15,32 +17,34 @@
 , six
 
 # tests
-, cmdline
 , pytestCheckHook
  }:
 
 buildPythonPackage rec {
   pname = "pytest-shutil";
-  version = "1.7.0";
-  format = "setuptools";
+  inherit (pytest-fixture-config) version src;
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-2BZSYd5251CFBcNB2UwCsRPclj8nRUOrynTb+r0CEmE=";
-  };
+  sourceRoot = "${src.name}/pytest-shutil";
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "contextlib2" 'contextlib2;python_version<"3"' \
-      --replace "path.py" "path"
-  '';
-
-  buildInputs = [
-    pytest
+  # imp was removed in Python 3.12
+  patches = [
+    (fetchpatch {
+      name = "stop-using-imp.patch";
+      url = "https://build.opensuse.org/public/source/openSUSE:Factory/python-pytest-shutil/stop-using-imp.patch?rev=10";
+      hash = "sha256-L8tXoQ9q8o6aP3TpJY/sUVVbUd/ebw0h6de6dBj1WNY=";
+      stripLen = 1;
+    })
   ];
 
-  propagatedBuildInputs = [
+  build-system = [
+    setuptools
     setuptools-git
+  ];
+
+  buildInputs = [ pytest ];
+
+  dependencies = [
     mock
     path
     execnet
@@ -49,7 +53,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    cmdline
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pytest-virtualenv/default.nix b/pkgs/development/python-modules/pytest-virtualenv/default.nix
index 408430d5127c2..494209517eb31 100644
--- a/pkgs/development/python-modules/pytest-virtualenv/default.nix
+++ b/pkgs/development/python-modules/pytest-virtualenv/default.nix
@@ -1,21 +1,43 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, pytest-cov, mock, cmdline, pytest-fixture-config, pytest-shutil, virtualenv }:
+{
+  lib,
+  buildPythonPackage,
+  cmdline,
+  importlib-metadata,
+  mock,
+  pytestCheckHook,
+  pytest,
+  pytest-fixture-config,
+  pytest-shutil,
+  setuptools,
+  virtualenv,
+}:
 
 buildPythonPackage rec {
   pname = "pytest-virtualenv";
-  version = "1.7.0";
-  format = "setuptools";
+  inherit (pytest-fixture-config) version src;
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "03w2zz3crblj1p6i8nq17946hbn3zqp9z7cfnifw47hi4a4fww12";
-  };
+  sourceRoot = "${src.name}/pytest-virtualenv";
+
+  build-system = [ setuptools ];
+
+  buildInputs = [ pytest ];
+
+  dependencies = [
+    importlib-metadata
+    pytest-fixture-config
+    pytest-shutil
+    virtualenv
+  ];
 
-  nativeCheckInputs = [ pytest pytest-cov mock cmdline ];
-  propagatedBuildInputs = [ pytest-fixture-config pytest-shutil virtualenv ];
-  checkPhase = "py.test tests/unit ";
+  nativeCheckInputs = [
+    cmdline
+    mock
+    pytestCheckHook
+  ];
 
-  nativeBuildInputs = [ pytest ];
+  # Don't run integration tests
+  disabledTestPaths = [ "tests/integration/*" ];
 
   meta = with lib; {
     description = "Create a Python virtual environment in your test that cleans up on teardown. The fixture has utility methods to install packages and list what’s installed.";
diff --git a/pkgs/development/python-modules/pytrydan/default.nix b/pkgs/development/python-modules/pytrydan/default.nix
index 2a55b834ebb0b..6ee8162b4ba06 100644
--- a/pkgs/development/python-modules/pytrydan/default.nix
+++ b/pkgs/development/python-modules/pytrydan/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pytrydan";
-  version = "0.6.0";
+  version = "0.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "dgomes";
     repo = "pytrydan";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+hFwBFYtRseVwesZtSrL3J/ZnsMAjD2ZAhTlk41hfqU=";
+    hash = "sha256-5sTHfxNV4JEonGke8ZZ/pXoLA15iCuJ/iSW1XwFMltg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qtile/default.nix b/pkgs/development/python-modules/qtile/default.nix
index 6dc9cc0119436..a4d8bb91ea168 100644
--- a/pkgs/development/python-modules/qtile/default.nix
+++ b/pkgs/development/python-modules/qtile/default.nix
@@ -34,7 +34,7 @@
 buildPythonPackage rec {
   pname = "qtile";
   version = "0.25.0";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "qtile";
@@ -59,13 +59,13 @@ buildPythonPackage rec {
         --replace /usr/include/libdrm ${lib.getDev libdrm}/include/libdrm
   '';
 
-  nativeBuildInputs = [
-    pkg-config
+  build-system = [
     setuptools
     setuptools-scm
+    pkg-config
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     (cairocffi.override { withXcffib = true; })
     dbus-next
     dbus-python
@@ -102,6 +102,6 @@ buildPythonPackage rec {
     description = "A small, flexible, scriptable tiling window manager written in Python";
     mainProgram = "qtile";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ arjan-s ];
+    maintainers = with maintainers; [ arjan-s sigmanificient ];
   };
 }
diff --git a/pkgs/development/python-modules/sacn/default.nix b/pkgs/development/python-modules/sacn/default.nix
index 609d8969be6bc..f03c7a263271c 100644
--- a/pkgs/development/python-modules/sacn/default.nix
+++ b/pkgs/development/python-modules/sacn/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "sacn";
-  version = "1.9.0";
+  version = "1.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LimA0I8y1tdjFk244iWvKJj0Rx3OEaYOSIJtirRHh4o=";
+    hash = "sha256-ppXWRBZVm4QroxZ19S388sRuI5zpaDgJrJqhnwefr3k=";
   };
 
   # no tests
diff --git a/pkgs/development/python-modules/sarif-tools/default.nix b/pkgs/development/python-modules/sarif-tools/default.nix
new file mode 100644
index 0000000000000..785c26e345291
--- /dev/null
+++ b/pkgs/development/python-modules/sarif-tools/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, poetry-core
+, jsonpath-ng
+, jinja2
+, python
+, python-docx
+, matplotlib
+, pyyaml
+, pytestCheckHook
+, pythonOlder
+, pythonRelaxDepsHook
+}:
+
+buildPythonPackage rec {
+  pname = "sarif-tools";
+  version = "2.0.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "microsoft";
+    repo = "sarif-tools";
+    rev = "v${version}";
+    hash = "sha256-80amYGnf7xZdpxzTjBGwgg39YN/jJsEkTm0uAlVbH0w=";
+  };
+
+  disabled = pythonOlder "3.8";
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    jsonpath-ng
+    jinja2
+    python
+    python-docx
+    matplotlib
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonRelaxDeps = [
+    "python-docx"
+  ];
+
+  disabledTests = [
+    # Broken, re-enable once https://github.com/microsoft/sarif-tools/pull/41 is merged
+    "test_version"
+  ];
+
+  pythonImportsCheck = [
+    "sarif"
+  ];
+
+  meta = {
+    description = "A set of command line tools and Python library for working with SARIF files";
+    homepage = "https://github.com/microsoft/sarif-tools";
+    changelog = "https://github.com/microsoft/sarif-tools/releases/tag/v${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ puzzlewolf ];
+    mainProgram = "sarif";
+  };
+}
diff --git a/pkgs/development/python-modules/scalene/default.nix b/pkgs/development/python-modules/scalene/default.nix
index f8684a16cbf2a..69004f67a1963 100644
--- a/pkgs/development/python-modules/scalene/default.nix
+++ b/pkgs/development/python-modules/scalene/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "scalene";
-  version = "1.5.39";
+  version = "1.5.41";
   pyproject = true;
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B4pDLP3+56toQZyvh6+6NimCKv0cpcO0ydcqV1tJZkg=";
+    hash = "sha256-akjxv9Qot2lGntZxkxfFqz65VboL1qduykfjyEg1Ivg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx-intl/default.nix b/pkgs/development/python-modules/sphinx-intl/default.nix
index 1fdf937ae6504..0e719aaa6e73e 100644
--- a/pkgs/development/python-modules/sphinx-intl/default.nix
+++ b/pkgs/development/python-modules/sphinx-intl/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx-intl";
-  version = "2.1.0";
-  format = "setuptools";
+  version = "2.2.0";
+  format = "pyproject";
 
  src = fetchFromGitHub {
     owner = "sphinx-doc";
     repo = pname;
     rev = version;
-    hash = "sha256-U/YCviGrsZNruVzfP0P2dGcB0K0Afh+XUZtp71OeP6c=";
+    hash = "sha256-4sFKrUSk8DqPbEM+Q3cRijXyxRSIdkIEAI/mAmB0wB0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index c9f83af0aee68..6608cbfff56cd 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -4,10 +4,10 @@
 , fetchFromGitHub
 , isPyPy
 
-# nativeBuildInputs
+# build-system
 , flit-core
 
-# propagatedBuildInputs
+# dependencies
 , babel
 , alabaster
 , docutils
@@ -25,6 +25,7 @@
 , sphinxcontrib-qthelp
 , sphinxcontrib-serializinghtml
 , sphinxcontrib-websupport
+, tomli
 
 # check phase
 , defusedxml
@@ -54,11 +55,11 @@ buildPythonPackage rec {
     hash = "sha256-XGGRWEvd1SbQsK8W5yxDzBd5hlvXcDzr8t5Qa6skH/M=";
   };
 
-  nativeBuildInputs = [
+  build-system = [
     flit-core
   ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     alabaster
     babel
     docutils
@@ -76,6 +77,8 @@ buildPythonPackage rec {
     sphinxcontrib-serializinghtml
     # extra[docs]
     sphinxcontrib-websupport
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ] ++ lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index ae1f22b4c2f68..aa557ca555532 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy";
-  version = "2.0.29";
+  version = "2.0.30";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "sqlalchemy";
     repo = "sqlalchemy";
     rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-jEkuvwq/KKjcsREWDvvTFT87kgu3TSBR3JaseOs54qc=";
+    hash = "sha256-l6VxBK4RT/sAFkz3g633MrfQH9Bvp/JE12mdtqjsxd8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/tesla-fleet-api/default.nix b/pkgs/development/python-modules/tesla-fleet-api/default.nix
index fad5795a930e5..31317cd7b7b43 100644
--- a/pkgs/development/python-modules/tesla-fleet-api/default.nix
+++ b/pkgs/development/python-modules/tesla-fleet-api/default.nix
@@ -1,15 +1,16 @@
-{ lib
-, aiohttp
-, aiolimiter
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, setuptools
+{
+  lib,
+  aiohttp,
+  aiolimiter,
+  buildPythonPackage,
+  fetchFromGitHub,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "tesla-fleet-api";
-  version = "0.5.6";
+  version = "0.5.9";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -18,12 +19,10 @@ buildPythonPackage rec {
     owner = "Teslemetry";
     repo = "python-tesla-fleet-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dkxKC0WAgfDvUD9YktRrNCgXpw2+6apfsMVqStZICII=";
+    hash = "sha256-aDejd9UHGXkBa5xyCJaLOkT1A2cWmnx1rKJkXjjw0fc=";
   };
 
-  build-system = [
-    setuptools
-  ];
+  build-system = [ setuptools ];
 
   dependencies = [
     aiohttp
@@ -31,11 +30,9 @@ buildPythonPackage rec {
   ];
 
   # Module has no tests
-  doCheck  =false;
+  doCheck = false;
 
-  pythonImportsCheck = [
-    "tesla_fleet_api"
-  ];
+  pythonImportsCheck = [ "tesla_fleet_api" ];
 
   meta = with lib; {
     description = "Python library for Tesla Fleet API and Teslemetry";
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index 7b5fd56b0a109..0346943304a25 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchurl
 , substituteAll
 , buildPythonPackage
 , fetchPypi
@@ -37,6 +38,10 @@ buildPythonPackage rec {
   patches = [
     # Fix hardcoded `fapi-config.json` configuration path
     ./fapi-config.patch
+    (fetchurl {
+      url = "https://github.com/tpm2-software/tpm2-pytss/pull/571/commits/b02fdc8e259fe977c1065389c042be69e2985bdf.patch";
+      hash = "sha256-+jZFv+s9p52JxtUcNeJx7ayzKDVtPoQSSGgyZqPDuEc=";
+    })
   ] ++ lib.optionals isCross [
     # pytss will regenerate files from headers of tpm2-tss.
     # Those headers are fed through a compiler via pycparser. pycparser expects `cpp`
diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix
index 5cbcf1370372f..c4c47948948a8 100644
--- a/pkgs/development/python-modules/ufo2ft/default.nix
+++ b/pkgs/development/python-modules/ufo2ft/default.nix
@@ -6,6 +6,7 @@
 , cu2qu
 , defcon
 , fetchPypi
+, fontmath
 , fonttools
 , pytestCheckHook
 , pythonOlder
@@ -38,6 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cu2qu
+    fontmath
     fonttools
     defcon
     compreffor
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index 36768b0fccb77..030ab4337ec70 100644
--- a/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -1,44 +1,48 @@
-{ lib
-, fetchFromGitHub
-, buildPythonPackage
-, lxml
-, pythonAtLeast
-, pythonOlder
-, pytestCheckHook
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  lxml,
+  pytestCheckHook,
+  pythonAtLeast,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
   version = "3.2.0";
-  format = "setuptools";
+  pyproject = true;
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "xmlrunner";
     repo = "unittest-xml-reporting";
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-lOJ/+8CVJUXdIaZLLF5PpPkG0DzlNgo46kRZ1Xy7Ju0=";
   };
 
-  propagatedBuildInputs = [
-    lxml
-  ];
+  build-system = [ setuptools ];
+
+  dependencies = [ lxml ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  pytestFlagsArray = lib.optionals (pythonAtLeast "3.11") [
-    # AttributeError: 'tuple' object has no attribute 'shortDescription'
-    "--deselect=tests/testsuite.py::XMLTestRunnerTestCase::test_basic_unittest_constructs"
-    "--deselect=tests/testsuite.py::XMLTestRunnerTestCase::test_unexpected_success"
-  ];
+  disabledTests =
+    lib.optionals (pythonAtLeast "3.11") [
+      # AttributeError: 'tuple' object has no attribute 'shortDescription'
+      "test_basic_unittest_constructs"
+      "test_unexpected_success"
+    ]
+    ++ lib.optionals (pythonAtLeast "3.12") [ "test_xmlrunner_hold_traceback" ];
 
   pythonImportsCheck = [ "xmlrunner" ];
 
   meta = with lib; {
+    description = "Unittest-based test runner with Ant/JUnit like XML reporting";
     homepage = "https://github.com/xmlrunner/unittest-xml-reporting";
-    description = "unittest-based test runner with Ant/JUnit like XML reporting";
+    changelog = "https://github.com/xmlrunner/unittest-xml-reporting/releases/tag/${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ rprospero ];
   };
diff --git a/pkgs/development/python-modules/uxsim/add-qt-plugin-path-to-env.patch b/pkgs/development/python-modules/uxsim/add-qt-plugin-path-to-env.patch
new file mode 100644
index 0000000000000..42f001085d050
--- /dev/null
+++ b/pkgs/development/python-modules/uxsim/add-qt-plugin-path-to-env.patch
@@ -0,0 +1,24 @@
+diff --git a/uxsim/__init__.py b/uxsim/__init__.py
+index 01e1ad1..de1f0fd 100644
+--- a/uxsim/__init__.py
++++ b/uxsim/__init__.py
+@@ -1,8 +1,14 @@
+-from .uxsim import *
+-from .utils import *
++import os
++
+ from .analyzer import *
++from .utils import *
++from .uxsim import *
++
++# Only set our own plugin path if it's not already set
++if not os.getenv("QT_PLUGIN_PATH"): 
++    os.environ["QT_PLUGIN_PATH"] = "$NIX_QT_PLUGIN_PATH"
+ 
+ __version__ = "1.1.1"
+ __author__ = "Toru Seo"
+ __copyright__ = "Copyright (c) 2023 Toru Seo"
+-__license__ = "MIT License"
+\ No newline at end of file
++__license__ = "MIT License"
+
diff --git a/pkgs/development/python-modules/uxsim/default.nix b/pkgs/development/python-modules/uxsim/default.nix
new file mode 100644
index 0000000000000..e08eec1d6cf65
--- /dev/null
+++ b/pkgs/development/python-modules/uxsim/default.nix
@@ -0,0 +1,69 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchFromGitHub,
+  setuptools,
+  wheel,
+  qt5,
+  hackgen-font,
+  python3,
+  matplotlib,
+  numpy,
+  pandas,
+  pillow,
+  pyqt5,
+  scipy,
+  tqdm,
+}:
+buildPythonPackage rec {
+  pname = "uxsim";
+  version = "1.1.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "toruseo";
+    repo = "UXsim";
+    rev = "v${version}";
+    hash = "sha256-qPAFodvx+Z7RsRhzdTq1TRsbvrUFaqRJZxYg3FM6q8A=";
+  };
+
+  patches = [
+    ./add-qt-plugin-path-to-env.patch
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    matplotlib
+    numpy
+    pandas
+    pillow
+    pyqt5
+    scipy
+    tqdm
+  ];
+
+  pythonImportsCheck = ["uxsim"];
+
+
+  # QT_PLUGIN_PATH is required to be set for the program to produce its images
+  # our patch sets it to $NIX_QT_PLUGIN_PATH if QT_PLUGIN_PATH is not set
+  # and here we replace this string with the actual path to qt plugins
+  postInstall = ''
+    substituteInPlace $out/${python3.sitePackages}/uxsim/__init__.py \
+      --replace-fail '$NIX_QT_PLUGIN_PATH' '${qt5.qtbase.bin}/${qt5.qtbase.qtPluginPrefix}'
+
+    mkdir -p $out/${python3.sitePackages}/uxsim/files
+    ln -s ${hackgen-font}/share/fonts/hackgen/HackGen-Regular.ttf $out/${python3.sitePackages}/uxsim/files/
+  '';
+
+  meta = with lib; {
+    description = "Vehicular traffic flow simulator in road network, written in pure Python";
+    homepage = "https://github.com/toruseo/UXsim";
+    license = licenses.mit;
+    maintainers = with maintainers; [vinnymeller];
+  };
+}
diff --git a/pkgs/development/python-modules/webdataset/default.nix b/pkgs/development/python-modules/webdataset/default.nix
index 5f18d28f9fbda..3c6708300d889 100644
--- a/pkgs/development/python-modules/webdataset/default.nix
+++ b/pkgs/development/python-modules/webdataset/default.nix
@@ -16,14 +16,14 @@
 }:
 buildPythonPackage rec {
   pname = "webdataset";
-  version = "0.2.86";
+  version = "0.2.88";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "webdataset";
     repo = "webdataset";
     rev = "refs/tags/${version}";
-    hash = "sha256-aTjxoSoQ9LH4gcFmV+7Aj0HNIpvsFHTrxFUpAtB3nkM=";
+    hash = "sha256-wsBOBUK4VIGMQXYdgbgsuSH4XYvxDsUv3rh0S5rvA6c=";
   };
 
   nativeBuildInputs = [
@@ -51,16 +51,17 @@ buildPythonPackage rec {
   disabledTests = [
     # requires network
     "test_batched"
+    "test_cache_dir"
+    "test_concurrent_download_and_open"
     "test_dataloader"
     "test_decode_handlers"
     "test_decoder"
-    "test_decoder"
     "test_download"
     "test_handlers"
     "test_pipe"
+    "test_remote_file"
     "test_shard_syntax"
     "test_torchvision"
-    "test_torchvision"
     "test_unbatched"
     "test_yaml3"
   ] ++ lib.optionals stdenv.isDarwin [
@@ -78,6 +79,7 @@ buildPythonPackage rec {
     description = "A high-performance Python-based I/O system for large (and small) deep learning problems, with strong support for PyTorch";
     mainProgram = "widsindex";
     homepage = "https://github.com/webdataset/webdataset";
+    changelog = "https://github.com/webdataset/webdataset/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ iynaix ];
   };
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
index 14339d2056f3c..6a682fc300c9a 100644
--- a/pkgs/development/python-modules/wheel/default.nix
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "wheel";
-  version = "0.42.0";
+  version = "0.43.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WML3/gAK1R9DEeRVZWeO0VRFuNVKP52i5I5mYV6vQcI=";
+    hash = "sha256-cATYN7GtS1l3GxcqBl95RsBTuszWoFB9CtuRgUSL0/A=";
     postFetch = ''
       cd $out
       mv tests/testdata/unicode.dist/unicodedist/åäö_日本語.py \
diff --git a/pkgs/development/python-modules/woob/default.nix b/pkgs/development/python-modules/woob/default.nix
index abc876b388a8b..96a3f5ebc9c04 100644
--- a/pkgs/development/python-modules/woob/default.nix
+++ b/pkgs/development/python-modules/woob/default.nix
@@ -2,6 +2,7 @@
 , babel
 , buildPythonPackage
 , fetchFromGitLab
+, fetchpatch
 , pythonRelaxDepsHook
 , html2text
 , lxml
@@ -11,6 +12,7 @@
 , pycountry
 , pytestCheckHook
 , python-dateutil
+, python-jose
 , pythonOlder
 , pyyaml
 , requests
@@ -35,6 +37,14 @@ buildPythonPackage rec {
     hash = "sha256-M9AjV954H1w64YGCVxDEGGSnoEbmocG3zwltob6IW04=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "no-deprecated-pkg_resources.patch";
+      url = "https://gitlab.com/woob/woob/-/commit/3283c4c1a935cc71acea98b2d8c88bc4bf28f643.patch";
+      hash = "sha256-3bRuv93ivKRxbGr52coO023DlxHZWwUeInXTPqQAeL8=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
     pythonRelaxDepsHook
@@ -47,6 +57,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     babel
     python-dateutil
+    python-jose
     html2text
     lxml
     packaging
diff --git a/pkgs/development/tools/algolia-cli/default.nix b/pkgs/development/tools/algolia-cli/default.nix
index 1d02230ec96bd..1f2456b8cc618 100644
--- a/pkgs/development/tools/algolia-cli/default.nix
+++ b/pkgs/development/tools/algolia-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "algolia-cli";
-  version = "1.6.8";
+  version = "1.6.9";
 
   src = fetchFromGitHub {
     owner = "algolia";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-PqiFx1Bzv4cYwnlr1BDPGiumUUneT5sq64eFFcYPmaA=";
+    hash = "sha256-I4aANk/FurYsT2e3YFxRgbfpl7nEXgBwNiQeA2LMdkw=";
   };
 
   vendorHash = "sha256-cNuBTH7L2K4TgD0H9FZ9CjhE5AGXADaniGLD9Lhrtrk=";
diff --git a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
index a1382df1c4f0e..5dd4429280606 100644
--- a/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
+++ b/pkgs/development/tools/analysis/tflint-plugins/tflint-ruleset-google.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tflint-ruleset-google";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-APdAm7gBEA6LHYV3u7j3HtFmzkUqeABqOj5q3rwPO40=";
+    hash = "sha256-9/JCpT7zwuT8Tf8Pa2cj/pVlowFbQ8kv2XPvwJf/b10=";
   };
 
-  vendorHash = "sha256-n+nnftyNvCGVgEkYQIfVL7TS2QP8WpKb7l9jfeutJxw=";
+  vendorHash = "sha256-mh8RXD+RD8juhSY2jWGsmwqAnnudIZIZmq8JjHh/eNQ=";
 
   # upstream Makefile also does a go test $(go list ./... | grep -v integration)
   preCheck = ''
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index c5ded29ce9b50..40fe128c72170 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.50.3";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PfPynSPuMhiyQW9f6HY2WDNlmtltU4xOo0A88I/bCuI=";
+    hash = "sha256-WtX+PKYyiZvjxCz2xAl+A19KjuK9DouVWYzE/U1WeSA=";
   };
 
-  vendorHash = "sha256-HjvEbEfPVeqAVmVKCJHYPSZjZc19DV1HDaz/HcBJAUg=";
+  vendorHash = "sha256-RyQ193bl8BiuJDJnyhmJ1wurE6RXH+TIGaOh9z1X/jA=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 7535394a55519..d1ba00dc616d6 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.35.3";
+  version = "1.35.4";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-FqgYpCvEEqgnhCHdHN1/inxMJoOjoHLc/xMfhXsA1nc=";
+    hash = "sha256-lcB23yU7Wn+aILGFLDBnFg30NRDQgJt3J61FmGuQtRo=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/confluent-cli/default.nix b/pkgs/development/tools/confluent-cli/default.nix
index 102ec3d996fd5..e614fe7d947d3 100644
--- a/pkgs/development/tools/confluent-cli/default.nix
+++ b/pkgs/development/tools/confluent-cli/default.nix
@@ -2,26 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "confluent-cli";
-  version = "3.37.0";
+  version = "3.60.0";
 
   # To get the latest version:
   # curl -L https://cnfl.io/cli | sh -s -- -l | grep -v latest | sort -V | tail -n1
   src = {
     x86_64-linux = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_amd64.tar.gz";
-      hash = "sha256-vJB/0odVA86fZtRh/Cg5KPD8q8CQFENlRzjpI41UOc8=";
+      hash = "sha256-GYA7T2yRcSNStvd9ZqI2iTJC3d6ymH9Dg5FVkIsM1f0=";
     };
     aarch64-linux = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_linux_arm64.tar.gz";
-      hash = "sha256-lj7i7oQzX1AfhYfrXDiOjz1/EV4y3/CI4MyPKzNGcss=";
+      hash = "sha256-BJJaZtRInKT6S0W22f96RCM8H18dIpOTP5lu357zh18=";
     };
     x86_64-darwin = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_amd64.tar.gz";
-      hash = "sha256-gEQBxChsM5CXFRsWBVVcQ88xQ2N4lqkIxHfZKPEMlOY";
+      hash = "sha256-94ur/FXxQWL4EOkEI1FSoWduRaMaY7DCNMiucpNC0B0=";
     };
     aarch64-darwin = fetchurl {
       url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/confluent-cli/archives/${version}/confluent_${version}_darwin_arm64.tar.gz";
-      hash = "sha256-6i5Z3m0gMzPuqWm/SJOuxjO3ioh/Uhk3A9uykksYfPo=";
+      hash = "sha256-aEIKSrO0/6dJCAyzwBH2ZDAmwvURugx6jTzaepbRvH8=";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 7c4c9e936caec..3732a1eec55f9 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -8,11 +8,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "coursier";
-  version = "2.1.9";
+  version = "2.1.10";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    hash = "sha256-Zj0nDCpbT7foGdUkxPG/FeljZj1alk/gvE0m/T4WlXE=";
+    hash = "sha256-fiZwmDDuaafBbYQdOxPpTrleMLOSakCteizpKwcGStk=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/database/litecli/default.nix b/pkgs/development/tools/database/litecli/default.nix
index 5179d245ebc2f..e62980768843c 100644
--- a/pkgs/development/tools/database/litecli/default.nix
+++ b/pkgs/development/tools/database/litecli/default.nix
@@ -5,12 +5,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "litecli";
-  version = "1.10.1";
+  version = "1.11.0";
   disabled = python3Packages.pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-N+aAH2vgDV1YU7iIHbH/276bCBfGxhuy2ceWL2z/oI8=";
+    sha256 = "sha256-YW3mjYfSuxi/XmaetrWmjVuTfqgaitQ5wfUaJdHIH1Y=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix
index 0923182afa4f3..c1dfc48419311 100644
--- a/pkgs/development/tools/devpi-server/default.nix
+++ b/pkgs/development/tools/devpi-server/default.nix
@@ -23,6 +23,7 @@
 , webtest
 , testers
 , devpi-server
+, nixosTests
 }:
 
 
@@ -108,8 +109,11 @@ buildPythonApplication rec {
     "devpi_server"
   ];
 
-  passthru.tests.version = testers.testVersion {
-    package = devpi-server;
+  passthru.tests = {
+    devpi-server = nixosTests.devpi-server;
+    version = testers.testVersion {
+      package = devpi-server;
+    };
   };
 
   meta = with lib;{
diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json
index f55e8236f0a21..f72fd9479c326 100644
--- a/pkgs/development/tools/electron/binary/info.json
+++ b/pkgs/development/tools/electron/binary/info.json
@@ -34,24 +34,24 @@
     },
     "29": {
         "hashes": {
-            "aarch64-darwin": "2d7997fe85296552ee50d57f78fde1aef462818c7b2a5bc0b92eaaf0be68432e",
-            "aarch64-linux": "d9bda129e01265dc0bcd7c6d255ddcf4b297fa12e797f9c9f2cb15a432be9056",
-            "armv7l-linux": "2b5f2d4f96469e4bf2a5dc433d37d6db088278147b2df01475a82584265718b0",
-            "headers": "0pdqbj3xxjirbr1chbn509h1q5c4d9q2221dn7di7jimpdh66zm8",
-            "x86_64-darwin": "0a5ccb3d3ca3a3bbdd4be4abf2c6aa45341a5e9f1a9fd17ab2c143be555897e5",
-            "x86_64-linux": "a346c9fd3b919f12288cb011aced0ead9abcfd8d47b9d8987b7f632c7cdc74de"
+            "aarch64-darwin": "838cc0f125b3d481c12fc59c37c941b8230770eb2f45529d33718ab2a09b2c51",
+            "aarch64-linux": "c2216bb8c90b6f971b180f2162a874e8838cc4e4e24cd7444b19ebb091a90222",
+            "armv7l-linux": "9fc8ddb64c8741cf37eac9a98f32313fa373bf4159ebbb0329c7eb5508863efd",
+            "headers": "0d4ncjwgi916jzb2cf0wp4hdp5q87bk5jq91s3x3crrcl1i6y1q8",
+            "x86_64-darwin": "f188f44a9bb900b583afed7de6a9268681f7872e5f0b57991cbfe530deda48d1",
+            "x86_64-linux": "a9eaa03e9b926938c118fd59c3810531c40bdc0da4582229be1da20f36c161e3"
         },
-        "version": "29.3.2"
+        "version": "29.3.3"
     },
     "30": {
         "hashes": {
-            "aarch64-darwin": "c1f086f394c0241341c638e70ce2e486238905a82b6422f9236f12fb4d6be8cc",
-            "aarch64-linux": "f4fb219b9bac50840f8b982983f4643d52bc147df1351ae0af60ed3da0c6c9d3",
-            "armv7l-linux": "b55a4335df7a45ef58a253da88b5998394d9cd7eddfc1a30786ffe496b84a399",
-            "headers": "0abaaxj3slp2z3nvfz9y98wxlp97vsn7r2h95fpwx2qv46c08r39",
-            "x86_64-darwin": "46379ec9aa24f4cd69e22b6d498455e0ee0b6d32c233028104833dfc35e52acf",
-            "x86_64-linux": "34c3085048fbe5855c10b512dd6acce01d13ec833d2374c401b3487e4ac35a17"
+            "aarch64-darwin": "e082df9ed071ec82358a805c739ca602de083ea953bedab6af619db6537d0628",
+            "aarch64-linux": "0275107afdf820309fd9b0fe09a621a7a53266998c123140cab25cb7ba5d5813",
+            "armv7l-linux": "2bd466054806c67c73774d9b7005b51580b19effcc7e993e53cef2458d0bb0af",
+            "headers": "0prhxzaaaagbr6bnis38y5iljx7rz24x62wbps1nby96p8gqh4sa",
+            "x86_64-darwin": "a4d8c8e161d53933fa3a104a0ca8fab3c914b3517114f209d8b927eedd6a7765",
+            "x86_64-linux": "585cb89f3f11ae11e70d60c47b8ece8833bd176760a3fda47dfa3fe1c4e7c34b"
         },
-        "version": "30.0.2"
+        "version": "30.0.3"
     }
 }
diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json
index 361038040fdb0..8eeb05107c830 100644
--- a/pkgs/development/tools/electron/info.json
+++ b/pkgs/development/tools/electron/info.json
@@ -1831,10 +1831,10 @@
             },
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-kp3SCEW90p9FWCvpoBc+obj45U3VAFuKIt5N/SDoWcg=",
+                "hash": "sha256-u9o+2M3dURfZkKSzb+bjZcvHygXDbt2IjaYLoSjWeBw=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v29.3.2"
+                "rev": "v29.3.3"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
@@ -2686,10 +2686,10 @@
         "electron_yarn_hash": "0f868gk3d2cablpczav8a4vhk4nfirph45yzjz18mgzgday7w8hf",
         "modules": "121",
         "node": "20.9.0",
-        "version": "29.3.2"
+        "version": "29.3.3"
     },
     "30": {
-        "chrome": "124.0.6367.91",
+        "chrome": "124.0.6367.119",
         "chromium": {
             "deps": {
                 "gn": {
@@ -2699,15 +2699,15 @@
                     "version": "2024-03-14"
                 }
             },
-            "version": "124.0.6367.91"
+            "version": "124.0.6367.119"
         },
         "chromium_npm_hash": "sha256-oILlQlzTcc0YqAvK5htRvG/YXWJTDtJ60Z1EcBEj9dw=",
         "deps": {
             "src": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-ILapZYs/QPrhei3wplqdT19o6O5vatGrN/Kz7gOq6o0=",
+                "hash": "sha256-mhH2pQskQw39PUCociK/g7QLjI/cDh2GXk9PJIeJ7HU=",
                 "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; ",
-                "rev": "124.0.6367.91",
+                "rev": "124.0.6367.119",
                 "url": "https://chromium.googlesource.com/chromium/src.git"
             },
             "src/chrome/test/data/perf/canvas_bench": {
@@ -2736,10 +2736,10 @@
             },
             "src/electron": {
                 "fetcher": "fetchFromGitHub",
-                "hash": "sha256-ERd8VqxIvGwZ9ckjvE6P8423cg6ASaFCsEDHYzqbN+4=",
+                "hash": "sha256-tW9LODdKT8W6UYmpqh1bwGTk5wQYJ3TSxSvxfAqc4uQ=",
                 "owner": "electron",
                 "repo": "electron",
-                "rev": "v30.0.2"
+                "rev": "v30.0.3"
             },
             "src/media/cdm/api": {
                 "fetcher": "fetchFromGitiles",
@@ -2899,14 +2899,14 @@
             },
             "src/third_party/dawn": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-5/aYPboYWGrVAYy7T5b+gyER6vLTpnS2+kVDz6saK8A=",
-                "rev": "810e0537ebdd1e87ec62fb4fc4ee7a8105b0f096",
+                "hash": "sha256-GUB25IUviLFxGI3UQJS/kf51BZBeoYFqbiaSTSY11qA=",
+                "rev": "394edde38c9323f7c910e3bdec9b7efc4ee39379",
                 "url": "https://dawn.googlesource.com/dawn.git"
             },
             "src/third_party/dawn/third_party/dxc": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-jn36GjAmmNjaCAA+4rKudNjPOpTgpLt9KhomIsAdwow=",
-                "rev": "bc18aec94c828f7dc3ba0eb8ad964dfb6453b903",
+                "hash": "sha256-wsQtYqH8gFsDmLTUA7SKvTYiGQWX7Vbcz1QtsAg/epY=",
+                "rev": "bd7aa97798735e1288d36de41dcda75e867550e4",
                 "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler"
             },
             "src/third_party/dawn/third_party/dxheaders": {
@@ -3595,14 +3595,14 @@
             },
             "src/v8": {
                 "fetcher": "fetchFromGitiles",
-                "hash": "sha256-c+xwMud6rdGhfzf37h/j63rZrt9lt4MoqBD+GCSMZtI=",
-                "rev": "c546005d65b58039ccaf3f81be3772eee45454f9",
+                "hash": "sha256-rwEdjWYJz7shrwLWRyzOgbRvmIR0C9aZXn0vhcBLF50=",
+                "rev": "c6b8b43c3042d99f07d5cc0771e58511afaa66a3",
                 "url": "https://chromium.googlesource.com/v8/v8.git"
             }
         },
         "electron_yarn_hash": "0f868gk3d2cablpczav8a4vhk4nfirph45yzjz18mgzgday7w8hf",
         "modules": "123",
         "node": "20.11.1",
-        "version": "30.0.2"
+        "version": "30.0.3"
     }
 }
diff --git a/pkgs/development/tools/fsautocomplete/default.nix b/pkgs/development/tools/fsautocomplete/default.nix
index ac47bdfc20739..e5210e744271b 100644
--- a/pkgs/development/tools/fsautocomplete/default.nix
+++ b/pkgs/development/tools/fsautocomplete/default.nix
@@ -2,13 +2,13 @@
 
 buildDotnetModule rec {
   pname = "fsautocomplete";
-  version = "0.71.0";
+  version = "0.72.3";
 
   src = fetchFromGitHub {
     owner = "fsharp";
     repo = "FsAutoComplete";
     rev = "v${version}";
-    hash = "sha256-WajKmRDCMJ74qT2/NhUWRq+bytxt49vi98bm1QleEKo=";
+    hash = "sha256-YU2rb1rxlbreSXMO+IGS2BrdfmqntdSlLuxV3zekSaI=";
   };
 
   nugetDeps = ./deps.nix;
@@ -20,8 +20,8 @@ buildDotnetModule rec {
       --replace TargetFrameworks TargetFramework \
   '';
 
-  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_6_0 sdk_7_0 ];
-  dotnet-runtime = dotnetCorePackages.sdk_7_0;
+  dotnet-sdk = with dotnetCorePackages; combinePackages [ sdk_6_0 sdk_7_0 sdk_8_0 ];
+  dotnet-runtime = dotnetCorePackages.sdk_8_0;
 
   projectFile = "src/FsAutoComplete/FsAutoComplete.fsproj";
   executables = [ "fsautocomplete" ];
diff --git a/pkgs/development/tools/fsautocomplete/deps.nix b/pkgs/development/tools/fsautocomplete/deps.nix
index 192562146056a..6dc9faa2b0337 100644
--- a/pkgs/development/tools/fsautocomplete/deps.nix
+++ b/pkgs/development/tools/fsautocomplete/deps.nix
@@ -14,29 +14,15 @@
   (fetchNuGet { pname = "DotNet.ReproducibleBuilds"; version = "1.1.1"; sha256 = "0wa0xwbwv1lzjmqwg1vq06vrpb9kkbv3xw5nq50savj0dzhqakzq"; })
   (fetchNuGet { pname = "Expecto"; version = "10.1.0"; sha256 = "127yy5i0p2lybhm5xcy2wa6j1rcahk61mb1nbym687b23pgizrq9"; })
   (fetchNuGet { pname = "Expecto.Diff"; version = "9.0.4"; sha256 = "06g6nbr5kdr7hyayh24ry6xfghxpcfkqc8kma5qa5lcvhmy56f7j"; })
-  (fetchNuGet { pname = "Fake.Core.CommandLineParsing"; version = "6.0.0"; sha256 = "153m18jzji0rar0k1dqj1h90pfny00jyzbmp6vvlc9dcl89xfgvg"; })
-  (fetchNuGet { pname = "Fake.Core.Context"; version = "6.0.0"; sha256 = "1pqgc1zq50icw5j375wy9n7749r2rfqakajmdilyaxzczcxs4m2h"; })
-  (fetchNuGet { pname = "Fake.Core.Environment"; version = "6.0.0"; sha256 = "1r509s23djb1m62q0hmdgksrx975ksdanhzxzagh3xhmla49icni"; })
-  (fetchNuGet { pname = "Fake.Core.FakeVar"; version = "6.0.0"; sha256 = "0rmq31p6p5837q79nff6fmnwrnq4jkfmbq0sp639nzrcw72p9wql"; })
-  (fetchNuGet { pname = "Fake.Core.Process"; version = "6.0.0"; sha256 = "15zwgk6b1nk6a515n46x2cjj61hg9h4zq65z98v8amhasdml7vj1"; })
-  (fetchNuGet { pname = "Fake.Core.SemVer"; version = "6.0.0"; sha256 = "0j0w1wbg6zv84qn888ygh96saqpsbml7f3r5a9sfryvglxpzm6s3"; })
-  (fetchNuGet { pname = "Fake.Core.String"; version = "6.0.0"; sha256 = "05gyzydzvi9dnyzi7yrw9dy8bszikf3y3ayy7sg2zvwcskw65sma"; })
-  (fetchNuGet { pname = "Fake.Core.Target"; version = "6.0.0"; sha256 = "0wrf6vfp5yrm2hijdyb4nn9s4ac460m9kmqfnncrbqwdsg4yggpq"; })
-  (fetchNuGet { pname = "Fake.Core.Trace"; version = "6.0.0"; sha256 = "0v2m641d8ic04j9i8wrskqa85gpdaxcldg2d4ck4f0fpgb3py205"; })
-  (fetchNuGet { pname = "Fake.IO.FileSystem"; version = "6.0.0"; sha256 = "0kjj9ippsbi138kjipl34cx9pajmj71d205y9h5pmj7djilcvq47"; })
-  (fetchNuGet { pname = "Fake.Tools.Git"; version = "6.0.0"; sha256 = "18qj5r769r70bygn2si0d5xb921jxfdw6mg4v75i2fj79581bbcz"; })
-  (fetchNuGet { pname = "fantomas"; version = "6.2.3"; sha256 = "1x91w4sk402b6ah1y0r0c9rxwbbnjp4x4mr7x4n5zvjhiv97b282"; })
+  (fetchNuGet { pname = "fantomas"; version = "6.3.1"; sha256 = "0kkhdwcw0l7pa1hjil2hjpizjbp618ig32wgni5sfaqmxkc9iywq"; })
   (fetchNuGet { pname = "Fantomas.Client"; version = "0.9.0"; sha256 = "1zixwk61fyk7y9q6f8266kwxi6byr8fmyp1lf57qhbbvhq2waj9d"; })
-  (fetchNuGet { pname = "Fantomas.Core"; version = "6.2.0"; sha256 = "07yl2hr06zk1nl66scm24di3nf1zbrnd6329prwirnv370rz4q92"; })
-  (fetchNuGet { pname = "Fantomas.FCS"; version = "6.2.0"; sha256 = "1hhsa7hbxsm2d8ap4sqzwlzjmf4wsgg74i731rprr0nshjvd8ic7"; })
   (fetchNuGet { pname = "FParsec"; version = "1.1.1"; sha256 = "01s3zrxl9kfx0264wy0m555pfx0s0z165n4fvpgx63jlqwbd8m04"; })
-  (fetchNuGet { pname = "fsharp-analyzers"; version = "0.23.0"; sha256 = "115dqscxx02dss9s1shl6c1x6zc2dgrk9w8bj48cyjnwm79icqq9"; })
+  (fetchNuGet { pname = "fsharp-analyzers"; version = "0.25.0"; sha256 = "01i9yhqs7b0p9s1j9m8g3yd8w3a3xp9bp8791zmxp31l5ricjdwy"; })
   (fetchNuGet { pname = "FSharp.Analyzers.Build"; version = "0.3.0"; sha256 = "1c9ijc9lvyw4lfnd3m9260c8lwnh6ca91zslr29dpn525z9zgdif"; })
   (fetchNuGet { pname = "FSharp.Analyzers.SDK"; version = "0.25.0"; sha256 = "13s2bhizbl2ss9944wk3cka1ri22rs7aqhiiz2i9lyaj9jz863cy"; })
   (fetchNuGet { pname = "FSharp.Compiler.Service"; version = "43.8.200"; sha256 = "1jcp8by02n7vbs11p0gxmb42837l7q841f71ifmrqw7chmg14zik"; })
   (fetchNuGet { pname = "FSharp.Control.AsyncSeq"; version = "3.2.1"; sha256 = "02c8d8snd529rrcj6lsmab3wdq2sjh90j8sanx50ck9acfn9jd3v"; })
   (fetchNuGet { pname = "FSharp.Control.Reactive"; version = "5.0.5"; sha256 = "0ahvd3s5wfv610ks3b00ya5r71cqm34ap8ywx0pyrzhlsbk1ybqg"; })
-  (fetchNuGet { pname = "FSharp.Core"; version = "6.0.5"; sha256 = "07929km96znf6xnqzmxdk3h48kz2rg9msf4c5xxmnjqr0ikfb8c6"; })
   (fetchNuGet { pname = "FSharp.Core"; version = "8.0.200"; sha256 = "1v0w8n02wshggymckvy9l343yiznjfmif9nfd35f9a32s5wj4dn2"; })
   (fetchNuGet { pname = "FSharp.Data.Adaptive"; version = "1.2.13"; sha256 = "16l1h718h110yl2q83hzy1rpalyqlicdaxln7g0bf8kzq9b2v6rz"; })
   (fetchNuGet { pname = "FSharp.Formatting"; version = "14.0.1"; sha256 = "0sx4jlxzmrdcmc937arc9v0r90qkpf2gd1m9ngkpg88qvqcx4xsa"; })
@@ -57,13 +43,13 @@
   (fetchNuGet { pname = "Iced"; version = "1.17.0"; sha256 = "1999xavgpy2h83rh4indiq5mx5l509swqdi1raxj3ab6zvk49zpb"; })
   (fetchNuGet { pname = "IcedTasks"; version = "0.9.2"; sha256 = "1i4sg398qvxyrprca9jssn4lccwn67zndbg1a3a37cmsms5rlbvj"; })
   (fetchNuGet { pname = "ICSharpCode.Decompiler"; version = "7.2.1.6856"; sha256 = "19z68rgzl93lh1h8anbgzw119mhvcgr9nh5q2nxk6qihl2mx97ba"; })
-  (fetchNuGet { pname = "Ionide.Analyzers"; version = "0.7.0"; sha256 = "10s4wznblcdazrvghf64y59j1w4bvwar8iznjl0rncbka09ba4q5"; })
+  (fetchNuGet { pname = "Ionide.Analyzers"; version = "0.10.0"; sha256 = "1z97m2r6p13yg253zlx89x7fd4zvxmkggilav5h5wf4blsfxvzw1"; })
   (fetchNuGet { pname = "Ionide.KeepAChangelog.Tasks"; version = "0.1.8"; sha256 = "066zla2rp1sal6by3h3sg6ibpkk52kbhn30bzk58l6ym7q1kqa6b"; })
-  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.4.20"; sha256 = "08ym8lljnkqk638f2djw3c0p6h0nzxycifz1dqhzzd2my5ss46zf"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo"; version = "0.63.0"; sha256 = "1nvnckzr6bnzv5zlw7n8f8hv1a0vl31pv0jw2b0zd72qz1bs1dm4"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.FCS"; version = "0.63.0"; sha256 = "1viccl54v4ls8mhw4lpmblbyw47sblpzq8fscff06lqngbbqk6pr"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.ProjectSystem"; version = "0.63.0"; sha256 = "1pr95x6hfahcwqgkjnm7zaf43qyw7j9fwbqxvly9wpnz5drnk6yv"; })
-  (fetchNuGet { pname = "Ionide.ProjInfo.Sln"; version = "0.63.0"; sha256 = "1wpq3fm52zn7c57pkywadgcfrn072q50nnqvvnr41n6r7qj665gi"; })
+  (fetchNuGet { pname = "Ionide.LanguageServerProtocol"; version = "0.4.23"; sha256 = "0jfsan2d7aj68xksn1xrdiww1fdz34n7k91r5y4a77jx6h4ngbxq"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo"; version = "0.64.0"; sha256 = "0sbd392f4fwmq4v652ak39md35vcgxl4q05y5dgrk71kpak6pg2w"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.FCS"; version = "0.64.0"; sha256 = "0srbqyaivq8i6xl20v5hg7zxkvby06zirmcppv1apwh9p1yvi68k"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.ProjectSystem"; version = "0.64.0"; sha256 = "0rzj97ysw4skavq4amhv5fd0h1dyyqi4rxzxzpd4cd07xc8bnfv6"; })
+  (fetchNuGet { pname = "Ionide.ProjInfo.Sln"; version = "0.64.0"; sha256 = "1yd30n5idc5rbqi7lr8gp4hb51l85q3canqinlaxa6raaml0xxsj"; })
   (fetchNuGet { pname = "LinkDotNet.StringBuilder"; version = "1.18.0"; sha256 = "0lgh4yjnim9qbqkmkgpx5fi2lha1cgcdbddvbsiw9jzp18fndxly"; })
   (fetchNuGet { pname = "McMaster.NETCore.Plugins"; version = "1.4.0"; sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.5.108"; sha256 = "0cnaz28lhrdmavnxjkakl9q8p2yv8mricvp1b0wxdfnz8v41gwzs"; })
@@ -106,9 +92,7 @@
   (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.4.0"; sha256 = "1smx30nq22plrn2mw4wb5vfgxk6hyx12b60c4wabmpnr81lq3nzv"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.4.1"; sha256 = "02p1j9fncd4fb2hyp51kw49d0dz30vvazhzk24c9f5ccc00ijpra"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "7.0.4"; sha256 = "0afmivk3m0hmwsiqnl87frzi7g57aiv5fwnjds0icl66djpb6zsm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.3"; sha256 = "05smkcyxir59rgrmp7d6327vvrlacdgldfxhmyr1azclvga1zfsq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies"; version = "1.0.3"; sha256 = "0hc4d4d4358g5192mf8faijwk0bpf9pjwcfd3h85sr67j0zhj6hl"; })
   (fetchNuGet { pname = "Microsoft.NETFramework.ReferenceAssemblies.net461"; version = "1.0.3"; sha256 = "1jcc552rwpaybd2ql0b31063ayj70sd3k6qqpf850xmqbyg2hlmx"; })
   (fetchNuGet { pname = "Microsoft.SourceLink.AzureRepos.Git"; version = "1.1.1"; sha256 = "059c8i2vybprn63sw2jr7xma4yyl2syx6hzygfdpr0zd5jlgy9rz"; })
@@ -130,7 +114,7 @@
   (fetchNuGet { pname = "OpenTelemetry"; version = "1.3.2"; sha256 = "1v9ipc75ipwjhhz4mkyjygw85i6ba5flcbhyspmf90vfi2nk7b79"; })
   (fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.3.2"; sha256 = "0fgl99k6nm3n47vv9mx6y36pnljj2b5g641cs2zsw6l86n57qwv1"; })
   (fetchNuGet { pname = "OpenTelemetry.Exporter.OpenTelemetryProtocol"; version = "1.3.2"; sha256 = "14p6rn68mqrch3ani17vwyl4ggjz680nxkw1nf65xmf1ljlkb4iq"; })
-  (fetchNuGet { pname = "Paket"; version = "8.0.0-alpha002"; sha256 = "1c2kdndyb04plgwvqp78224zwk26dkicjy94pqh7shc9ifskrvsb"; })
+  (fetchNuGet { pname = "Paket"; version = "8.0.3"; sha256 = "12xm100rg82p5fvkn63mmjc8i38q8yvk5327snwzqijlfh3k60n0"; })
   (fetchNuGet { pname = "Perfolizer"; version = "0.2.1"; sha256 = "012aqqi3y3nfikqmn26yajpwd52c04zlzp0p91iyslw7mf26qncy"; })
   (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; })
   (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; })
diff --git a/pkgs/development/tools/go-minimock/default.nix b/pkgs/development/tools/go-minimock/default.nix
index 10010fa822237..8a02ab2c82da6 100644
--- a/pkgs/development/tools/go-minimock/default.nix
+++ b/pkgs/development/tools/go-minimock/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "go-minimock";
-  version = "3.3.7";
+  version = "3.3.8";
 
   src = fetchFromGitHub {
     owner = "gojuno";
     repo = "minimock";
     rev = "v${version}";
-    sha256 = "sha256-jwQT3JmVFS7e6wr+hCFLlA1YhiKdTrMai0RfClJafJQ=";
+    sha256 = "sha256-FPp2CunPCVxuz+MUKyy1HQdWc9TeLG7ri5vI7ig/xeM=";
   };
 
   ldflags = [
     "-s" "-w" "-X main.version=${version}"
   ];
 
-  vendorHash = "sha256-vcYhLMs/skZlhzdeEWUcv28VkRvraavziBwbwrgLZio=";
+  vendorHash = "sha256-O1Bp+zuSq3/UULpej4rXxeHcDiNAhECqj9Yh9aGeA0E=";
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/goconvey/default.nix b/pkgs/development/tools/goconvey/default.nix
index 0ec9afb6101c5..6717ff777be6f 100644
--- a/pkgs/development/tools/goconvey/default.nix
+++ b/pkgs/development/tools/goconvey/default.nix
@@ -17,9 +17,9 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = {
     description = "Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go";
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index a8021045119a0..342a2c19e41df 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.58.0";
+  version = "1.58.1";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    hash = "sha256-qG/H6/FePQFJdiSnf1zh5Pos9KjuicRJ3HzDM0QXPSE=";
+    hash = "sha256-RnrD1KA0XNdFx5bs2vfCoBEuBjtesyyTXAvIWMeRPVQ=";
   };
 
-  vendorHash = "sha256-bT8MUeLk7LgLlqk3aBqsVU139ZH4y1ZFsQ67Lxj4OBg=";
+  vendorHash = "sha256-Q3y4yam9gRFopZbAlLzWSFj59j+WwWeflJMdYmmJh7U=";
 
   subPackages = [ "cmd/golangci-lint" ];
 
diff --git a/pkgs/development/tools/language-servers/lua-language-server/default.nix b/pkgs/development/tools/language-servers/lua-language-server/default.nix
index f20ed09ac6967..b69036f2f1cdb 100644
--- a/pkgs/development/tools/language-servers/lua-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/lua-language-server/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lua-language-server";
-  version = "3.8.3";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "luals";
     repo = "lua-language-server";
     rev = finalAttrs.version;
-    hash = "sha256-Zl57KmsAuyMWbcKnU19m7ljox/LqWsa6gXbjaWiznfg=";
+    hash = "sha256-RINpfVg7TTRjAVFBOXXA7e/BnAvXNe32H0fchS3LMo0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index 3a64d043c4e57..f8b7125f7fca6 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.27.0";
+  version = "2.28.1";
 
   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 = "4SFexvlmw6+ZI+cQAe9xIoeR43c8BG97v8A8oIB9fP4=";
+        sha256 = "n7bNRws6IwTYbWsUAHNtV1hfW+YDygJn/U1U5MaUuew=";
       };
       "i686-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
-        sha256 = "N34qScxL9JhqyUika2QIioW+dixxRMv9Y1Q0DaxIA80=";
+        sha256 = "zH6mEeW0EjYPVSAJ4cL3YpaQPd+h0zxO7qfN43qb67Q=";
       };
       "aarch64-linux" = fetchurl {
         url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
-        sha256 = "rZ+n9mJAL7CZR91+PxHt7oNZAfZnQKAqDSaU8z4ahS4=";
+        sha256 = "ncX9aHxZJhth3Md591PBhMO3uhsiI03L7M60hOm4uko=";
       };
       "aarch64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
-        sha256 = "fHrgX6YFojEj+eD933WgR4DgIZmJupmHmdO3gHzQxSc=";
+        sha256 = "OcZ0tyNerGXZKwrJRN4a+1Z51CeHDokYvfA3ve0bNKA=";
       };
       "x86_64-darwin" = fetchurl {
         url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
-        sha256 = "oxG/p946JettJZqEkmPWpfvLkLUg1FYA77hNdJ+jGfE=";
+        sha256 = "ypCC+u6rpGDYkXtw4Q6bBBwLfcmRk4GmmcXHKvmXqFI=";
       };
     };
 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 49d3eb280a071..ce832140703a7 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,14 +1,11 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , curl
 , makeWrapper
 , which
 , unzip
 , lua
-, file
-, nix-prefetch-git
   # for 'luarocks pack'
 , zip
 , nix-update-script
@@ -81,8 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
               --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
               --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
               --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
-              --suffix PATH : ${lib.makeBinPath ([ unzip ] ++
-                lib.optionals (finalAttrs.pname == "luarocks-nix") [ file nix-prefetch-git ])}
+              --suffix PATH : ${lib.makeBinPath finalAttrs.propagatedBuildInputs}
         }
     done
   '';
@@ -112,6 +108,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A package manager for Lua";
     license = licenses.mit;
     maintainers = with maintainers; [ raskin teto ];
+    mainProgram = "luarocks";
     platforms = platforms.linux ++ platforms.darwin;
     downloadPage = "http://luarocks.org/releases/";
   };
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 08f25fbd367e5..d64e3c91ae7e0 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -1,16 +1,26 @@
-{ luarocks, fetchFromGitHub, unstableGitUpdater }:
+{ luarocks
+, fetchFromGitHub
+, unstableGitUpdater
+, nurl
+, file
+}:
 
 luarocks.overrideAttrs (old: {
   pname = "luarocks-nix";
-  version = "0-unstable-2023-10-19";
+  version = "0-unstable-2024-04-29";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "luarocks-nix";
-    rev = "4240b25b95d7165cde66fc2acaf5a0f9ad40fd0c";
-    sha256 = "sha256-dqFFYehBgK0RqH0/1GtZXq7XLGCcc3Kfadq8ICYNCWk=";
+    rev = "a473a8f479711682f5b97a72362736d96efd463b";
+    hash = "sha256-hsjv+jlLsoIDM4gB/0mFeoVu1YZ1I9ELDALLTEnlCF0=";
   };
 
+  propagatedBuildInputs = old.propagatedBuildInputs ++ [
+    file
+    nurl
+  ];
+
   patches = [ ];
 
   passthru = {
diff --git a/pkgs/development/tools/redisinsight/default.nix b/pkgs/development/tools/redisinsight/default.nix
index 1131e495e86c2..c27cd9b47dfd2 100644
--- a/pkgs/development/tools/redisinsight/default.nix
+++ b/pkgs/development/tools/redisinsight/default.nix
@@ -24,28 +24,28 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "redisinsight";
-  version = "2.32";
+  version = "2.48.0";
 
   src = fetchFromGitHub {
     owner = "RedisInsight";
     repo = "RedisInsight";
     rev = finalAttrs.version;
-    hash = "sha256-esaH10AyEooym/62F5LJL7oP5UmD6T2UX8g/9QniL9s=";
+    hash = "sha256-ek0Fp8v6j+mZPK2cEuFNrBgInXdYIKBBUg0UD1I51Sg=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/yarn.lock";
-    hash = "sha256-NHKttywAaWAYkciGzYCnm1speHrWsv1t+dxL1DZgM7o=";
+    hash = "sha256-ohtU1h6wrg7asXDxTt1Jlzx9GaS3zDrGQD9P9tgzCOE=";
   };
 
   feOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/yarn.lock";
-    hash = "sha256-1S1KNUOtmywQ0eyqVS2oRlhpjcL9eps8CR7AtC9ujSU=";
+    hash = "sha256-9xbIdDeLUEk4eNeK7RTwidqDGinA8SPfcumqml66kTw=";
   };
 
   apiOfflineCache = fetchYarnDeps {
     yarnLock = finalAttrs.src + "/redisinsight/api/yarn.lock";
-    hash = "sha256-P99+1Dhdg/vznC2KepPrVGNlrofJFydXkZVxgwprIx4=";
+    hash = "sha256-4zbffuneTceMEyKb8atTXTFhTv0DhrsRMdepZWgoxMQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
index b537a8056cf31..3c7421f841019 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.6.5";
+  version = "1.6.6";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-DD9tecF6oZOg501DUMm5KEPC2BOxMa78YGIXLvhsRys=";
+    hash = "sha256-o31/cEkQyn89URqmJpOZHG6YII8VOle1X3vwdgJF334=";
   };
 
-  cargoHash = "sha256-veVE4THR58DAOo0CqMCnN3EqCOEge8K0PvLM0KgHDnI=";
+  cargoHash = "sha256-kZZ2S3XDdCREuit3RIByLXn/tEiqY+Oap242ZXx6y6s=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/sqldef/default.nix b/pkgs/development/tools/sqldef/default.nix
index 571d226ea5178..7846d381aef20 100644
--- a/pkgs/development/tools/sqldef/default.nix
+++ b/pkgs/development/tools/sqldef/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "sqldef";
-  version = "0.17.7";
+  version = "0.17.8";
 
   src = fetchFromGitHub {
     owner = "k0kubun";
     repo = "sqldef";
     rev = "v${version}";
-    hash = "sha256-esLS7syckxdYpP3I2kKYXEFpTyV4+VQCiCV5cXJfexs=";
+    hash = "sha256-60CN+Z5YZemYwn7eN0VZ/S8kAmQv6DBA1tCAhDLDKe0=";
   };
 
   proxyVendor = true;
 
-  vendorHash = "sha256-hH8dje3ajG1KNi7jEkaEgzCGJuvrZiNhIBC0my0wljM=";
+  vendorHash = "sha256-I1kyXotFYvnL8/FryjKJWGOYSTeXrXNB1+TNgR7q3qo=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix
index a2be7f3abde52..45aa3f6ba509f 100644
--- a/pkgs/development/tools/vsce/default.nix
+++ b/pkgs/development/tools/vsce/default.nix
@@ -12,13 +12,13 @@
 
 buildNpmPackage rec {
   pname = "vsce";
-  version = "2.26.0";
+  version = "2.26.1";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${version}";
-    hash = "sha256-ILu09OerH5XNVN4el3R2GH2LtIzXiQ/ONU+W2pomHRg=";
+    hash = "sha256-VL7OMtboD3rUNWQbb10i1qL7MpuUsM8/DbBKLUl6DSs=";
   };
 
   npmDepsHash = "sha256-EtzcWeqPy4XVlheBXBpSwxrsHJ678lhTgnYqzIYZn4M=";
diff --git a/pkgs/development/tools/wgo/default.nix b/pkgs/development/tools/wgo/default.nix
index e6a848a57a514..863d53bb09716 100644
--- a/pkgs/development/tools/wgo/default.nix
+++ b/pkgs/development/tools/wgo/default.nix
@@ -5,7 +5,7 @@
 
 let
   pname = "wgo";
-  version = "0.5.6c";
+  version = "0.5.6d";
 in
 buildGoModule {
   inherit pname version;
@@ -14,7 +14,7 @@ buildGoModule {
     owner = "bokwoon95";
     repo = "wgo";
     rev = "v${version}";
-    hash = "sha256-/blUmuUbM+GhczKj731TeYQN1BOunpQs6q3K/4FQiE8=";
+    hash = "sha256-PzBje046mS844zpU5X1eoRcULJH8sh49yf8lrxeA764=";
   };
 
   vendorHash = "sha256-w6UJxZToHbbQmuXkyqFzyssFcE+7uVNqOuIF/XKdEsU=";
diff --git a/pkgs/development/tools/yarn-berry/default.nix b/pkgs/development/tools/yarn-berry/default.nix
index 5c00fbbc457b6..b7caeb4f823ed 100644
--- a/pkgs/development/tools/yarn-berry/default.nix
+++ b/pkgs/development/tools/yarn-berry/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "yarn-berry";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "yarnpkg";
     repo = "berry";
     rev = "@yarnpkg/cli/${finalAttrs.version}";
-    hash = "sha256-id/Z7oqwoIIWaOU5mQ7vuPRQw6WQAKcDAopYB2tEl0s=";
+    hash = "sha256-dOWcfeWotWgx1ctY/TEuxH1gkgp9Gxou6jaymJMBHLE=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/colobot/default.nix b/pkgs/games/colobot/default.nix
index aa4de1c7ec541..8ce10380f3393 100644
--- a/pkgs/games/colobot/default.nix
+++ b/pkgs/games/colobot/default.nix
@@ -9,13 +9,13 @@ stdenv.mkDerivation rec {
   pname = "colobot";
   # Maybe require an update to package colobot-data as well
   # in file data.nix next to this one
-  version = "0.2.0-alpha";
+  version = "0.2.1-alpha";
 
   src = fetchFromGitHub {
     owner = "colobot";
     repo = pname;
     rev = "colobot-gold-${version}";
-    sha256 = "sha256-Nu7NyicNIk5yza9sXfd4KbGdB65guVuGREd6rwRU3lU=";
+    hash = "sha256-3iea2+5xCT0//NAjMHrynZKSoiOSgLTNMUQkRhXuXg8=";
   };
 
   patches = [
diff --git a/pkgs/games/eduke32/convert-bmp-to-png.diff b/pkgs/games/eduke32/convert-bmp-to-png.diff
new file mode 100644
index 0000000000000..7d83ce4aabafc
--- /dev/null
+++ b/pkgs/games/eduke32/convert-bmp-to-png.diff
@@ -0,0 +1,23 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index f83f04d..25a4fa8 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -798,6 +798,9 @@ libklzw$(DLLSUFFIX): $(engine_src)/klzw.cpp
+ 	$(COMPILE_STATUS)
+ 	$(RECIPE_IF) $(COMPILER_C) -shared -fPIC $< -o $@ $(RECIPE_RESULT_COMPILE)
+ 
++%.png: %.bmp
++	gm convert $< $@
++
+ # to debug the tools link phase, make a copy of this rule explicitly replacing % with the name of a tool, such as kextract
+ %$(EXESUFFIX): $(tools_obj)/%.$o $(foreach i,tools $(tools_deps),$(call expandobjs,$i))
+ 	$(LINK_STATUS)
+@@ -880,7 +883,7 @@ $$($1_obj)/%.$$o: $$($1_rsrc)/%.c | $$($1_obj)
+ 	$$(call MKDIR,$$(dir $$@))
+ 	$$(RECIPE_IF) $$(COMPILER_C) $$($1_cflags) -c $$< -o $$@ $$(RECIPE_RESULT_COMPILE)
+ 
+-$$($1_obj)/%_banner.c: $$($1_rsrc)/%.bmp | $$($1_obj)
++$$($1_obj)/%_banner.c: $$($1_rsrc)/%.png | $$($1_obj)
+ 	echo "#include \"gtkpixdata_shim.h\"" > $$@
+ 	gdk-pixbuf-csource --extern --struct --raw --name=startbanner_pixdata $$^ | sed 's/load_inc//' >> $$@
+ 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 1ddcccd27f9d2..5bb9966602d85 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -37,6 +37,12 @@ in stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-dyZ4JtDBxsTDe9uQDWxJe7M74X7m+5wpEHm+i+s9hwo=";
   };
 
+  patches = [
+    # gdk-pixbuf-csource no longer supports bmp so convert to png
+    # patch GNUMakefile to use graphicsmagick to convert bmp -> png
+    ./convert-bmp-to-png.diff
+  ];
+
   buildInputs = [
     flac
     libvorbis
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 446c692ad81f8..a1322499ea6ae 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.3";
+  version = "0.8.4";
   pname = "extremetuxracer";
 
   src = fetchurl {
     url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz";
-    sha256 = "sha256-LuQvP1/C+NSap1BW6xFvbKuE1lZBIOaWGuWSc2ckURM=";
+    sha256 = "sha256-+jKFzAx1Wlr/Up8/LOo1FkgRFMa0uOHsB2n+7/BHc+U=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
diff --git a/pkgs/games/minecraft-servers/versions.json b/pkgs/games/minecraft-servers/versions.json
index a314b6c27428e..5fece659ca419 100644
--- a/pkgs/games/minecraft-servers/versions.json
+++ b/pkgs/games/minecraft-servers/versions.json
@@ -1,115 +1,115 @@
 {
   "1.20": {
-    "sha1": "79493072f65e17243fd36a699c9a96b4381feb91",
-    "url": "https://piston-data.mojang.com/v1/objects/79493072f65e17243fd36a699c9a96b4381feb91/server.jar",
-    "version": "1.20.5",
+    "sha1": "145ff0858209bcfc164859ba735d4199aafa1eea",
+    "url": "https://piston-data.mojang.com/v1/objects/145ff0858209bcfc164859ba735d4199aafa1eea/server.jar",
+    "version": "1.20.6",
     "javaVersion": 21
   },
   "1.19": {
-    "url": "https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar",
     "sha1": "8f3112a1049751cc472ec13e397eade5336ca7ae",
+    "url": "https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar",
     "version": "1.19.4",
     "javaVersion": 17
   },
   "1.18": {
-    "url": "https://piston-data.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar",
     "sha1": "c8f83c5655308435b3dcf03c06d9fe8740a77469",
+    "url": "https://piston-data.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar",
     "version": "1.18.2",
     "javaVersion": 17
   },
   "1.17": {
-    "url": "https://piston-data.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar",
     "sha1": "a16d67e5807f57fc4e550299cf20226194497dc2",
+    "url": "https://piston-data.mojang.com/v1/objects/a16d67e5807f57fc4e550299cf20226194497dc2/server.jar",
     "version": "1.17.1",
     "javaVersion": 16
   },
   "1.16": {
-    "url": "https://piston-data.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar",
     "sha1": "1b557e7b033b583cd9f66746b7a9ab1ec1673ced",
+    "url": "https://piston-data.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar",
     "version": "1.16.5",
     "javaVersion": 8
   },
   "1.15": {
-    "url": "https://piston-data.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar",
     "sha1": "bb2b6b1aefcd70dfd1892149ac3a215f6c636b07",
+    "url": "https://piston-data.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar",
     "version": "1.15.2",
     "javaVersion": 8
   },
   "1.14": {
-    "url": "https://piston-data.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar",
     "sha1": "3dc3d84a581f14691199cf6831b71ed1296a9fdf",
+    "url": "https://piston-data.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar",
     "version": "1.14.4",
     "javaVersion": 8
   },
   "1.13": {
-    "url": "https://piston-data.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar",
     "sha1": "3737db93722a9e39eeada7c27e7aca28b144ffa7",
+    "url": "https://piston-data.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar",
     "version": "1.13.2",
     "javaVersion": 8
   },
   "1.12": {
-    "url": "https://piston-data.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar",
     "sha1": "886945bfb2b978778c3a0288fd7fab09d315b25f",
+    "url": "https://piston-data.mojang.com/v1/objects/886945bfb2b978778c3a0288fd7fab09d315b25f/server.jar",
     "version": "1.12.2",
     "javaVersion": 8
   },
   "1.11": {
-    "url": "https://piston-data.mojang.com/v1/objects/f00c294a1576e03fddcac777c3cf4c7d404c4ba4/server.jar",
     "sha1": "f00c294a1576e03fddcac777c3cf4c7d404c4ba4",
+    "url": "https://piston-data.mojang.com/v1/objects/f00c294a1576e03fddcac777c3cf4c7d404c4ba4/server.jar",
     "version": "1.11.2",
     "javaVersion": 8
   },
   "1.10": {
-    "url": "https://piston-data.mojang.com/v1/objects/3d501b23df53c548254f5e3f66492d178a48db63/server.jar",
     "sha1": "3d501b23df53c548254f5e3f66492d178a48db63",
+    "url": "https://piston-data.mojang.com/v1/objects/3d501b23df53c548254f5e3f66492d178a48db63/server.jar",
     "version": "1.10.2",
     "javaVersion": 8
   },
   "1.9": {
-    "url": "https://piston-data.mojang.com/v1/objects/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar",
     "sha1": "edbb7b1758af33d365bf835eb9d13de005b1e274",
+    "url": "https://piston-data.mojang.com/v1/objects/edbb7b1758af33d365bf835eb9d13de005b1e274/server.jar",
     "version": "1.9.4",
     "javaVersion": 8
   },
   "1.8": {
-    "url": "https://launcher.mojang.com/v1/objects/b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd/server.jar",
     "sha1": "b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd",
+    "url": "https://launcher.mojang.com/v1/objects/b58b2ceb36e01bcd8dbf49c8fb66c55a9f0676cd/server.jar",
     "version": "1.8.9",
     "javaVersion": 8
   },
   "1.7": {
-    "url": "https://launcher.mojang.com/v1/objects/952438ac4e01b4d115c5fc38f891710c4941df29/server.jar",
     "sha1": "952438ac4e01b4d115c5fc38f891710c4941df29",
+    "url": "https://launcher.mojang.com/v1/objects/952438ac4e01b4d115c5fc38f891710c4941df29/server.jar",
     "version": "1.7.10",
     "javaVersion": 8
   },
   "1.6": {
-    "url": "https://launcher.mojang.com/v1/objects/050f93c1f3fe9e2052398f7bd6aca10c63d64a87/server.jar",
     "sha1": "050f93c1f3fe9e2052398f7bd6aca10c63d64a87",
+    "url": "https://launcher.mojang.com/v1/objects/050f93c1f3fe9e2052398f7bd6aca10c63d64a87/server.jar",
     "version": "1.6.4",
     "javaVersion": null
   },
   "1.5": {
-    "url": "https://launcher.mojang.com/v1/objects/f9ae3f651319151ce99a0bfad6b34fa16eb6775f/server.jar",
     "sha1": "f9ae3f651319151ce99a0bfad6b34fa16eb6775f",
+    "url": "https://launcher.mojang.com/v1/objects/f9ae3f651319151ce99a0bfad6b34fa16eb6775f/server.jar",
     "version": "1.5.2",
     "javaVersion": 8
   },
   "1.4": {
-    "url": "https://launcher.mojang.com/v1/objects/2f0ec8efddd2f2c674c77be9ddb370b727dec676/server.jar",
     "sha1": "2f0ec8efddd2f2c674c77be9ddb370b727dec676",
+    "url": "https://launcher.mojang.com/v1/objects/2f0ec8efddd2f2c674c77be9ddb370b727dec676/server.jar",
     "version": "1.4.7",
     "javaVersion": 8
   },
   "1.3": {
-    "url": "https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar",
     "sha1": "3de2ae6c488135596e073a9589842800c9f53bfe",
+    "url": "https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar",
     "version": "1.3.2",
     "javaVersion": 8
   },
   "1.2": {
-    "url": "https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar",
     "sha1": "d8321edc9470e56b8ad5c67bbd16beba25843336",
+    "url": "https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar",
     "version": "1.2.5",
     "javaVersion": 8
   }
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index e2c1d4037b3f9..1bb5c06ea98be 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "VASSAL";
-  version = "3.7.10";
+  version = "3.7.12";
 
   src = fetchzip {
     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
-    sha256 = "sha256-cQ2tLd3KU46qe/PrMPh3I3+KQxNGBB4WbRfPHpT9IVA=";
+    sha256 = "sha256-pNpDaGx/h3W+AsX965zu3zZ94kMYvh1pV8C8qYN0imc=";
   };
 
   buildInputs = [
diff --git a/pkgs/kde/generated/sources/frameworks.json b/pkgs/kde/generated/sources/frameworks.json
index 3096bec16988b..ed0b7e489a2bd 100644
--- a/pkgs/kde/generated/sources/frameworks.json
+++ b/pkgs/kde/generated/sources/frameworks.json
@@ -180,9 +180,9 @@
     "hash": "sha256-Mx1v9rnLsOZSGl0HRrFSviWI/WMac9DiSbeM0s2mnM8="
   },
   "kirigami": {
-    "version": "6.2.0",
-    "url": "mirror://kde/stable/frameworks/6.2/kirigami-6.2.0.tar.xz",
-    "hash": "sha256-VyRbUY1kxGr6tCoaYZYJr7YOVGAzoWK3GMdSuINQtAw="
+    "version": "6.2.1",
+    "url": "mirror://kde/stable/frameworks/6.2/kirigami-6.2.1.tar.xz",
+    "hash": "sha256-kQQSdw55ucE92sQhmfp1EXcM2Uhbj1omTh72NjozDJk="
   },
   "kitemmodels": {
     "version": "6.2.0",
diff --git a/pkgs/misc/drivers/epsonscan2/default.nix b/pkgs/misc/drivers/epsonscan2/default.nix
index 01d8e5c8f83b8..6ee092b12e15b 100644
--- a/pkgs/misc/drivers/epsonscan2/default.nix
+++ b/pkgs/misc/drivers/epsonscan2/default.nix
@@ -24,25 +24,25 @@
 let
   pname = "epsonscan2";
   description = "Epson Scan 2 scanner driver for many modern Epson scanners and multifunction printers";
-  version = "6.7.61.0";
+  version = "6.7.63.0";
 
   system = stdenv.hostPlatform.system;
 
   src = fetchzip {
-    url = "https://download3.ebz.epson.net/dsc/f/03/00/14/53/67/1a6447b4acc5568dfd970feba0518fabea35bca2/epsonscan2-${version}-1.src.tar.gz";
-    hash = "sha256-xwvdgmV6Mrs1RC18U2mA+HlTYybeYb0V5lz5hCvC7+8=";
+    url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz";
+    hash = "sha256-ZLnbIk0I7g6ext5anPD+/lD4qNlk6f2fL0xdIWLcfbY=";
   };
   bundle = {
     "i686-linux" = fetchzip {
       name = "${pname}-bundle";
-      url = "https://download3.ebz.epson.net/dsc/f/03/00/14/53/69/3151031c0fb4deea3f48781fd051411b983ccee4/epsonscan2-bundle-${version}.i686.deb.tar.gz";
-      hash = "sha256-nq3Nqunt8aMcCf7U7JBYrVscvrhhcwcn8RlhYXLmC2c=";
+      url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/67/ceae6a02aaa81cb61012899987fbb5ab891b6ab2/epsonscan2-bundle-6.7.63.0.i686.deb.tar.gz";
+      hash = "sha256-h9beAzNdjOhTlZqW0rJbSQXGOpvFRGvTcWw0ZtOqiYY=";
     };
 
     "x86_64-linux" = fetchzip {
       name = "${pname}-bundle";
-      url = "https://download3.ebz.epson.net/dsc/f/03/00/14/53/68/a5e06101ba3f328dd747888e3dddebbb677bb8c8/epsonscan2-bundle-${version}.x86_64.deb.tar.gz";
-      hash = "sha256-cFx54CKkZtvhZ5ABuBwB8+IzhT2lu8D3+GZFaMuWf3Y=";
+      url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/68/050e5a55ed90f4efb4ca3bdd34e5797b149443ca/epsonscan2-bundle-6.7.63.0.x86_64.deb.tar.gz";
+      hash = "sha256-+S17FfS2h4zZCvE6W+yZvdJb6+OWYTt0ZWCA+pe1NZc=";
     };
   }."${system}" or (throw "Unsupported system: ${system}");
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 1bd574fe46a49..d44e67ac5969d 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -11,7 +11,6 @@ let
     };
     "osx-10.12.6" = {
       xnu           = "3789.70.16";
-      libiconv      = "50";
       Libnotify     = "165.20.1";
       objc4         = "709.1";
       dyld          = "433.5";
@@ -38,7 +37,6 @@ let
       dtrace        = "168";
       xnu           = "3248.60.10";
       libpthread    = "138.10.4";
-      libiconv      = "44";
       Libnotify     = "150.40.1";
       objc4         = "680";
       eap8021x      = "222.40.1";
@@ -272,7 +270,6 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     };
     libclosure      = applePackage "libclosure"        "osx-10.11.6"     "sha256-L5rQ+UBpf3B+W1U+gZKk7fXulslHsc8lxnCsplV+nr0=" {};
     libdispatch     = applePackage "libdispatch"       "osx-10.10.5"     "sha256-jfAEk0OLrJa9AIZVikIoHomd+l+4rCfc320Xh50qK5M=" {};
-    libiconv        = applePackage "libiconv"          "osx-10.12.6"     "sha256-ZzPFkchK3EU95UQUVVrR0t8iilhi/VnIkjjtP6KT2oI=" {};
     Libinfo         = applePackage "Libinfo"           "osx-10.11.6"     "sha256-6F7wiwerv4nz/xXHtp1qCHSaFzZgzcRN+jbmXA5oWOQ=" {};
     Libm            = applePackage "Libm"              "osx-10.7.4"      "sha256-KjMETfT4qJm0m0Ux/F6Rq8bI4Q4UVnFx6IKbKxXd+Es=" {};
     Libnotify       = applePackage "Libnotify"         "osx-10.12.6"     "sha256-6wvMBxAUfiYcQtmlfYCj1d3kFmFM/jdboTd7hRvi3e4=" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
deleted file mode 100644
index 6a3bddc211e95..0000000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, appleDerivation, lib
-, enableStatic ? stdenv.hostPlatform.isStatic
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-appleDerivation {
-  postUnpack = "sourceRoot=$sourceRoot/libiconv";
-
-  preConfigure = lib.optionalString stdenv.hostPlatform.isiOS ''
-    sed -i 's/darwin\*/ios\*/g' configure libcharset/configure
-  '';
-
-  configureFlags = [
-    (lib.enableFeature enableStatic "static")
-    (lib.enableFeature enableShared "shared")
-  ];
-
-  postInstall = lib.optionalString enableShared ''
-    mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib
-    ${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
-
-    # re-export one useless symbol; ld will reject a dylib that only reexports other dylibs
-    echo 'void dont_use_this(){}' | ${stdenv.cc.bintools.targetPrefix}clang -dynamiclib -x c - -current_version 2.4.0 \
-      -compatibility_version 7.0.0 -current_version 7.0.0 -o $out/lib/libiconv.dylib \
-      -Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \
-      -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib
-  '';
-
-  setupHooks = [
-    ../../../../build-support/setup-hooks/role.bash
-    ../../../../development/libraries/libiconv/setup-hook.sh
-  ];
-
-  meta = {
-    mainProgram = "iconv";
-    platforms = lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix
index b4a7bbc4df243..2de90a0236761 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix
@@ -27,7 +27,6 @@ file_cmds = applePackage' "file_cmds" "321.40.3" "macos-11.0.1" "0p077lnbcy8266m
 hfs = applePackage' "hfs" "556.41.1" "macos-11.0.1" "0a0s6b12b0q07wslfifna0bj51dml9v098i4crr2m1vivnx4xj75" {};
 libclosure = applePackage' "libclosure" "78" "macos-11.0.1" "0vf9n0k3m8dbprv1bf45zqg0g43bidy2i5z1v9a826bsf8lv7am7" {};
 libdispatch = applePackage' "libdispatch" "1271.40.12" "macos-11.0.1" "1ck5srcjapg18vqb8wl08gacs7ndc6xr067qjn3ngx39q1jdcywz" {};
-libiconv = applePackage' "libiconv" "59" "macos-11.0.1" "0lwa4brdwm4lvrdnxylzsn1yph4m7csgri2zkc4xb4xiisz32pwp" {};
 libmalloc = applePackage' "libmalloc" "317.40.8" "macos-11.0.1" "sha256-Tdhb0mq3w4Hwvp3xHB79Vr22hCOQK6h28HCsd7jvITI=" {};
 libplatform = applePackage' "libplatform" "254.40.4" "macos-11.0.1" "1qf3ri0yd8b1xjln1j1gyx7ks6k3a2jhd63blyvfby75y9s7flky" {};
 libpthread = applePackage' "libpthread" "454.40.3" "macos-11.0.1" "0zljbw8mpb80n1if65hhi9lkgwbgjr8vc9wvf7q1nl3mzyl35f8p" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build
index de73e88f5d4d3..af08b5074bef1 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build
+++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/meson.build
@@ -88,6 +88,7 @@ install_man('accton/accton.8')
 executable(
     'arch',
     build_by_default : sdk_version.version_compare('>=11'),
+    dependencies : [ core_foundation ],
     install : sdk_version.version_compare('>=11'),
     sources : 'arch/arch.c'
 )
@@ -145,7 +146,7 @@ install_man('chkpasswd/chkpasswd.8')
 
 executable(
     'chpass',
-    dependencies : [ cfopen_directory, directory_service, open_directory ],
+    dependencies : [ core_foundation, cfopen_directory, directory_service, open_directory ],
     install : true,
     sources : [
         'chpass/chpass.c',
@@ -358,7 +359,7 @@ install_man(
 executable(
     'nvram',
     c_args : '-DTARGET_OS_BRIDGE=0',
-    dependencies : [ iokit, libc_private, xnu_private ],
+    dependencies : [ core_foundation, iokit, libc_private, xnu_private ],
     install : true,
     sources : 'nvram/nvram.c'
 )
@@ -377,7 +378,7 @@ install_man('pagesize/pagesize.1')
 
 executable(
     'passwd',
-    dependencies : [ cfopen_directory, directory_service, open_directory, pam ],
+    dependencies : [ core_foundation, cfopen_directory, directory_service, open_directory, pam ],
     install : true,
     sources : [
         'passwd/file_passwd.c',
@@ -521,7 +522,7 @@ executable(
     'zlog',
     build_by_default : sdk_version.version_compare('>=11'),
     c_args : '-DKERN_NOT_FOUND=56',
-    dependencies : core_symbolication,
+    dependencies : [ core_foundation, core_symbolication ],
     install : sdk_version.version_compare('>=11'),
     sources : [
         'zlog/SymbolicationHelper.c',
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
index 3739c1dc3e463..7098f1f3203e6 100644
--- a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix
@@ -1,7 +1,7 @@
 # This file is autogenerated! Run ./update.sh to regenerate.
 {
-  version = "20240410";
-  revision = "20240410";
-  sourceHash = "sha256-Qo4f5kdHlBYKlzdFOtoKoCPHXxgDeCawSE3tnRwfC4U=";
-  outputHash = "sha256-pOYDdb0A1sESiT0kfA4DbWxKJ3+pog54+S3KcQB3BsA=";
+  version = "20240513";
+  revision = "20240513";
+  sourceHash = "sha256-8yzs8lgPHG3zbUvlsWSuP1O/4s28dRFbju2c9kbaFsg=";
+  outputHash = "sha256-LDd6FU1/16X7KoCCDq0yPvwJzK4H9NxHgrEdhEfaUGY=";
 }
diff --git a/pkgs/os-specific/linux/game-devices-udev-rules/default.nix b/pkgs/os-specific/linux/game-devices-udev-rules/default.nix
index daaf23db6ce2c..ca2ef7a4498e5 100644
--- a/pkgs/os-specific/linux/game-devices-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/game-devices-udev-rules/default.nix
@@ -6,20 +6,20 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "game-devices-udev-rules";
-  version = "0.22";
+  version = "0.23";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "fabiscafe";
     repo = "game-devices-udev";
     rev = finalAttrs.version;
-    hash = "sha256-1aOb8pJxB+/PM7spcvZcy/cwdEolHQ4+lwBLij+6iDk=";
+    hash = "sha256-dWWo3qXnxdLP68NuFKM4/Cw5yE6uAsWzj0vZa9UTT0U=";
   };
 
   postInstall = ''
     install -Dm444 -t "$out/lib/udev/rules.d" *.rules
     substituteInPlace $out/lib/udev/rules.d/71-powera-controllers.rules \
-    --replace "/bin/sh" "${bash}/bin/bash"
+    --replace-fail "/bin/sh" "${bash}/bin/bash"
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 83519d7f2a7ac..320f10d551380 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwdata";
-  version = "0.381";
+  version = "0.382";
 
   src = fetchFromGitHub {
     owner = "vcrhonek";
     repo = "hwdata";
     rev = "v${version}";
-    hash = "sha256-FD1p4qyO+ZsBdMXRa9u6CpO07RewWH8OxULLxcYAsyk=";
+    hash = "sha256-j7ITcLilcnV8QCUFC/Ybv1dX6Kl36P0G9vBlrzifhFQ=";
   };
 
   configureFlags = [ "--datadir=${placeholder "out"}/share" ];
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 67914b0c4e276..597989c5a0641 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -50,7 +50,9 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ buildPackages.stdenv.cc ]; # netem requires $HOSTCC
   nativeBuildInputs = [ bison flex pkg-config ];
-  buildInputs = [ db iptables elfutils libmnl ];
+  buildInputs = [ db iptables libmnl ]
+    # needed to uploaded bpf programs
+    ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ elfutils ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index b69c0f9c6003d..4e9cde7e4e8f5 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -30,5 +30,9 @@
     "6.8": {
         "version": "6.8.9",
         "hash": "sha256:1dn9bgmf03bdfbmgq98d043702g808rjikxs2i9yia57iqiz21gr"
+    },
+    "6.9": {
+        "version": "6.9",
+        "hash": "sha256:0jc14s7z2581qgd82lww25p7c4w72scpf49z8ll3wylwk3xh3yi4"
     }
 }
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index 99454beb41878..e910835ea0d7d 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbpf";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "libbpf";
     repo = "libbpf";
     rev = "v${version}";
-    sha256 = "sha256-3TCsIlr28vO6Zu9lDaEq6J4J+D5sHP7SSo1O/M0ZzUo=";
+    sha256 = "sha256-dAyUBcOItDZNe2xBWoegCAmOnTugc1C7+k/hj20icJA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/vm-tools/default.nix b/pkgs/os-specific/linux/mm-tools/default.nix
index c5981bfc27136..38f16ca4e7d27 100644
--- a/pkgs/os-specific/linux/vm-tools/default.nix
+++ b/pkgs/os-specific/linux/mm-tools/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, linux }:
 
 stdenv.mkDerivation {
-  pname = "vm-tools";
+  pname = "mm-tools";
   inherit (linux) version src;
 
   makeFlags = [ "sbindir=${placeholder "out"}/bin" ];
 
-  preConfigure = "cd tools/vm";
+  preConfigure = "cd tools/mm";
 
   meta = with lib; {
     inherit (linux.meta) license platforms;
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 9cdc5dcd9d44d..2d1f033920bda 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -925,8 +925,9 @@ stdenv.mkDerivation (finalAttrs: {
     maintainers = with lib.maintainers; [ flokli kloenk ];
     platforms = lib.platforms.linux;
     priority = 10;
-    badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ];
-    # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
-    broken = stdenv.hostPlatform.isStatic;
+    badPlatforms = [
+      # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
+      lib.systems.inspect.platformPatterns.isStatic
+    ];
   };
 })
diff --git a/pkgs/servers/blockbook/default.nix b/pkgs/servers/blockbook/default.nix
index e52b0cb00bd4d..dc9243f320246 100644
--- a/pkgs/servers/blockbook/default.nix
+++ b/pkgs/servers/blockbook/default.nix
@@ -41,12 +41,19 @@ buildGoModule rec {
 
   tags = [ "rocksdb_6_16" ];
 
+  CGO_LDFLAGS = [
+    "-L${stdenv.cc.cc.lib}/lib"
+    "-lrocksdb"
+    "-lz"
+    "-lbz2"
+    "-lsnappy"
+    "-llz4"
+    "-lm"
+    "-lstdc++"
+  ];
+
   preBuild = lib.optionalString stdenv.isDarwin ''
     ulimit -n 8192
-  '' + ''
-    export CGO_LDFLAGS="-L${stdenv.cc.cc.lib}/lib -lrocksdb -lz -lbz2 -lsnappy -llz4 -lm -lstdc++"
-    buildFlagsArray+=("-tags=${lib.concatStringsSep " " tags}")
-    buildFlagsArray+=("-ldflags=${lib.concatStringsSep " " ldflags}")
   '';
 
   subPackages = [ "." ];
diff --git a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix
index 513d593ce51d3..cdbd2c2067bfb 100644
--- a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildHomeAssistantComponent
 , fetchFromGitHub
-, fetchpatch
 , beautifulsoup4
 , icalendar
 , icalevents
@@ -12,23 +11,15 @@
 buildHomeAssistantComponent rec {
   owner = "mampfes";
   domain = "waste_collection_schedule";
-  version = "1.44.0";
+  version = "1.48.0";
 
   src = fetchFromGitHub {
     inherit owner;
     repo = "hacs_${domain}";
     rev = "refs/tags/${version}";
-    hash = "sha256-G1x7HtgdtK+IaPAfxT+7xsDJi5FnXN4Pg3q7T5Xr8lA=";
+    hash = "sha256-4JtPhErAqHO06c8tEmwmWsot1Kz1wz2QuiUGdrgU8II=";
   };
 
-  patches = [
-    # Corrects a dependency on beautifulsoup4
-    (fetchpatch {
-      url = "https://github.com/mampfes/hacs_waste_collection_schedule/pull/1515.patch";
-      hash = "sha256-dvmicKTjolEcCrKRtZfpN0M/9RQCEQkFk+M6E+qCqfQ=";
-    })
-  ];
-
   propagatedBuildInputs = [
     beautifulsoup4
     icalendar
diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix
index fd453e0d321c0..40899c8926ea9 100644
--- a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix
@@ -1,27 +1,29 @@
-{ lib
-, buildHomeAssistantComponent
-, fetchFromGitHub
-, zigpy
+{
+  lib,
+  buildHomeAssistantComponent,
+  fetchFromGitHub,
+  zigpy,
+  nix-update-script,
 }:
 
 buildHomeAssistantComponent rec {
   owner = "AlexxIT";
   domain = "xiaomi_gateway3";
-  version = "4.0.3";
+  version = "4.0.5";
 
   src = fetchFromGitHub {
     owner = "AlexxIT";
     repo = "XiaomiGateway3";
     rev = "v${version}";
-    hash = "sha256-YGaVQaz3A0yM8AIC02CvMKWMJ3tW3OADYgKY8ViIt5U=";
+    hash = "sha256-C8aY23e6iWANbhCRQYNHx+3fomVO+7qdxj+qfv+K3JM=";
   };
 
-  propagatedBuildInputs = [
-    zigpy
-  ];
+  propagatedBuildInputs = [ zigpy ];
 
   dontBuild = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     changelog = "https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v{version}";
     description = "Home Assistant custom component for control Xiaomi Multimode Gateway (aka Gateway 3), Xiaomi Multimode Gateway 2, Aqara Hub E1 on default firmwares over LAN";
diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix
index 0c64655d76df5..6c26192d42280 100644
--- a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix
+++ b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix
@@ -1,22 +1,24 @@
-{ lib
-, buildHomeAssistantComponent
-, fetchFromGitHub
-, hap-python
-, micloud
-, pyqrcode
-, python-miio
+{
+  lib,
+  buildHomeAssistantComponent,
+  fetchFromGitHub,
+  hap-python,
+  micloud,
+  pyqrcode,
+  python-miio,
+  nix-update-script,
 }:
 
 buildHomeAssistantComponent rec {
   owner = "al-one";
   domain = "xiaomi_miot";
-  version = "0.7.17";
+  version = "0.7.18";
 
   src = fetchFromGitHub {
     owner = "al-one";
     repo = "hass-xiaomi-miot";
     rev = "v${version}";
-    hash = "sha256-IpL4e2mKCdtNu8NtI+xpx4FPW/uj1M5Rk6DswXmSJBk=";
+    hash = "sha256-/Zn2jEjwkCHiz48nVjKEPcCpPVajLaZ81DCTNpx1vbk=";
   };
 
   propagatedBuildInputs = [
@@ -28,6 +30,8 @@ buildHomeAssistantComponent rec {
 
   dontBuild = true;
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/${version}";
     description = "Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices.";
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 745e7df93be65..00b1a4de90bb9 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -573,6 +573,7 @@ in python.pkgs.buildPythonApplication rec {
     "orjson"
     "pillow"
     "pyopenssl"
+    "sqlalchemy"
     "typing-extensions"
     "urllib3"
   ];
@@ -682,6 +683,7 @@ in python.pkgs.buildPythonApplication rec {
     "default_config"
     "debugpy"
     "hue"
+    "qwikswitch"
     "sentry"
   ];
 
@@ -695,12 +697,10 @@ in python.pkgs.buildPythonApplication rec {
     "--showlocals"
     # AssertionError: assert 1 == 0
     "--deselect tests/test_config.py::test_merge"
-    # AssertionError: assert 'WARNING' not in '2023-11-10 ...nt abc[L]>\n'"
-    "--deselect=tests/helpers/test_script.py::test_multiple_runs_repeat_choose"
-    # SystemError: PyThreadState_SetAsyncExc failed
-    "--deselect=tests/helpers/test_template.py::test_template_timeout"
     # AssertionError: assert 6 == 5
     "--deselect=tests/helpers/test_translation.py::test_caching"
+    # assert "Detected that integration 'hue' attempted to create an asyncio task from a thread at homeassistant/components/hue/light.py, line 23
+    "--deselect=tests/util/test_async.py::test_create_eager_task_from_thread_in_integration"
     # tests are located in tests/
     "tests"
   ];
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index e3fab406c8d52..cc6a521af6626 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix args {
-  version = "1.24.0";
-  hash = "sha256-d6JUFje5KmIePudndsi3tAz21wfmm6U6lAKD4w/y9V0=";
+  version = "1.26.0";
+  hash = "sha256-0ubIQ51sbbUBXY6qskcKtSrvhae/NjGCh5l34IQ3BJc=";
 }
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 0f1947c65fda8..61e1c99ac9459 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -14,20 +14,15 @@
 
 buildDotnetModule rec {
   pname = "jellyfin";
-  version = "10.8.13"; # ensure that jellyfin-web has matching version
+  version = "10.9.1"; # ensure that jellyfin-web has matching version
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin";
     rev = "v${version}";
-    sha256 = "sha256-UtcrJRqDIPyewCNfI89E/IYrgLUhWx1me6MtPX+aeFU=";
+    sha256 = "sha256-ZvXz4gnpYE9bMvOHbmLhqJLUomPmk1K9ysw+Wlsyhr4=";
   };
 
-  patches = [
-    # when building some warnings are reported as error and fail the build.
-    ./disable-warnings.patch
-  ];
-
   propagatedBuildInputs = [
     sqlite
   ];
@@ -40,8 +35,8 @@ buildDotnetModule rec {
     fontconfig
     freetype
   ];
-  dotnet-sdk = dotnetCorePackages.sdk_6_0;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_6_0;
+  dotnet-sdk = dotnetCorePackages.sdk_8_0;
+  dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
   dotnetBuildFlags = [ "--no-self-contained" ];
 
   preInstall = ''
diff --git a/pkgs/servers/jellyfin/disable-warnings.patch b/pkgs/servers/jellyfin/disable-warnings.patch
deleted file mode 100644
index 1e13f77d0f1ae..0000000000000
--- a/pkgs/servers/jellyfin/disable-warnings.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/jellyfin.ruleset b/jellyfin.ruleset
-index 1c834de82..bf70fef1e 100644
---- a/jellyfin.ruleset
-+++ b/jellyfin.ruleset
-@@ -54,6 +54,33 @@
-     <Rule Id="SA1602" Action="None" />
-     <!-- disable warning SA1633: The file header is missing or not located at the top of the file -->
-     <Rule Id="SA1633" Action="None" />
-+
-+    <!-- disable warning SA1028: Code should not contain trailing whitespace -->
-+    <Rule Id="SA1028" Action="None" />
-+    <!-- disable warning SA1507: Code should not contain multiple blank lines in a row -->
-+    <Rule Id="SA1507" Action="None" />
-+    <!-- disable warning SA1642: Constructor summary documentation should begin with standard text -->
-+    <Rule Id="SA1642" Action="None" />
-+    <!-- disable warning SA1505: An opening brace should not be followed by a blank line -->
-+    <Rule Id="SA1505" Action="None" />
-+    <!-- disable warning SA1508: A closing brace should not be preceded by a blank line -->
-+    <Rule Id="SA1508" Action="None" />
-+    <!-- disable warning SA1513: Closing brace should be followed by blank line -->
-+    <Rule Id="SA1513" Action="None" />
-+    <!-- disable warning SA1111: Closing parenthesis should be on line of last parameter -->
-+    <Rule Id="SA1111" Action="None" />
-+    <!-- disable warning SA1649: File name should match first type name -->
-+    <Rule Id="SA1649" Action="None" />
-+    <!-- disable warning SA1137: Elements should have the same indentation -->
-+    <Rule Id="SA1137" Action="None" />
-+    <!-- disable warning SA1005: Single line comment should begin with a space -->
-+    <Rule Id="SA1005" Action="None" />
-+    <!-- disable warning SA1208: Using directive for 'System.Text' should appear before directive for '...' -->
-+    <Rule Id="SA1208" Action="None" />
-+    <!-- disable warning SA1208: The property's documentation summary text should begin with: 'Gets a value indicating whether' -->
-+    <Rule Id="SA1623" Action="None" />
-+    <!-- disable warning SA1625: Element documentation should not be copied and pasted -->
-+    <Rule Id="SA1625" Action="None" />
-   </Rules>
- 
-   <Rules AnalyzerId="Microsoft.CodeAnalysis.NetAnalyzers" RuleNamespace="Microsoft.Design">
diff --git a/pkgs/servers/jellyfin/nuget-deps.nix b/pkgs/servers/jellyfin/nuget-deps.nix
index 01b33dc905b5c..749345716552c 100644
--- a/pkgs/servers/jellyfin/nuget-deps.nix
+++ b/pkgs/servers/jellyfin/nuget-deps.nix
@@ -2,110 +2,149 @@
 # Please dont edit it manually, your changes might get overwritten!
 
 { fetchNuGet }: [
-  (fetchNuGet { pname = "BDInfo"; version = "0.7.6.2"; sha256 = "0i2hrd0s434bg7807q05m4781i0b4469ixpqqzrc5j3cw7y34w4a"; })
-  (fetchNuGet { pname = "BlurHashSharp"; version = "1.2.0"; sha256 = "01v56mxblgsclyajyvicvznqlsak29di3n4v5rm314k45avsiclp"; })
-  (fetchNuGet { pname = "BlurHashSharp.SkiaSharp"; version = "1.2.0"; sha256 = "1wymc8sq34p4kgqb03pm2f9x27nvz0wnfl10gjry8gk23w7akzrl"; })
+  (fetchNuGet { pname = "AsyncKeyedLock"; version = "6.4.2"; sha256 = "1pghspgz9xis139b5v8h2y40gp14x6qfcam27zawq6cp278gnjhi"; })
+  (fetchNuGet { pname = "BDInfo"; version = "0.8.0"; sha256 = "051fkf4566ih6wj9f59myl7vrr6iy0vm16k7i5m227yv2jnkx95g"; })
+  (fetchNuGet { pname = "BlurHashSharp"; version = "1.3.2"; sha256 = "1ygxk7rm0xzr4yz6y25xknqdmrwr2lply46siy7if37ccxnhwhyl"; })
+  (fetchNuGet { pname = "BlurHashSharp.SkiaSharp"; version = "1.3.2"; sha256 = "1qirvbxn3wmc862mcyspliaaass1m7w9mxw5hrfxjpjl68bi6xix"; })
+  (fetchNuGet { pname = "CacheManager.Core"; version = "1.2.0"; sha256 = "0j534rcnayzfwa94n1a5800f4da0c2d83zscbpmq153lpm07w3f0"; })
   (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
+  (fetchNuGet { pname = "Diacritics"; version = "3.3.29"; sha256 = "1dl2dp6cjzcw9hrwg4fs0fvj7mjibrldswkr4kk1kdlcghkxv1mh"; })
   (fetchNuGet { pname = "DiscUtils.Core"; version = "0.16.13"; sha256 = "1q5pbs7x6bbvsqcz363fj7c0gxdg3ay1r9a83f7yh137rmaprj8h"; })
   (fetchNuGet { pname = "DiscUtils.Iso9660"; version = "0.16.13"; sha256 = "0vdy9l8kvbf76q7ssgsq3xgkrp1wdbf8a0h4d27371zapg111h54"; })
   (fetchNuGet { pname = "DiscUtils.Streams"; version = "0.16.13"; sha256 = "03wzvxm3k6vld6g0hk5r2qyhckr6rg4885s7hf5z2cvs1qfas9qd"; })
   (fetchNuGet { pname = "DiscUtils.Udf"; version = "0.16.13"; sha256 = "0q4kx4p4x2rj41i7rbxfxih62aaji9vfs1qmdrbpq7zd0i552jyc"; })
+  (fetchNuGet { pname = "dotnet-ef"; version = "8.0.4"; sha256 = "104zljagzf0d092ahzg7aprs39pi1k9k96150qm9nlwjzr3lwv7n"; })
   (fetchNuGet { pname = "DotNet.Glob"; version = "3.1.3"; sha256 = "1klgj9m7i3g8x1yj96wnikvf0hlvr6rhqhl4mgis08imcrl95qg6"; })
-  (fetchNuGet { pname = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; })
+  (fetchNuGet { pname = "EasyCaching.Core"; version = "1.9.2"; sha256 = "0qkzaxmn899hhfh32s8mhg3zcqqy2p05kaaldz246nram5gvf7qp"; })
+  (fetchNuGet { pname = "EFCoreSecondLevelCacheInterceptor"; version = "4.4.3"; sha256 = "04g2w7x0rqb1gl71mqh28s8drjkwmlkd94j7fg4w5sc01vzrzshw"; })
+  (fetchNuGet { pname = "ExCSS"; version = "4.2.3"; sha256 = "1likxhccg4l4g4i65z4dfzp9059hij6h1q7prx2sgakvk8zzmw9k"; })
+  (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0.2"; sha256 = "03qfa9cglvka6dv4gbnaskrzvpjnp9jmzfwplg85wdgm6jmjif49"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0.2"; sha256 = "1df6jqwfv9v1ddby2hxcan28g1canbmavglmdjlf2xjs42xz49s9"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0.2"; sha256 = "0kvzby9bnx55sgidpy1vhql6fjf5pgq73b0by052r916sd3jlqbn"; })
+  (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0.2"; sha256 = "0fpka3rrmd47l8xmxjz5wlp2xpn9z07c8yvfg2q5rxgcs7f8r267"; })
+  (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
+  (fetchNuGet { pname = "ICU4N"; version = "60.1.0-alpha.356"; sha256 = "05mp4p6qqd0jh5a13nh3bkvjhvi07jm9fv802alcfd79xs08w36m"; })
+  (fetchNuGet { pname = "ICU4N.Transliterator"; version = "60.1.0-alpha.356"; sha256 = "1nwr9668pakdfk6jkf1vqymra1fdxcprizznk473ydvasm071cs4"; })
+  (fetchNuGet { pname = "IDisposableAnalyzers"; version = "4.0.7"; sha256 = "037fjdaqkz1kvwd7aff2wn3miv2wvb8r10z8vcdskq8wd9szj1h4"; })
+  (fetchNuGet { pname = "J2N"; version = "2.0.0"; sha256 = "040jnz89bvnwp764fhi4ikzbqxp4cs298dqqysw676z599c4iyv2"; })
   (fetchNuGet { pname = "Jellyfin.XmlTv"; version = "10.8.0"; sha256 = "0fv923y58z9l97zhlrifmki0x1m7r52avglhrl2h1jjv1x1wkvzx"; })
-  (fetchNuGet { pname = "libse"; version = "3.6.5"; sha256 = "1h0rm8jbwjp0qgayal48zdzgsqr7c7v9lnc4v8x0r0pxrb4f0x1k"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "6.0.9"; sha256 = "0hmiw2k182nmrzk9hnk1l348m3qw6y66lpg2c4s43qnywg7hxafm"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Metadata"; version = "6.0.9"; sha256 = "0dq0ilr9mv9prlx16vdhqag4h91ypx9mxq7fk7drfynqvq6s3sc2"; })
+  (fetchNuGet { pname = "libse"; version = "4.0.5"; sha256 = "1fiikwf8n17k4vrm4p4r9dqmx612dlnpz76klqhwvpx7avj0fj6v"; })
+  (fetchNuGet { pname = "LrcParser"; version = "2023.524.0"; sha256 = "002cpbvbb840az6x8g81in7427ca2pqa704812crbidrnvrnaa6c"; })
+  (fetchNuGet { pname = "MetaBrainz.Common"; version = "3.0.0"; sha256 = "0ba7r8xjkd1dsc5plq2h3nbk3kcpd69hnns6kx42bafz2x1d7r9z"; })
+  (fetchNuGet { pname = "MetaBrainz.Common.Json"; version = "6.0.2"; sha256 = "0zw5216amhkav69iv0mqfhql3b9blkfvh8k0xp3qv62r2vvhb1z0"; })
+  (fetchNuGet { pname = "MetaBrainz.MusicBrainz"; version = "6.1.0"; sha256 = "0ssmzk6zyi7ivb055w007h311pg9bby3q6gvwxzmjghd4i6m7461"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "8.0.4"; sha256 = "0r41i12ilhryh7gzak1iagxa5jmvk916jh40zi6n4pdffbwk9kzc"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Abstractions"; version = "2.2.0"; sha256 = "13s8cm6jdpydxmr0rgmzrmnp1v2r7i3rs7v9fhabk5spixdgfy6b"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Extensions"; version = "2.2.0"; sha256 = "118gp1mfb8ymcvw87fzgjqwlc1d1b0l0sbfki291ydg414cz3dfn"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "2.2.0"; sha256 = "0xrlq8i61vzhzzy25n80m7wh2kn593rfaii3aqnxdsxsg6sfgnx1"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.HttpOverrides"; version = "2.2.0"; sha256 = "1pbmmczxilgrf4qyaql88dc3av7kaixb1r36358kil68gl3irjy6"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Metadata"; version = "8.0.4"; sha256 = "0jxvdb4ah2x8ssr01gdk1msmf0kyvvr9pwhfj6rx7a5j7cl6l6xr"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
-  (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.1.1"; sha256 = "1bb5p4zlnfn88skkvymxfsn0jybqncl4356hwnic9jxdq2d4fz1w"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.4"; sha256 = "1vzrni7n94f17bzc13lrvcxvgspx9s25ap1p005z6i1ikx6wgx30"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.5.0"; sha256 = "0hjzca7v3qq4wqzi9chgxzycbaysnjgj28ps20695x61sia6i3da"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.5.0"; sha256 = "1l6v0ii5lapmfnfpjwi3j5bwlx8v9nvyani5pwvqzdfqsd5m7mp5"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.5.0"; sha256 = "0skg5a8i4fq6cndxcjwciai808p0zpqz9kbvck94mcywfzassv1a"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.5.0"; sha256 = "1wjwsrnn5frahqciwaxsgalv80fs6xhqy6kcqy7hcsh7jrfc1kjq"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
-  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "6.0.9"; sha256 = "1453zyq14v9fvfzc39656gb6pazq5gwmqb3r2pni4cy5jdgd9rpi"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "6.0.9"; sha256 = "1y5c0l3mckpn9fjvnc65rycym2w1fghwp7dn0srbb14yn8livb0a"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "6.0.9"; sha256 = "1n87lzcbvc7r0z1g2p4g0cp7081zrbkzzvlnn4n7f7jcc1mlbjb2"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "6.0.9"; sha256 = "1y023q4i0v1pxk269i8rmzrndsl35l6lgw8h17a0vimg7ismg3sn"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "6.0.9"; sha256 = "1sj73327s4xyhml3ny7kxafdrp7s1p48niv45mlmy86qqpyps55r"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "6.0.9"; sha256 = "18wfjh8b6j4z9ndil0d6h3bwjx1gxka94z6i4sgn8sg2lz65qlfs"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "6.0.9"; sha256 = "0wdajhdlls17gfvvf01czbl5m12nkac42hx8yyjn3vgcb5vdp81f"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "6.0.9"; sha256 = "0yxsqdfcszxls3s82fminb4dkwz78ywgry18gb9bhsx0y3az3hqz"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Tools"; version = "6.0.9"; sha256 = "0klpcc70xrvn1qnb9ipgrppfg3r8mj4lvg424v40rr7x0bdv7xnq"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite"; version = "8.0.4"; sha256 = "1d41r78blfh3i0lh27bh4vrdd26ix6r63xa74cycjnc7pr98xaqc"; })
+  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.4"; sha256 = "03i9b45n2vnsv4wdsk6qvjzj1ga2hcli168liyrqfa87l54skckd"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.0"; sha256 = "1xhmax0xrvw4lyz1868f1sr3nbrcv3ckr5qnf61c8q9bwj06b9v7"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.4"; sha256 = "14a74ssvklpv9v1x023mfv3a5dncwfpw399larfp9qx7l6ifsjly"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.0"; sha256 = "019r991228nxv1fibsxg5z81rr7ydgy77c9v7yvlx35kfppxq4s3"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.4"; sha256 = "1xs1cs29csnbahxgikc094xr878i8wp4h4n84xffaxms6wx5c1fb"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.0"; sha256 = "1vcbad0pzkx5wadnd5inglx56x0yybdlxgknbhifdga0bx76j9sa"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.4"; sha256 = "1h2bdh7cyw2z71brwjfirayd56rp3d2dx4qrhmsw573mb5jgvara"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "8.0.4"; sha256 = "1ni5qkjgarcjbqvw9cx0481fc99nna7rnp7170wq650jwm0f8c2f"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "8.0.4"; sha256 = "17v2wm6wwsl169sq6lawxhn9wvd299n1hdrxih8c3lzvi8igy4sd"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "8.0.4"; sha256 = "0h9ib00k54jmsrbhipr33q3sqd3mdiw31qi4g8vak1slal9b70zw"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "8.0.4"; sha256 = "0pa0xz96g2f99yj3x3hfj362br3zjcx3qd89ckqmymqpvnhk4bw0"; })
+  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Tools"; version = "8.0.4"; sha256 = "0r872j78cn1lknw3q9ajc4045d0pw879w2gp2a0qij0r9izlzpiv"; })
   (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "6.0.0"; sha256 = "0qn30d3pg4rx1x2k525jj4x5g1fxm2v5m0ksz2dmk1gmqalpask8"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "6.0.1"; sha256 = "0ra0ldbg09r40jzvfqhpb3h42h80nafvka9hg51dja32k3mxn5gk"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.0.0"; sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.9"; sha256 = "01ci8nhv3ki93aa7a3vh9icl3jav7ikizq43kcgdjgsssi6xvdf9"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "6.0.0"; sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.0.0"; sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.8"; sha256 = "05mlbia6vag0a0zfflv1m3ix48230wx0yib5hp7zsc72jpcmjd7q"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.9"; sha256 = "0skilj4gfzyn05mn74w2q4jp1ww2wwbsxw2i7v8bwk73nymsqpr8"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "2.0.0"; sha256 = "1af64clax8q94p5vggwv8b9qiddmi8v9lnfvbc33k4rl5q8lq38j"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "8.0.0"; sha256 = "04m6ywsf9731z24nfd14z0ah8xl06619ba7mkdb4vg8h5jpllsn4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "2.0.0"; sha256 = "0qvdhcqk8pi6g1ysh3a2b9jmmdq9fmcsj986azibnamnkszcvyfm"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "8.0.0"; sha256 = "0bv8ihd5i2gwr97qljwf56h8mdwspmlw0zs64qyk608fb3ciwi25"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.0"; sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.0"; sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.9"; sha256 = "1n8fndd9vrd3d7041p42li8v129mgl3gi8sl1x8whhycy0ahqr78"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.0"; sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "6.0.0"; sha256 = "15hb2rbzgri1fq8wpj4ll7czm3rxqzszs02phnhjnncp90m5rmpc"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "6.0.1"; sha256 = "16xpqfzpcjk3mg70g5g2qrkhqf7rppah3q6dasdddbpikw43ni47"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "6.0.0"; sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "6.0.0"; sha256 = "1c6l5szma1pdn61ncq1kaqibg0dz65hbma2xl626a8d1m6awn353"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.9"; sha256 = "1ifjjzwfvd5igxaaxm124qv8afs1nb06rgdqy7l3jcfqr30xykbb"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.0"; sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.1"; sha256 = "0w5w0h1clv7585qkajy0vqb28blghhcv5j9ygfi13219idhx10r9"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.0"; sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0"; sha256 = "1wlhb2vygzfdjbdzy7waxblmrx0q3pdcqvpapnpmq9fcx5m8r6w1"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.8"; sha256 = "1vkhhyxpam3svbqkkxrcxh9h4r6h3vm76cdzmfqn7gbxgswc4y2w"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.9"; sha256 = "1l7ng71y18fwdlyq2ycl12hmv9wrf7k7knz2jwv9w9w7spmp8jv6"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.0"; sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.0.0"; sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "6.0.0"; sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks"; version = "6.0.9"; sha256 = "06mx8zmlmi371ab5pskw8iawy8bbi4vx6rwrcj0andc59zfmg96q"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions"; version = "6.0.9"; sha256 = "1nv2rwq0q7ql63qip5ba45p97yxgva9jg6gnvrnfh2yk2fjwyag2"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore"; version = "6.0.9"; sha256 = "0hxnxq32rflz4nrvssbf9hhvyyay745dabdyhpxq5p41hi13pkik"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "3.1.8"; sha256 = "0z173lsfypzjdx1a352svh1pgk7lgq2wpj5q60i1rgcrd3ib8b21"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "6.0.0"; sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "6.0.0"; sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "3.1.8"; sha256 = "1lc69rn259gd6y4rjy0hwrcfnhkr0y0ac8w4ldh6mpk073snfjq0"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "6.0.0"; sha256 = "1mwjx6li4a82nb589763whpnhf5hfy1bpv1dzqqvczb1lhxhzhlj"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "3.1.9"; sha256 = "0w56d837b31hrly55j1hj4njliaialwladwwnjnrd9i9279kym8i"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "6.0.0"; sha256 = "1wxsqvfy2arbwk0nhambjprazim6ynrb23r1hr5vk4gv10i26m95"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.9"; sha256 = "1x1bbkcq7ph9jgwv3yidipfqwdh6q3bsa2rxhfzmy64l7hc7r1wl"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.1"; sha256 = "1wyhpamm1nqjfi3r463dhxljdlr6rm2ax4fvbgq2s0j3jhpdhd4p"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; sha256 = "02jnx23hm1vid3yd9pw4gghzn6qkgdl5xfc5r0zrcxdax70rsh5a"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks"; version = "8.0.4"; sha256 = "16jm0jkb4nhx3dvqg9yljkmg95v4awpc3dkn1qqcb8bbr6szskr1"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions"; version = "8.0.4"; sha256 = "1iylfqpqpiknywfzka2zibz0vmrrf73y6g5irl57parxxb836yhy"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore"; version = "8.0.4"; sha256 = "0mxxms7nf9sm8iwf6n4ny9ni7ap7gya74wahmwcpv1v0dgq004z6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.2.0"; sha256 = "1f83ffb4xjwljg8dgzdsa3pa0582q6b4zm0si467fgkybqzk3c54"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "3.1.0"; sha256 = "02ipxf75rqzsbmmy5ka44hh8krmxgky9mdxmh8f7fkbclpg2s6cy"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Http"; version = "8.0.0"; sha256 = "09hmkhxipbpfmwz9q80746zp6cvbx1cqffxr5xjxv5cbjg5662aj"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.0"; sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.8"; sha256 = "0iq8py91xvma10rysq3dl29nxhmlgniad3cvafb4jg8iz52ym24h"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.9"; sha256 = "1i24mz3v677bmdysxklm9a3qc87j72lpkfp0l16gh6yqpmhwg7vp"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.0"; sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.2"; sha256 = "1wv54f3p3r2zj1pr9a6z8zqrh2ihm6v6qcw2pjwis1lcc0qb472m"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.1"; sha256 = "0i9pgmk60b8xlws3q9z890gim1xjq42dhyh6dj4xvbycmgg1x1sd"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "7.0.0"; sha256 = "15lz0qk2gr2q52i05ip51dzm9p4hzqlrammkc0hv2ng6g0z72697"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.9"; sha256 = "0rpix172cmwwbddh4gm0647x1ql0ly5n68bpz71v915j97anwg90"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.0"; sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "2.0.0"; sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.2"; sha256 = "0as39ml1idgp42yvh725ddqp4illq87adzd1ymzx6xjxsxsjadq2"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "6.0.0"; sha256 = "1k6q91vrhq1r74l4skibn7wzxzww9l74ibxb2i8gg4q6fzbiivba"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.8"; sha256 = "1p48hk3r9ikv36wdpwdrbvaccziazncf7nl60fr82i04199lfhgl"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.9"; sha256 = "0538fvjz9c27nvc6kv83b0912qvc71wz2w60svl0mscj86ds49wc"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.0"; sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
+  (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.2.0"; sha256 = "0w6lrk9z67bcirq2cj2ldfhnizc6id77ba6i30hjzgqjlyhh1gx5"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.1"; sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
   (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
-  (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.1.1"; sha256 = "0xkdqs7az2cprar7jzjlgjpd64l6f8ixcmwmpkdm03fyb4s5m0bg"; })
-  (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.1.1"; sha256 = "099y35f2npvva3jk1zp8hn0vb9pwm2l0ivjasdly6y2idv53s5yy"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
   (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
-  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "5.0.0"; sha256 = "0sja4ba0mrvdamn0r9mhq38b9dxi08yb3c1hzh29n1z6ws1hlrcq"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; })
   (fetchNuGet { pname = "MimeTypes"; version = "2.4.0"; sha256 = "005i81irglnr0wc60zsfwi6bpxafdlwv2q2h7vxnp28b5965wzik"; })
-  (fetchNuGet { pname = "Mono.Nat"; version = "3.0.3"; sha256 = "1b3alh1wz28y62cflwl1jppigv499cndm8sds32xsmvwpdwiq4yl"; })
+  (fetchNuGet { pname = "Mono.Nat"; version = "3.0.4"; sha256 = "10zvyq60wy02q21dszrk1h3ww23b7bkgjxaapx1ans4d9nwsmlrm"; })
+  (fetchNuGet { pname = "Mono.TextTemplating"; version = "2.2.1"; sha256 = "1ih6399x4bxzchw7pq5195imir9viy2r1w702vy87vrarxyjqdp1"; })
   (fetchNuGet { pname = "NEbml"; version = "0.11.0"; sha256 = "0jrkgw0kn8f32fzmybvb8m44rcrjylbs1agqlj2q93cqx047d1md"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
-  (fetchNuGet { pname = "OptimizedPriorityQueue"; version = "5.1.0"; sha256 = "0zbxyrgjra8va44d0c0ll8l2jylckpyyg86gkrwhwi2fly2mkwmh"; })
-  (fetchNuGet { pname = "PlaylistsNET"; version = "1.2.1"; sha256 = "04vzzn8d7vrzyz073wj50akljy3habmp4z6fwlqqymf5x1prfr9v"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
+  (fetchNuGet { pname = "PlaylistsNET"; version = "1.4.1"; sha256 = "0zhwa5xqy0a4g10nkl3ngpax3d59zhrbc3b5hvb4i9xqji3vds0x"; })
   (fetchNuGet { pname = "prometheus-net"; version = "3.1.2"; sha256 = "1jyxvl9cqxvb71mpaglw8aks27i69hg7yzrdwsjc182nmmhh1p03"; })
-  (fetchNuGet { pname = "prometheus-net"; version = "6.0.0"; sha256 = "1vcv98j3jvhikk6p48nqd4vnl2iqsyjpyb9iiwyr6g8mfryx2x6i"; })
-  (fetchNuGet { pname = "prometheus-net.AspNetCore"; version = "6.0.0"; sha256 = "14l61j6nxjks98hhhw1p8i5x234wp63i58br86z03zm4ad2wlw50"; })
-  (fetchNuGet { pname = "prometheus-net.DotNetRuntime"; version = "4.2.4"; sha256 = "1a57vklgwghdlin2d1f66gcim6di4snfl4a82m5gsr368vfc0n90"; })
+  (fetchNuGet { pname = "prometheus-net"; version = "8.2.1"; sha256 = "0g1hf6v6k4ym9a663az76775rkazvxmfl4yb60w0ghqzvrfxw49p"; })
+  (fetchNuGet { pname = "prometheus-net.AspNetCore"; version = "8.2.1"; sha256 = "1rygyyflx53djczfgavr6jzqgz0sfw3r1h93gm3gs3v48d6c06kn"; })
+  (fetchNuGet { pname = "prometheus-net.DotNetRuntime"; version = "4.4.0"; sha256 = "1hrzf2djkjiswyf4xg3pl6rb0a8i0mh294hrfbna782hfxya7c29"; })
   (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
+  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
   (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
+  (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
   (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
   (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
   (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
@@ -115,107 +154,170 @@
   (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
   (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
   (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
+  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
   (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
   (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i"; })
   (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r"; })
   (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3"; })
   (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
   (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6"; })
   (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438"; })
   (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
   (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6"; })
   (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1"; })
   (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi"; })
   (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; })
   (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; })
+  (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
   (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
+  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
+  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
   (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.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; })
   (fetchNuGet { pname = "Serilog"; version = "2.3.0"; sha256 = "0y1111y0csfnil901nfahhj3x251nzdam0c4vab3gw5qh8iqs3my"; })
   (fetchNuGet { pname = "Serilog"; version = "2.9.0"; sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6"; })
-  (fetchNuGet { pname = "Serilog.AspNetCore"; version = "4.1.0"; sha256 = "0kdga6ic988z8m87z4cwj33gac5c468kd3m11a10xzffgcp2fknf"; })
+  (fetchNuGet { pname = "Serilog"; version = "3.1.1"; sha256 = "0ck51ndmaqflsri7yyw5792z42wsp91038rx2i6vg7z4r35vfvig"; })
+  (fetchNuGet { pname = "Serilog.AspNetCore"; version = "8.0.1"; sha256 = "0vmrbhj9vb00fhvxrw3w5j1gvdx4xzxz8d2cp65hps988zxwykkb"; })
   (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; })
-  (fetchNuGet { pname = "Serilog.Extensions.Hosting"; version = "4.1.2"; sha256 = "072a1vwzhfaqyfc24v7z2azlm85zbj1vwhj8cagygzcfwf5ijc2h"; })
-  (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.0.1"; sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a"; })
-  (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "1.1.0"; sha256 = "1w3qhj1jrihb20gr9la4r4gcmdyyy6dai2xflwhzvgqrq05wlycy"; })
-  (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "3.3.0"; sha256 = "1g9141b3k7fv5n6jh6pmph4f46byjqw1rcqnnicm1gwgzh6cdkpq"; })
+  (fetchNuGet { pname = "Serilog.Extensions.Hosting"; version = "8.0.0"; sha256 = "10cgp4nsrzkld5yxnvkfkwd0wkc1m8m7p5z42w4sqd8f188n8i9q"; })
+  (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "8.0.0"; sha256 = "087ab94sfhkj6h6x3cwwf66g456704faxnfyc4pi6shxk45b318s"; })
+  (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "2.0.0"; sha256 = "0y7vg2qji02riq7r0kgybarhkngw6gh3xw89w7c2hcmjawd96x3k"; })
+  (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "8.0.0"; sha256 = "0245gvndwbj4nbp8q09vp7w4i9iddxr0vzda2c3ja5afz1zgs395"; })
   (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.5.0"; sha256 = "0bcb3n6lmg5wfj806mziybfmbb8gyiszrivs3swf0msy8w505gyg"; })
-  (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "5.0.1"; sha256 = "0cnjjpnnhlx3k4385dbnddkz3n6khdshjix0hlv4gjmrrmjaixva"; })
   (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "2.0.0"; sha256 = "1i7j870l47gan3gpnnlzkccn5lbm7518cnkp25a3g5gp9l0dbwpw"; })
   (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
-  (fetchNuGet { pname = "Serilog.Sinks.Graylog"; version = "2.3.0"; sha256 = "1mnji4p1n9rsjxlaal84zkypwqcfciws1si863zz4ld2xvv9adri"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Graylog"; version = "3.1.1"; sha256 = "05brpqq8mrk6dr5yy8y69fhfwycgj45cnydgjikbbs2dsk2wrl0z"; })
   (fetchNuGet { pname = "SerilogAnalyzer"; version = "0.15.0"; sha256 = "0k83cyzl9520q282vp07zb8rs16a56axv7a31l3m5fb1afq2hv9l"; })
-  (fetchNuGet { pname = "SharpCompress"; version = "0.32.2"; sha256 = "1p198bl08ia89rf4n6yjpacj3yrz6s574snsfl40l8vlqcdrc1pm"; })
-  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.2"; sha256 = "0fnvp1yxl8gix9qb812pslhp8dvbf12ackvmp4yjdig6ybix77az"; })
-  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.2"; sha256 = "1jc65bg75kxa2hv33y9584hbar10lirahgnh8s12lk8dpb23a3m3"; })
-  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.2"; sha256 = "0vsbl3sjz15nsgpbmjs0p6nd1842j4pbb0jvzaqn3w7rrwyl44bk"; })
-  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.2"; sha256 = "1g1v7x2dnnsljf43m7yl54nx17z9wswlh9qi3b8cl7z1g04800vi"; })
-  (fetchNuGet { pname = "SkiaSharp.Svg"; version = "1.60.0"; sha256 = "1gja5fdk4dn9l7vqnik29v1x5b4xnp2dpjm4gmpv44r6085i9hz0"; })
+  (fetchNuGet { pname = "ShimSkiaSharp"; version = "1.0.0.18"; sha256 = "1vxsw5kkw3z4c59v5678k4nmxng92845y3pi4fgv1wcnxgw5aqzg"; })
+  (fetchNuGet { pname = "SkiaSharp"; version = "2.88.8"; sha256 = "0h5vrmximld239l9k98h09wbjwgiwvhyxyixqgbi95d7hirn0gmc"; })
+  (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.8"; sha256 = "13ynv4qgl33cf31nriqnh58039vw8mghpkd1v6jazwiz9awcvn2v"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.8"; sha256 = "1dlp8ra9ccdhqglgjn22fm0axy9lfr3kxby3db4aqkgfp1nqvsbw"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.8"; sha256 = "0qiygnrmpbawn0spx733v60srhn2mm0z0lpv127cj2gh076jpmq9"; })
+  (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.8"; sha256 = "1wrwk44gvjh43dwmjm0cp1bmcrxz2yfq3l4h935073ydibvmpibg"; })
   (fetchNuGet { pname = "SmartAnalyzers.MultithreadingAnalyzer"; version = "1.1.31"; sha256 = "1qk5s4rx5ma7k2kzkn1h94fsrzmwkivj0z1czsjwmr8z7zhngs2h"; })
-  (fetchNuGet { pname = "SQLitePCL.pretty.netstandard"; version = "3.1.0"; sha256 = "1r2kqkaw2viyxizsp98xcv5m4lv62s5qp7d7cnx02g4drwxcpk2h"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.6"; sha256 = "1ip0a653dx5cqybxg27zyz5ps31f2yz50g3jvz3vx39isx79gax3"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.0"; sha256 = "1xl2kn6bqrmlh6v0lr8mrv1wzg4gcmsc6x4g34q4d90gbm110d98"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.4"; sha256 = "0lb5vwfl1hd24xzzdaj2p4k2hv2k0i3mgdri6fjj0ssb37mcyir1"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.6"; sha256 = "1w4iyg0v1v1z2m7akq7rv8lsgixp2m08732vr14vgpqs918bsy1i"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.0"; sha256 = "0kq5x9k5kl6lh7jp1hgjn08wl37zribrykfimhln6mkqbp1myncp"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.6"; sha256 = "16378rh1lcqxynf5qj0kh8mrsb0jp37qqwg4285kqc5pknvh1bx3"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.0"; sha256 = "1ibkkz5dsac64nf7alsdsr8r1jm8j87vv6chsi3azkf5zv0rphsy"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.6"; sha256 = "0chgrqyycb1kqnaxnhhfg0850b94blhzni8zn79c7ggb3pd2ykyz"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.0"; sha256 = "1g7gi1kdil8iv67g42xbmfhr1l0pkz645gqnd8lfv3q24449shan"; })
-  (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.2.0-beta.406"; sha256 = "04ii8m45cyphwrhxgss1whk550qxpqrwjah6cb76pbcjqc7pjj7w"; })
-  (fetchNuGet { pname = "StyleCop.Analyzers.Unstable"; version = "1.2.0.406"; sha256 = "1nsk5vhpdbns9wsqmi8qwdg4girc4sci81r5am23cljc9fdx9pmk"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; sha256 = "0g959z7r3h43nwzm7z3jiib1xvyx146lxyv0x6fl8ll5wivpjyxq"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; sha256 = "1vs1c7yhi0mdqrd35ji289cxkhg7dxdnn6wgjjbngvqxkdhkyxyc"; })
+  (fetchNuGet { pname = "StyleCop.Analyzers"; version = "1.2.0-beta.556"; sha256 = "1x91v0x6w5s7xm85d5mipv0kah2j3r7ypyidpr9rrggrr90iidpp"; })
+  (fetchNuGet { pname = "StyleCop.Analyzers.Unstable"; version = "1.2.0.556"; sha256 = "0ryaqhj1k71q3yh1ag1288y90ylv05w844win68pvybbmznjjnk9"; })
+  (fetchNuGet { pname = "Svg.Custom"; version = "1.0.0.18"; sha256 = "0186sxdcz7c30g3vvygbahvsmywn1cqq53m8h6la1z2c00zr22s6"; })
+  (fetchNuGet { pname = "Svg.Model"; version = "1.0.0.18"; sha256 = "03vjk6pmxpff6q7saqgq9qdfbs6sf11hqrp469ycfzbikgil4xh9"; })
+  (fetchNuGet { pname = "Svg.Skia"; version = "1.0.0.18"; sha256 = "0vnjy0gc8qfv626rn3z4sy03ds186h1yv9fwq3p84pq6l04ng5d3"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.2.3"; sha256 = "1kx50vliqcqw72aygkm2cs2q82pxdxz17gvz4chz6k858qj4gv0l"; })
-  (fetchNuGet { pname = "Swashbuckle.AspNetCore.ReDoc"; version = "6.3.1"; sha256 = "1q0q78f1vrwyzf17c3k8p31v6arhg20gsyf9sq5x27x1arxzi2pw"; })
+  (fetchNuGet { pname = "Swashbuckle.AspNetCore.ReDoc"; version = "6.5.0"; sha256 = "1fr8367107ammy0b887ypy14qnqqyd3nbj6agrhrhrrlz47h3v5z"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.2.3"; sha256 = "0g3aw1lydq1xymd1f5rrs0dhl0fpl85gffs9jsm3khfqp7js31yz"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.2.3"; sha256 = "1cza3hzxhia81rmmdx9qixbm1ikavscddknpvbkrwmljzx2qmsv7"; })
   (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.2.3"; sha256 = "0sbrymb73a2s9qhgm7i44ca08h4n62qfh751fwnvybmj8kb1gzsi"; })
-  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; })
+  (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; })
   (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
   (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; })
+  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; })
+  (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; })
+  (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; })
+  (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; })
+  (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; })
+  (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; })
+  (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; })
   (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
   (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5"; })
-  (fetchNuGet { pname = "System.Drawing.Common"; version = "5.0.2"; sha256 = "08kgiywg5whhw80xshlrp0q9mkl8hlkgqdsnk1gm6bb898f1l3gs"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "7.0.0"; sha256 = "0jwyv5zjxzr4bm4vhmz394gsxqa02q6pxdqd2hwy1f116f0l30dp"; })
   (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
   (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
   (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.IO.Hashing"; version = "8.0.0"; sha256 = "1hg5i9hiihj9x4d0mlvhfddmivzrhzz83dyh26fqw1nd8jvqccxk"; })
+  (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
   (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; })
   (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
   (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.4"; sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
   (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
   (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
   (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
   (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
   (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
   (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
   (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.1"; sha256 = "0fjqifk4qz9lw5gcadpfalpplyr0z2b3p9x7h0ll481a9sqvppc9"; })
   (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
   (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
   (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
   (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
   (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
   (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
   (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
   (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
   (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "6.0.6"; sha256 = "0bkfrnr9618brbl1gvhyqrf5720syawf9dvpk8xfvkxbg7imlpjx"; })
+  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
+  (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 = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "8.0.3"; sha256 = "0jkl986gnh2a39v5wbab47qyh1g9a64dgh5s67vppcay8hd42c4n"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
+  (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.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "6.0.0"; sha256 = "1b4vyjdir9kdkiv2fqqm4f76h0df68k8gcd7jb2b38zgr2vpnk3c"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Dataflow"; version = "8.0.0"; sha256 = "02mmqnbd7ybin1yiffrq3ph71rsbrnf6r6m01j98ynydqfscz9s3"; })
   (fetchNuGet { pname = "TagLibSharp"; version = "2.3.0"; sha256 = "1z7v9lrkss1f8s42sclsq3az9zjihgmhyxnwhjyf0scgk1amngrw"; })
-  (fetchNuGet { pname = "TMDbLib"; version = "1.9.2"; sha256 = "10vh8wx9f1rcr7wsqiqvi1gq31y4skai1px079hq08y4rbslllnq"; })
+  (fetchNuGet { pname = "TMDbLib"; version = "2.2.0"; sha256 = "1dmxiz0vg9738f2qps37ahhqsaa9ia71mx43an8k726vvzp9b35g"; })
   (fetchNuGet { pname = "UTF.Unknown"; version = "2.5.1"; sha256 = "0giks1ww539m4r5kzdyzkq0cvfi5k50va9idjz93rclgljl96gpl"; })
-  (fetchNuGet { pname = "zlib.net-mutliplatform"; version = "1.0.5"; sha256 = "168z0p5aywajxpwhnrns0j2ddza9n0k2dcnm5h2cxdbcirphjprg"; })
+  (fetchNuGet { pname = "zlib.net-mutliplatform"; version = "1.0.6"; sha256 = "1h9smxgdyih096ic6k1yq6ak87r5rhx49kvskhwxdd4n6k28xmy6"; })
 ]
diff --git a/pkgs/servers/jellyfin/web.nix b/pkgs/servers/jellyfin/web.nix
index b2a40c0690832..a2437af14ee41 100644
--- a/pkgs/servers/jellyfin/web.nix
+++ b/pkgs/servers/jellyfin/web.nix
@@ -1,25 +1,53 @@
-{ lib
-, fetchFromGitHub
-, stdenv
-, buildNpmPackage
-, nix-update-script
+{
+  lib,
+  stdenv,
+  overrideSDK,
+  fetchFromGitHub,
+  buildNpmPackage,
+  nix-update-script,
+  pkg-config,
+  xcbuild,
+  pango,
+  giflib,
+  darwin,
 }:
-
-buildNpmPackage rec {
+let
+  # node-canvas builds code that requires aligned_alloc,
+  # which on Darwin requires at least the 10.15 SDK
+  stdenv' =
+    if stdenv.isDarwin then
+      overrideSDK stdenv {
+        darwinMinVersion = "10.15";
+        darwinSdkVersion = "11.0";
+      }
+    else
+      stdenv;
+  buildNpmPackage' = buildNpmPackage.override { stdenv = stdenv'; };
+in
+buildNpmPackage' rec {
   pname = "jellyfin-web";
-  version = "10.8.13";
+  version = "10.9.1";
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin-web";
     rev = "v${version}";
-    hash = "sha256-2W9s8TQV9BtxNYIrCbGRh5EUw0brwxSHohnb7269pQE=";
+    hash = "sha256-KkPZ8OvGN/0gdoSVh9q0qEilae3tccgHRQQvrTsvycA=";
   };
 
-  npmDepsHash = "sha256-i077UAxY2K12VXkHYbGYZRV1uhgdGUnoDbokSk2ZDIA=";
+  npmDepsHash = "sha256-LmbygyCYSp0gtjU2pNCV17WEyEoaIzPs7H9UoMFV+PU=";
 
   npmBuildScript = [ "build:production" ];
 
+  nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.isDarwin [ xcbuild ];
+
+  buildInputs =
+    [ pango ]
+    ++ lib.optionals stdenv.isDarwin [
+      giflib
+      darwin.apple_sdk.frameworks.CoreText
+    ];
+
   installPhase = ''
     runHook preInstall
 
@@ -29,12 +57,17 @@ buildNpmPackage rec {
     runHook postInstall
   '';
 
-  passthru.updateScript = nix-update-script {};
+  passthru.updateScript = nix-update-script { };
 
   meta = with lib; {
     description = "Web Client for Jellyfin";
     homepage = "https://jellyfin.org/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ nyanloutre minijackson purcell jojosch ];
+    maintainers = with maintainers; [
+      nyanloutre
+      minijackson
+      purcell
+      jojosch
+    ];
   };
 }
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index afb70893f8985..1792b51abf8d6 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 = "24.0.3";
+  version = "24.0.4";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    hash = "sha256-VlCAUAa3e8ho8s1pA935B+bz4mvziDtayu0GB9yOTI4=";
+    hash = "sha256-tqY3rYFRsRpbvms8DVtCp8nXl0hlX1CzuOVFCE+23o4=";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
diff --git a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
index 3e2b6049b1870..82e6163491ba9 100644
--- a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
+++ b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
@@ -1,4 +1,4 @@
-{ maven, lib, fetchFromGitHub }:
+{ maven, stdenv, lib, fetchFromGitHub }:
 
 maven.buildMavenPackage rec {
   pname = "keycloak-metrics-spi";
@@ -11,7 +11,11 @@ maven.buildMavenPackage rec {
     hash = "sha256-iagXbsKsU4vNP9eg05bwXEo67iij3N2FF0BW50MjRGE=";
   };
 
-  mvnHash = "sha256-+ySBrQ9yQ5ZxuVUh/mnHNEmugru3n8x5VR/RYEDCLAo=";
+  mvnHash = {
+    aarch64-linux = "sha256-zO79pRrY8TqrSK4bB8l4pl6834aFX2pidyk1j9Itz1E=`";
+    x86_64-linux = "sha256-+ySBrQ9yQ5ZxuVUh/mnHNEmugru3n8x5VR/RYEDCLAo=";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system ${stdenv.hostPlatform.system} for ${pname}");
+
 
   installPhase = ''
     runHook preInstall
@@ -24,5 +28,6 @@ maven.buildMavenPackage rec {
     description = "Keycloak Service Provider that adds a metrics endpoint";
     license = licenses.asl20;
     maintainers = with maintainers; [ benley ];
+    platforms = [ "aarch64-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix
index 819a4c3947a15..e50a984be3fe8 100644
--- a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix
@@ -13,17 +13,17 @@ buildGoModule rec {
 
   vendorHash = "sha256-he2bmcTNkuKRsNGkn1IkhtOe+Eo/5RLWLYlNFWLo/As=";
 
-  preCheck = let
-    skippedTests = [
-      "TestBacktracking"
-      "TestInconsistentLabelsE2E"
-      "TestIssue111"
-      "TestIssue61"
-      "TestIssue90"
-    ];
-  in ''
-    buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-  '';
+  checkFlags =
+    let
+      skippedTests = [
+        "TestBacktracking"
+        "TestInconsistentLabelsE2E"
+        "TestIssue111"
+        "TestIssue61"
+        "TestIssue90"
+      ];
+    in
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) graphite; };
 
diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
index 598b3220e4a35..bfc2acad24969 100644
--- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
@@ -23,9 +23,9 @@ buildGoModule rec {
   ];
 
   # skips tests with external dependencies, e.g. on mysqld
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = with lib; {
     description = "Prometheus exporter for MySQL server metrics";
diff --git a/pkgs/servers/monitoring/prometheus/process-exporter.nix b/pkgs/servers/monitoring/prometheus/process-exporter.nix
index 684d624592f1c..9ad82369b7711 100644
--- a/pkgs/servers/monitoring/prometheus/process-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/process-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "process-exporter";
-  version = "0.7.10";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "ncabatoff";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TAgMA9IV3i8dpgOBDmnlt4iyGlmWN5Nj3BexXb5vzlc=";
+    sha256 = "sha256-irI1vEoLKBn7odWpFfpSwLtkStEUyxRtD/fi3CV5oNM=";
   };
 
-  vendorHash = "sha256-LAEnXJ3qShfCGjtsYAGyW5x/TTFQxQxXM0hebJrqiW4=";
+  vendorHash = "sha256-Mmcc7Tp71OH5BQgMYMRhokqNDOqCudaUaCNzjOGoQ68=";
 
   postPatch = ''
     substituteInPlace proc/read_test.go --replace /bin/cat cat
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index 812484fdf615c..2f8c4f7ba3711 100644
--- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "snmp_exporter";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "prometheus";
     repo = "snmp_exporter";
     rev = "v${version}";
-    sha256 = "sha256-6Y2zJwY5gToJlY6iLug2jNXXtNLNz98WoTKGcWgYzaA=";
+    sha256 = "sha256-6UTvzcN0BB4uLfyZxr8CkmlMAjggYRV/EmQPRD7ZqmY=";
   };
 
-  vendorHash = "sha256-8soLDI/hBzSZB6Lfj1jVkIWfIkMPJmp84bu7TKg7jeo=";
+  vendorHash = "sha256-0WGiVM4HTgcVkCxfjW1c+z1wlf/ay5BXZXuGRPS4guc=";
 
   buildInputs = [ net-snmp ];
 
diff --git a/pkgs/servers/nosql/mongodb/5.0.nix b/pkgs/servers/nosql/mongodb/5.0.nix
index 0dfa701e01a16..e6738239358df 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.24";
-      sha256 = "sha256-SZ62OJD6L3aP6LsTswpuXaayqYbOaSQTgEmV89Si7Xc=";
+      version = "5.0.26";
+      sha256 = "sha256-lVRTrEnwuyKETFL1C8bVqBfrDaYrbQIdmHN42CF8ZIw=";
       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 07f8825d7503b..77d825d185f31 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.13";
-  sha256 = "sha256-z7gzmWRSc4jA9g+WTkKQkWudh3Ef4xcJVgAQ5HzRe/A=";
+  version = "6.0.15";
+  sha256 = "sha256-DX1wbrDx1/JrEHbzNaXC4Hqq7MrLqz+JZgG98beyVds=";
   patches = [
     # Patches a bug that it couldn't build MongoDB 6.0 on gcc 13 because a include in ctype.h was missing
     ./fix-gcc-13-ctype-6_0.patch
diff --git a/pkgs/servers/readarr/default.nix b/pkgs/servers/readarr/default.nix
index 062ee7b67684a..d37059b463d9d 100644
--- a/pkgs/servers/readarr/default.nix
+++ b/pkgs/servers/readarr/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-fJ+QFbyW7r9u1Do54+/apYo94JDErM9AtXiUN6fsH68=";
-    arm64-linux_hash = "sha256-9mDHlq4sB12tshbsMtYQx97RNkafJSr7Cjjgwbo8Q1o=";
-    x64-osx_hash = "sha256-DgZAyjotJtWyf75UKyP7zJzkjX6RF4lOhoPhjyve6yo=";
+    x64-linux_hash = "sha256-EBXK8MGgEOEu99X8n0i7mAoEBpqP9l+PtBlig0NW/Y8=";
+    arm64-linux_hash = "sha256-ZXIXjLnzjsT4nj5lbhg0yp97M9bdm8mo6Ypf3PAHlXc=";
+    x64-osx_hash = "sha256-RR3nyY7KyQXCimmknNEK6en98Q4D+PcFOi8lPAwdp9Q=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "readarr";
-  version = "0.3.25.2515";
+  version = "0.3.26.2526";
 
   src = fetchurl {
     url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 23b6597278414..a52099460e780 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -63,11 +63,11 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "samba";
-  version = "4.20.0";
+  version = "4.20.1";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
-    hash = "sha256-AmclQlEKxuXQyRwMFNkKtObsOXxwnpUsbaOm4LTVpC8=";
+    hash = "sha256-+Tw69SlTQNCBBsfA3PuF5PhQV9/RRYeqiBe+sxr/iPc=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index a947a2a9ea30e..ac9abadc65ebf 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "1.35.11";
+  version = "1.37.0";
 
   src = fetchFromGitHub {
     owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-nOS6Gj6id9s03iEhhhj99v3t38i/AoFO72swi30fflw=";
+    sha256 = "sha256-AgeCu/35DsqhMtfYioPCizfQ7MhYtWEzxYMAosfA3oY=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" ];
-  vendorHash = "sha256-tNnfHyqBN49Z/F4Z68JfSa860uo0i2gAkKv2IDoONr4=";
+  vendorHash = "sha256-MK3K9P9x5NjHJV0DNP1nPXPqY28c7pwLbpVBmKdsmaM=";
   proxyVendor = true;
   doCheck = false;
 
diff --git a/pkgs/servers/sql/rqlite/default.nix b/pkgs/servers/sql/rqlite/default.nix
index fbf70f1e4b49d..90ed22286a604 100644
--- a/pkgs/servers/sql/rqlite/default.nix
+++ b/pkgs/servers/sql/rqlite/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rqlite";
-  version = "8.24.1";
+  version = "8.24.7";
 
   src = fetchFromGitHub {
     owner = "rqlite";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-K2OSOzdhJv1F1nJUqmPOVsqQZpOwWKdWQZyrHXH/hf0=";
+    sha256 = "sha256-RuLc5IYy5NDexE1UHWrcJkvKgn4hQ0TkJFcbRIwxk18=";
   };
 
-  vendorHash = "sha256-Z/Cou6NDVQVu1F4XlgMM0jI72jF2vuI6mRGhWqObXKM=";
+  vendorHash = "sha256-c6HQukT32jK9B48FzW0WeY7VxPkNwDipKUTrrICsaKw=";
 
   subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ];
 
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 77fac1c365f73..3e429e3595f73 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -20,9 +20,10 @@ buildGoModule rec {
 
     CODENAME=$(grep -Po "CODENAME \?=\s\K.+$" Makefile)
 
-    buildFlagsArray+=("-ldflags= -s -w \
-      -X github.com/traefik/traefik/v${lib.versions.major version}/pkg/version.Version=${version} \
-      -X github.com/traefik/traefik/v${lib.versions.major version}/pkg/version.Codename=$CODENAME")
+    ldflags="-s"
+    ldflags+=" -w"
+    ldflags+=" -X github.com/traefik/traefik/v${lib.versions.major version}/pkg/version.Version=${version}"
+    ldflags+=" -X github.com/traefik/traefik/v${lib.versions.major version}/pkg/version.Codename=$CODENAME"
   '';
 
   doCheck = false;
diff --git a/pkgs/servers/trickster/trickster.nix b/pkgs/servers/trickster/trickster.nix
index 7b527a5c20b2d..2215990654539 100644
--- a/pkgs/servers/trickster/trickster.nix
+++ b/pkgs/servers/trickster/trickster.nix
@@ -1,6 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, go
 }:
 
 buildGoModule rec {
@@ -19,22 +20,14 @@ buildGoModule rec {
 
   subPackages = [ "cmd/trickster" ];
 
-  preBuild =
-    let
-      ldflags = with lib;
-        concatStringsSep " " (
-          [ "-extldflags '-static'" "-s" "-w" ] ++
-          (mapAttrsToList (n: v: "-X main.application${n}=${v}") {
-            BuildTime = "1970-01-01T00:00:00+0000";
-            GitCommitID = rev;
-            GoVersion = "$(go env GOVERSION)";
-            GoArch = "$(go env GOARCH)";
-          })
-        );
-    in
-    ''
-      buildFlagsArray+=("-ldflags=${ldflags}")
-    '';
+  ldflags = with lib;
+    [ "-extldflags '-static'" "-s" "-w" ] ++
+    (mapAttrsToList (n: v: "-X main.application${n}=${v}") {
+      BuildTime = "1970-01-01T00:00:00+0000";
+      GitCommitID = rev;
+      GoVersion = "go${go.version}}";
+      GoArch = "${go.GOARCH}";
+    });
 
   # Tests are broken.
   doCheck = false;
diff --git a/pkgs/servers/web-apps/monica/default.nix b/pkgs/servers/web-apps/monica/default.nix
index 69d9aae3b186c..950078194d3be 100644
--- a/pkgs/servers/web-apps/monica/default.nix
+++ b/pkgs/servers/web-apps/monica/default.nix
@@ -7,11 +7,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "monica";
-  version = "4.0.0";
+  version = "4.1.2";
 
   src = fetchurl {
     url = "https://github.com/monicahq/monica/releases/download/v${version}/monica-v${version}.tar.bz2";
-    hash = "sha256-uHsRCO7P5w1JmKDwyLUVjK6NwnTF2mjsz0hOnPrms+w=";
+    hash = "sha256-7ZdOSI/gldSWub5FIyYQw3gpLe+PRAnq03u6DXdZ2YE=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
index b47ab2cd350b7..1459ee23920c4 100644
--- a/pkgs/servers/web-apps/netbox/default.nix
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -22,8 +22,8 @@ lib.fix (self: {
   };
 
   netbox_3_7 = callPackage generic {
-    version = "3.7.4";
-    hash = "sha256-jQJYtu1K13AsFXx4GTgtMOdppK1Tgoaf2/fKKhS1sQo=";
+    version = "3.7.8";
+    hash = "sha256-61pJbMWXNFnvWI0z9yWvsutdCAP4VydeceANNw0nKsk=";
     extraPatches = [
       # Allow setting the STATIC_ROOT from within the configuration and setting a custom redis URL
       ./config.patch
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 2f237c1f2277f..513cd5f1574b7 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -40,8 +40,8 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "b109773ce6fe";
-    hash = "sha256-N1vmShDWtWsHD4b1x7UjX6Sj28iPaDeCLSYeDOLLhzo=";
+    rev = "d3a72777f149";
+    hash = "sha256-qLuhEdvtOMfu78oxLUZKWZDb/AME1+IRnk0jkQNxTU8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index dcb3ffd19ec7f..1b96c5224d0eb 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
     rev = "v${version}";
-    hash = "sha256-0/YOL1/G2SWncbLNaclSYUz7VyfWu+OB8TYJYm4NYkM=";
+    hash = "sha256-Qv8zAiMtrr67CbLRrFjGaPzFZcOiMVEFLg1Z+N6VMhg=";
   };
 
   strictDeps = true;
@@ -81,11 +81,11 @@ in stdenv.mkDerivation rec {
 
   passthru.updateScript = nix-update-script { };
 
-  meta = with lib; {
+  meta = {
     homepage = "https://github.com/Aloxaf/fzf-tab";
     description = "Replace zsh's default completion selection menu with fzf!";
-    license = licenses.mit;
-    maintainers = with maintainers; [ vonfry ];
-    platforms = platforms.unix;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vonfry ];
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 3ab2382d0198c..45cc6742c7205 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -428,6 +428,9 @@ in
       # Disable tests because they use dejagnu, which fails to run.
       libffi = super.libffi.override { doCheck = false; };
 
+      # Use libconvReal to break an infinite recursion. It will be dropped in the next stage.
+      libiconv = super.libiconvReal;
+
       # Avoid pulling in a full python and its extra dependencies for the llvm/clang builds.
       libxml2 = super.libxml2.override { pythonSupport = false; };
 
@@ -539,7 +542,7 @@ in
       inherit (prevStage) ccWrapperStdenv
         autoconf automake bash binutils binutils-unwrapped bison brotli cmake cmakeMinimal
         coreutils cpio cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu
-        libedit libffi libiconv libidn2 libkrb5 libssh2 libtool libunistring libxml2 m4
+        libedit libffi libidn2 libkrb5 libssh2 libtool libunistring libxml2 m4
         ncurses nghttp2 ninja openldap openssh openssl patchutils pbzx perl pkg-config
         python3Minimal scons sed serf sharutils sqlite subversion texinfo unzip which xz
         zlib zstd;
@@ -614,8 +617,8 @@ in
     assert lib.all isFromBootstrapFiles (with prevStage; [ coreutils gnugrep ]);
 
     assert lib.all isBuiltByBootstrapFilesCompiler (with prevStage; [
-      autoconf automake bash binutils-unwrapped bison brotli cmake cpio cyrus_sasl db
-      ed expat flex gettext gmp groff icu libedit libffi libiconv libidn2 libkrb5 libssh2
+      atf autoconf automake bash binutils-unwrapped bison brotli cmake cpio cyrus_sasl db
+      ed expat flex gettext gmp groff icu kyua libedit libffi libiconv libidn2 libkrb5 libssh2
       libtool libunistring libxml2 m4 ncurses nghttp2 ninja openldap openssh openssl
       patchutils pbzx perl pkg-config.pkg-config python3 python3Minimal scons serf sqlite
       subversion sysctl.provider texinfo unzip which xz zlib zstd
@@ -641,8 +644,8 @@ in
 
     overrides = self: super: {
       inherit (prevStage) ccWrapperStdenv
-        autoconf automake bash binutils binutils-unwrapped bison brotli cmake cmakeMinimal
-        cpio cyrus_sasl db ed expat flex gettext gmp groff icu libedit libffi libiconv
+        atf autoconf automake bash binutils binutils-unwrapped bison brotli cmake cmakeMinimal
+        cpio cyrus_sasl db ed expat flex gettext gmp groff icu kyua libedit libffi libiconv
         libidn2 libkrb5 libssh2 libtool libunistring libxml2 m4 ncurses nghttp2 ninja
         openldap openssh openssl patchutils pbzx perl pkg-config python3 python3Minimal
         scons sed serf sharutils sqlite subversion sysctl texinfo unzip which xz zlib zstd;
@@ -703,8 +706,8 @@ in
   (prevStage:
     # previous stage-xclang stdenv:
     assert lib.all isBuiltByBootstrapFilesCompiler (with prevStage; [
-      autoconf automake bash binutils-unwrapped bison cmake cmakeMinimal coreutils cpio
-      cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu libedit libtool m4 ninja
+      atf autoconf automake bash binutils-unwrapped bison cmake cmakeMinimal coreutils cpio
+      cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu kyua libedit libtool m4 ninja
       openbsm openldap openpam openssh patchutils pbzx perl pkg-config.pkg-config python3
       python3Minimal scons serf sqlite subversion sysctl.provider texinfo unzip which xz
     ]);
@@ -737,8 +740,8 @@ in
 
     overrides = self: super: {
       inherit (prevStage) ccWrapperStdenv
-        autoconf automake binutils-unwrapped bison brotli cmake cmakeMinimal coreutils
-        cpio cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu libedit libffi
+        atf autoconf automake binutils-unwrapped bison brotli cmake cmakeMinimal coreutils
+        cpio cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu kyua libedit libffi
         libiconv libidn2 libkrb5 libssh2 libtool libunistring libxml2 m4 ncurses nghttp2
         ninja openbsm openldap openpam openssh openssl patchutils pbzx perl pkg-config
         python3 python3Minimal scons serf sqlite subversion sysctl texinfo unzip which xz
@@ -804,8 +807,8 @@ in
   (prevStage:
     # previous stage2-Libsystem stdenv:
     assert lib.all isBuiltByBootstrapFilesCompiler (with prevStage; [
-      autoconf automake binutils-unwrapped bison brotli cmake cmakeMinimal coreutils
-      cpio cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu libedit libidn2
+      atf autoconf automake binutils-unwrapped bison brotli cmake cmakeMinimal coreutils
+      cpio cyrus_sasl db ed expat flex gettext gmp gnugrep groff icu kyua libedit libidn2
       libkrb5 libssh2 libtool libunistring m4 nghttp2 ninja openbsm openldap openpam openssh
       openssl patchutils pbzx perl pkg-config.pkg-config python3 python3Minimal scons serf
       sqlite subversion sysctl.provider texinfo unzip which xz zstd
@@ -841,8 +844,8 @@ in
 
     overrides = self: super: {
       inherit (prevStage) ccWrapperStdenv
-        autoconf automake bash bison brotli cmake cmakeMinimal coreutils cpio
-        cyrus_sasl db ed expat flex gettext gmp gnugrep groff libedit libidn2 libkrb5
+        atf autoconf automake bash bison brotli cmake cmakeMinimal coreutils cpio
+        cyrus_sasl db ed expat flex gettext gmp gnugrep groff kyua libedit libidn2 libkrb5
         libssh2 libtool libunistring m4 ncurses nghttp2 ninja openbsm openldap openpam
         openssh openssl patchutils pbzx perl pkg-config python3 python3Minimal scons serf
         sqlite subversion sysctl texinfo unzip which xz zstd;
@@ -870,7 +873,7 @@ in
       llvmPackages = super.llvmPackages // (
         let
           tools = super.llvmPackages.tools.extend (_: _: {
-            inherit (prevStage.llvmPackages) clang-unwrapped clangNoCompilerRtWithLibc libclang libllvm llvm;
+            inherit (prevStage.llvmPackages) clang-unwrapped clangNoCompilerRtWithLibc libclang lld libllvm llvm;
             clang = prevStage.stdenv.cc;
           });
 
@@ -969,7 +972,7 @@ in
         sed serf sharutils sqlite subversion sysctl texinfo unzip which xz zstd
 
         # CF dependencies - don’t rebuild them.
-        icu libiconv libxml2 zlib;
+        icu libiconv libiconv-darwin libxml2 zlib;
 
       # Disable tests because they use dejagnu, which fails to run.
       libffi = super.libffi.override { doCheck = false; };
@@ -1054,7 +1057,7 @@ in
         icu
 
         # LLVM dependencies - don’t rebuild them.
-        libffi libiconv libxml2 ncurses zlib;
+        libffi libiconv libiconv-darwin libxml2 ncurses zlib;
 
       darwin = super.darwin.overrideScope (selfDarwin: superDarwin: {
         inherit (prevStage.darwin) dyld CF Libsystem darwin-stubs
@@ -1325,9 +1328,9 @@ in
       overrides = self: super: {
         inherit (prevStage)
           bash binutils brotli bzip2 coreutils cpio diffutils ed file findutils gawk
-          gettext gmp gnugrep gnumake gnused gnutar gzip icu libffi libiconv libidn2 libssh2
-          libunistring libxml2 libyaml ncurses nghttp2 openbsm openpam openssl patch pbzx
-          pcre python3Minimal xar xz zlib zstd;
+          gettext gmp gnugrep gnumake gnused gnutar gzip icu libffi libiconv libiconv-darwin
+          libidn2 libssh2 libunistring libxml2 libyaml ncurses nghttp2 openbsm openpam
+          openssl patch pbzx pcre python3Minimal xar xz zlib zstd;
 
         darwin = super.darwin.overrideScope (_: superDarwin: {
           inherit (prevStage.darwin)
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index 3cbafa7c97bc9..10604d4acfa0a 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,8 +1,9 @@
-{ lib, stdenv, fetchFromGitLab, fetchFromGitHub, writeText
+{ lib, stdenv, fetchurl, fetchFromGitLab, fetchFromGitHub, runCommand, writeText
 # docs deps
 , libxslt, docbook_xml_dtd_412, docbook_xml_dtd_43, docbook_xsl, xmlto
 # runtime deps
 , resholve, bash, coreutils, dbus, file, gawk, glib, gnugrep, gnused, jq, nettools, procmail, procps, which, xdg-user-dirs
+, shared-mime-info
 , perl, perlPackages
 , mimiSupport ? false
 , withXdgOpenUsePortalPatch ? true }:
@@ -121,6 +122,7 @@ let
         "$KTRADER" = true;
       };
       prologue = "${writeText "xdg-mime-prologue" ''
+        export XDG_DATA_DIRS="$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${shared-mime-info}/share"
         export PERL5LIB=${with perlPackages; makePerlPath [ FileMimeInfo ]}
         export PATH=$PATH:${lib.makeBinPath [ coreutils perlPackages.FileMimeInfo ]}
       ''}";
@@ -237,7 +239,7 @@ let
   ];
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (self: {
   pname = "xdg-utils";
   version = "1.2.1";
 
@@ -245,7 +247,7 @@ stdenv.mkDerivation rec {
     domain = "gitlab.freedesktop.org";
     owner = "xdg";
     repo = "xdg-utils";
-    rev = "v${version}";
+    rev = "v${self.version}";
     hash = "sha256-58ElbrVlk+13DUODSEHBPcDDt9H+Kuee8Rz9CIcoy0I=";
   };
 
@@ -269,6 +271,34 @@ stdenv.mkDerivation rec {
 
   preFixup = lib.concatStringsSep "\n" (map (resholve.phraseSolution "xdg-utils-resholved") solutions);
 
+  passthru.tests.xdg-mime = runCommand "xdg-mime-test" {
+    nativeBuildInputs = [ self.finalPackage ];
+    preferLocalBuild = true;
+    xenias = lib.mapAttrsToList (hash: urls: fetchurl { inherit hash urls; }) {
+      "sha256-SL95tM1AjOi7vDnCyT10s0tvQvc+ZSZBbkNOYXfbOy0=" = [
+        "https://staging.cohostcdn.org/attachment/0f5d9832-0cda-4d07-b35f-832b287feb6c/kernelkisser.png"
+        "https://static1.e621.net/data/0e/76/0e7672980d48e48c2d1373eb2505db5a.png"
+      ];
+      "sha256-Si9AtB7J9o6rK/oftv+saST77CNaeWomWU5ECfbRioM=" = [
+        "https://static1.e621.net/data/25/3d/253dc77fbc60d7214bc60e4a647d1c32.jpg"
+      ];
+      "sha256-Z+onQRY5zlDWPp5/y4E6crLz3TaMCNipcxEEMSHuLkM=" = [
+        "https://d.furaffinity.net/art/neotheta/1691409857/1691409857.neotheta_quickmakeanentry_by_neotheta-sig.png"
+        "https://static1.e621.net/data/bf/e4/bfe43ba264ad68e5d8a101ecef69c03e.png"
+      ];
+    };
+  } ''
+    for x in $xenias; do
+      ext=''${x##*.}
+      type="$(xdg-mime query filetype $x)"
+      [ $? -eq 0 ] && [ "$type" = "image/''${ext/jpg/jpeg}" ] || {
+        echo "Incorrect MIME type '$type' for '$x'" >&2
+        exit 1
+      }
+    done
+    touch $out
+  '';
+
   meta = with lib; {
     homepage = "https://www.freedesktop.org/wiki/Software/xdg-utils/";
     description = "A set of command line tools that assist applications with a variety of desktop integration tasks";
@@ -276,4 +306,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index d07c05db1381a..dc35c0b563db7 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "4.15.0";
+  version = "4.16.1";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j5TboKYv4xycpCXnuFP/37ioiS89G7eeViEmGwB2BUY=";
+    sha256 = "sha256-BGD0fVLTlM0BlYK/XK11W0OV8sDO4SVfXEKHEFdqOzs=";
   };
 
-  vendorHash = "sha256-uniml5D8887cQyxxZIDhYLni/+r6ZtZ9nJBKPtNeDtI=";
+  vendorHash = "sha256-jiVtgzNWj91J/YSBOrhXZH2WmVqA2gxjIfytCGYG25A=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/pulsarctl/default.nix b/pkgs/tools/admin/pulsarctl/default.nix
index 486cdeff021df..3599bcb096117 100644
--- a/pkgs/tools/admin/pulsarctl/default.nix
+++ b/pkgs/tools/admin/pulsarctl/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , installShellFiles
 , nix-update-script
+, go
 , testers
 , pulsarctl
 }:
@@ -22,19 +23,17 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  preBuild = let
-    buildVars = {
-      ReleaseVersion = version;
-      BuildTS = "None";
-      GitHash = src.rev;
-      GitBranch = "None";
-      GoVersion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')";
-    };
-    buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X github.com/streamnative/pulsarctl/pkg/cmdutils.${k}=${v}") buildVars);
-  in
-  ''
-    buildFlagsArray+=("-ldflags=${buildVarsFlags}")
-  '';
+  ldflags =
+    let
+      buildVars = {
+        ReleaseVersion = version;
+        BuildTS = "None";
+        GitHash = src.rev;
+        GitBranch = "None";
+        GoVersion = "go${go.version}";
+      };
+    in
+    (lib.mapAttrsToList (k: v: "-X github.com/streamnative/pulsarctl/pkg/cmdutils.${k}=${v}") buildVars);
 
   excludedPackages = [
     "./pkg/test"
@@ -73,4 +72,3 @@ buildGoModule rec {
     mainProgram = "pulsarctl";
   };
 }
-
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index 3ff4d18d14787..d63bef2a0270c 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -53,32 +53,6 @@ buildGoModule rec {
     "-X github.com/pulumi/pulumi/pkg/v3/version.Version=v${version}"
   ];
 
-  doCheck = true;
-
-  disabledTests = [
-    # Flaky test
-    "TestPendingDeleteOrder"
-    # Tries to clone repo: github.com/pulumi/templates.git
-    "TestGenerateOnlyProjectCheck"
-    # Following tests give this error, not quite sure why:
-    #     Error Trace:    /build/pulumi/pkg/engine/lifecycletest/update_plan_test.go:273
-    # Error:          Received unexpected error:
-    #                 Unexpected diag message: <{%reset%}>using pulumi-resource-pkgA from $PATH at /build/tmp.bS8caxmTx7/pulumi-resource-pkgA<{%reset%}>
-    # Test:           TestUnplannedDelete
-    "TestExpectedDelete"
-    "TestPlannedInputOutputDifferences"
-    "TestPlannedUpdateChangedStack"
-    "TestExpectedCreate"
-    "TestUnplannedDelete"
-    # Following test gives this  error, not sure why:
-    # --- Expected
-    # +++ Actual
-    # @@ -1 +1 @@
-    # -gcp
-    # +aws
-    "TestPluginMapper_MappedNamesDifferFromPulumiName"
-  ];
-
   nativeCheckInputs = [
     git
   ];
@@ -100,12 +74,39 @@ buildGoModule rec {
     rm codegen/{docs,dotnet,go,nodejs,python,schema}/*_test.go
     rm -R codegen/{dotnet,go,nodejs,python}/gen_program_test
 
-    # Only run tests not marked as disabled
-    buildFlagsArray+=("-run" "[^(${lib.concatStringsSep "|" disabledTests})]")
   '' + lib.optionalString stdenv.isDarwin ''
     export PULUMI_HOME=$(mktemp -d)
   '';
 
+  checkFlags =
+    let
+      disabledTests = [
+        # Flaky test
+        "TestPendingDeleteOrder"
+        # Tries to clone repo: github.com/pulumi/templates.git
+        "TestGenerateOnlyProjectCheck"
+        # Following tests give this error, not quite sure why:
+        #     Error Trace:    /build/pulumi/pkg/engine/lifecycletest/update_plan_test.go:273
+        # Error:          Received unexpected error:
+        #                 Unexpected diag message: <{%reset%}>using pulumi-resource-pkgA from $PATH at /build/tmp.bS8caxmTx7/pulumi-resource-pkgA<{%reset%}>
+        # Test:           TestUnplannedDelete
+        "TestExpectedDelete"
+        "TestPlannedInputOutputDifferences"
+        "TestPlannedUpdateChangedStack"
+        "TestExpectedCreate"
+        "TestUnplannedDelete"
+        # Following test gives this  error, not sure why:
+        # --- Expected
+        # +++ Actual
+        # @@ -1 +1 @@
+        # -gcp
+        # +aws
+        "TestPluginMapper_MappedNamesDifferFromPulumiName"
+        "TestProtect"
+      ];
+    in
+    [ "-skip=^${lib.concatStringsSep "$|^" disabledTests}$" ];
+
   # Allow tests that bind or connect to localhost on macOS.
   __darwinAllowLocalNetworking = true;
 
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index 78bf3faacd249..49fa05e23feef 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -5,32 +5,30 @@
 
 buildGoModule rec {
   pname = "gcsfuse";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    hash = "sha256-brE6iwIMPRAQfERTOhVVne1Dy/ZdPUrA01G7Gj5k//Y=";
+    hash = "sha256-8O8JIN2KmTw5bMmcxu9ZeNiS48XkMUUpAX3+6Km13Y8=";
   };
 
-  vendorHash = "sha256-0I/PFMZXqE3EZv52CESsao4ygvYXIEgRE4EyV1CqM54=";
+  vendorHash = "sha256-nw2b0lDUJ9B+LloySns4cUzXeJ8uv4oYkZY0Jjg4hxc=";
 
   subPackages = [ "." "tools/mount_gcsfuse" ];
 
   ldflags = [ "-s" "-w" "-X main.gcsfuseVersion=${version}" ];
 
-  preCheck =
+  checkFlags =
     let
       skippedTests = [
+        # Disable flaky tests
         "Test_Main"
         "TestFlags"
       ];
     in
-    ''
-      # Disable flaky tests
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   postInstall = ''
     ln -s $out/bin/mount_gcsfuse $out/bin/mount.gcsfuse
diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix
index f3ed4fb6ab98a..cfcbc3c3f5a62 100644
--- a/pkgs/tools/filesystems/go-mtpfs/default.nix
+++ b/pkgs/tools/filesystems/go-mtpfs/default.nix
@@ -18,11 +18,11 @@ buildGoModule rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ];
 
-  preCheck = ''
+  checkFlags = [
     # Only run tests under mtp/encoding_test.go
     # Other tests require an Android deviced attached over USB.
-    buildFlagsArray+=("-run" "Test(Encode|Decode|Variant).*")
-  '';
+    "-run=Test(Encode|Decode|Variant)"
+  ];
 
   meta = with lib; {
     description = "A simple FUSE filesystem for mounting Android devices as a MTP device";
diff --git a/pkgs/tools/graphics/wallutils/default.nix b/pkgs/tools/graphics/wallutils/default.nix
index 796baa25b0bf2..e8abeebfec2e8 100644
--- a/pkgs/tools/graphics/wallutils/default.nix
+++ b/pkgs/tools/graphics/wallutils/default.nix
@@ -48,17 +48,19 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck =
-    let skippedTests = [
-      "TestClosest" # Requiring Wayland or X
-      "TestEveryMinute" # Blocking
-      "TestNewSimpleEvent" # Blocking
-    ]; in
-    ''
-      export XDG_RUNTIME_DIR=`mktemp -d`
+  preCheck = ''
+    export XDG_RUNTIME_DIR=$(mktemp -d)
+  '';
 
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+  checkFlags =
+    let
+      skippedTests = [
+        "TestClosest" # Requiring Wayland or X
+        "TestEveryMinute" # Blocking
+        "TestNewSimpleEvent" # Blocking
+      ];
+    in
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   meta = {
     description = "Utilities for handling monitors, resolutions, and (timed) wallpapers";
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index efcdce15bf028..2e2f2f1601247 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -54,6 +54,9 @@ stdenv.mkDerivation rec {
     sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh
     sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh
 
+    # The test tends to fail on cephfs
+    sed '2i echo Skipping df total-verify test && exit 77' -i ./tests/df/total-verify.sh
+
     # Some target platforms, especially when building inside a container have
     # issues with the inotify test.
     sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail/inotify-dir-recreate.sh
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index eb1911170beb6..72590420e1a1f 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -9,23 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "6.1";
+  version = "6.7";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xB/Igf+lpAQy0t2CnrRMZKSd7kgucWuqz5Jixk2qj5A=";
+    sha256 = "sha256-w65SawHOTY32x5SrFw3kpBBNER6o2Ns/H9fCX8uQVhk=";
   };
 
-  patches = [
-    # Patch that fixes build with musl libc
-    # NOTE remove on next release, since it is applied in upstream
-    (fetchpatch {
-      name = "Fix-build-with-musl-libc.patch";
-      url = "https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/patch/marvell.c?id=41be533331fc3c6b711dbe532405782d3b8be5d1";
-      sha256 = "sha256-CItvt/eeNJkr1sOzaaHZhAnaybDutL9cT2O6XwQll+M=";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
   ];
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index eddcb4b7784dd..f203e48816166 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fd";
-  version = "9.0.0";
+  version = "10.1.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = "fd";
     rev = "v${version}";
-    hash = "sha256-xcrvAWbSvUUtbFXyENy3eQimxt5aXzFrHnL6VptyydA=";
+    hash = "sha256-9fL2XV3Vre2uo8Co3tlHYIvpNHNOh5TuvZggkWOxm5A=";
   };
 
-  cargoHash = "sha256-z4PV8k6avaLwo58yJq47WEUJGw3JCW1GZGviBaPTs+8=";
+  cargoHash = "sha256-3TbsPfAn/GcGASc0RCcyAeUiD4RUtvTATdTYhKdBxvo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix b/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
index 3c61159bf9729..6e26aac5284df 100644
--- a/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
+++ b/pkgs/tools/misc/google-cloud-bigtable-tool/default.nix
@@ -16,9 +16,9 @@ buildGoModule rec {
 
   vendorHash = "sha256-kwvEfvHs6XF84bB3Ss1307OjId0nh/0Imih1fRFdY0M=";
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = with lib; {
     description = "Google Cloud Bigtable Tool";
diff --git a/pkgs/tools/misc/google-cloud-sql-proxy/default.nix b/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
index 1043b49820186..3bf76cc5bf3c6 100644
--- a/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
+++ b/pkgs/tools/misc/google-cloud-sql-proxy/default.nix
@@ -18,9 +18,9 @@ buildGo122Module rec {
 
   vendorHash = "sha256-sAVMmDeHXEgQXb/Xi4nXYztXjuykE0TFebkeubMTZ3k=";
 
-  preCheck = ''
-    buildFlagsArray+="-short"
-  '';
+  checkFlags = [
+    "-short"
+  ];
 
   meta = with lib; {
     description = "Utility for ensuring secure connections to Google Cloud SQL instances";
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 7b121ac3f9a7e..d1e82f654b857 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -9,16 +9,16 @@
 }:
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.25.1";
+  version = "1.26.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WYpFSV4dMz6sYNc45iXE/oOTmyZqMqHBZlx+00NZHbU=";
+    hash = "sha256-opc/bCqTZuQaNghQcS5iBMgKBdg8ppw3xlU9JZlHDGk=";
   };
 
-  vendorHash = "sha256-vI/S4QtN72tmBVZ2PPcavotJBkl+bdXO9OFqlOGw1J8=";
+  vendorHash = "sha256-8ZdeOXS5fixazL7jzLYNmff/5SRSgzKvXK95hmOLd/I=";
 
   ldflags =
     [ "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs" ];
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 846b465bfd8ca..8f50d842308e9 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -22,7 +22,7 @@ GEM
     html-proofer (5.0.8)
       addressable (~> 2.3)
       async (~> 2.1)
-      nokogiri (~> 1.13)
+      nokogiri (~> 1.16.0)
       pdf-reader (~> 2.11)
       rainbow (~> 3.0)
       typhoeus (~> 1.3)
@@ -30,7 +30,7 @@ GEM
       zeitwerk (~> 2.5)
     io-event (1.2.3)
     mini_portile2 (2.8.4)
-    nokogiri (1.15.4)
+    nokogiri (1.16.0)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     pdf-reader (2.11.0)
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 45ad23f7ab0aa..1485ab4e5062c 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -140,10 +140,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9w2z0953mnjrsji74cshqqp08q7m1r6zhadw1w0g34xzjh3a74";
+      sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.16.0";
   };
   pdf-reader = {
     dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"];
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix
index ddec6c3c5d89e..51316f969ec1a 100644
--- a/pkgs/tools/misc/infracost/default.nix
+++ b/pkgs/tools/misc/infracost/default.nix
@@ -24,15 +24,14 @@ buildGoModule rec {
     # want but also limits the tests
     unset subPackages
 
-    # checkFlags aren't correctly passed through via buildGoModule so we use buildFlagsArray
-    # -short only runs the unit-tests tagged short
-    # move to checkFlags after https://github.com/NixOS/nixpkgs/pull/173702
-    buildFlagsArray+="-short"
-
     # remove tests that require networking
     rm cmd/infracost/{breakdown,diff,hcl,run}_test.go
   '';
 
+  checkFlags = [
+    "-short"
+  ];
+
   postInstall = ''
     export INFRACOST_SKIP_UPDATE_CHECK=true
     installShellCompletion --cmd infracost \
diff --git a/pkgs/tools/misc/massren/default.nix b/pkgs/tools/misc/massren/default.nix
index 763c3a2ae3706..a1f1e7027028e 100644
--- a/pkgs/tools/misc/massren/default.nix
+++ b/pkgs/tools/misc/massren/default.nix
@@ -23,7 +23,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck =
+  checkFlags =
     let
       skippedTests = [
         # Possible error about github.com/mattn/go-sqlite3
@@ -31,9 +31,7 @@ buildGoModule rec {
         "Test_processFileActions"
       ];
     in
-    ''
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   meta = with lib; {
     description = "Easily rename multiple files using your text editor";
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index 675639a032941..f9b6e634fd72e 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    hash = "sha256-beoXLTy3XikdZBS0Lh3cugHflNJ51PbqsCE3xtCHpj0=";
+    hash = "sha256-vzGZzZy3VBntsmBcb+APEQTWoz4rsxWAiiInj+E6Xd0=";
   };
 
   postPatch = ''
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
     substituteInPlace mcfly.fish --replace '(command which mcfly)'  '${placeholder "out"}/bin/mcfly'
   '';
 
-  cargoHash = "sha256-wWYpDU6oXT+sDCzX8VWJ6GfNPOi7T02LK0JKcWHFGi8=";
+  cargoHash = "sha256-XASDPF21ZlVTLa0n5MAsm9FZz+ar9KRiPacsx0bX7OA=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/pkgs/tools/misc/octosql/default.nix b/pkgs/tools/misc/octosql/default.nix
index a42f80d95ff95..675375cb09411 100644
--- a/pkgs/tools/misc/octosql/default.nix
+++ b/pkgs/tools/misc/octosql/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "octosql";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner  = "cube2222";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-jf40w5QkSTAgGu0JA4NeqsasN2TUf9vnKVw5zlZr8Mw=";
+    sha256 = "sha256-kzbIts5d2KmFfaAnOdpIXI1fiqBYXe5t981g4Uyk/cc=";
   };
 
   vendorHash = "sha256-p/2UsvxxywQKtk/9wDa5fjS0z6xLLzDONuQ5AtnUonk=";
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 0791a0d3ae6b9..ea52a0e00b3cd 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.99.0";
+  version = "0.100.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-C4uD9n8BTWi0/Vct06mD7zk5WQ0XmSLoYVpzflb2JQU=";
+    sha256 = "sha256-QmWl3XhCmOxJPn/haBsWVCPI970sTQpmVpJwCCpBbH4=";
   };
 
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorHash = "sha256-kHbO5K3aYTdjHi8SKN05QNGPaXEwIG2mKdu4AV6WDeo=";
+  vendorHash = "sha256-62G+wQeZK/7iO10ZgXXY3gT8LwUnqDY9Pr8HkAqkVik=";
 
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcontribcol";
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 421f59f750090..b855202633db1 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.99.0";
+  version = "0.100.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-O0I6G8Wa2GTv/lR6ijo9XglAdciJj2yuupJP9/uYySM=";
+    hash = "sha256-GDRxOfuAlztJhuYXZKmDpQ6M4ZW3+bNevMjqCHRuyVY=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-JaquTJ3xl2NvipKF8her5m7tbYbLVQjYprGXEcrzv4s=";
+  vendorHash = "sha256-wVJyu4+dYXLSkopfSLkKPkwnUCGyUeagQtOjuvNxF6A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index 535ce1a8c4da4..122226486bd4b 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -18,7 +18,7 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "3.7.0";
+  version = "3.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     owner = "pre-commit";
     repo = "pre-commit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k9pC/GCtqLlK9PhZmx4EKWT1HDyl+KQubDFDQOZdKUQ=";
+    hash = "sha256-+9NNXM4i6saxktF1pl93dmkrqjsErqMB6kEK3IPQTNQ=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/url-parser/default.nix b/pkgs/tools/misc/url-parser/default.nix
index 39ae506c25245..cb9f058c0d9dd 100644
--- a/pkgs/tools/misc/url-parser/default.nix
+++ b/pkgs/tools/misc/url-parser/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "url-parser";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "thegeeklab";
     repo = "url-parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pu6U6YIA7+K1ZSt97Nn0IDaQFVIwMq3m7d8JidK1vJk=";
+    hash = "sha256-zCtCLhIWQQWKD2RM+p7HxZSPHnmo7SIZFYGT4nBCWLY=";
   };
 
-  vendorHash = "sha256-QqhjS0uL2Fm2OeFkuAB8VeS7HpoS9dOhgHk/J4j9++M=";
+  vendorHash = "sha256-bUQNZQT13VZuglFW0zdSOBzBLDjH5PiMkKHmkSZJupw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/vsh/default.nix b/pkgs/tools/misc/vsh/default.nix
index c061a14f2e30c..9cfd9af7fc68a 100644
--- a/pkgs/tools/misc/vsh/default.nix
+++ b/pkgs/tools/misc/vsh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "13qa9r7kij6aqhackzmsn38vyhmajgmhflnrd9rarfhhyg6ldv4z";
+    sha256 = "083rqca4gx9lmzkc9rl453zqmspbpn0h2vajkrjjcwk96km7064f";
   };
 
   # vendor directory is part of repository
diff --git a/pkgs/tools/misc/wakapi/default.nix b/pkgs/tools/misc/wakapi/default.nix
index 372d20771f37d..a8c4a28775eaa 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.11.1";
+  version = "2.11.2";
 
   src = fetchFromGitHub {
     owner = "muety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZdKPaHe4miMKb6qEKdRz/fRIkTWDXp2Veu7CP1gRuQw=";
+    sha256 = "sha256-lBjYtb64blFUH/iW/SmC4A7nX9asokvsNKu6QVYgmZ8=";
   };
 
-  vendorHash = "sha256-pRj7Y2xp+Z2StaXRIzI5b2WAkIhR9y8T8DMXWrxOiy4=";
+  vendorHash = "sha256-Kt7RzAGZeLFhwvq+V6AK88rivqkoTE1Zep7NMh3BXXQ=";
 
   # Not a go module required by the project, contains development utilities
   excludedPackages = [ "scripts" ];
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 2ce8df19867e9..be311cb2e28ee 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
     "-X github.com/wakatime/wakatime-cli/pkg/version.Version=${version}"
   ];
 
-  preCheck =
+  checkFlags =
     let
       skippedTests = [
         # Tests requiring network
@@ -33,10 +33,7 @@ buildGoModule rec {
         "TestLoadParams_ApiKey_FromVault_Err_Darwin"
       ];
     in
-    ''
-      # Disable tests
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   passthru.tests.version = testers.testVersion {
     package = wakatime;
diff --git a/pkgs/tools/networking/cloud-custodian/default.nix b/pkgs/tools/networking/cloud-custodian/default.nix
index 3e4475df545e7..0953a5e516da1 100644
--- a/pkgs/tools/networking/cloud-custodian/default.nix
+++ b/pkgs/tools/networking/cloud-custodian/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloud-custodian";
-  version = "0.9.35.0";
+  version = "0.9.36.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "cloud-custodian";
     repo = "cloud-custodian";
     rev = "refs/tags/${version}";
-    hash = "sha256-iiyYtAtAQKTGrXdIPXGs11QWuPWn+IWmXpjmYO5S6Pg=";
+    hash = "sha256-cOzh0lNBh35MQx4wg4ssg+haX1kPLVh3GJS27/eKlZI=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/tools/networking/corerad/default.nix b/pkgs/tools/networking/corerad/default.nix
index bb0ac8f32176c..4caad92fc489a 100644
--- a/pkgs/tools/networking/corerad/default.nix
+++ b/pkgs/tools/networking/corerad/default.nix
@@ -17,12 +17,8 @@ buildGoModule rec {
   # we fetch the expected tag's timestamp from a file in the root of the
   # repository.
   preBuild = ''
-    buildFlagsArray=(
-      -ldflags="
-        -X github.com/mdlayher/corerad/internal/build.linkTimestamp=$(<.gittagtime)
-        -X github.com/mdlayher/corerad/internal/build.linkVersion=v${version}
-      "
-    )
+    ldflags+=" -X github.com/mdlayher/corerad/internal/build.linkVersion=v${version}"
+    ldflags+=" -X github.com/mdlayher/corerad/internal/build.linkTimestamp=$(<.gittagtime)"
   '';
 
   passthru.tests = {
diff --git a/pkgs/tools/networking/curl/8.7.1-compression-fix.patch b/pkgs/tools/networking/curl/8.7.1-compression-fix.patch
new file mode 100644
index 0000000000000..53747b54c4610
--- /dev/null
+++ b/pkgs/tools/networking/curl/8.7.1-compression-fix.patch
@@ -0,0 +1,168 @@
+From b30d694a027eb771c02a3db0dee0ca03ccab7377 Mon Sep 17 00:00:00 2001
+From: Stefan Eissing <stefan@eissing.org>
+Date: Thu, 28 Mar 2024 11:08:15 +0100
+Subject: [PATCH] content_encoding: brotli and others, pass through 0-length
+ writes
+
+- curl's transfer handling may write 0-length chunks at the end of the
+  download with an EOS flag. (HTTP/2 does this commonly)
+
+- content encoders need to pass-through such a write and not count this
+  as error in case they are finished decoding
+
+Fixes #13209
+Fixes #13212
+Closes #13219
+---
+ lib/content_encoding.c         | 10 +++++-----
+ tests/http/test_02_download.py | 13 +++++++++++++
+ tests/http/testenv/env.py      |  7 ++++++-
+ tests/http/testenv/httpd.py    | 20 ++++++++++++++++++++
+ 4 files changed, 44 insertions(+), 6 deletions(-)
+
+diff --git a/lib/content_encoding.c b/lib/content_encoding.c
+index c1abf24e8c027c..8e926dd2ecd5ad 100644
+--- a/lib/content_encoding.c
++++ b/lib/content_encoding.c
+@@ -300,7 +300,7 @@ static CURLcode deflate_do_write(struct Curl_easy *data,
+   struct zlib_writer *zp = (struct zlib_writer *) writer;
+   z_stream *z = &zp->z;     /* zlib state structure */
+ 
+-  if(!(type & CLIENTWRITE_BODY))
++  if(!(type & CLIENTWRITE_BODY) || !nbytes)
+     return Curl_cwriter_write(data, writer->next, type, buf, nbytes);
+ 
+   /* Set the compressed input when this function is called */
+@@ -457,7 +457,7 @@ static CURLcode gzip_do_write(struct Curl_easy *data,
+   struct zlib_writer *zp = (struct zlib_writer *) writer;
+   z_stream *z = &zp->z;     /* zlib state structure */
+ 
+-  if(!(type & CLIENTWRITE_BODY))
++  if(!(type & CLIENTWRITE_BODY) || !nbytes)
+     return Curl_cwriter_write(data, writer->next, type, buf, nbytes);
+ 
+   if(zp->zlib_init == ZLIB_INIT_GZIP) {
+@@ -669,7 +669,7 @@ static CURLcode brotli_do_write(struct Curl_easy *data,
+   CURLcode result = CURLE_OK;
+   BrotliDecoderResult r = BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT;
+ 
+-  if(!(type & CLIENTWRITE_BODY))
++  if(!(type & CLIENTWRITE_BODY) || !nbytes)
+     return Curl_cwriter_write(data, writer->next, type, buf, nbytes);
+ 
+   if(!bp->br)
+@@ -762,7 +762,7 @@ static CURLcode zstd_do_write(struct Curl_easy *data,
+   ZSTD_outBuffer out;
+   size_t errorCode;
+ 
+-  if(!(type & CLIENTWRITE_BODY))
++  if(!(type & CLIENTWRITE_BODY) || !nbytes)
+     return Curl_cwriter_write(data, writer->next, type, buf, nbytes);
+ 
+   if(!zp->decomp) {
+@@ -916,7 +916,7 @@ static CURLcode error_do_write(struct Curl_easy *data,
+   (void) buf;
+   (void) nbytes;
+ 
+-  if(!(type & CLIENTWRITE_BODY))
++  if(!(type & CLIENTWRITE_BODY) || !nbytes)
+     return Curl_cwriter_write(data, writer->next, type, buf, nbytes);
+ 
+   failf(data, "Unrecognized content encoding type. "
+diff --git a/tests/http/test_02_download.py b/tests/http/test_02_download.py
+index 4db9c9d36e9ed5..395fc862f2f839 100644
+--- a/tests/http/test_02_download.py
++++ b/tests/http/test_02_download.py
+@@ -394,6 +394,19 @@ def test_02_27_paused_no_cl(self, env: Env, httpd, nghttpx, repeat):
+         r = client.run(args=[url])
+         r.check_exit_code(0)
+ 
++    @pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])
++    def test_02_28_get_compressed(self, env: Env, httpd, nghttpx, repeat, proto):
++        if proto == 'h3' and not env.have_h3():
++            pytest.skip("h3 not supported")
++        count = 1
++        urln = f'https://{env.authority_for(env.domain1brotli, proto)}/data-100k?[0-{count-1}]'
++        curl = CurlClient(env=env)
++        r = curl.http_download(urls=[urln], alpn_proto=proto, extra_args=[
++            '--compressed'
++        ])
++        r.check_exit_code(code=0)
++        r.check_response(count=count, http_status=200)
++
+     def check_downloads(self, client, srcfile: str, count: int,
+                         complete: bool = True):
+         for i in range(count):
+diff --git a/tests/http/testenv/env.py b/tests/http/testenv/env.py
+index a207059dcd57c5..13c5d6bd46ee57 100644
+--- a/tests/http/testenv/env.py
++++ b/tests/http/testenv/env.py
+@@ -129,10 +129,11 @@ def __init__(self):
+         self.htdocs_dir = os.path.join(self.gen_dir, 'htdocs')
+         self.tld = 'http.curl.se'
+         self.domain1 = f"one.{self.tld}"
++        self.domain1brotli = f"brotli.one.{self.tld}"
+         self.domain2 = f"two.{self.tld}"
+         self.proxy_domain = f"proxy.{self.tld}"
+         self.cert_specs = [
+-            CertificateSpec(domains=[self.domain1, 'localhost'], key_type='rsa2048'),
++            CertificateSpec(domains=[self.domain1, self.domain1brotli, 'localhost'], key_type='rsa2048'),
+             CertificateSpec(domains=[self.domain2], key_type='rsa2048'),
+             CertificateSpec(domains=[self.proxy_domain, '127.0.0.1'], key_type='rsa2048'),
+             CertificateSpec(name="clientsX", sub_specs=[
+@@ -376,6 +377,10 @@ def htdocs_dir(self) -> str:
+     def domain1(self) -> str:
+         return self.CONFIG.domain1
+ 
++    @property
++    def domain1brotli(self) -> str:
++        return self.CONFIG.domain1brotli
++
+     @property
+     def domain2(self) -> str:
+         return self.CONFIG.domain2
+diff --git a/tests/http/testenv/httpd.py b/tests/http/testenv/httpd.py
+index c04c22699a62c4..b8615875a9a558 100644
+--- a/tests/http/testenv/httpd.py
++++ b/tests/http/testenv/httpd.py
+@@ -50,6 +50,7 @@ class Httpd:
+         'alias', 'env', 'filter', 'headers', 'mime', 'setenvif',
+         'socache_shmcb',
+         'rewrite', 'http2', 'ssl', 'proxy', 'proxy_http', 'proxy_connect',
++        'brotli',
+         'mpm_event',
+     ]
+     COMMON_MODULES_DIRS = [
+@@ -203,6 +204,7 @@ def _mkpath(self, path):
+ 
+     def _write_config(self):
+         domain1 = self.env.domain1
++        domain1brotli = self.env.domain1brotli
+         creds1 = self.env.get_credentials(domain1)
+         domain2 = self.env.domain2
+         creds2 = self.env.get_credentials(domain2)
+@@ -285,6 +287,24 @@ def _write_config(self):
+                 f'</VirtualHost>',
+                 f'',
+             ])
++            # Alternate to domain1 with BROTLI compression
++            conf.extend([  # https host for domain1, h1 + h2
++                f'<VirtualHost *:{self.env.https_port}>',
++                f'    ServerName {domain1brotli}',
++                f'    Protocols h2 http/1.1',
++                f'    SSLEngine on',
++                f'    SSLCertificateFile {creds1.cert_file}',
++                f'    SSLCertificateKeyFile {creds1.pkey_file}',
++                f'    DocumentRoot "{self._docs_dir}"',
++                f'    SetOutputFilter BROTLI_COMPRESS',
++            ])
++            conf.extend(self._curltest_conf(domain1))
++            if domain1 in self._extra_configs:
++                conf.extend(self._extra_configs[domain1])
++            conf.extend([
++                f'</VirtualHost>',
++                f'',
++            ])
+             conf.extend([  # https host for domain2, no h2
+                 f'<VirtualHost *:{self.env.https_port}>',
+                 f'    ServerName {domain2}',
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 6559a5cf4ecb0..0bd65a307b0b7 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -59,6 +59,12 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-b+oqrGpGEPvQQAr7C83b5yWKZMY/H2jlhV68DGWXEM0=";
   };
 
+  patches = lib.optionals (lib.versionOlder finalAttrs.version "8.7.2") [
+    # https://github.com/curl/curl/pull/13219
+    # https://github.com/newsboat/newsboat/issues/2728
+    ./8.7.1-compression-fix.patch
+  ];
+
   postPatch = ''
     patchShebangs scripts
   '';
diff --git a/pkgs/tools/networking/ip2unix/default.nix b/pkgs/tools/networking/ip2unix/default.nix
index b37d5b1272c8a..e30b806c6dc7c 100644
--- a/pkgs/tools/networking/ip2unix/default.nix
+++ b/pkgs/tools/networking/ip2unix/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, yaml-cpp, systemd
+{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, yaml-cpp, systemd
 , python3Packages, asciidoc, libxslt, docbook_xml_dtd_45, docbook_xsl
 , libxml2, docbook5
 }:
@@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-+p5wQbX35LAjZ4vIE4AhI4M6gQ7gVviqf9jJDAr9xg8";
   };
 
+  patches = [
+    # https://github.com/nixcloud/ip2unix/pull/35
+    # fix out of range string_view access
+    (fetchpatch {
+      url = "https://github.com/nixcloud/ip2unix/commit/050ddf76b4b925f27e255fbb820b0700407ceb2b.patch";
+      hash = "sha256-5vaLmZmwuiMGV4KnVhuDSnXG1a390aBU51TShwpaMLs=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson ninja pkg-config asciidoc libxslt.bin docbook_xml_dtd_45 docbook_xsl
     libxml2.bin docbook5 python3Packages.pytest python3Packages.pytest-timeout
diff --git a/pkgs/tools/networking/memtier-benchmark/default.nix b/pkgs/tools/networking/memtier-benchmark/default.nix
index ac27ad54667c4..5fff387e72b2c 100644
--- a/pkgs/tools/networking/memtier-benchmark/default.nix
+++ b/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "memtier-benchmark";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner  = "redislabs";
     repo   = "memtier_benchmark";
     rev    = "refs/tags/${version}";
-    sha256 = "sha256-3KFBj+Cj5qO5k1hy5oSvtXdtTZIbGPJ1fhmnIeCW2s8=";
+    sha256 = "sha256-9oh1LG0O1Jto+8PdPqXXSe8ldWub1o1EJ6nfilfr70A=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index ce96d50196261..e0d1b59460599 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -216,5 +216,9 @@ stdenv.mkDerivation rec {
     changelog = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/raw/${version}/NEWS";
     maintainers = teams.freedesktop.members ++ (with maintainers; [ domenkozar obadz ]);
     platforms = platforms.linux;
+    badPlatforms = [
+      # Mandatory shared libraries.
+      lib.systems.inspect.platformPatterns.isStatic
+    ];
   };
 }
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index 3cf9c598b4ac7..360639fa9ad4f 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.18.3";
+  version = "1.18.4";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    hash = "sha256-eqN6Qwq+ofQ9Ed7Viz+DoJQkVTvUTo1U5rVqO1YDp2w=";
+    hash = "sha256-1gZP0PVvYWEfWmTVql+8uyNhcjawBMJKvqy/4sZ0/6Y=";
   };
 
-  cargoHash = "sha256-yJ2Ql6Fo2KaZRmvRB0C14fEcVwbBbsUlcqT3vFKHn58=";
+  cargoHash = "sha256-GZuRz4VtAm+aQO0Hq5v3HVfqjoMPsEw5G6VADsAvdEQ=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index b9c6db399e7bd..ef7dae065e386 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.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "sha256-SjdRFcW8xjwJurOcNoHZTp3Ug17DmPrYZu8gcpQL2mE=";
+    sha256 = "sha256-dXz5gNALrVjaFGUgEFp0k47c7aWDzwLMflphe6R6GaM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/package-management/lix/common.nix b/pkgs/tools/package-management/lix/common.nix
new file mode 100644
index 0000000000000..a544707b4f355
--- /dev/null
+++ b/pkgs/tools/package-management/lix/common.nix
@@ -0,0 +1,286 @@
+{
+  lib,
+  fetchFromGitHub,
+  version,
+  suffix ? "",
+  hash ? null,
+  src ? fetchFromGitHub {
+    owner = "lix-project";
+    repo = "lix";
+    rev = version;
+    inherit hash;
+  },
+  docCargoHash ? null,
+  patches ? [ ],
+  maintainers ? lib.teams.lix.members,
+}@args:
+assert (hash == null) -> (src != null);
+{
+  stdenv,
+  meson,
+  bash,
+  bison,
+  boehmgc,
+  boost,
+  brotli,
+  busybox-sandbox-shell,
+  bzip2,
+  callPackage,
+  coreutils,
+  curl,
+  cmake,
+  docbook_xsl_ns,
+  docbook5,
+  doxygen,
+  editline,
+  flex,
+  git,
+  gnutar,
+  gtest,
+  gzip,
+  jq,
+  lib,
+  libarchive,
+  libcpuid,
+  libgit2,
+  libsodium,
+  libxml2,
+  libxslt,
+  lowdown,
+  lsof,
+  man,
+  mercurial,
+  mdbook,
+  mdbook-linkcheck,
+  nlohmann_json,
+  ninja,
+  openssl,
+  toml11,
+  python3,
+  perl,
+  pkg-config,
+  rapidcheck,
+  Security,
+  sqlite,
+  util-linuxMinimal,
+  xz,
+  nixosTests,
+
+  enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform,
+  enableStatic ? stdenv.hostPlatform.isStatic,
+  withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin),
+  aws-sdk-cpp,
+  # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50
+  withLibseccomp ? lib.meta.availableOn stdenv.hostPlatform libseccomp,
+  libseccomp,
+
+  confDir,
+  stateDir,
+  storeDir,
+}:
+let
+  lix-doc = callPackage ./doc {
+    inherit src;
+    version = "${version}${suffix}";
+    cargoHash = docCargoHash;
+  };
+  self = stdenv.mkDerivation {
+    pname = "lix";
+
+    version = "${version}${suffix}";
+    VERSION_SUFFIX = suffix;
+
+    inherit src patches;
+
+    outputs =
+      [
+        "out"
+        "dev"
+      ]
+      ++ lib.optionals enableDocumentation [
+        "man"
+        "doc"
+      ];
+
+    strictDeps = true;
+
+    nativeBuildInputs =
+      [
+        pkg-config
+        bison
+        flex
+        jq
+        meson
+        ninja
+        cmake
+        python3
+        doxygen
+
+        # Tests
+        git
+        mercurial
+        jq
+        lsof
+      ]
+      ++ lib.optionals (enableDocumentation) [
+        (lib.getBin lowdown)
+        mdbook
+        mdbook-linkcheck
+      ]
+      ++ lib.optionals stdenv.isLinux [ util-linuxMinimal ];
+
+    buildInputs =
+      [
+        boost
+        brotli
+        bzip2
+        curl
+        editline
+        libsodium
+        openssl
+        sqlite
+        xz
+        gtest
+        libarchive
+        lowdown
+        rapidcheck
+        toml11
+        lix-doc
+      ]
+      ++ lib.optionals stdenv.isDarwin [ Security ]
+      ++ lib.optionals (stdenv.isx86_64) [ libcpuid ]
+      ++ lib.optionals withLibseccomp [ libseccomp ]
+      ++ lib.optionals withAWS [ aws-sdk-cpp ];
+
+    propagatedBuildInputs = [
+      boehmgc
+      nlohmann_json
+    ];
+
+    postPatch = ''
+      patchShebangs --build tests
+    '';
+
+    preConfigure =
+      # Copy libboost_context so we don't get all of Boost in our closure.
+      # https://github.com/NixOS/nixpkgs/issues/45462
+      lib.optionalString (!enableStatic) ''
+        mkdir -p $out/lib
+        cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib
+        rm -f $out/lib/*.a
+        ${lib.optionalString stdenv.isLinux ''
+          chmod u+w $out/lib/*.so.*
+          patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
+        ''}
+        ${lib.optionalString stdenv.hostPlatform.isDarwin ''
+          for LIB in $out/lib/*.dylib; do
+            chmod u+w $LIB
+            install_name_tool -id $LIB $LIB
+            install_name_tool -delete_rpath ${boost}/lib/ $LIB || true
+          done
+          install_name_tool -change ${boost}/lib/libboost_system.dylib $out/lib/libboost_system.dylib $out/lib/libboost_thread.dylib
+        ''}
+      '';
+
+    mesonFlags =
+      [
+        (lib.mesonEnable "gc" true)
+        (lib.mesonBool "enable-tests" true)
+        (lib.mesonBool "enable-docs" enableDocumentation)
+        (lib.mesonBool "enable-embedded-sandbox-shell" (stdenv.isLinux && stdenv.hostPlatform.isStatic))
+        (lib.mesonEnable "seccomp-sandboxing" withLibseccomp)
+
+        (lib.mesonOption "store-dir" storeDir)
+        (lib.mesonOption "state-dir" stateDir)
+        (lib.mesonOption "sysconfdir" confDir)
+      ]
+      ++ lib.optionals stdenv.isLinux [
+        (lib.mesonOption "sandbox-shell" "${busybox-sandbox-shell}/bin/busybox")
+      ];
+
+    # Needed for Meson to find Boost.
+    # https://github.com/NixOS/nixpkgs/issues/86131.
+    env = {
+      BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
+      BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
+    };
+
+    postInstall =
+      ''
+        mkdir -p $doc/nix-support
+        echo "doc manual $doc/share/doc/nix/manual" >> $doc/nix-support/hydra-build-products
+      ''
+      + lib.optionalString stdenv.hostPlatform.isStatic ''
+        mkdir -p $out/nix-support
+        echo "file binary-dist $out/bin/nix" >> $out/nix-support/hydra-build-products
+      ''
+      + lib.optionalString stdenv.isDarwin ''
+        for lib in libnixutil.dylib libnixexpr.dylib; do
+          install_name_tool \
+            -change "${lib.getLib boost}/lib/libboost_context.dylib" \
+            "$out/lib/libboost_context.dylib" \
+            "$out/lib/$lib"
+        done
+      '';
+
+    doCheck = true;
+    mesonCheckFlags = [ "--suite=check" ];
+    checkInputs = [
+      gtest
+      rapidcheck
+    ];
+
+    doInstallCheck = true;
+    mesonInstallCheckFlags = [ "--suite=installcheck" ];
+
+    preInstallCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
+      # socket path becomes too long otherwise
+      export TMPDIR=$NIX_BUILD_TOP
+      # Prevent crashes in libcurl due to invoking Objective-C `+initialize` methods after `fork`.
+      # See http://sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html.
+      export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
+    '';
+
+    installCheckPhase = ''
+      runHook preInstallCheck
+      flagsArray=($mesonInstallCheckFlags "''${mesonInstallCheckFlagsArray[@]}")
+      meson test --no-rebuild "''${flagsArray[@]}"
+      runHook postInstallCheck
+    '';
+    # strictoverflow is disabled because we trap on signed overflow instead
+    hardeningDisable = [ "strictoverflow" ] ++ lib.optional stdenv.hostPlatform.isStatic "pie";
+    # hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ];
+    # hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify";
+    separateDebugInfo = stdenv.isLinux && !enableStatic;
+    enableParallelBuilding = true;
+
+    passthru = {
+      inherit aws-sdk-cpp boehmgc;
+      tests = {
+        misc = nixosTests.misc.lix.passthru.override { nixPackage = self; };
+      };
+    };
+
+    # point 'nix edit' and ofborg at the file that defines the attribute,
+    # not this common file.
+    pos = builtins.unsafeGetAttrPos "version" args;
+    meta = with lib; {
+      description = "Powerful package manager that makes package management reliable and reproducible";
+      longDescription = ''
+        Lix (a fork of Nix) is a powerful package manager for Linux and other Unix systems that
+        makes package management reliable and reproducible. It provides atomic
+        upgrades and rollbacks, side-by-side installation of multiple versions of
+        a package, multi-user package management and easy setup of build
+        environments.
+      '';
+      homepage = "https://lix.systems";
+      license = licenses.lgpl21Plus;
+      inherit maintainers;
+      platforms = platforms.unix;
+      outputsToInstall = [ "out" ] ++ optional enableDocumentation "man";
+      mainProgram = "nix";
+      broken = enableStatic;
+    };
+  };
+in
+self
diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix
new file mode 100644
index 0000000000000..9a03e64f8b8fc
--- /dev/null
+++ b/pkgs/tools/package-management/lix/default.nix
@@ -0,0 +1,60 @@
+{
+  lib,
+  aws-sdk-cpp,
+  boehmgc,
+  callPackage,
+  fetchFromGitHub,
+  Security,
+
+  storeDir ? "/nix/store",
+  stateDir ? "/nix/var",
+  confDir ? "/etc",
+}:
+let
+  boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; };
+
+  boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: {
+    patches = (drv.patches or [ ]) ++ [
+      # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
+      ../nix/patches/boehmgc-coroutine-sp-fallback.patch
+    ];
+  });
+
+  aws-sdk-cpp-nix =
+    (aws-sdk-cpp.override {
+      apis = [
+        "s3"
+        "transfer"
+      ];
+      customMemoryManagement = false;
+    }).overrideAttrs
+      {
+        # only a stripped down version is build which takes a lot less resources to build
+        requiredSystemFeatures = [ ];
+      };
+
+  common =
+    args:
+    callPackage (import ./common.nix ({ inherit lib fetchFromGitHub; } // args)) {
+      inherit
+        Security
+        storeDir
+        stateDir
+        confDir
+        ;
+      boehmgc = boehmgc-nix;
+      aws-sdk-cpp = aws-sdk-cpp-nix;
+    };
+in
+lib.makeExtensible (self: ({
+  lix_2_90 = (
+    common {
+      version = "2.90-beta.1";
+      hash = "sha256-REWlo2RYHfJkxnmZTEJu3Cd/2VM+wjjpPy7Xi4BdDTQ=";
+      docCargoHash = "sha256-oH248kR4Of0MhcY2DYxNX0A+/XJ3L+UuIpBKn3sJt54=";
+    }
+  );
+
+  latest = self.lix_2_90;
+  stable = self.lix_2_90;
+}))
diff --git a/pkgs/tools/package-management/lix/doc/default.nix b/pkgs/tools/package-management/lix/doc/default.nix
new file mode 100644
index 0000000000000..a3c1d7d9ccc5a
--- /dev/null
+++ b/pkgs/tools/package-management/lix/doc/default.nix
@@ -0,0 +1,12 @@
+{
+  src,
+  rustPlatform,
+  version,
+  cargoHash,
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "lix-doc";
+  sourceRoot = "${src.name}/lix-doc";
+  inherit version src cargoHash;
+}
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 3be774f920480..c7b032c1096d9 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -166,18 +166,18 @@ in lib.makeExtensible (self: ({
   };
 
   nix_2_22 = common {
-    version = "2.22.0";
-    hash = "sha256-Ugcc+lSq8nJP+mddMlGFnoG4Ix1lRFHWOal3299bqR8=";
+    version = "2.22.1";
+    hash = "sha256-5Q1WkpTWH7fkVfYhHDc5r0A+Vc+K5xB1UhzrLzBCrB8=";
   };
 
   git = common rec {
     version = "2.23.0";
-    suffix = "pre20240502_${lib.substring 0 8 src.rev}";
+    suffix = "pre20240510_${lib.substring 0 8 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "00ca2b05b8fbbef09be5d1e4820857605d4c31b6";
-      hash = "sha256-trTxWfGElp0rkjquqG5I5RYVoxo8foCflxJFUtHwnOQ=";
+      rev = "87ab3c0ea4e6f85e7b902050365bb75cf2836fbb";
+      hash = "sha256-j/PLYYGs+Gjge4JGYxMjOhWQEp+GB4Fdicetbpmp6n0=";
     };
   };
 
diff --git a/pkgs/tools/security/aide/default.nix b/pkgs/tools/security/aide/default.nix
index 78d402502e1a5..d5d1fe2ae5a11 100644
--- a/pkgs/tools/security/aide/default.nix
+++ b/pkgs/tools/security/aide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "aide";
-  version = "0.18.7";
+  version = "0.18.8";
 
   src = fetchurl {
     url = "https://github.com/aide/aide/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-hSUShO2R0MwRMaCOl3UYI4laJj513lwExhUyYJlQDMk=";
+    sha256 = "sha256-FmYtxjLRfixWMLgBdS+XkSqOIml8Bl694XXxzDe4OmA=";
   };
 
   buildInputs = [ flex bison libmhash zlib acl attr libselinux pcre2 libgcrypt ];
diff --git a/pkgs/tools/security/cdxgen/default.nix b/pkgs/tools/security/cdxgen/default.nix
index c9d962ed47afe..1742e47f1d844 100644
--- a/pkgs/tools/security/cdxgen/default.nix
+++ b/pkgs/tools/security/cdxgen/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "cdxgen";
-  version = "10.4.3";
+  version = "10.5.1";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-m6AtAbsZ7zPu7MlwEt9+RBs11DAHNa3x0Nn7b3TWdAY=";
+    sha256 = "sha256-sGFKmO3nsu5xvli6uGcRAc6CRJgQEvb6avShh2Z0kYg=";
   };
 
-  npmDepsHash = "sha256-z7tBghs2bg2eYNRkhe9J8/0rqaAXV5e5ZT9u5fdABe0=";
+  npmDepsHash = "sha256-1dKy9/cDr29RrVorpEdNNxPGGX12d/JXAU2g7IAdV/8=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/tools/security/cnquery/default.nix b/pkgs/tools/security/cnquery/default.nix
index 3451540aa7762..d797861c26e8b 100644
--- a/pkgs/tools/security/cnquery/default.nix
+++ b/pkgs/tools/security/cnquery/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "cnquery";
-  version = "11.2.0";
+  version = "11.3.1";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnquery";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6syVPPIqLoesz26OIdnGHwJlfYvZC73eX8kKJ/ZlOGU=";
+    hash = "sha256-LcU4U2mxNrLJyp/V5d8TDo9DAcRBb4aRK+aEKoMCsZ0=";
   };
 
   subPackages = [ "apps/cnquery" ];
 
-  vendorHash = "sha256-7ZU0tB3sPdBKCktiB81HZzRbsYdhTnMDd/Lu6oLa+D4=";
+  vendorHash = "sha256-z12/OKkrDru8jO4R1I/XfzGCBPHAD+KhJKv3dyyYCdw=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix
index cb658615f3047..2124609841404 100644
--- a/pkgs/tools/security/ghidra/build.nix
+++ b/pkgs/tools/security/ghidra/build.nix
@@ -15,13 +15,13 @@
 let
   pkg_path = "$out/lib/ghidra";
   pname = "ghidra";
-  version = "11.0.2";
+  version = "11.0.3";
 
   src = fetchFromGitHub {
     owner = "NationalSecurityAgency";
     repo = "Ghidra";
     rev = "Ghidra_${version}_build";
-    hash = "sha256-Q5nolgqBG2LFVoEeEtzEPTt/cAHubPlRIFt3SYX9z1Y=";
+    hash = "sha256-Id595aKYHP1R3Zw9sV1oL32nAUAr7D/K4wn6Zs7q3Jo=";
   };
 
   gradle = gradle_7;
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index b078ee737bd95..e75be683a6f31 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -10,6 +10,7 @@
 , dbus
 , polkit
 , systemdLibs
+, udev
 , dbusSupport ? stdenv.isLinux
 , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs
 , udevSupport ? dbusSupport
@@ -61,6 +62,9 @@ stdenv.mkDerivation (finalAttrs: {
     substituteInPlace src/Makefile.am \
       --replace-fail "noinst_PROGRAMS = testpcsc pcsc-wirecheck pcsc-wirecheck-gen" \
                      "noinst_PROGRAMS = testpcsc"
+  '' + ''
+    substituteInPlace src/libredirect.c src/spy/libpcscspy.c \
+      --replace-fail "libpcsclite_real.so.1" "$lib/lib/libpcsclite_real.so.1"
   '';
 
   postInstall = ''
@@ -80,6 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [ python3 ]
     ++ lib.optionals systemdSupport [ systemdLibs ]
+    ++ lib.optionals (!systemdSupport && udevSupport) [ udev ]
     ++ lib.optionals stdenv.isDarwin [ IOKit ]
     ++ lib.optionals dbusSupport [ dbus ]
     ++ lib.optionals polkitSupport [ polkit ]
diff --git a/pkgs/tools/security/semgrep/common.nix b/pkgs/tools/security/semgrep/common.nix
index da39bc4961305..49f7080ce072f 100644
--- a/pkgs/tools/security/semgrep/common.nix
+++ b/pkgs/tools/security/semgrep/common.nix
@@ -1,9 +1,9 @@
 { lib }:
 
 rec {
-  version = "1.71.0";
+  version = "1.72.0";
 
-  srcHash = "sha256-KLDyKNo2oAQlcT9J2SbPSGJvUkxbT05IdEjl5YPBZqA=";
+  srcHash = "sha256-Rfu4ymNQ9AXuj5nkx01eUtIVMXDmunNTvUH/2Y7VaXM=";
 
   # submodule dependencies
   # these are fetched so we:
@@ -25,19 +25,19 @@ rec {
   core = {
     x86_64-linux = {
       platform = "any";
-      hash = "sha256-0pEpxIYed0Z086l1apJXuEVW1Hly4HauzHD8bjxR1Zw=";
+      hash = "sha256-/XZzzDbsW6pw8LC8DgofZ1Gr7eeQyH719NzJDCoXhpk=";
     };
     aarch64-linux = {
       platform = "musllinux_1_0_aarch64.manylinux2014_aarch64";
-      hash = "sha256-6VefgA4YFiY7fsy7sbQFXCjsJNM4+vlv6uLSrzBd2qI=";
+      hash = "sha256-7zCy2IbxsNO1Jl/efu9dwSyvv6a0HYvqEBzxVpTzqAM=";
     };
     x86_64-darwin = {
       platform = "macosx_10_14_x86_64";
-      hash = "sha256-wgCaS7Lw1FP42mOZmhO5v2Nz8PnDEkEP2gbxr7aGtDk=";
+      hash = "sha256-jykFOXOCtEtlTxN6z17m8E2g2Wpb7qdXx6w4L6w+DbY=";
     };
     aarch64-darwin = {
       platform = "macosx_11_0_arm64";
-      hash = "sha256-IZc2RZbAYpflkszl5lFutxikwtO6XGoyyeHJIhU/K+k=";
+      hash = "sha256-0dBki3y9tMdjRRfYbxtl0fVTDXO8tLpx76EPISxtCy4=";
     };
   };
 
diff --git a/pkgs/tools/security/sherlock/default.nix b/pkgs/tools/security/sherlock/default.nix
index e3d6f658aeaff..aaae216f1f27f 100644
--- a/pkgs/tools/security/sherlock/default.nix
+++ b/pkgs/tools/security/sherlock/default.nix
@@ -2,18 +2,19 @@
 , fetchFromGitHub
 , makeWrapper
 , python3
+, unstableGitUpdater
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sherlock";
-  version = "unstable-2023-10-06";
+  version = "unstable-2024-05-12";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "sherlock-project";
-    repo = pname;
-    rev = "7ec56895a37ada47edd6573249c553379254d14a";
-    hash = "sha256-bK5yEdh830vgKcsU3gLH7TybLncnX6eRIiYPUiVWM74=";
+    repo = "sherlock";
+    rev = "3e978d774b428dce6eed7afbb6606444e7a74924";
+    hash = "sha256-wa32CSQ9+/PJPep84Tqtzmr6EjD1Bb3guZe5pTOZVnA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -59,6 +60,10 @@ python3.pkgs.buildPythonApplication rec {
     runHook postCheck
   '';
 
+  passthru.updateScript = unstableGitUpdater {
+    hardcodeZeroVersion = true;
+  };
+
   meta = with lib; {
     homepage = "https://sherlock-project.github.io/";
     description = "Hunt down social media accounts by username across social networks";
diff --git a/pkgs/tools/security/web-eid-app/default.nix b/pkgs/tools/security/web-eid-app/default.nix
index 067963e1aaffd..e2e09ed0146b3 100644
--- a/pkgs/tools/security/web-eid-app/default.nix
+++ b/pkgs/tools/security/web-eid-app/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "web-eid-app";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "web-eid";
     repo = "web-eid-app";
     rev = "v${version}";
-    sha256 = "sha256-xWwguxs/121BFF1zhb/HxS9b1vTwQRemhPKOfHEXVZQ=";
+    sha256 = "sha256-CaMf7cRhZ8K6YAUG38B+ijNOKaOmaACqNabNfHZGT68=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 36a77102eb432..26eea76f016be 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , pcre
 , pkg-config
@@ -24,6 +25,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-AecHsUBtBleUkWuYMQ4Tx/PY8cs9j7JwqncBziJD0hA=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "LFS64.patch";
+      url = "https://github.com/VirusTotal/yara/commit/833a580430abe0fbc9bc17a21fb95bf36dacf367.patch";
+      hash = "sha256-EmwyDsxaNd9zfpAOu6ZB9kzg04qB7LAD7UJB3eAuKd8=";
+    })
+  ];
+
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
diff --git a/pkgs/tools/system/skeema/default.nix b/pkgs/tools/system/skeema/default.nix
index 68d1a1c627b39..a7503baac14b5 100644
--- a/pkgs/tools/system/skeema/default.nix
+++ b/pkgs/tools/system/skeema/default.nix
@@ -17,32 +17,35 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck =
+  preCheck = ''
+    # Fix tests expecting /usr/bin/printf and /bin/echo
+    substituteInPlace skeema_cmd_test.go \
+      --replace /usr/bin/printf "${coreutils}/bin/printf"
+
+    substituteInPlace internal/fs/dir_test.go \
+      --replace /bin/echo "${coreutils}/bin/echo" \
+      --replace /usr/bin/printf "${coreutils}/bin/printf"
+
+    substituteInPlace internal/applier/ddlstatement_test.go \
+      --replace /bin/echo "${coreutils}/bin/echo"
+  '';
+
+  checkFlags =
     let
       skippedTests = [
         # Tests requiring network access to gitlab.com
         "TestDirRelPath"
-        "TestParseDirSymlinks"
+        "TestParseDir"
 
         # Flaky tests
         "TestCommandTimeout"
         "TestShellOutTimeout"
+
+        # Fails with 'internal/fs/testdata/cfgsymlinks1/validrel/.skeema is a symlink pointing outside of its repo'.
+        "TestParseDirSymlinks"
       ];
     in
-    ''
-      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
-
-      # Fix tests expecting /usr/bin/printf and /bin/echo
-      substituteInPlace skeema_cmd_test.go \
-        --replace /usr/bin/printf "${coreutils}/bin/printf"
-
-      substituteInPlace internal/fs/dir_test.go \
-        --replace /bin/echo "${coreutils}/bin/echo" \
-        --replace /usr/bin/printf "${coreutils}/bin/printf"
-
-      substituteInPlace internal/applier/ddlstatement_test.go \
-        --replace /bin/echo "${coreutils}/bin/echo"
-    '';
+    [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
 
   passthru.tests.version = testers.testVersion {
     package = skeema;
diff --git a/pkgs/tools/system/throttled/default.nix b/pkgs/tools/system/throttled/default.nix
index ff671633b9601..1fa67fb1c2243 100644
--- a/pkgs/tools/system/throttled/default.nix
+++ b/pkgs/tools/system/throttled/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gobject-introspection, python3Packages, pciutils, wrapGAppsHook3 }:
+{ lib, stdenv, fetchFromGitHub, gobject-introspection, python3Packages, pciutils, wrapGAppsNoGuiHook }:
 
 stdenv.mkDerivation rec {
   pname = "throttled";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     gobject-introspection
     python3Packages.wrapPython
-    wrapGAppsHook3
+    wrapGAppsNoGuiHook
   ];
 
   pythonPath = with python3Packages; [
diff --git a/pkgs/tools/text/csview/default.nix b/pkgs/tools/text/csview/default.nix
index b85d98b58fd7b..747847a1bee20 100644
--- a/pkgs/tools/text/csview/default.nix
+++ b/pkgs/tools/text/csview/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csview";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Tu/h9jhZgulrc5bTJrwq7Ksg69qUVUBjWNdzve4m9JM=";
+    sha256 = "sha256-ci0PyTZJIEagBCymtrYR/ntgYym1aGKNX4COfrE99mY=";
   };
 
-  cargoHash = "sha256-ZXLu/6IQ20u8dk0gaZoBh0rt6CGaRBNVHGgrCW5+yzA=";
+  cargoHash = "sha256-/pswnb2vNtw8zSoWuC7oZPJ4yxVuy1c4ES1NUHhnG6I=";
 
   meta = with lib; {
     description = "A high performance csv viewer with cjk/emoji support";
diff --git a/pkgs/tools/text/gucci/default.nix b/pkgs/tools/text/gucci/default.nix
index 324dc56ca264d..2f448450661bd 100644
--- a/pkgs/tools/text/gucci/default.nix
+++ b/pkgs/tools/text/gucci/default.nix
@@ -19,15 +19,14 @@ buildGoModule rec {
     package = gucci;
   };
 
-  checkFlags = [ "-short" ];
-
-  # Integration tests rely on Ginkgo but fail.
-  # Related: https://github.com/onsi/ginkgo/issues/602
-  #
-  # Disable integration tests.
-  preCheck = ''
-    buildFlagsArray+=("-run" "[^(TestIntegration)]")
-  '';
+  checkFlags = [
+    "-short"
+    # Integration tests rely on Ginkgo but fail.
+    # Related: https://github.com/onsi/ginkgo/issues/602
+    #
+    # Disable integration tests.
+    "-skip=^TestIntegration"
+  ];
 
   meta = with lib; {
     description = "A simple CLI templating tool written in golang";
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index 7587f0a4adbc2..9cffa4ce6909a 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "ugrep";
-  version = "5.1.4";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = "ugrep";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-9hxMxcqrq9uHCe3Ggyv3SdjWe+uTZ4ZuicDf9196Szo=";
+    hash = "sha256-jZWmWZ4ZkmtdEI7BJ4cg1PBAuue8sjA7aiGotv2WmB4=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/video/lux/default.nix b/pkgs/tools/video/lux/default.nix
index 7d1c969959a6f..dfffc048de4fd 100644
--- a/pkgs/tools/video/lux/default.nix
+++ b/pkgs/tools/video/lux/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "lux";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "iawia002";
     repo = "lux";
     rev = "v${version}";
-    hash = "sha256-FwHoxTcEr0u7GPSdl1A8gsx9GCb9QuD/5ospaPOxZrI=";
+    hash = "sha256-3d8EQ7GzufZvMfjHbVMdpuGE+vPdSir4diSnB29v0sw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/wayland/wl-clipboard/default.nix b/pkgs/tools/wayland/wl-clipboard/default.nix
index 8d812ac1685b1..dc5b9ed900de4 100644
--- a/pkgs/tools/wayland/wl-clipboard/default.nix
+++ b/pkgs/tools/wayland/wl-clipboard/default.nix
@@ -7,6 +7,8 @@
 , wayland
 , wayland-protocols
 , wayland-scanner
+, xdg-utils
+, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
@@ -21,18 +23,24 @@ stdenv.mkDerivation rec {
   };
 
   strictDeps = true;
-  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner makeWrapper ];
   buildInputs = [ wayland wayland-protocols ];
 
   mesonFlags = [
     "-Dfishcompletiondir=share/fish/vendor_completions.d"
   ];
 
+  # Fix for https://github.com/NixOS/nixpkgs/issues/251261
+  postInstall = lib.optionalString (!xdg-utils.meta.broken) ''
+    wrapProgram $out/bin/wl-copy \
+      --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/bugaevc/wl-clipboard";
     description = "Command-line copy/paste utilities for Wayland";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir kashw2 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 2e93af4f8d26a..0f36b17d13ad2 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -685,6 +685,7 @@ mapAliases ({
   linuxPackages_6_6 = linuxKernel.packages.linux_6_6;
   linuxPackages_6_7 = linuxKernel.packages.linux_6_7;
   linuxPackages_6_8 = linuxKernel.packages.linux_6_8;
+  linuxPackages_6_9 = linuxKernel.packages.linux_6_9;
   linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
   linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3;
   linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1;
@@ -712,6 +713,7 @@ mapAliases ({
   linux_6_6 = linuxKernel.kernels.linux_6_6;
   linux_6_7 = linuxKernel.kernels.linux_6_7;
   linux_6_8 = linuxKernel.kernels.linux_6_8;
+  linux_6_9 = linuxKernel.kernels.linux_6_9;
   linux_rpi0 = linuxKernel.kernels.linux_rpi1;
   linux_rpi02w = linuxKernel.kernels.linux_rpi3;
   linux_rpi1 = linuxKernel.kernels.linux_rpi1;
@@ -826,6 +828,7 @@ mapAliases ({
   mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
   mpc_cli = mpc-cli; # moved from top-level 2022-01-24
   mpd_clientlib = libmpdclient; # Added 2021-02-11
+  mpg321 = throw "'mpg321' has been removed due to it being unmaintained by upstream. Consider using mpg123 instead."; # Added 2024-05-10
   mumble_git = throw "'mumble_git' has been renamed to/replaced by 'pkgs.mumble'"; # Converted to throw 2023-09-10
   murmur_git = throw "'murmur_git' has been renamed to/replaced by 'pkgs.murmur'"; # Converted to throw 2023-09-10
   mutt-with-sidebar = mutt; # Added 2022-09-17
@@ -929,6 +932,7 @@ mapAliases ({
   openconnect_gnutls = openconnect; # Added 2022-03-29
   openconnect_unstable = throw "openconnect_unstable was removed from nixpkgs as it was not being updated"; # Added 2023-06-01
   openelec-dvb-firmware = libreelec-dvb-firmware; # Added 2021-05-10
+  openethereum = throw "openethereum development has ceased by upstream. Use alternate clients such as go-ethereum, erigon, or nethermind"; # Added 2024-05-13
   openimagedenoise_1_2_x = throw "'openimagedenoise_1_2_x' has been renamed to/replaced by 'openimagedenoise'"; # Added 2023-06-07
   openimageio2 = openimageio; # Added 2023-01-05
   openimageio_1 = throw "'openimageio_1' has been removed, please update to 'openimageio' 2"; # Added 2023-06-14
@@ -956,7 +960,7 @@ mapAliases ({
   paper-note = throw "paper-note has been removed: abandoned by upstream"; # Added 2023-05-03
   paperless = paperless-ngx; # Added 2021-06-06
   paperless-ng = paperless-ngx; # Added 2022-04-11
-  parity = openethereum; # Added 2020-08-01
+  parity = throw "parity, renamed to openethereum, has been terminated by upstream"; # Added 2020-08-01
   partition-manager = libsForQt5.partitionmanager; # Added 2024-01-08
   pash = throw "'pash' has been removed: abandoned by upstream. Use 'powershell' instead"; # Added 2023-09-16
   patchelfStable = patchelf; # Added 2024-01-25
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8f4e2cba31d53..ebfa8ec827ac3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -193,7 +193,6 @@ with pkgs;
       pythonInterpreter = "${python3.withPackages (ps: [ ps.pyelftools ])}/bin/python";
       autoPatchelfScript = ../build-support/setup-hooks/auto-patchelf.py;
     };
-    meta.platforms = lib.platforms.linux ++ lib.platforms.freebsd;
   } ../build-support/setup-hooks/auto-patchelf.sh;
 
   tomato-c = callPackage ../applications/misc/tomato-c { };
@@ -498,10 +497,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  codeberg-cli = callPackage ../applications/version-management/codeberg-cli {
-    inherit (darwin.apple_sdk.frameworks) Security CoreServices;
-  };
-
   conftest = callPackage ../development/tools/conftest { };
 
   coldsnap = callPackage ../tools/admin/coldsnap {
@@ -1762,8 +1757,6 @@ with pkgs;
 
   donkey = callPackage ../tools/security/donkey { };
 
-  dualsensectl = callPackage ../tools/games/dualsensectl { };
-
   dwarfs = callPackage ../tools/filesystems/dwarfs { };
 
   dysk = callPackage ../tools/filesystems/dysk { };
@@ -4772,8 +4765,6 @@ with pkgs;
 
   wtype = callPackage ../tools/wayland/wtype { };
 
-  ydotool = callPackage ../tools/wayland/ydotool { };
-
   cambalache = callPackage ../development/tools/cambalache { };
 
   cambrinary = python3Packages.callPackage ../applications/misc/cambrinary { };
@@ -6481,8 +6472,6 @@ with pkgs;
 
   bfs = callPackage ../tools/system/bfs { };
 
-  bevelbar = callPackage ../tools/X11/bevelbar { };
-
   bgs = callPackage ../tools/X11/bgs { };
 
   bibclean = callPackage ../tools/typesetting/bibclean { };
@@ -7807,8 +7796,6 @@ with pkgs;
 
   endlessh = callPackage ../servers/endlessh { };
 
-  endlessh-go = callPackage ../servers/endlessh-go { };
-
   ericw-tools = callPackage ../applications/misc/ericw-tools { };
 
   cryfs = callPackage ../tools/filesystems/cryfs { };
@@ -19528,8 +19515,6 @@ with pkgs;
 
   scala-cli = callPackage ../development/tools/build-managers/scala-cli { };
 
-  scc = callPackage ../development/tools/misc/scc { };
-
   scss-lint = callPackage ../development/tools/scss-lint { };
 
   segger-ozone = callPackage ../development/tools/misc/segger-ozone { };
@@ -20474,8 +20459,6 @@ with pkgs;
 
   cre2 = callPackage ../development/libraries/cre2 { };
 
-  criterion = callPackage ../development/libraries/criterion { };
-
   croaring = callPackage ../development/libraries/croaring { };
 
   crocoddyl = callPackage ../development/libraries/crocoddyl { };
@@ -22520,7 +22503,7 @@ with pkgs;
 
   # GNU libc provides libiconv so systems with glibc don't need to
   # build libiconv separately. Additionally, Apple forked/repackaged
-  # libiconv so we use that instead of the vanilla version on that OS,
+  # libiconv, so build and use the upstream one with a compatible ABI,
   # and BSDs include libiconv in libc.
   #
   # We also provide `libiconvReal`, which will always be a standalone libiconv,
@@ -22531,7 +22514,7 @@ with pkgs;
         then libcCross
         else stdenv.cc.libc)
     else if stdenv.hostPlatform.isDarwin
-      then darwin.libiconv
+      then libiconv-darwin
     else libiconvReal;
 
   libcIconv = libc: let
@@ -22548,7 +22531,7 @@ with pkgs;
     if lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" ] then
       lib.getBin stdenv.cc.libc
     else if stdenv.hostPlatform.isDarwin then
-      lib.getBin darwin.libiconv
+      lib.getBin libiconv
     else
       lib.getBin libiconvReal;
 
@@ -26055,8 +26038,6 @@ with pkgs;
 
   olaris-server = callPackage ../servers/olaris { };
 
-  onagre = callPackage ../applications/misc/onagre { };
-
   onlyoffice-documentserver = callPackage ../servers/onlyoffice-documentserver { };
 
   outline = callPackage ../servers/web-apps/outline (lib.fix (super: {
@@ -26701,8 +26682,6 @@ with pkgs;
 
   urserver = callPackage ../servers/urserver { };
 
-  uxplay = callPackage ../servers/uxplay { };
-
   vouch-proxy = callPackage ../servers/vouch-proxy { };
 
   virtiofsd = callPackage ../servers/misc/virtiofsd { };
@@ -32663,8 +32642,6 @@ with pkgs;
 
   makeself = callPackage ../applications/misc/makeself { };
 
-  mako = callPackage ../applications/misc/mako { };
-
   mandelbulber = libsForQt5.callPackage ../applications/graphics/mandelbulber { };
 
   mapmap = libsForQt5.callPackage ../applications/video/mapmap { };
@@ -32946,8 +32923,6 @@ with pkgs;
     withConplay = false;
   };
 
-  mpg321 = callPackage ../applications/audio/mpg321 { };
-
   mpc-cli = callPackage ../applications/audio/mpc {
     inherit (python3Packages) sphinx;
   };
@@ -35256,7 +35231,9 @@ with pkgs;
   virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox {
     stdenv = stdenv_32bit;
     inherit (gnome2) libIDL;
-    jdk = openjdk17;
+
+    # VirtualBox uses wsimport, which was removed after JDK 8.
+    jdk = jdk8;
   };
 
   virtualboxKvm = lowPrio (virtualbox.override {
@@ -36229,8 +36206,6 @@ with pkgs;
 
   lightwalletd = callPackage ../applications/blockchains/lightwalletd { };
 
-  openethereum = callPackage ../applications/blockchains/openethereum { };
-
   polkadot = callPackage ../applications/blockchains/polkadot {
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
@@ -39589,6 +39564,16 @@ with pkgs;
 
   nixStatic = pkgsStatic.nix;
 
+  lixVersions = recurseIntoAttrs (callPackage ../tools/package-management/lix {
+    storeDir = config.nix.storeDir or "/nix/store";
+    stateDir = config.nix.stateDir or "/nix/var";
+    inherit (darwin.apple_sdk.frameworks) Security;
+  });
+
+  lix = lixVersions.stable;
+
+  lixStatic = pkgsStatic.lix;
+
   inherit (callPackages ../applications/networking/cluster/nixops { })
     nixops_unstable_minimal
 
@@ -40956,8 +40941,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
-  treefmt = callPackage ../development/tools/treefmt { };
-
   nufmt = callPackage ../development/tools/nufmt { };
 
   bottom = darwin.apple_sdk_11_0.callPackage ../tools/system/bottom { };
diff --git a/pkgs/top-level/darwin-aliases.nix b/pkgs/top-level/darwin-aliases.nix
index d43f0502064e8..ae6cd59722789 100644
--- a/pkgs/top-level/darwin-aliases.nix
+++ b/pkgs/top-level/darwin-aliases.nix
@@ -51,6 +51,10 @@ mapAliases ({
 
   builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06
 
+  ### L ###
+
+  libiconv = pkgs.libiconv; # 2024-03-27
+
   ### I ###
 
   insert_dylib = throw "'darwin.insert_dylib' has been renamed to 'insert-dylib'"; # added 2024-04-04
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 91a8c2f539267..0335f52465eaa 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -196,6 +196,15 @@ in {
       ];
     };
 
+    linux_6_9 = callPackage ../os-specific/linux/kernel/mainline.nix {
+      branch = "6.9";
+      kernelPatches = [
+        kernelPatches.bridge_stp_helper
+        kernelPatches.request_key_helper
+        kernelPatches.rust_1_77-6_9
+      ];
+    };
+
     linux_testing = let
       testing = callPackage ../os-specific/linux/kernel/mainline.nix {
         # A special branch that tracks the kernel under the release process
@@ -538,7 +547,7 @@ in {
 
     virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
 
-    vm-tools = callPackage ../os-specific/linux/vm-tools { };
+    mm-tools = callPackage ../os-specific/linux/mm-tools { };
 
     vmm_clock = callPackage ../os-specific/linux/vmm_clock { };
 
@@ -587,6 +596,7 @@ in {
     hid-nintendo = throw "hid-nintendo was added in mainline kernel version 5.16"; # Added 2023-07-30
     sch_cake = throw "sch_cake was added in mainline kernel version 4.19"; # Added 2023-06-14
     rtl8723bs = throw "rtl8723bs was added in mainline kernel version 4.12"; # Added 2023-06-14
+    vm-tools = self.mm-tools;
     xmm7360-pci = throw "Support for the XMM7360 WWAN card was added to the iosm kmod in mainline kernel version 5.18";
   });
 
@@ -601,6 +611,7 @@ in {
     linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
     linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6);
     linux_6_8 = recurseIntoAttrs (packagesFor kernels.linux_6_8);
+    linux_6_9 = recurseIntoAttrs (packagesFor kernels.linux_6_9);
     __attrsFailEvaluation = true;
   } // 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
@@ -668,7 +679,7 @@ in {
   packageAliases = {
     linux_default = packages.linux_6_6;
     # Update this when adding the newest kernel major version!
-    linux_latest = packages.linux_6_8;
+    linux_latest = packages.linux_6_9;
     linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
     linux_rt_default = packages.linux_rt_5_4;
     linux_rt_latest = packages.linux_rt_6_6;
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 0fadeba75fd0f..a13c9c3f6c866 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -42,7 +42,7 @@ rec {
   getLuaCPath = drv: getPath drv luaLib.luaCPathList;
 
   inherit (callPackage ../development/interpreters/lua-5/hooks { })
-    luarocksMoveDataFolder luarocksCheckHook lua-setup-hook;
+    luarocksMoveDataFolder luarocksCheckHook;
 
   inherit lua;
   inherit buildLuaPackage buildLuarocksPackage buildLuaApplication;
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index e5bcc7ba3c59f..6a5e16185601b 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -428,10 +428,9 @@ in {
         }
         {
           name = "iconv";
-          configureFlags = [
-            "--with-iconv${lib.optionalString stdenv.isDarwin "=${libiconv}"}"
-          ];
-          doCheck = false;
+          buildInputs = [ libiconv ];
+          configureFlags = [ "--with-iconv" ];
+          doCheck = stdenv.isLinux;
         }
         {
           name = "imap";
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 6e544c12d213a..71dafa9a9c43a 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -82,6 +82,7 @@ mapAliases ({
   cacheyou = throw "cacheyou has been removed, as it was no longer used for the only consumer pdm"; # added 2023-12-21
   carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18
   cchardet = faust-cchardet; # added 2023-03-02
+  cepa = throw "cepa has been removed, as onionshare switched back to stem"; # added 2024-05-07
   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 name: `pkgs.codespell`"; # Added 2022-10-02
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 80e540400ada1..9375194ceb5d3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1338,6 +1338,8 @@ self: super: with self; {
 
   paddlepaddle = callPackage ../development/python-modules/paddlepaddle { };
 
+  pcffont = callPackage ../development/python-modules/pcffont { };
+
   pueblo = callPackage ../development/python-modules/pueblo { };
 
   pulumi = callPackage ../development/python-modules/pulumi { inherit (pkgs) pulumi; };
@@ -2004,8 +2006,6 @@ self: super: with self; {
 
   coqpit = callPackage ../development/python-modules/coqpit { };
 
-  cepa = callPackage ../development/python-modules/cepa { };
-
   cerberus = callPackage ../development/python-modules/cerberus { };
 
   cert-chain-resolver = callPackage ../development/python-modules/cert-chain-resolver { };
@@ -2578,7 +2578,6 @@ self: super: with self; {
   cryptodatahub = callPackage ../development/python-modules/cryptodatahub { };
 
   cryptography = callPackage ../development/python-modules/cryptography {
-    inherit (pkgs.darwin) libiconv;
     inherit (pkgs.darwin.apple_sdk.frameworks) Security;
   };
 
@@ -2603,7 +2602,6 @@ self: super: with self; {
   css-html-js-minify = callPackage ../development/python-modules/css-html-js-minify { };
 
   css-inline = callPackage ../development/python-modules/css-inline {
-    inherit (pkgs.darwin) libiconv;
     inherit (pkgs.darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
 
@@ -4775,6 +4773,8 @@ self: super: with self; {
 
   gfsubsets = callPackage ../development/python-modules/gfsubsets { };
 
+  gguf = callPackage ../development/python-modules/gguf { };
+
   ghapi = callPackage ../development/python-modules/ghapi { };
 
   ghdiff = callPackage ../development/python-modules/ghdiff { };
@@ -5380,6 +5380,8 @@ self: super: with self; {
 
   hikari = callPackage ../development/python-modules/hikari { };
 
+  hikari-lightbulb = callPackage ../development/python-modules/hikari-lightbulb { };
+
   hikvision = callPackage ../development/python-modules/hikvision { };
 
   hiredis = callPackage ../development/python-modules/hiredis { };
@@ -7406,6 +7408,8 @@ self: super: with self; {
 
   mhcgnomes = callPackage ../development/python-modules/mhcgnomes { };
 
+  miasm = callPackage ../development/python-modules/miasm { };
+
   miauth = callPackage ../development/python-modules/miauth { };
 
   micawber = callPackage ../development/python-modules/micawber { };
@@ -9281,6 +9285,8 @@ self: super: with self; {
 
   optimum = callPackage ../development/python-modules/optimum { };
 
+  optree = callPackage ../development/python-modules/optree { };
+
   optuna = callPackage ../development/python-modules/optuna { };
 
   opuslib = callPackage ../development/python-modules/opuslib { };
@@ -11696,9 +11702,7 @@ self: super: with self; {
 
   pyreaderwriterlock = callPackage ../development/python-modules/pyreaderwriterlock { };
 
-  pyreadstat = callPackage ../development/python-modules/pyreadstat {
-    inherit (pkgs.darwin) libiconv;
-  };
+  pyreadstat = callPackage ../development/python-modules/pyreadstat { };
 
   pyrealsense2 = toPythonModule (pkgs.librealsense.override {
     enablePython = true;
@@ -13568,6 +13572,8 @@ self: super: with self; {
 
   sarif-om = callPackage ../development/python-modules/sarif-om { };
 
+  sarif-tools = callPackage ../development/python-modules/sarif-tools { };
+
   sarge = callPackage ../development/python-modules/sarge { };
 
   sasmodels = callPackage ../development/python-modules/sasmodels { };
@@ -16582,6 +16588,8 @@ self: super: with self; {
     inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
   };
 
+  uxsim = callPackage ../development/python-modules/uxsim { };
+
   vaa = callPackage ../development/python-modules/vaa { };
 
   vacuum-map-parser-base = callPackage ../development/python-modules/vacuum-map-parser-base { };